Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 21ff39ba8a | |||
| 0cf03dd13b | |||
| 8751b59b3c | |||
| 340c7f9419 | |||
| cdc5053fd9 | |||
| ab7e332296 | |||
| 28283e645f | |||
| 39d94a73e3 | |||
| 5952707d87 | |||
| f0b09f6366 |
@@ -1,74 +1,3 @@
|
||||
Overview of Changes in GTK+ 3.7.4
|
||||
=================================
|
||||
|
||||
* GtkBuilder now lets you refer to external objects from a ui
|
||||
file if the objects have been exported with the new function
|
||||
gtk_builder_expose_object()
|
||||
|
||||
* Font handling has been improved:
|
||||
- The default font is no longer handled like a custom style sheet
|
||||
that overrides everything, but as the initial value. This is the
|
||||
same behavior as in web browsers.
|
||||
- It is now possible to set font-family and font-size like other
|
||||
CSS properties, and relative font sizes are supported. Font
|
||||
sizes in CSS can be specified as numbers or with keywords
|
||||
like xx-small, medium, smaller, larger,...
|
||||
|
||||
* GTK+ now uses proper Unicode ellipses in strings.
|
||||
|
||||
* The releases includes several noticable performance improvements:
|
||||
- Size allocation has been optimized, by avoiding excessive
|
||||
resizing in various situations.
|
||||
- The performance of size groups has been improved.
|
||||
- Text rendering in GtkLabel and other widgets has been optimized
|
||||
to avoid excessive recreation of Pango layouts.
|
||||
- Icon loading overhead was reduced by caching of GtkIconInfo.
|
||||
- The CSS is now keeping a tree of selectors to speed up matchinh.
|
||||
|
||||
* Deprecations and removals:
|
||||
- Custom CSS properties have been deprecated
|
||||
- Support for color schemes has been removed
|
||||
- gtk_style_provider_get_style, gtk_style_provider_get_icon_factory
|
||||
- GtkGradient and GtkSymbolicColor
|
||||
- All the padding style properties in menus
|
||||
|
||||
* Bugs closed:
|
||||
132333 Can't add a palette to the dialog of a color button
|
||||
371034 Doc for gtk_file_chooser_get_filename: Is the resulting path...
|
||||
447972 Add a way to specify user_data sent to signals
|
||||
548793 funny pattern for iterating GtkTreeModel
|
||||
595615 Use proper ellipses
|
||||
626499 GtkClipboard unnotified on change of OS X pasteboard owner
|
||||
668239 texts disappear when notebook switch page at zh_CN locate!
|
||||
677339 GTK+ 3 documentation wrong about GtkWidget scroll-event signal
|
||||
680065 treemodelfilter: Make the constructor binding friendly
|
||||
687065 InstallableOptions is not filtered in cups backend
|
||||
687816 GtkTreeView does not draw correctly since commit aaedc7b6
|
||||
688710 [PATCH] Splash screens shouldn't stay on top of all applicat...
|
||||
688744 Don't use gtk_style_context_set_background() to render icon/...
|
||||
688884 Typo in gtk_tree_view_set_tooltip_column documentation
|
||||
689012 "Copy file's location" menu item in file chooser dialog uses...
|
||||
689047 Obtain the recent files max age setting from xsettings
|
||||
689081 No caching of icons
|
||||
689168 Deprecate some menu style properties
|
||||
689401 xi2: Abort early if we don't have a proper GDK window
|
||||
689584 Add summary and description to "show-hidden" key
|
||||
689847 Add fast repeated typename -> GType resolver
|
||||
689923 Missing null-check in GtkEntryAccessible
|
||||
690099 GtkScrolledWindow with NEVER policy don't resize with children
|
||||
690266 Freeze with F10/Shift-F10 on submenus
|
||||
|
||||
* Translation updates:
|
||||
Assamese
|
||||
British English
|
||||
Dutch
|
||||
German
|
||||
Hebrew
|
||||
Polish
|
||||
Slovenian
|
||||
Spanish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.7.2
|
||||
=================================
|
||||
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@
|
||||
|
||||
m4_define([gtk_major_version], [3])
|
||||
m4_define([gtk_minor_version], [7])
|
||||
m4_define([gtk_micro_version], [4])
|
||||
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)])
|
||||
@@ -39,8 +39,8 @@ AC_CONFIG_AUX_DIR([build-aux])
|
||||
m4_define([gtk_binary_version], [3.0.0])
|
||||
|
||||
# required versions of other packages
|
||||
m4_define([glib_required_version], [2.35.3])
|
||||
m4_define([pango_required_version], [1.32.4])
|
||||
m4_define([glib_required_version], [2.35.0])
|
||||
m4_define([pango_required_version], [1.30.0])
|
||||
m4_define([atk_required_version], [2.5.3])
|
||||
m4_define([cairo_required_version], [1.10.0])
|
||||
m4_define([gdk_pixbuf_required_version], [2.26.0])
|
||||
|
||||
@@ -406,10 +406,6 @@
|
||||
<title>Index of new symbols in 3.6</title>
|
||||
<xi:include href="xml/api-index-3.6.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
<index id="api-index-3-8" role="3.8">
|
||||
<title>Index of new symbols in 3.8</title>
|
||||
<xi:include href="xml/api-index-3.8.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
|
||||
|
||||
@@ -536,7 +536,6 @@ gtk_builder_add_objects_from_string
|
||||
gtk_builder_add_objects_from_resource
|
||||
gtk_builder_get_object
|
||||
gtk_builder_get_objects
|
||||
gtk_builder_expose_object
|
||||
gtk_builder_connect_signals
|
||||
gtk_builder_connect_signals_full
|
||||
gtk_builder_set_translation_domain
|
||||
|
||||
@@ -1060,7 +1060,7 @@ _gdk_broadway_display_open (const gchar *display_name)
|
||||
{
|
||||
GdkDisplay *display;
|
||||
GdkBroadwayDisplay *broadway_display;
|
||||
GError *error = NULL;
|
||||
GError *error;
|
||||
int port;
|
||||
|
||||
display = g_object_new (GDK_TYPE_BROADWAY_DISPLAY, NULL);
|
||||
@@ -1104,7 +1104,7 @@ _gdk_broadway_display_open (const gchar *display_name)
|
||||
G_OBJECT (display),
|
||||
&error))
|
||||
{
|
||||
g_printerr ("Unable to listen to port %d: %s\n", port, error->message);
|
||||
g_printerr ("Unable to listen to port %d: %s\n", 8080, error->message);
|
||||
g_error_free (error);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+2
-2
@@ -6549,8 +6549,8 @@ gdk_window_set_background (GdkWindow *window,
|
||||
* See also gdk_window_set_background_pattern().
|
||||
**/
|
||||
void
|
||||
gdk_window_set_background_rgba (GdkWindow *window,
|
||||
const GdkRGBA *rgba)
|
||||
gdk_window_set_background_rgba (GdkWindow *window,
|
||||
GdkRGBA *rgba)
|
||||
{
|
||||
cairo_pattern_t *pattern;
|
||||
|
||||
|
||||
+2
-2
@@ -659,8 +659,8 @@ void gdk_window_set_transient_for (GdkWindow *window,
|
||||
GDK_DEPRECATED_IN_3_4_FOR(gdk_window_set_background_rgba)
|
||||
void gdk_window_set_background (GdkWindow *window,
|
||||
const GdkColor *color);
|
||||
void gdk_window_set_background_rgba (GdkWindow *window,
|
||||
const GdkRGBA *rgba);
|
||||
void gdk_window_set_background_rgba (GdkWindow *window,
|
||||
GdkRGBA *rgba);
|
||||
void gdk_window_set_background_pattern (GdkWindow *window,
|
||||
cairo_pattern_t *pattern);
|
||||
cairo_pattern_t *gdk_window_get_background_pattern (GdkWindow *window);
|
||||
|
||||
@@ -917,14 +917,12 @@ is_parent_of (GdkWindow *parent,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static GdkWindow *
|
||||
get_event_window (GdkEventTranslator *translator,
|
||||
XIEvent *ev,
|
||||
GdkWindow **window_p)
|
||||
XIEvent *ev)
|
||||
{
|
||||
GdkDisplay *display;
|
||||
GdkWindow *window = NULL;
|
||||
gboolean should_have_window = TRUE;
|
||||
|
||||
display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (translator));
|
||||
|
||||
@@ -978,17 +976,9 @@ get_event_window (GdkEventTranslator *translator,
|
||||
window = gdk_x11_window_lookup_for_display (display, xev->event);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
should_have_window = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
*window_p = window;
|
||||
|
||||
if (should_have_window && !window)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
return window;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -1132,8 +1122,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
|
||||
if (!ev)
|
||||
return FALSE;
|
||||
|
||||
if (!get_event_window (translator, ev, &window))
|
||||
return FALSE;
|
||||
window = get_event_window (translator, ev);
|
||||
|
||||
if (window && GDK_WINDOW_DESTROYED (window))
|
||||
return FALSE;
|
||||
@@ -1661,7 +1650,6 @@ gdk_x11_device_manager_xi2_get_window (GdkEventTranslator *translator,
|
||||
{
|
||||
GdkX11DeviceManagerXI2 *device_manager;
|
||||
XIEvent *ev;
|
||||
GdkWindow *window = NULL;
|
||||
|
||||
device_manager = (GdkX11DeviceManagerXI2 *) translator;
|
||||
|
||||
@@ -1671,8 +1659,7 @@ gdk_x11_device_manager_xi2_get_window (GdkEventTranslator *translator,
|
||||
|
||||
ev = (XIEvent *) xevent->xcookie.data;
|
||||
|
||||
get_event_window (translator, ev, &window);
|
||||
return window;
|
||||
return get_event_window (translator, ev);
|
||||
}
|
||||
|
||||
GdkDevice *
|
||||
|
||||
@@ -549,8 +549,7 @@ gtk_entry_accessible_notify_gtk (GObject *obj,
|
||||
const gchar *name;
|
||||
name = gtk_entry_get_icon_name (gtk_entry,
|
||||
GTK_ENTRY_ICON_PRIMARY);
|
||||
if (name)
|
||||
atk_object_set_name (priv->icons[GTK_ENTRY_ICON_PRIMARY], name);
|
||||
atk_object_set_name (priv->icons[GTK_ENTRY_ICON_PRIMARY], name);
|
||||
}
|
||||
}
|
||||
else if (g_strcmp0 (pspec->name, "secondary-icon-name") == 0)
|
||||
@@ -560,8 +559,7 @@ gtk_entry_accessible_notify_gtk (GObject *obj,
|
||||
const gchar *name;
|
||||
name = gtk_entry_get_icon_name (gtk_entry,
|
||||
GTK_ENTRY_ICON_SECONDARY);
|
||||
if (name)
|
||||
atk_object_set_name (priv->icons[GTK_ENTRY_ICON_SECONDARY], name);
|
||||
atk_object_set_name (priv->icons[GTK_ENTRY_ICON_SECONDARY], name);
|
||||
}
|
||||
}
|
||||
else if (g_strcmp0 (pspec->name, "primary-icon-tooltip-text") == 0)
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
struct _GtkMenuItemAccessiblePrivate
|
||||
{
|
||||
gchar *text;
|
||||
gboolean selected;
|
||||
};
|
||||
|
||||
#define KEYBINDING_SEPARATOR ";"
|
||||
@@ -148,10 +147,6 @@ gtk_menu_item_accessible_ref_state_set (AtkObject *obj)
|
||||
|
||||
state_set = ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->ref_state_set (obj);
|
||||
|
||||
atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
|
||||
if (GTK_MENU_ITEM_ACCESSIBLE (obj)->priv->selected)
|
||||
atk_state_set_add_state (state_set, ATK_STATE_SELECTED);
|
||||
|
||||
menu_item = atk_object_get_parent (obj);
|
||||
|
||||
if (menu_item)
|
||||
@@ -625,7 +620,6 @@ menu_item_selection (GtkMenuItem *item,
|
||||
gint i;
|
||||
|
||||
obj = gtk_widget_get_accessible (GTK_WIDGET (item));
|
||||
GTK_MENU_ITEM_ACCESSIBLE (obj)->priv->selected = selected;
|
||||
atk_object_notify_state_change (obj, ATK_STATE_SELECTED, selected);
|
||||
|
||||
for (i = 0; i < atk_object_get_n_accessible_children (obj); i++)
|
||||
|
||||
@@ -140,21 +140,12 @@ gtk_notebook_page_accessible_ref_child (AtkObject *accessible,
|
||||
static AtkStateSet *
|
||||
gtk_notebook_page_accessible_ref_state_set (AtkObject *accessible)
|
||||
{
|
||||
GtkNotebookPageAccessible *page = GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible);
|
||||
AtkStateSet *state_set, *label_state_set, *merged_state_set;
|
||||
AtkObject *atk_label;
|
||||
GtkWidget *label;
|
||||
AtkObject *selected;
|
||||
|
||||
state_set = ATK_OBJECT_CLASS (_gtk_notebook_page_accessible_parent_class)->ref_state_set (accessible);
|
||||
|
||||
atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
|
||||
|
||||
selected = atk_selection_ref_selection (ATK_SELECTION (page->priv->notebook), 0);
|
||||
if (selected == accessible)
|
||||
atk_state_set_add_state (state_set, ATK_STATE_SELECTED);
|
||||
g_object_unref (selected);
|
||||
|
||||
label = get_label_from_notebook_page (GTK_NOTEBOOK_PAGE_ACCESSIBLE (accessible));
|
||||
if (label)
|
||||
{
|
||||
|
||||
@@ -474,12 +474,6 @@ gtk_widget_accessible_notify_gtk (GObject *obj,
|
||||
* focus changes so we ignore this.
|
||||
*/
|
||||
return;
|
||||
else if (g_strcmp0 (pspec->name, "tooltip-text") == 0)
|
||||
{
|
||||
gtk_widget_accessible_update_tooltip (GTK_WIDGET_ACCESSIBLE (atk_obj),
|
||||
widget);
|
||||
return;
|
||||
}
|
||||
else if (g_strcmp0 (pspec->name, "visible") == 0)
|
||||
{
|
||||
state = ATK_STATE_VISIBLE;
|
||||
@@ -500,6 +494,11 @@ gtk_widget_accessible_notify_gtk (GObject *obj,
|
||||
state = ATK_STATE_HORIZONTAL;
|
||||
value = (gtk_orientable_get_orientation (orientable) == GTK_ORIENTATION_HORIZONTAL);
|
||||
}
|
||||
else if (g_strcmp0 (pspec->name, "tooltip-text") == 0)
|
||||
{
|
||||
gtk_widget_accessible_update_tooltip (GTK_WIDGET_ACCESSIBLE (atk_obj),
|
||||
widget);
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
|
||||
@@ -338,7 +338,6 @@ gtk_builder_connect_signals
|
||||
gtk_builder_connect_signals_full
|
||||
gtk_builder_error_get_type
|
||||
gtk_builder_error_quark
|
||||
gtk_builder_expose_object
|
||||
gtk_builder_get_object
|
||||
gtk_builder_get_objects
|
||||
gtk_builder_get_translation_domain
|
||||
|
||||
+12
-7
@@ -2095,9 +2095,11 @@ text_view_new (GtkAboutDialog *about,
|
||||
GdkColor color;
|
||||
GdkColor link_color;
|
||||
GdkColor visited_link_color;
|
||||
gint size;
|
||||
PangoFontDescription *font_desc;
|
||||
GtkAboutDialogPrivate *priv = about->priv;
|
||||
GtkTextIter start_iter, end_iter;
|
||||
GtkTextTag *tag;
|
||||
GtkStyleContext *context;
|
||||
GtkStateFlags state;
|
||||
|
||||
gtk_widget_style_get (GTK_WIDGET (about),
|
||||
"link-color", &style_link_color,
|
||||
@@ -2126,11 +2128,14 @@ text_view_new (GtkAboutDialog *about,
|
||||
gtk_text_view_set_editable (text_view, FALSE);
|
||||
gtk_text_view_set_wrap_mode (text_view, wrap_mode);
|
||||
|
||||
gtk_text_buffer_get_start_iter (buffer, &start_iter);
|
||||
gtk_text_buffer_get_start_iter (buffer, &end_iter);
|
||||
tag = gtk_text_tag_new (NULL);
|
||||
g_object_set (tag, "font-scale", PANGO_SCALE_SMALL, NULL);
|
||||
gtk_text_buffer_apply_tag (buffer, tag, &start_iter, &end_iter);
|
||||
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_override_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);
|
||||
|
||||
+24
-64
@@ -123,14 +123,12 @@
|
||||
* (can be specified by their name, nick or integer value), flags (can be
|
||||
* specified by their name, nick, integer value, optionally combined with "|",
|
||||
* e.g. "GTK_VISIBLE|GTK_REALIZED") and colors (in a format understood by
|
||||
* gdk_color_parse()). Pixbufs can be specified as a filename of an image file to load.
|
||||
* Objects can be referred to by their name and by default refer to objects declared
|
||||
* in the local xml fragment and objects exposed via gtk_builder_expose_object().
|
||||
*
|
||||
* In general, GtkBuilder allows forward references to objects &mdash declared
|
||||
* in the local xml; an object doesn't have to be constructed before it can be referred to.
|
||||
* The exception to this rule is that an object has to be constructed before
|
||||
* it can be used as the value of a construct-only property.
|
||||
* gdk_color_parse()). Objects can be referred to by their name. Pixbufs can be
|
||||
* specified as a filename of an image file to load. In general, GtkBuilder
|
||||
* allows forward references to objects — an object doesn't have to be
|
||||
* constructed before it can be referred to. The exception to this rule is that
|
||||
* an object has to be constructed before it can be used as the value of a
|
||||
* construct-only property.
|
||||
*
|
||||
* Signal handlers are set up with the <signal> element. The "name"
|
||||
* attribute specifies the name of the signal, and the "handler" attribute
|
||||
@@ -576,24 +574,6 @@ gtk_builder_get_internal_child (GtkBuilder *builder,
|
||||
return obj;
|
||||
}
|
||||
|
||||
static inline void
|
||||
object_set_name (GObject *object, const gchar *name)
|
||||
{
|
||||
if (GTK_IS_BUILDABLE (object))
|
||||
gtk_buildable_set_name (GTK_BUILDABLE (object), name);
|
||||
else
|
||||
g_object_set_data_full (object, "gtk-builder-name", g_strdup (name), g_free);
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_builder_add_object (GtkBuilder *builder,
|
||||
const gchar *id,
|
||||
GObject *object)
|
||||
{
|
||||
object_set_name (object, id);
|
||||
g_hash_table_insert (builder->priv->objects, g_strdup (id), g_object_ref (object));
|
||||
}
|
||||
|
||||
GObject *
|
||||
_gtk_builder_construct (GtkBuilder *builder,
|
||||
ObjectInfo *info,
|
||||
@@ -723,16 +703,29 @@ _gtk_builder_construct (GtkBuilder *builder,
|
||||
g_value_unset (¶m->value);
|
||||
}
|
||||
g_array_free (parameters, TRUE);
|
||||
|
||||
/* put it in the hash table. */
|
||||
_gtk_builder_add_object (builder, info->id, obj);
|
||||
|
||||
/* we already own a reference to obj. */
|
||||
g_object_unref (obj);
|
||||
if (GTK_IS_BUILDABLE (obj))
|
||||
gtk_buildable_set_name (buildable, info->id);
|
||||
else
|
||||
g_object_set_data_full (obj,
|
||||
"gtk-builder-name",
|
||||
g_strdup (info->id),
|
||||
g_free);
|
||||
|
||||
/* we already own a reference to obj. put it in the hash table. */
|
||||
g_hash_table_insert (builder->priv->objects, g_strdup (info->id), obj);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_builder_add_object (GtkBuilder *builder,
|
||||
const gchar *id,
|
||||
GObject *object)
|
||||
{
|
||||
g_hash_table_insert (builder->priv->objects, g_strdup (id), g_object_ref (object));
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_builder_add (GtkBuilder *builder,
|
||||
ChildInfo *child_info)
|
||||
@@ -1347,39 +1340,6 @@ gtk_builder_get_translation_domain (GtkBuilder *builder)
|
||||
return builder->priv->domain;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_builder_expose_object:
|
||||
* @builder: a #GtkBuilder
|
||||
* @name: the name of the object exposed to the builder
|
||||
* @object: the object to expose
|
||||
*
|
||||
* Add @object to the @builder object pool so it can be referenced just like any
|
||||
* other object built by builder.
|
||||
*
|
||||
* To make this function even more useful a new special entry point element
|
||||
* <external-object> is defined. It is similar to <object> but has
|
||||
* to reference an external object exposed with this function.
|
||||
* This way you can change properties and even add children to an
|
||||
* external object using builder, not just reference it.
|
||||
*
|
||||
* Since: 3.8
|
||||
**/
|
||||
void
|
||||
gtk_builder_expose_object (GtkBuilder *builder,
|
||||
const gchar *name,
|
||||
GObject *object)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_BUILDER (builder));
|
||||
g_return_if_fail (name && name[0]);
|
||||
g_return_if_fail (gtk_builder_get_object (builder, name) == NULL);
|
||||
|
||||
object_set_name (object, name);
|
||||
g_hash_table_insert (builder->priv->objects,
|
||||
g_strdup (name),
|
||||
g_object_ref (object));
|
||||
}
|
||||
|
||||
|
||||
typedef struct {
|
||||
GModule *module;
|
||||
gpointer data;
|
||||
|
||||
@@ -141,10 +141,6 @@ guint gtk_builder_add_objects_from_string (GtkBuilder *builder,
|
||||
GObject* gtk_builder_get_object (GtkBuilder *builder,
|
||||
const gchar *name);
|
||||
GSList* gtk_builder_get_objects (GtkBuilder *builder);
|
||||
GDK_AVAILABLE_IN_3_8
|
||||
void gtk_builder_expose_object (GtkBuilder *builder,
|
||||
const gchar *name,
|
||||
GObject *object);
|
||||
void gtk_builder_connect_signals (GtkBuilder *builder,
|
||||
gpointer user_data);
|
||||
void gtk_builder_connect_signals_full (GtkBuilder *builder,
|
||||
|
||||
@@ -1768,7 +1768,7 @@ get_size (GtkCellRenderer *cell,
|
||||
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);
|
||||
font_desc = pango_font_description_copy_static (gtk_style_context_get_font (style_context, state));
|
||||
pango_font_description_merge_static (font_desc, priv->font, TRUE);
|
||||
|
||||
if (priv->scale_set)
|
||||
@@ -2128,6 +2128,8 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell,
|
||||
{
|
||||
GtkCellRendererTextPrivate *priv;
|
||||
GtkCellRendererText *celltext;
|
||||
GtkStyleContext *style_context;
|
||||
const PangoFontDescription *font_desc;
|
||||
PangoLayout *layout;
|
||||
PangoContext *context;
|
||||
PangoFontMetrics *metrics;
|
||||
@@ -2147,6 +2149,8 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell,
|
||||
celltext = GTK_CELL_RENDERER_TEXT (cell);
|
||||
priv = celltext->priv;
|
||||
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
|
||||
gtk_cell_renderer_get_padding (cell, &xpad, NULL);
|
||||
|
||||
layout = get_layout (celltext, widget, NULL, 0);
|
||||
@@ -2158,8 +2162,8 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell,
|
||||
|
||||
/* Fetch the average size of a charachter */
|
||||
context = pango_layout_get_context (layout);
|
||||
metrics = pango_context_get_metrics (context,
|
||||
pango_context_get_font_description (context),
|
||||
font_desc = gtk_style_context_get_font (style_context, 0);
|
||||
metrics = pango_context_get_metrics (context, font_desc,
|
||||
pango_context_get_language (context));
|
||||
|
||||
char_width = pango_font_metrics_get_approximate_char_width (metrics);
|
||||
|
||||
+21
-39
@@ -31,29 +31,20 @@
|
||||
#include "gtktextbuffer.h"
|
||||
#include "gtkselectionprivate.h"
|
||||
#include "gtkquartz.h"
|
||||
#include "../gdk/quartz/gdkquartz.h"
|
||||
|
||||
|
||||
enum {
|
||||
OWNER_CHANGE,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
@interface GtkClipboardOwner : NSObject {
|
||||
GtkClipboard *clipboard;
|
||||
@public
|
||||
gboolean setting_same_owner;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
typedef struct _GtkClipboardClass GtkClipboardClass;
|
||||
|
||||
struct _GtkClipboard
|
||||
struct _GtkClipboard
|
||||
{
|
||||
GObject parent_instance;
|
||||
|
||||
NSPasteboard *pasteboard;
|
||||
GtkClipboardOwner *owner;
|
||||
NSInteger change_count;
|
||||
|
||||
GdkAtom selection;
|
||||
@@ -96,6 +87,12 @@ static GtkClipboard *clipboard_peek (GdkDisplay *display,
|
||||
GdkAtom selection,
|
||||
gboolean only_if_exists);
|
||||
|
||||
@interface GtkClipboardOwner : NSObject {
|
||||
GtkClipboard *clipboard;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation GtkClipboardOwner
|
||||
-(void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSString *)type
|
||||
{
|
||||
@@ -134,8 +131,9 @@ static GtkClipboard *clipboard_peek (GdkDisplay *display,
|
||||
*/
|
||||
- (void)pasteboardChangedOwner:(NSPasteboard *)sender
|
||||
{
|
||||
if (! setting_same_owner)
|
||||
clipboard_unset (clipboard);
|
||||
clipboard_unset (clipboard);
|
||||
|
||||
[self release];
|
||||
}
|
||||
|
||||
- (id)initWithClipboard:(GtkClipboard *)aClipboard
|
||||
@@ -145,7 +143,6 @@ static GtkClipboard *clipboard_peek (GdkDisplay *display,
|
||||
if (self)
|
||||
{
|
||||
clipboard = aClipboard;
|
||||
setting_same_owner = FALSE;
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -336,6 +333,10 @@ gtk_clipboard_set_contents (GtkClipboard *clipboard,
|
||||
NSSet *types;
|
||||
NSAutoreleasePool *pool;
|
||||
|
||||
pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
owner = [[GtkClipboardOwner alloc] initWithClipboard:clipboard];
|
||||
|
||||
if (!(clipboard->have_owner && have_owner) ||
|
||||
clipboard->user_data != user_data)
|
||||
{
|
||||
@@ -350,44 +351,26 @@ gtk_clipboard_set_contents (GtkClipboard *clipboard,
|
||||
clipboard->user_data != user_data)
|
||||
{
|
||||
(*clear_func) (clipboard, user_data);
|
||||
[pool release];
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
[pool release];
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
types = _gtk_quartz_target_entries_to_pasteboard_types (targets, n_targets);
|
||||
|
||||
/* call declareTypes before setting the clipboard members because
|
||||
* declareTypes might clear the clipboard
|
||||
*/
|
||||
if (user_data && user_data == clipboard->user_data)
|
||||
{
|
||||
owner = [clipboard->owner retain];
|
||||
|
||||
owner->setting_same_owner = TRUE;
|
||||
clipboard->change_count = [clipboard->pasteboard declareTypes: [types allObjects]
|
||||
owner: owner];
|
||||
owner->setting_same_owner = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
owner = [[GtkClipboardOwner alloc] initWithClipboard:clipboard];
|
||||
|
||||
clipboard->change_count = [clipboard->pasteboard declareTypes: [types allObjects]
|
||||
owner: owner];
|
||||
}
|
||||
|
||||
[owner release];
|
||||
types = _gtk_quartz_target_entries_to_pasteboard_types (targets, n_targets);
|
||||
clipboard->change_count = [clipboard->pasteboard declareTypes: [types allObjects]
|
||||
owner: owner];
|
||||
[types release];
|
||||
[pool release];
|
||||
|
||||
clipboard->owner = owner;
|
||||
clipboard->user_data = user_data;
|
||||
clipboard->have_owner = have_owner;
|
||||
if (have_owner)
|
||||
@@ -476,8 +459,7 @@ clipboard_unset (GtkClipboard *clipboard)
|
||||
clipboard->n_storable_targets = -1;
|
||||
g_free (clipboard->storable_targets);
|
||||
clipboard->storable_targets = NULL;
|
||||
|
||||
clipboard->owner = NULL;
|
||||
|
||||
clipboard->get_func = NULL;
|
||||
clipboard->clear_func = NULL;
|
||||
clipboard->user_data = NULL;
|
||||
|
||||
+8
-2
@@ -5446,9 +5446,12 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
|
||||
gint font_size, arrow_size;
|
||||
PangoContext *context;
|
||||
PangoFontMetrics *metrics;
|
||||
const PangoFontDescription *font_desc;
|
||||
GtkWidget *child;
|
||||
gint minimum_width = 0, natural_width = 0;
|
||||
gint child_min, child_nat;
|
||||
GtkStyleContext *style_context;
|
||||
GtkStateFlags state;
|
||||
GtkBorder padding;
|
||||
gfloat arrow_scaling;
|
||||
|
||||
@@ -5462,11 +5465,14 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget,
|
||||
"arrow-scaling", &arrow_scaling,
|
||||
NULL);
|
||||
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
state = gtk_widget_get_state_flags (widget);
|
||||
|
||||
get_widget_padding_and_border (widget, &padding);
|
||||
font_desc = gtk_style_context_get_font (style_context, state);
|
||||
|
||||
context = gtk_widget_get_pango_context (GTK_WIDGET (widget));
|
||||
metrics = pango_context_get_metrics (context,
|
||||
pango_context_get_font_description (context),
|
||||
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));
|
||||
|
||||
@@ -82,6 +82,20 @@ gtk_css_value_array_compute (GtkCssValue *value,
|
||||
return result;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_array_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
guint i;
|
||||
|
||||
for (i = 0; i < value->n_values; i++)
|
||||
{
|
||||
if (_gtk_css_value_needs_compute (value->values[i]))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_array_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -323,6 +337,7 @@ gtk_css_value_array_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_ARRAY = {
|
||||
gtk_css_value_array_free,
|
||||
gtk_css_value_array_compute,
|
||||
gtk_css_value_array_needs_compute,
|
||||
gtk_css_value_array_equal,
|
||||
gtk_css_value_array_transition,
|
||||
gtk_css_value_array_print
|
||||
|
||||
@@ -69,6 +69,14 @@ gtk_css_value_bg_size_compute (GtkCssValue *value,
|
||||
value->y ? y : NULL);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_bg_size_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return
|
||||
_gtk_css_value_needs_compute (value->x) ||
|
||||
_gtk_css_value_needs_compute (value->y);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_bg_size_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -150,6 +158,7 @@ gtk_css_value_bg_size_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_BG_SIZE = {
|
||||
gtk_css_value_bg_size_free,
|
||||
gtk_css_value_bg_size_compute,
|
||||
gtk_css_value_bg_size_needs_compute,
|
||||
gtk_css_value_bg_size_equal,
|
||||
gtk_css_value_bg_size_transition,
|
||||
gtk_css_value_bg_size_print
|
||||
|
||||
@@ -76,6 +76,20 @@ gtk_css_value_border_compute (GtkCssValue *value,
|
||||
return computed;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_border_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
guint i;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (_gtk_css_value_needs_compute (value->values[i]))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_border_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -136,6 +150,7 @@ gtk_css_value_border_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_BORDER = {
|
||||
gtk_css_value_border_free,
|
||||
gtk_css_value_border_compute,
|
||||
gtk_css_value_border_needs_compute,
|
||||
gtk_css_value_border_equal,
|
||||
gtk_css_value_border_transition,
|
||||
gtk_css_value_border_print
|
||||
|
||||
@@ -334,6 +334,12 @@ gtk_css_value_color_compute (GtkCssValue *value,
|
||||
return resolved;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_color_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_color_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -449,6 +455,7 @@ gtk_css_value_color_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_COLOR = {
|
||||
gtk_css_value_color_free,
|
||||
gtk_css_value_color_compute,
|
||||
gtk_css_value_color_needs_compute,
|
||||
gtk_css_value_color_equal,
|
||||
gtk_css_value_color_transition,
|
||||
gtk_css_value_color_print
|
||||
|
||||
@@ -137,7 +137,7 @@ _gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
|
||||
if (_gtk_css_style_property_is_inherit (prop))
|
||||
specified = _gtk_css_inherit_value_new ();
|
||||
else
|
||||
specified = _gtk_css_initial_value_new ();
|
||||
specified = _gtk_css_initial_value_new (prop);
|
||||
}
|
||||
else
|
||||
_gtk_css_value_ref (specified);
|
||||
|
||||
@@ -60,6 +60,14 @@ gtk_css_value_corner_compute (GtkCssValue *corner,
|
||||
return _gtk_css_corner_value_new (x, y);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_corner_needs_compute (const GtkCssValue *corner)
|
||||
{
|
||||
return
|
||||
_gtk_css_value_needs_compute (corner->x) ||
|
||||
_gtk_css_value_needs_compute (corner->y);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_corner_equal (const GtkCssValue *corner1,
|
||||
const GtkCssValue *corner2)
|
||||
@@ -104,6 +112,7 @@ gtk_css_value_corner_print (const GtkCssValue *corner,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_CORNER = {
|
||||
gtk_css_value_corner_free,
|
||||
gtk_css_value_corner_compute,
|
||||
gtk_css_value_corner_needs_compute,
|
||||
gtk_css_value_corner_equal,
|
||||
gtk_css_value_corner_transition,
|
||||
gtk_css_value_corner_print
|
||||
|
||||
@@ -60,6 +60,12 @@ gtk_css_value_ease_compute (GtkCssValue *value,
|
||||
return _gtk_css_value_ref (value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_ease_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_ease_equal (const GtkCssValue *ease1,
|
||||
const GtkCssValue *ease2)
|
||||
@@ -138,6 +144,7 @@ gtk_css_value_ease_print (const GtkCssValue *ease,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_EASE = {
|
||||
gtk_css_value_ease_free,
|
||||
gtk_css_value_ease_compute,
|
||||
gtk_css_value_ease_needs_compute,
|
||||
gtk_css_value_ease_equal,
|
||||
gtk_css_value_ease_transition,
|
||||
gtk_css_value_ease_print
|
||||
|
||||
@@ -45,6 +45,12 @@ gtk_css_value_engine_compute (GtkCssValue *value,
|
||||
return _gtk_css_value_ref (value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_engine_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_engine_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -80,6 +86,7 @@ gtk_css_value_engine_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_ENGINE = {
|
||||
gtk_css_value_engine_free,
|
||||
gtk_css_value_engine_compute,
|
||||
gtk_css_value_engine_needs_compute,
|
||||
gtk_css_value_engine_equal,
|
||||
gtk_css_value_engine_transition,
|
||||
gtk_css_value_engine_print
|
||||
|
||||
@@ -48,6 +48,12 @@ gtk_css_value_enum_compute (GtkCssValue *value,
|
||||
return _gtk_css_value_ref (value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_enum_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_enum_equal (const GtkCssValue *enum1,
|
||||
const GtkCssValue *enum2)
|
||||
@@ -76,6 +82,7 @@ gtk_css_value_enum_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_BORDER_STYLE = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -219,9 +226,17 @@ gtk_css_value_font_size_compute (GtkCssValue *value,
|
||||
return _gtk_css_number_value_new (font_size, GTK_CSS_PX);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_font_size_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_FONT_SIZE = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_font_size_compute,
|
||||
gtk_css_value_font_size_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -276,6 +291,7 @@ _gtk_css_font_size_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_FONT_STYLE = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -324,6 +340,7 @@ _gtk_css_font_style_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_FONT_VARIANT = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -371,6 +388,7 @@ _gtk_css_font_variant_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_FONT_WEIGHT = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -439,6 +457,7 @@ _gtk_css_font_weight_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_AREA = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -493,6 +512,7 @@ _gtk_css_area_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_DIRECTION = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -548,6 +568,7 @@ _gtk_css_direction_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_PLAY_STATE = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
@@ -601,6 +622,7 @@ _gtk_css_play_state_value_get (const GtkCssValue *value)
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_FILL_MODE = {
|
||||
gtk_css_value_enum_free,
|
||||
gtk_css_value_enum_compute,
|
||||
gtk_css_value_enum_needs_compute,
|
||||
gtk_css_value_enum_equal,
|
||||
gtk_css_value_enum_transition,
|
||||
gtk_css_value_enum_print
|
||||
|
||||
@@ -59,6 +59,12 @@ gtk_css_value_image_compute (GtkCssValue *value,
|
||||
return _gtk_css_image_value_new (computed);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_image_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return _gtk_css_image_value_get_image (value) != NULL;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_image_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -95,6 +101,7 @@ gtk_css_value_image_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_IMAGE = {
|
||||
gtk_css_value_image_free,
|
||||
gtk_css_value_image_compute,
|
||||
gtk_css_value_image_needs_compute,
|
||||
gtk_css_value_image_equal,
|
||||
gtk_css_value_image_transition,
|
||||
gtk_css_value_image_print
|
||||
|
||||
@@ -48,7 +48,7 @@ gtk_css_value_inherit_compute (GtkCssValue *value,
|
||||
}
|
||||
else
|
||||
{
|
||||
return _gtk_css_value_compute (_gtk_css_initial_value_get (),
|
||||
return _gtk_css_value_compute (_gtk_css_initial_value_get (_gtk_css_style_property_lookup_by_id (property_id)),
|
||||
property_id,
|
||||
provider,
|
||||
values,
|
||||
@@ -57,6 +57,12 @@ gtk_css_value_inherit_compute (GtkCssValue *value,
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_inherit_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_inherit_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -83,6 +89,7 @@ gtk_css_value_inherit_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_INHERIT = {
|
||||
gtk_css_value_inherit_free,
|
||||
gtk_css_value_inherit_compute,
|
||||
gtk_css_value_inherit_needs_compute,
|
||||
gtk_css_value_inherit_equal,
|
||||
gtk_css_value_inherit_transition,
|
||||
gtk_css_value_inherit_print
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
|
||||
struct _GtkCssValue {
|
||||
GTK_CSS_VALUE_BASE
|
||||
GtkCssStyleProperty *property;
|
||||
gboolean needs_compute;
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -46,6 +48,9 @@ gtk_css_value_initial_compute (GtkCssValue *value,
|
||||
{
|
||||
GtkSettings *settings;
|
||||
|
||||
if (!value->needs_compute)
|
||||
return _gtk_css_value_ref (_gtk_css_style_property_get_initial_value (value->property));
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
case GTK_CSS_PROPERTY_FONT_FAMILY:
|
||||
@@ -77,7 +82,7 @@ gtk_css_value_initial_compute (GtkCssValue *value,
|
||||
break;
|
||||
}
|
||||
|
||||
return _gtk_css_value_compute (_gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (property_id)),
|
||||
return _gtk_css_value_compute (_gtk_css_style_property_get_initial_value (value->property),
|
||||
property_id,
|
||||
provider,
|
||||
values,
|
||||
@@ -85,6 +90,12 @@ gtk_css_value_initial_compute (GtkCssValue *value,
|
||||
dependencies);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_initial_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_initial_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -111,6 +122,7 @@ gtk_css_value_initial_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_INITIAL = {
|
||||
gtk_css_value_initial_free,
|
||||
gtk_css_value_initial_compute,
|
||||
gtk_css_value_initial_needs_compute,
|
||||
gtk_css_value_initial_equal,
|
||||
gtk_css_value_initial_transition,
|
||||
gtk_css_value_initial_print
|
||||
@@ -119,13 +131,21 @@ static const GtkCssValueClass GTK_CSS_VALUE_INITIAL = {
|
||||
static GtkCssValue initial = { >K_CSS_VALUE_INITIAL, 1 };
|
||||
|
||||
GtkCssValue *
|
||||
_gtk_css_initial_value_new (void)
|
||||
_gtk_css_initial_value_new (GtkCssStyleProperty *property)
|
||||
{
|
||||
return _gtk_css_value_ref (&initial);
|
||||
return _gtk_css_value_ref (_gtk_css_initial_value_get (property));
|
||||
}
|
||||
|
||||
GtkCssValue *
|
||||
_gtk_css_initial_value_get (void)
|
||||
_gtk_css_initial_value_get (GtkCssStyleProperty *property)
|
||||
{
|
||||
return &initial;
|
||||
if (property->css_initial_value == NULL)
|
||||
{
|
||||
property->css_initial_value = g_new0 (GtkCssValue, 1);
|
||||
*property->css_initial_value = initial;
|
||||
property->css_initial_value->property = property;
|
||||
property->css_initial_value->needs_compute =
|
||||
_gtk_css_value_needs_compute (_gtk_css_style_property_get_initial_value (property));
|
||||
}
|
||||
return property->css_initial_value;
|
||||
}
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
#define __GTK_CSS_INITIAL_VALUE_PRIVATE_H__
|
||||
|
||||
#include "gtkcssvalueprivate.h"
|
||||
|
||||
#include "gtkcssstylepropertyprivate.h"
|
||||
G_BEGIN_DECLS
|
||||
|
||||
GtkCssValue * _gtk_css_initial_value_new (void);
|
||||
GtkCssValue * _gtk_css_initial_value_get (void);
|
||||
GtkCssValue * _gtk_css_initial_value_new (GtkCssStyleProperty *property);
|
||||
GtkCssValue * _gtk_css_initial_value_get (GtkCssStyleProperty *property);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
+13
-11
@@ -62,11 +62,13 @@ gtk_css_matcher_widget_path_get_state (const GtkCssMatcher *matcher)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_matcher_widget_path_has_type (const GtkCssMatcher *matcher,
|
||||
GType type)
|
||||
gtk_css_matcher_widget_path_has_name (const GtkCssMatcher *matcher,
|
||||
const char *name)
|
||||
{
|
||||
const GtkWidgetPath *siblings;
|
||||
|
||||
GType type;
|
||||
|
||||
type = g_type_from_name (name);
|
||||
siblings = gtk_widget_path_iter_get_siblings (matcher->path.path, matcher->path.index);
|
||||
if (siblings && matcher->path.sibling_index != gtk_widget_path_iter_get_sibling_index (matcher->path.path, matcher->path.index))
|
||||
return g_type_is_a (gtk_widget_path_iter_get_object_type (siblings, matcher->path.sibling_index), type);
|
||||
@@ -177,7 +179,7 @@ static const GtkCssMatcherClass GTK_CSS_MATCHER_WIDGET_PATH = {
|
||||
gtk_css_matcher_widget_path_get_parent,
|
||||
gtk_css_matcher_widget_path_get_previous,
|
||||
gtk_css_matcher_widget_path_get_state,
|
||||
gtk_css_matcher_widget_path_has_type,
|
||||
gtk_css_matcher_widget_path_has_name,
|
||||
gtk_css_matcher_widget_path_has_class,
|
||||
gtk_css_matcher_widget_path_has_id,
|
||||
gtk_css_matcher_widget_path_has_regions,
|
||||
@@ -234,8 +236,8 @@ gtk_css_matcher_any_get_state (const GtkCssMatcher *matcher)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_matcher_any_has_type (const GtkCssMatcher *matcher,
|
||||
GType type)
|
||||
gtk_css_matcher_any_has_name (const GtkCssMatcher *matcher,
|
||||
const char *name)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@@ -281,7 +283,7 @@ static const GtkCssMatcherClass GTK_CSS_MATCHER_ANY = {
|
||||
gtk_css_matcher_any_get_parent,
|
||||
gtk_css_matcher_any_get_previous,
|
||||
gtk_css_matcher_any_get_state,
|
||||
gtk_css_matcher_any_has_type,
|
||||
gtk_css_matcher_any_has_name,
|
||||
gtk_css_matcher_any_has_class,
|
||||
gtk_css_matcher_any_has_id,
|
||||
gtk_css_matcher_any_has_regions,
|
||||
@@ -330,11 +332,11 @@ gtk_css_matcher_superset_get_state (const GtkCssMatcher *matcher)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_matcher_superset_has_type (const GtkCssMatcher *matcher,
|
||||
GType type)
|
||||
gtk_css_matcher_superset_has_name (const GtkCssMatcher *matcher,
|
||||
const char *name)
|
||||
{
|
||||
if (matcher->superset.relevant & GTK_CSS_CHANGE_NAME)
|
||||
return _gtk_css_matcher_has_type (matcher->superset.subset, type);
|
||||
return _gtk_css_matcher_has_name (matcher->superset.subset, name);
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
@@ -400,7 +402,7 @@ static const GtkCssMatcherClass GTK_CSS_MATCHER_SUPERSET = {
|
||||
gtk_css_matcher_superset_get_parent,
|
||||
gtk_css_matcher_superset_get_previous,
|
||||
gtk_css_matcher_superset_get_state,
|
||||
gtk_css_matcher_superset_has_type,
|
||||
gtk_css_matcher_superset_has_name,
|
||||
gtk_css_matcher_superset_has_class,
|
||||
gtk_css_matcher_superset_has_id,
|
||||
gtk_css_matcher_superset_has_regions,
|
||||
|
||||
@@ -36,8 +36,8 @@ struct _GtkCssMatcherClass {
|
||||
const GtkCssMatcher *next);
|
||||
|
||||
GtkStateFlags (* get_state) (const GtkCssMatcher *matcher);
|
||||
gboolean (* has_type) (const GtkCssMatcher *matcher,
|
||||
GType type);
|
||||
gboolean (* has_name) (const GtkCssMatcher *matcher,
|
||||
const char *name);
|
||||
gboolean (* has_class) (const GtkCssMatcher *matcher,
|
||||
GQuark class_name);
|
||||
gboolean (* has_id) (const GtkCssMatcher *matcher,
|
||||
@@ -103,10 +103,10 @@ _gtk_css_matcher_get_state (const GtkCssMatcher *matcher)
|
||||
}
|
||||
|
||||
static inline gboolean
|
||||
_gtk_css_matcher_has_type (const GtkCssMatcher *matcher,
|
||||
GType type)
|
||||
_gtk_css_matcher_has_name (const GtkCssMatcher *matcher,
|
||||
const char *name)
|
||||
{
|
||||
return matcher->klass->has_type (matcher, type);
|
||||
return matcher->klass->has_name (matcher, name);
|
||||
}
|
||||
|
||||
static inline gboolean
|
||||
|
||||
@@ -123,6 +123,38 @@ gtk_css_value_number_compute (GtkCssValue *number,
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_number_needs_compute (const GtkCssValue *number)
|
||||
{
|
||||
switch (number->unit)
|
||||
{
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
/* fall through */
|
||||
case GTK_CSS_PERCENT:
|
||||
/* percentages for font sizes are computed, other percentages aren't */
|
||||
return TRUE;
|
||||
case GTK_CSS_NUMBER:
|
||||
case GTK_CSS_PX:
|
||||
case GTK_CSS_DEG:
|
||||
case GTK_CSS_S:
|
||||
return FALSE;
|
||||
|
||||
case GTK_CSS_PT:
|
||||
case GTK_CSS_PC:
|
||||
case GTK_CSS_IN:
|
||||
case GTK_CSS_CM:
|
||||
case GTK_CSS_MM:
|
||||
case GTK_CSS_EM:
|
||||
case GTK_CSS_EX:
|
||||
case GTK_CSS_RAD:
|
||||
case GTK_CSS_GRAD:
|
||||
case GTK_CSS_TURN:
|
||||
case GTK_CSS_MS:
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_number_equal (const GtkCssValue *number1,
|
||||
const GtkCssValue *number2)
|
||||
@@ -180,6 +212,7 @@ gtk_css_value_number_print (const GtkCssValue *number,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_NUMBER = {
|
||||
gtk_css_value_number_free,
|
||||
gtk_css_value_number_compute,
|
||||
gtk_css_value_number_needs_compute,
|
||||
gtk_css_value_number_equal,
|
||||
gtk_css_value_number_transition,
|
||||
gtk_css_value_number_print
|
||||
|
||||
@@ -60,6 +60,14 @@ gtk_css_value_position_compute (GtkCssValue *position,
|
||||
return _gtk_css_position_value_new (x, y);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_position_needs_compute (const GtkCssValue *position)
|
||||
{
|
||||
return
|
||||
_gtk_css_value_needs_compute (position->x) ||
|
||||
_gtk_css_value_needs_compute (position->y);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_position_equal (const GtkCssValue *position1,
|
||||
const GtkCssValue *position2)
|
||||
@@ -155,6 +163,7 @@ done:
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_POSITION = {
|
||||
gtk_css_value_position_free,
|
||||
gtk_css_value_position_compute,
|
||||
gtk_css_value_position_needs_compute,
|
||||
gtk_css_value_position_equal,
|
||||
gtk_css_value_position_transition,
|
||||
gtk_css_value_position_print
|
||||
|
||||
+24
-46
@@ -1273,6 +1273,12 @@ gtk_css_ruleset_add (GtkCssRuleset *ruleset,
|
||||
ruleset->styles[i].section = NULL;
|
||||
}
|
||||
|
||||
static GtkCssChange
|
||||
gtk_css_ruleset_get_change (GtkCssRuleset *ruleset)
|
||||
{
|
||||
return _gtk_css_selector_tree_match_get_change (ruleset->selector_match);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_css_scanner_destroy (GtkCssScanner *scanner)
|
||||
{
|
||||
@@ -1435,49 +1441,6 @@ verify_tree_match_results (GtkCssProvider *provider,
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
verify_tree_get_change_results (GtkCssProvider *provider,
|
||||
const GtkCssMatcher *matcher,
|
||||
GtkCssChange change)
|
||||
{
|
||||
#ifdef VERIFY_TREE
|
||||
{
|
||||
GtkCssChange verify_change = 0;
|
||||
GPtrArray *tree_rules;
|
||||
int i;
|
||||
|
||||
tree_rules = _gtk_css_selector_tree_match_all (provider->priv->tree, matcher);
|
||||
verify_tree_match_results (provider, matcher, tree_rules);
|
||||
|
||||
for (i = tree_rules->len - 1; i >= 0; i--)
|
||||
{
|
||||
GtkCssRuleset *ruleset;
|
||||
|
||||
ruleset = tree_rules->pdata[i];
|
||||
|
||||
verify_change |= _gtk_css_selector_tree_match_get_change (ruleset->selector_match);
|
||||
}
|
||||
|
||||
if (change != verify_change)
|
||||
{
|
||||
GString *s;
|
||||
|
||||
s = g_string_new ("");
|
||||
g_string_append_printf (s, "expected change 0x%x, but it was 0x%x", verify_change, change);
|
||||
if ((change & ~verify_change) != 0)
|
||||
g_string_append_printf (s, ", unexpectedly set: 0x%x", change & ~verify_change);
|
||||
if ((~change & verify_change) != 0)
|
||||
g_string_append_printf (s, ", unexpectedly no set: 0x%x", ~change & verify_change);
|
||||
g_warning (s->str);
|
||||
g_string_free (s, TRUE);
|
||||
}
|
||||
|
||||
g_ptr_array_free (tree_rules, TRUE);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
gtk_css_provider_get_style_property (GtkStyleProvider *provider,
|
||||
GtkWidgetPath *path,
|
||||
@@ -1622,14 +1585,29 @@ gtk_css_style_provider_get_change (GtkStyleProviderPrivate *provider,
|
||||
{
|
||||
GtkCssProvider *css_provider;
|
||||
GtkCssProviderPrivate *priv;
|
||||
GtkCssChange change;
|
||||
GtkCssChange change = 0;
|
||||
GPtrArray *tree_rules;
|
||||
int i;
|
||||
|
||||
css_provider = GTK_CSS_PROVIDER (provider);
|
||||
priv = css_provider->priv;
|
||||
|
||||
change = _gtk_css_selector_tree_get_change_all (priv->tree, matcher);
|
||||
tree_rules = _gtk_css_selector_tree_match_all (priv->tree, matcher);
|
||||
verify_tree_match_results (css_provider, matcher, tree_rules);
|
||||
|
||||
verify_tree_get_change_results (css_provider, matcher, change);
|
||||
for (i = tree_rules->len - 1; i >= 0; i--)
|
||||
{
|
||||
GtkCssRuleset *ruleset;
|
||||
|
||||
ruleset = tree_rules->pdata[i];
|
||||
|
||||
if (ruleset->styles == NULL)
|
||||
continue;
|
||||
|
||||
change |= gtk_css_ruleset_get_change (ruleset);
|
||||
}
|
||||
|
||||
g_ptr_array_free (tree_rules, TRUE);
|
||||
|
||||
return change;
|
||||
}
|
||||
|
||||
@@ -44,6 +44,12 @@ gtk_css_value_repeat_compute (GtkCssValue *value,
|
||||
return _gtk_css_value_ref (value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_repeat_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_repeat_equal (const GtkCssValue *repeat1,
|
||||
const GtkCssValue *repeat2)
|
||||
@@ -116,6 +122,7 @@ gtk_css_value_border_repeat_print (const GtkCssValue *repeat,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_BACKGROUND_REPEAT = {
|
||||
gtk_css_value_repeat_free,
|
||||
gtk_css_value_repeat_compute,
|
||||
gtk_css_value_repeat_needs_compute,
|
||||
gtk_css_value_repeat_equal,
|
||||
gtk_css_value_repeat_transition,
|
||||
gtk_css_value_background_repeat_print
|
||||
@@ -124,6 +131,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_BACKGROUND_REPEAT = {
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_BORDER_REPEAT = {
|
||||
gtk_css_value_repeat_free,
|
||||
gtk_css_value_repeat_compute,
|
||||
gtk_css_value_repeat_needs_compute,
|
||||
gtk_css_value_repeat_equal,
|
||||
gtk_css_value_repeat_transition,
|
||||
gtk_css_value_border_repeat_print
|
||||
|
||||
@@ -44,6 +44,12 @@ gtk_css_value_rgba_compute (GtkCssValue *value,
|
||||
return _gtk_css_value_ref (value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_rgba_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_rgba_equal (const GtkCssValue *rgba1,
|
||||
const GtkCssValue *rgba2)
|
||||
@@ -80,6 +86,7 @@ gtk_css_value_rgba_print (const GtkCssValue *rgba,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_RGBA = {
|
||||
gtk_css_value_rgba_free,
|
||||
gtk_css_value_rgba_compute,
|
||||
gtk_css_value_rgba_needs_compute,
|
||||
gtk_css_value_rgba_equal,
|
||||
gtk_css_value_rgba_transition,
|
||||
gtk_css_value_rgba_print
|
||||
|
||||
+139
-537
File diff suppressed because it is too large
Load Diff
@@ -42,8 +42,6 @@ int _gtk_css_selector_compare (const GtkCssSelector *a,
|
||||
void _gtk_css_selector_tree_free (GtkCssSelectorTree *tree);
|
||||
GPtrArray * _gtk_css_selector_tree_match_all (const GtkCssSelectorTree *tree,
|
||||
const GtkCssMatcher *matcher);
|
||||
GtkCssChange _gtk_css_selector_tree_get_change_all (const GtkCssSelectorTree *tree,
|
||||
const GtkCssMatcher *matcher);
|
||||
void _gtk_css_selector_tree_match_print (const GtkCssSelectorTree *tree,
|
||||
GString *str);
|
||||
GtkCssChange _gtk_css_selector_tree_match_get_change (const GtkCssSelectorTree *tree);
|
||||
|
||||
@@ -72,6 +72,20 @@ gtk_css_value_shadows_compute (GtkCssValue *value,
|
||||
return result;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_shadows_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
guint i;
|
||||
|
||||
for (i = 0; i < value->len; i++)
|
||||
{
|
||||
if (_gtk_css_value_needs_compute (value->values[i]))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_shadows_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -181,6 +195,7 @@ gtk_css_value_shadows_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_SHADOWS = {
|
||||
gtk_css_value_shadows_free,
|
||||
gtk_css_value_shadows_compute,
|
||||
gtk_css_value_shadows_needs_compute,
|
||||
gtk_css_value_shadows_equal,
|
||||
gtk_css_value_shadows_transition,
|
||||
gtk_css_value_shadows_print
|
||||
|
||||
@@ -94,6 +94,18 @@ gtk_css_value_shadow_compute (GtkCssValue *shadow,
|
||||
return gtk_css_shadow_value_new (hoffset, voffset, radius, spread, shadow->inset, color);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_shadow_needs_compute (const GtkCssValue *shadow)
|
||||
{
|
||||
return
|
||||
_gtk_css_value_needs_compute (shadow->hoffset) ||
|
||||
_gtk_css_value_needs_compute (shadow->voffset) ||
|
||||
_gtk_css_value_needs_compute (shadow->radius) ||
|
||||
_gtk_css_value_needs_compute (shadow->spread) ||
|
||||
_gtk_css_value_needs_compute (shadow->color);
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_shadow_equal (const GtkCssValue *shadow1,
|
||||
const GtkCssValue *shadow2)
|
||||
@@ -154,6 +166,7 @@ gtk_css_value_shadow_print (const GtkCssValue *shadow,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_SHADOW = {
|
||||
gtk_css_value_shadow_free,
|
||||
gtk_css_value_shadow_compute,
|
||||
gtk_css_value_shadow_needs_compute,
|
||||
gtk_css_value_shadow_equal,
|
||||
gtk_css_value_shadow_transition,
|
||||
gtk_css_value_shadow_print
|
||||
|
||||
@@ -102,7 +102,7 @@ gtk_css_shorthand_property_parse_value (GtkStyleProperty *property,
|
||||
*/
|
||||
for (i = 0; i < shorthand->subproperties->len; i++)
|
||||
{
|
||||
data[i] = _gtk_css_initial_value_new ();
|
||||
data[i] = _gtk_css_initial_value_new (shorthand->subproperties->pdata[i]);
|
||||
}
|
||||
}
|
||||
else if (_gtk_css_parser_try (parser, "inherit", TRUE))
|
||||
@@ -135,7 +135,7 @@ gtk_css_shorthand_property_parse_value (GtkStyleProperty *property,
|
||||
for (i = 0; i < shorthand->subproperties->len; i++)
|
||||
{
|
||||
if (data[i] == NULL)
|
||||
data[i] = _gtk_css_initial_value_new ();
|
||||
data[i] = _gtk_css_initial_value_new (shorthand->subproperties->pdata[i]);
|
||||
}
|
||||
|
||||
result = _gtk_css_array_value_new_from_array (data, shorthand->subproperties->len);
|
||||
|
||||
@@ -44,6 +44,12 @@ gtk_css_value_string_compute (GtkCssValue *value,
|
||||
return _gtk_css_value_ref (value);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_string_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_string_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -150,6 +156,7 @@ gtk_css_value_ident_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_STRING = {
|
||||
gtk_css_value_string_free,
|
||||
gtk_css_value_string_compute,
|
||||
gtk_css_value_string_needs_compute,
|
||||
gtk_css_value_string_equal,
|
||||
gtk_css_value_string_transition,
|
||||
gtk_css_value_string_print
|
||||
@@ -158,6 +165,7 @@ static const GtkCssValueClass GTK_CSS_VALUE_STRING = {
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_IDENT = {
|
||||
gtk_css_value_string_free,
|
||||
gtk_css_value_string_compute,
|
||||
gtk_css_value_string_needs_compute,
|
||||
gtk_css_value_string_equal,
|
||||
gtk_css_value_string_transition,
|
||||
gtk_css_value_ident_print
|
||||
|
||||
+15
-57
@@ -39,7 +39,6 @@ enum {
|
||||
PROP_0,
|
||||
PROP_ANIMATED,
|
||||
PROP_AFFECTS_SIZE,
|
||||
PROP_AFFECTS_FONT,
|
||||
PROP_ID,
|
||||
PROP_INHERIT,
|
||||
PROP_INITIAL
|
||||
@@ -48,9 +47,6 @@ enum {
|
||||
G_DEFINE_TYPE (GtkCssStyleProperty, _gtk_css_style_property, GTK_TYPE_STYLE_PROPERTY)
|
||||
|
||||
static GtkBitmask *_properties_affecting_size = NULL;
|
||||
static GtkBitmask *_properties_affecting_font = NULL;
|
||||
|
||||
static GtkCssStylePropertyClass *gtk_css_style_property_class = NULL;
|
||||
|
||||
static void
|
||||
gtk_css_style_property_constructed (GObject *object)
|
||||
@@ -64,9 +60,6 @@ gtk_css_style_property_constructed (GObject *object)
|
||||
if (property->affects_size)
|
||||
_properties_affecting_size = _gtk_bitmask_set (_properties_affecting_size, property->id, TRUE);
|
||||
|
||||
if (property->affects_font)
|
||||
_properties_affecting_font = _gtk_bitmask_set (_properties_affecting_font, property->id, TRUE);
|
||||
|
||||
G_OBJECT_CLASS (_gtk_css_style_property_parent_class)->constructed (object);
|
||||
}
|
||||
|
||||
@@ -86,9 +79,6 @@ gtk_css_style_property_set_property (GObject *object,
|
||||
case PROP_AFFECTS_SIZE:
|
||||
property->affects_size = g_value_get_boolean (value);
|
||||
break;
|
||||
case PROP_AFFECTS_FONT:
|
||||
property->affects_font = g_value_get_boolean (value);
|
||||
break;
|
||||
case PROP_INHERIT:
|
||||
property->inherit = g_value_get_boolean (value);
|
||||
break;
|
||||
@@ -118,9 +108,6 @@ gtk_css_style_property_get_property (GObject *object,
|
||||
case PROP_AFFECTS_SIZE:
|
||||
g_value_set_boolean (value, property->affects_size);
|
||||
break;
|
||||
case PROP_AFFECTS_FONT:
|
||||
g_value_set_boolean (value, property->affects_font);
|
||||
break;
|
||||
case PROP_ID:
|
||||
g_value_set_boolean (value, property->id);
|
||||
break;
|
||||
@@ -243,7 +230,7 @@ gtk_css_style_property_parse_value (GtkStyleProperty *property,
|
||||
/* the initial value can be explicitly specified with the
|
||||
* ‘initial’ keyword which all properties accept.
|
||||
*/
|
||||
return _gtk_css_initial_value_new ();
|
||||
return _gtk_css_initial_value_new (style_property);
|
||||
}
|
||||
else if (_gtk_css_parser_try (parser, "inherit", TRUE))
|
||||
{
|
||||
@@ -283,13 +270,6 @@ _gtk_css_style_property_class_init (GtkCssStylePropertyClass *klass)
|
||||
P_("Set if the value affects the sizing of elements"),
|
||||
TRUE,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_AFFECTS_FONT,
|
||||
g_param_spec_boolean ("affects-font",
|
||||
P_("Affects font"),
|
||||
P_("Set if the value affects the font"),
|
||||
FALSE,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ID,
|
||||
g_param_spec_uint ("id",
|
||||
@@ -319,9 +299,6 @@ _gtk_css_style_property_class_init (GtkCssStylePropertyClass *klass)
|
||||
klass->style_properties = g_ptr_array_new ();
|
||||
|
||||
_properties_affecting_size = _gtk_bitmask_new ();
|
||||
_properties_affecting_font = _gtk_bitmask_new ();
|
||||
|
||||
gtk_css_style_property_class = klass;
|
||||
}
|
||||
|
||||
static GtkCssValue *
|
||||
@@ -349,13 +326,17 @@ _gtk_css_style_property_init (GtkCssStyleProperty *property)
|
||||
guint
|
||||
_gtk_css_style_property_get_n_properties (void)
|
||||
{
|
||||
if (G_UNLIKELY (gtk_css_style_property_class == NULL))
|
||||
GtkCssStylePropertyClass *klass;
|
||||
|
||||
klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
|
||||
if (G_UNLIKELY (klass == NULL))
|
||||
{
|
||||
_gtk_style_property_init_properties ();
|
||||
g_assert (gtk_css_style_property_class);
|
||||
klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
|
||||
g_assert (klass);
|
||||
}
|
||||
|
||||
return gtk_css_style_property_class->style_properties->len;
|
||||
return klass->style_properties->len;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -371,16 +352,18 @@ _gtk_css_style_property_get_n_properties (void)
|
||||
GtkCssStyleProperty *
|
||||
_gtk_css_style_property_lookup_by_id (guint id)
|
||||
{
|
||||
GtkCssStylePropertyClass *klass;
|
||||
|
||||
if (G_UNLIKELY (gtk_css_style_property_class == NULL))
|
||||
klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
|
||||
if (G_UNLIKELY (klass == NULL))
|
||||
{
|
||||
_gtk_style_property_init_properties ();
|
||||
g_assert (gtk_css_style_property_class);
|
||||
klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
|
||||
g_assert (klass);
|
||||
}
|
||||
g_return_val_if_fail (id < klass->style_properties->len, NULL);
|
||||
|
||||
g_return_val_if_fail (id < gtk_css_style_property_class->style_properties->len, NULL);
|
||||
|
||||
return g_ptr_array_index (gtk_css_style_property_class->style_properties, id);
|
||||
return g_ptr_array_index (klass->style_properties, id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -436,25 +419,6 @@ _gtk_css_style_property_affects_size (GtkCssStyleProperty *property)
|
||||
|
||||
return property->affects_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_css_style_property_affects_font:
|
||||
* @property: the property
|
||||
*
|
||||
* Queries if the given @property affects the default font. This is
|
||||
* used for optimizations inside GTK, where clearing pango
|
||||
* layouts can be avoided if the font doesn't change.
|
||||
*
|
||||
* Returns: %TRUE if the property affects the font.
|
||||
**/
|
||||
gboolean
|
||||
_gtk_css_style_property_affects_font (GtkCssStyleProperty *property)
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_CSS_STYLE_PROPERTY (property), FALSE);
|
||||
|
||||
return property->affects_font;
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_css_style_property_get_id:
|
||||
* @property: the property
|
||||
@@ -495,9 +459,3 @@ _gtk_css_style_property_changes_affect_size (const GtkBitmask *changes)
|
||||
{
|
||||
return _gtk_bitmask_intersects (changes, _properties_affecting_size);
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gtk_css_style_property_changes_affect_font (const GtkBitmask *changes)
|
||||
{
|
||||
return _gtk_bitmask_intersects (changes, _properties_affecting_font);
|
||||
}
|
||||
|
||||
@@ -66,8 +66,7 @@
|
||||
typedef enum {
|
||||
GTK_STYLE_PROPERTY_INHERIT = (1 << 0),
|
||||
GTK_STYLE_PROPERTY_ANIMATED = (1 << 1),
|
||||
GTK_STYLE_PROPERTY_NO_RESIZE = (1 << 2),
|
||||
GTK_STYLE_PROPERTY_AFFECTS_FONT = (1 << 3)
|
||||
GTK_STYLE_PROPERTY_NO_RESIZE = (1 << 2)
|
||||
} GtkStylePropertyFlags;
|
||||
|
||||
static void
|
||||
@@ -90,7 +89,6 @@ gtk_css_style_property_register (const char * name,
|
||||
node = g_object_new (GTK_TYPE_CSS_STYLE_PROPERTY,
|
||||
"value-type", value_type,
|
||||
"affects-size", (flags & GTK_STYLE_PROPERTY_NO_RESIZE) ? FALSE : TRUE,
|
||||
"affects-font", (flags & GTK_STYLE_PROPERTY_AFFECTS_FONT) ? TRUE : FALSE,
|
||||
"animated", (flags & GTK_STYLE_PROPERTY_ANIMATED) ? TRUE : FALSE,
|
||||
"inherit", (flags & GTK_STYLE_PROPERTY_INHERIT) ? TRUE : FALSE,
|
||||
"initial-value", initial_value,
|
||||
@@ -164,7 +162,7 @@ assign_border (GtkCssStyleProperty *property,
|
||||
const GtkBorder *border = g_value_get_boxed (value);
|
||||
|
||||
if (border == NULL)
|
||||
return _gtk_css_initial_value_new ();
|
||||
return _gtk_css_initial_value_new (property);
|
||||
else
|
||||
return _gtk_css_border_value_new (_gtk_css_number_value_new (border->top, GTK_CSS_PX),
|
||||
_gtk_css_number_value_new (border->right, GTK_CSS_PX),
|
||||
@@ -878,7 +876,7 @@ _gtk_css_style_property_init_properties (void)
|
||||
gtk_css_style_property_register ("font-size",
|
||||
GTK_CSS_PROPERTY_FONT_SIZE,
|
||||
G_TYPE_DOUBLE,
|
||||
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED | GTK_STYLE_PROPERTY_AFFECTS_FONT,
|
||||
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
|
||||
font_size_parse,
|
||||
query_length_as_double,
|
||||
assign_length_from_double,
|
||||
@@ -898,7 +896,7 @@ _gtk_css_style_property_init_properties (void)
|
||||
gtk_css_style_property_register ("font-family",
|
||||
GTK_CSS_PROPERTY_FONT_FAMILY,
|
||||
G_TYPE_STRV,
|
||||
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_AFFECTS_FONT,
|
||||
GTK_STYLE_PROPERTY_INHERIT,
|
||||
font_family_parse,
|
||||
font_family_query,
|
||||
font_family_assign,
|
||||
@@ -906,7 +904,7 @@ _gtk_css_style_property_init_properties (void)
|
||||
gtk_css_style_property_register ("font-style",
|
||||
GTK_CSS_PROPERTY_FONT_STYLE,
|
||||
PANGO_TYPE_STYLE,
|
||||
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_AFFECTS_FONT,
|
||||
GTK_STYLE_PROPERTY_INHERIT,
|
||||
parse_pango_style,
|
||||
query_pango_style,
|
||||
assign_pango_style,
|
||||
@@ -914,7 +912,7 @@ _gtk_css_style_property_init_properties (void)
|
||||
gtk_css_style_property_register ("font-variant",
|
||||
GTK_CSS_PROPERTY_FONT_VARIANT,
|
||||
PANGO_TYPE_VARIANT,
|
||||
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_AFFECTS_FONT,
|
||||
GTK_STYLE_PROPERTY_INHERIT,
|
||||
parse_pango_variant,
|
||||
query_pango_variant,
|
||||
assign_pango_variant,
|
||||
@@ -922,7 +920,7 @@ _gtk_css_style_property_init_properties (void)
|
||||
gtk_css_style_property_register ("font-weight",
|
||||
GTK_CSS_PROPERTY_FONT_WEIGHT,
|
||||
PANGO_TYPE_WEIGHT,
|
||||
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_AFFECTS_FONT,
|
||||
GTK_STYLE_PROPERTY_INHERIT,
|
||||
parse_pango_weight,
|
||||
query_pango_weight,
|
||||
assign_pango_weight,
|
||||
|
||||
@@ -50,7 +50,8 @@ struct _GtkCssStyleProperty
|
||||
guint inherit :1;
|
||||
guint animated :1;
|
||||
guint affects_size :1;
|
||||
guint affects_font :1;
|
||||
|
||||
GtkCssValue *css_initial_value; /* Used to quickly find the GCssInitialValue for a property */
|
||||
|
||||
GtkCssStylePropertyParseFunc parse_value;
|
||||
GtkCssStylePropertyQueryFunc query_value;
|
||||
@@ -74,7 +75,6 @@ GtkCssStyleProperty * _gtk_css_style_property_lookup_by_id (guint
|
||||
gboolean _gtk_css_style_property_is_inherit (GtkCssStyleProperty *property);
|
||||
gboolean _gtk_css_style_property_is_animated (GtkCssStyleProperty *property);
|
||||
gboolean _gtk_css_style_property_affects_size (GtkCssStyleProperty *property);
|
||||
gboolean _gtk_css_style_property_affects_font (GtkCssStyleProperty *property);
|
||||
guint _gtk_css_style_property_get_id (GtkCssStyleProperty *property);
|
||||
GtkCssValue * _gtk_css_style_property_get_initial_value
|
||||
(GtkCssStyleProperty *property);
|
||||
@@ -85,8 +85,7 @@ void _gtk_css_style_property_print_value (GtkCssStyleProp
|
||||
|
||||
gboolean _gtk_css_style_property_changes_affect_size
|
||||
(const GtkBitmask *changes);
|
||||
gboolean _gtk_css_style_property_changes_affect_font
|
||||
(const GtkBitmask *changes);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
@@ -47,6 +47,12 @@ gtk_css_value_typed_compute (GtkCssValue *value,
|
||||
return _gtk_css_style_compute_value (provider, values, parent_values, custom->pspec->value_type, value, dependencies);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_typed_needs_compute (const GtkCssValue *value)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_css_value_typed_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
@@ -73,6 +79,7 @@ gtk_css_value_typed_print (const GtkCssValue *value,
|
||||
static const GtkCssValueClass GTK_CSS_VALUE_TYPED = {
|
||||
gtk_css_value_typed_free,
|
||||
gtk_css_value_typed_compute,
|
||||
gtk_css_value_typed_needs_compute,
|
||||
gtk_css_value_typed_equal,
|
||||
gtk_css_value_typed_transition,
|
||||
gtk_css_value_typed_print
|
||||
|
||||
@@ -50,9 +50,7 @@ typedef enum { /*< skip >*/
|
||||
/* add more */
|
||||
GTK_CSS_CHANGE_SOURCE = (1 << 16),
|
||||
GTK_CSS_CHANGE_ANIMATE = (1 << 17),
|
||||
GTK_CSS_CHANGE_FORCE_INVALIDATE = (1 << 18),
|
||||
|
||||
GTK_CSS_CHANGE_RESERVED_BIT = (1 << 31) /* Used internally in gtkcssselector.c */
|
||||
GTK_CSS_CHANGE_FORCE_INVALIDATE = (1 << 18)
|
||||
} GtkCssChange;
|
||||
|
||||
#define GTK_CSS_CHANGE_ANY ((1 << 19) - 1)
|
||||
|
||||
@@ -106,6 +106,27 @@ _gtk_css_value_compute (GtkCssValue *value,
|
||||
return value->class->compute (value, property_id, provider, values, parent_values, dependencies);
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_css_value_needs_compute:
|
||||
* @value: the value to check or %null
|
||||
*
|
||||
* Checks whether a particular css value *really* needs computation.
|
||||
* A lot of css values are "absolute" (like say "10 px") and never need
|
||||
* any computation done. Such a value would always just return itself
|
||||
* as the computed value. This can be used in some cases to avoid
|
||||
* repeated computations.
|
||||
*
|
||||
* Returns: %false if computing this value always returns itself, %false otherwise
|
||||
**/
|
||||
gboolean
|
||||
_gtk_css_value_needs_compute (GtkCssValue *value)
|
||||
{
|
||||
if (value == NULL)
|
||||
return FALSE;
|
||||
|
||||
return value->class->needs_compute (value);
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gtk_css_value_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2)
|
||||
|
||||
@@ -46,6 +46,7 @@ struct _GtkCssValueClass {
|
||||
GtkCssComputedValues *values,
|
||||
GtkCssComputedValues *parent_values,
|
||||
GtkCssDependencies *dependencies);
|
||||
gboolean (* needs_compute) (const GtkCssValue *value);
|
||||
gboolean (* equal) (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2);
|
||||
GtkCssValue * (* transition) (GtkCssValue *start,
|
||||
@@ -71,6 +72,7 @@ GtkCssValue *_gtk_css_value_compute (GtkCssValue
|
||||
GtkCssComputedValues *values,
|
||||
GtkCssComputedValues *parent_values,
|
||||
GtkCssDependencies *dependencies);
|
||||
gboolean _gtk_css_value_needs_compute (GtkCssValue *value);
|
||||
gboolean _gtk_css_value_equal (const GtkCssValue *value1,
|
||||
const GtkCssValue *value2);
|
||||
gboolean _gtk_css_value_equal0 (const GtkCssValue *value1,
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "gtkquartz.h"
|
||||
#include "gdk/quartz/gdkquartz.h"
|
||||
#include "gtkselectionprivate.h"
|
||||
#include "gtksettings.h"
|
||||
|
||||
typedef struct _GtkDragSourceSite GtkDragSourceSite;
|
||||
typedef struct _GtkDragSourceInfo GtkDragSourceInfo;
|
||||
|
||||
+19
-3
@@ -3216,14 +3216,19 @@ gtk_entry_get_preferred_width (GtkWidget *widget,
|
||||
PangoFontMetrics *metrics;
|
||||
GtkBorder borders;
|
||||
PangoContext *context;
|
||||
GtkStyleContext *style_context;
|
||||
GtkStateFlags state;
|
||||
gint icon_widths = 0;
|
||||
gint icon_width, i;
|
||||
gint width;
|
||||
|
||||
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,
|
||||
pango_context_get_font_description (context),
|
||||
gtk_style_context_get_font (style_context, state),
|
||||
pango_context_get_language (context));
|
||||
|
||||
_gtk_entry_get_borders (entry, &borders);
|
||||
@@ -3264,6 +3269,8 @@ gtk_entry_get_preferred_height (GtkWidget *widget,
|
||||
GtkEntryPrivate *priv = entry->priv;
|
||||
PangoFontMetrics *metrics;
|
||||
GtkBorder borders;
|
||||
GtkStyleContext *style_context;
|
||||
GtkStateFlags state;
|
||||
PangoContext *context;
|
||||
gint height;
|
||||
PangoLayout *layout;
|
||||
@@ -3271,8 +3278,11 @@ gtk_entry_get_preferred_height (GtkWidget *widget,
|
||||
layout = gtk_entry_ensure_layout (entry, TRUE);
|
||||
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,
|
||||
pango_context_get_font_description (context),
|
||||
gtk_style_context_get_font (style_context, state),
|
||||
pango_context_get_language (context));
|
||||
|
||||
priv->ascent = pango_font_metrics_get_ascent (metrics);
|
||||
@@ -4865,6 +4875,8 @@ gtk_entry_style_updated (GtkWidget *widget)
|
||||
|
||||
gtk_entry_update_cached_style_values (entry);
|
||||
|
||||
gtk_entry_recompute (entry);
|
||||
|
||||
icon_theme_changed (entry);
|
||||
}
|
||||
|
||||
@@ -6562,6 +6574,8 @@ gtk_entry_move_adjustments (GtkEntry *entry)
|
||||
GtkAdjustment *adjustment;
|
||||
PangoContext *context;
|
||||
PangoFontMetrics *metrics;
|
||||
GtkStyleContext *style_context;
|
||||
GtkStateFlags state;
|
||||
GtkBorder borders;
|
||||
gint x, layout_x;
|
||||
gint char_width;
|
||||
@@ -6580,9 +6594,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);
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
state = gtk_widget_get_state_flags (widget);
|
||||
|
||||
metrics = pango_context_get_metrics (context,
|
||||
pango_context_get_font_description (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;
|
||||
|
||||
|
||||
@@ -8187,7 +8187,7 @@ find_good_size_from_style (GtkWidget *widget,
|
||||
{
|
||||
GtkStyleContext *context;
|
||||
GtkStateFlags state;
|
||||
double font_size;
|
||||
int font_size;
|
||||
GdkScreen *screen;
|
||||
double resolution;
|
||||
|
||||
@@ -8204,8 +8204,8 @@ find_good_size_from_style (GtkWidget *widget,
|
||||
else
|
||||
resolution = 96.0; /* wheeee */
|
||||
|
||||
gtk_style_context_get (context, state, "font-size", &font_size, NULL);
|
||||
font_size = font_size * resolution / 72.0 + 0.5;
|
||||
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;
|
||||
*height = font_size * NUM_LINES;
|
||||
|
||||
+1
-4
@@ -325,10 +325,7 @@ _gtk_icon_helper_ensure_pixbuf (GtkIconHelper *self,
|
||||
|
||||
case GTK_IMAGE_STOCK:
|
||||
icon_set = gtk_style_context_lookup_icon_set (context, self->priv->stock_id);
|
||||
if (icon_set != NULL)
|
||||
ensure_pixbuf_for_icon_set (self, context, icon_set);
|
||||
else
|
||||
pixbuf = NULL;
|
||||
ensure_pixbuf_for_icon_set (self, context, icon_set);
|
||||
break;
|
||||
|
||||
case GTK_IMAGE_ICON_SET:
|
||||
|
||||
+50
-6
@@ -384,6 +384,9 @@ static void gtk_label_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation *allocation);
|
||||
static void gtk_label_state_flags_changed (GtkWidget *widget,
|
||||
GtkStateFlags prev_state);
|
||||
static void gtk_label_style_updated (GtkWidget *widget);
|
||||
static void gtk_label_direction_changed (GtkWidget *widget,
|
||||
GtkTextDirection previous_dir);
|
||||
static gint gtk_label_draw (GtkWidget *widget,
|
||||
cairo_t *cr);
|
||||
static gboolean gtk_label_focus (GtkWidget *widget,
|
||||
@@ -563,7 +566,9 @@ gtk_label_class_init (GtkLabelClass *class)
|
||||
widget_class->destroy = gtk_label_destroy;
|
||||
widget_class->size_allocate = gtk_label_size_allocate;
|
||||
widget_class->state_flags_changed = gtk_label_state_flags_changed;
|
||||
widget_class->style_updated = gtk_label_style_updated;
|
||||
widget_class->query_tooltip = gtk_label_query_tooltip;
|
||||
widget_class->direction_changed = gtk_label_direction_changed;
|
||||
widget_class->draw = gtk_label_draw;
|
||||
widget_class->realize = gtk_label_realize;
|
||||
widget_class->unrealize = gtk_label_unrealize;
|
||||
@@ -1847,9 +1852,6 @@ gtk_label_screen_changed (GtkWidget *widget,
|
||||
GtkSettings *settings;
|
||||
gboolean shortcuts_connected;
|
||||
|
||||
/* The PangoContext is replaced when the screen changes, so clear the layouts */
|
||||
gtk_label_clear_layout (GTK_LABEL (widget));
|
||||
|
||||
if (!gtk_widget_has_screen (widget))
|
||||
return;
|
||||
|
||||
@@ -3134,6 +3136,23 @@ gtk_label_clear_layout (GtkLabel *label)
|
||||
}
|
||||
}
|
||||
|
||||
static PangoFontMetrics *
|
||||
get_font_metrics (PangoContext *context, GtkWidget *widget)
|
||||
{
|
||||
GtkStyleContext *style_context;
|
||||
const PangoFontDescription *font;
|
||||
PangoFontMetrics *retval;
|
||||
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
font = gtk_style_context_get_font (style_context, GTK_STATE_FLAG_NORMAL);
|
||||
|
||||
retval = pango_context_get_metrics (context,
|
||||
font,
|
||||
pango_context_get_language (context));
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_label_get_measuring_layout:
|
||||
* @label: the label
|
||||
@@ -3466,9 +3485,7 @@ get_char_pixels (GtkWidget *label,
|
||||
gint char_width, digit_width;
|
||||
|
||||
context = pango_layout_get_context (layout);
|
||||
metrics = pango_context_get_metrics (context,
|
||||
pango_context_get_font_description (context),
|
||||
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);
|
||||
pango_font_metrics_unref (metrics);
|
||||
@@ -3809,10 +3826,37 @@ gtk_label_state_flags_changed (GtkWidget *widget,
|
||||
gtk_label_update_cursor (label);
|
||||
}
|
||||
|
||||
/* We have to clear the layout, fonts etc. may have changed */
|
||||
gtk_label_clear_layout (label);
|
||||
|
||||
if (GTK_WIDGET_CLASS (gtk_label_parent_class)->state_flags_changed)
|
||||
GTK_WIDGET_CLASS (gtk_label_parent_class)->state_flags_changed (widget, prev_state);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_label_style_updated (GtkWidget *widget)
|
||||
{
|
||||
GtkLabel *label = GTK_LABEL (widget);
|
||||
|
||||
GTK_WIDGET_CLASS (gtk_label_parent_class)->style_updated (widget);
|
||||
|
||||
/* We have to clear the layout, fonts etc. may have changed */
|
||||
gtk_label_clear_layout (label);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_label_direction_changed (GtkWidget *widget,
|
||||
GtkTextDirection previous_dir)
|
||||
{
|
||||
GtkLabel *label = GTK_LABEL (widget);
|
||||
GtkLabelPrivate *priv = label->priv;
|
||||
|
||||
if (priv->layout)
|
||||
pango_layout_context_changed (priv->layout);
|
||||
|
||||
GTK_WIDGET_CLASS (gtk_label_parent_class)->direction_changed (widget, previous_dir);
|
||||
}
|
||||
|
||||
static void
|
||||
get_layout_location (GtkLabel *label,
|
||||
gint *xp,
|
||||
|
||||
+1
-1
@@ -1555,7 +1555,7 @@ gtk_main_do_event (GdkEvent *event)
|
||||
* This is the key to implementing modality.
|
||||
*/
|
||||
if (!grab_widget ||
|
||||
((gtk_widget_is_sensitive (event_widget) || event->type == GDK_SCROLL) &&
|
||||
(gtk_widget_is_sensitive (event_widget) &&
|
||||
gtk_widget_is_ancestor (event_widget, grab_widget)))
|
||||
grab_widget = event_widget;
|
||||
|
||||
|
||||
+10
-2
@@ -758,6 +758,8 @@ get_arrow_size (GtkWidget *widget,
|
||||
gint *size,
|
||||
gint *spacing)
|
||||
{
|
||||
GtkStyleContext *style_context;
|
||||
GtkStateFlags state;
|
||||
PangoContext *context;
|
||||
PangoFontMetrics *metrics;
|
||||
gfloat arrow_scaling;
|
||||
@@ -774,9 +776,11 @@ get_arrow_size (GtkWidget *widget,
|
||||
*spacing = arrow_spacing;
|
||||
|
||||
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,
|
||||
pango_context_get_font_description (context),
|
||||
gtk_style_context_get_font (style_context, state),
|
||||
pango_context_get_language (context));
|
||||
|
||||
*size = (PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
|
||||
@@ -810,15 +814,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,
|
||||
pango_context_get_font_description (context),
|
||||
gtk_style_context_get_font (style_context, state),
|
||||
pango_context_get_language (context));
|
||||
|
||||
width = pango_font_metrics_get_approximate_char_width (metrics);
|
||||
|
||||
+4
-2
@@ -1723,10 +1723,12 @@ static void
|
||||
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->priv->parent_menu_shell)
|
||||
menu_shell = GTK_MENU_SHELL (menu_shell->priv->parent_menu_shell);
|
||||
if (priv->parent_menu_shell)
|
||||
menu_shell = GTK_MENU_SHELL (priv->parent_menu_shell);
|
||||
else
|
||||
menu_shell = NULL;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
#include "gtkaccelmapprivate.h"
|
||||
#include "gtkactionhelper.h"
|
||||
#include "../gdk/quartz/gdkquartz.h"
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
|
||||
+1
-4
@@ -423,10 +423,7 @@ gtk_overlay_realize (GtkWidget *widget)
|
||||
child = children->data;
|
||||
|
||||
if (child->window == NULL)
|
||||
{
|
||||
child->window = gtk_overlay_create_child_window (overlay, child->widget);
|
||||
gtk_overlay_child_allocate (overlay, child);
|
||||
}
|
||||
child->window = gtk_overlay_create_child_window (overlay, child->widget);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -556,15 +556,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,
|
||||
pango_context_get_font_description (context),
|
||||
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);
|
||||
|
||||
@@ -922,7 +922,7 @@ set_default_size (GtkRecentChooserDefault *impl)
|
||||
GtkScrolledWindow *scrollw;
|
||||
GtkWidget *widget;
|
||||
gint width, height;
|
||||
double font_size;
|
||||
gint font_size;
|
||||
GdkScreen *screen;
|
||||
gint monitor_num;
|
||||
GtkRequisition req;
|
||||
@@ -935,10 +935,11 @@ set_default_size (GtkRecentChooserDefault *impl)
|
||||
state = gtk_widget_get_state_flags (widget);
|
||||
|
||||
/* Size based on characters and the icon size */
|
||||
gtk_style_context_get (context, state, "font-size", &font_size, NULL);
|
||||
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 + 0.5;
|
||||
height = (impl->icon_size + font_size) * NUM_LINES + 0.5;
|
||||
width = impl->icon_size + font_size * NUM_CHARS;
|
||||
height = (impl->icon_size + font_size) * NUM_LINES;
|
||||
|
||||
/* Use at least the requisition size... */
|
||||
gtk_widget_get_preferred_size (widget, &req, NULL);
|
||||
|
||||
@@ -1196,9 +1196,7 @@ gtk_scale_draw (GtkWidget *widget,
|
||||
gtk_style_context_save (context);
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_MARK);
|
||||
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SEPARATOR);
|
||||
gtk_render_line (context, cr, x1, y1, x1, y2);
|
||||
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_SEPARATOR);
|
||||
|
||||
if (mark->markup)
|
||||
{
|
||||
@@ -1249,9 +1247,7 @@ gtk_scale_draw (GtkWidget *widget,
|
||||
gtk_style_context_save (context);
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_MARK);
|
||||
|
||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SEPARATOR);
|
||||
gtk_render_line (context, cr, x1, y1, x2, y1);
|
||||
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_SEPARATOR);
|
||||
|
||||
if (mark->markup)
|
||||
{
|
||||
|
||||
@@ -1414,14 +1414,6 @@ gtk_settings_provider_iface_init (GtkStyleProviderIface *iface)
|
||||
{
|
||||
}
|
||||
|
||||
static GtkCssChange
|
||||
gtk_settings_style_provider_get_change (GtkStyleProviderPrivate *provider,
|
||||
const GtkCssMatcher *matcher)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static GtkSettings *
|
||||
gtk_settings_style_provider_get_settings (GtkStyleProviderPrivate *provider)
|
||||
{
|
||||
@@ -1432,7 +1424,6 @@ static void
|
||||
gtk_settings_provider_private_init (GtkStyleProviderPrivateInterface *iface)
|
||||
{
|
||||
iface->get_settings = gtk_settings_style_provider_get_settings;
|
||||
iface->get_change = gtk_settings_style_provider_get_change;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
+17
-37
@@ -25,7 +25,6 @@
|
||||
#include "gtkstylecontextprivate.h"
|
||||
#include "gtkcontainerprivate.h"
|
||||
#include "gtkcsscolorvalueprivate.h"
|
||||
#include "gtkcsscornervalueprivate.h"
|
||||
#include "gtkcssenginevalueprivate.h"
|
||||
#include "gtkcssnumbervalueprivate.h"
|
||||
#include "gtkcssrgbavalueprivate.h"
|
||||
@@ -3231,13 +3230,6 @@ gtk_style_context_invalidate (GtkStyleContext *context)
|
||||
_gtk_bitmask_free (changes);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
corner_value_is_right_angle (GtkCssValue *value)
|
||||
{
|
||||
return _gtk_css_corner_value_get_x (value, 100) <= 0.0 &&
|
||||
_gtk_css_corner_value_get_y (value, 100) <= 0.0;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_style_context_set_background:
|
||||
* @context: a #GtkStyleContext
|
||||
@@ -3252,33 +3244,21 @@ void
|
||||
gtk_style_context_set_background (GtkStyleContext *context,
|
||||
GdkWindow *window)
|
||||
{
|
||||
const GdkRGBA *color;
|
||||
GtkStateFlags state;
|
||||
GdkRGBA *color;
|
||||
|
||||
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
/* This is a sophisitcated optimization.
|
||||
* If we know the GDK window's background will be opaque, we mark
|
||||
* it as opaque. This is so GDK can do all the optimizations it does
|
||||
* for opaque windows and be fast.
|
||||
* This is mainly used when scrolling.
|
||||
*
|
||||
* We could indeed just set black instead of the color we have.
|
||||
*/
|
||||
color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
|
||||
state = gtk_style_context_get_state (context);
|
||||
|
||||
if (color->alpha >= 1.0 &&
|
||||
corner_value_is_right_angle (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS)) &&
|
||||
corner_value_is_right_angle (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS)) &&
|
||||
corner_value_is_right_angle (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS)) &&
|
||||
corner_value_is_right_angle (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS)))
|
||||
gtk_style_context_get (context, state,
|
||||
"background-color", &color,
|
||||
NULL);
|
||||
if (color)
|
||||
{
|
||||
gdk_window_set_background_rgba (window, color);
|
||||
}
|
||||
else
|
||||
{
|
||||
GdkRGBA transparent = { 0.0, 0.0, 0.0, 0.0 };
|
||||
gdk_window_set_background_rgba (window, &transparent);
|
||||
gdk_rgba_free (color);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3488,9 +3468,6 @@ gtk_style_context_get_margin (GtkStyleContext *context,
|
||||
* freed.
|
||||
*
|
||||
* Since: 3.0
|
||||
*
|
||||
* Deprecated: 3.8: Use gtk_style_context_get() for "font" or
|
||||
* subproperties instead.
|
||||
**/
|
||||
const PangoFontDescription *
|
||||
gtk_style_context_get_font (GtkStyleContext *context,
|
||||
@@ -3509,12 +3486,15 @@ gtk_style_context_get_font (GtkStyleContext *context,
|
||||
|
||||
/* Yuck, fonts are created on-demand but we don't return a ref.
|
||||
* Do bad things to achieve this requirement */
|
||||
gtk_style_context_get (context, state, "font", &description, NULL);
|
||||
g_object_set_data_full (G_OBJECT (data->store),
|
||||
"font-cache-for-get_font",
|
||||
description,
|
||||
(GDestroyNotify) pango_font_description_free);
|
||||
|
||||
description = g_object_get_data (G_OBJECT (data->store), "font-cache-for-get_font");
|
||||
if (description == NULL)
|
||||
{
|
||||
gtk_style_context_get (context, state, "font", &description, NULL);
|
||||
g_object_set_data_full (G_OBJECT (data->store),
|
||||
"font-cache-for-get_font",
|
||||
description,
|
||||
(GDestroyNotify) pango_font_description_free);
|
||||
}
|
||||
return description;
|
||||
}
|
||||
|
||||
|
||||
@@ -879,8 +879,6 @@ void gtk_style_context_get_background_color (GtkStyleContext *context,
|
||||
void gtk_style_context_get_border_color (GtkStyleContext *context,
|
||||
GtkStateFlags state,
|
||||
GdkRGBA *color);
|
||||
|
||||
GDK_DEPRECATED_IN_3_8_FOR(gtk_style_context_get)
|
||||
const PangoFontDescription *
|
||||
gtk_style_context_get_font (GtkStyleContext *context,
|
||||
GtkStateFlags state);
|
||||
|
||||
@@ -524,12 +524,15 @@ gtk_switch_draw (GtkWidget *widget,
|
||||
GtkStyleContext *context;
|
||||
GdkRectangle handle;
|
||||
PangoLayout *layout;
|
||||
PangoFontDescription *desc;
|
||||
const PangoFontDescription *style_desc;
|
||||
PangoRectangle rect;
|
||||
gint label_x, label_y;
|
||||
GtkBorder padding;
|
||||
GtkStateFlags state;
|
||||
gint focus_width, focus_pad;
|
||||
gint x, y, width, height;
|
||||
gint font_size, style_font_size;
|
||||
|
||||
gtk_widget_style_get (widget,
|
||||
"focus-line-width", &focus_width,
|
||||
@@ -582,6 +585,20 @@ gtk_switch_draw (GtkWidget *widget,
|
||||
*/
|
||||
layout = gtk_widget_create_pango_layout (widget, C_("switch", "ON"));
|
||||
|
||||
/* FIXME: this should be really done in the theme, but overriding font size
|
||||
* from it doesn't currently work. So we have to hardcode this here and
|
||||
* below for the "OFF" label.
|
||||
*/
|
||||
desc = pango_font_description_new ();
|
||||
|
||||
style_desc = gtk_style_context_get_font (context, state);
|
||||
style_font_size = pango_font_description_get_size (style_desc);
|
||||
font_size = MAX (style_font_size - 1 * PANGO_SCALE, ceil (style_font_size * PANGO_SCALE_SMALL));
|
||||
|
||||
pango_font_description_set_size (desc, font_size);
|
||||
|
||||
pango_layout_set_font_description (layout, desc);
|
||||
|
||||
pango_layout_get_extents (layout, NULL, &rect);
|
||||
pango_extents_to_pixels (&rect, NULL);
|
||||
|
||||
@@ -596,6 +613,7 @@ gtk_switch_draw (GtkWidget *widget,
|
||||
* glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
|
||||
*/
|
||||
layout = gtk_widget_create_pango_layout (widget, C_("switch", "OFF"));
|
||||
pango_layout_set_font_description (layout, desc);
|
||||
|
||||
pango_layout_get_extents (layout, NULL, &rect);
|
||||
pango_extents_to_pixels (&rect, NULL);
|
||||
@@ -618,6 +636,8 @@ gtk_switch_draw (GtkWidget *widget,
|
||||
|
||||
gtk_switch_paint_handle (widget, cr, &handle);
|
||||
|
||||
pango_font_description_free (desc);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -298,7 +298,7 @@ gtk_text_view_set_attributes_from_style (GtkTextView *text_view,
|
||||
if (values->font)
|
||||
pango_font_description_free (values->font);
|
||||
|
||||
gtk_style_context_get (context, state, "font", &values->font, NULL);
|
||||
values->font = pango_font_description_copy (gtk_style_context_get_font (context, state));
|
||||
}
|
||||
|
||||
cairo_surface_t *
|
||||
|
||||
+2
-10
@@ -51,8 +51,6 @@
|
||||
#include "gtkscrollable.h"
|
||||
#include "gtktypebuiltins.h"
|
||||
#include "gtktexthandleprivate.h"
|
||||
#include "gtkstylecontextprivate.h"
|
||||
#include "gtkcssstylepropertyprivate.h"
|
||||
|
||||
#include "a11y/gtktextviewaccessible.h"
|
||||
|
||||
@@ -4232,8 +4230,6 @@ gtk_text_view_style_updated (GtkWidget *widget)
|
||||
GtkTextView *text_view;
|
||||
GtkTextViewPrivate *priv;
|
||||
PangoContext *ltr_context, *rtl_context;
|
||||
GtkStyleContext *style_context;
|
||||
const GtkBitmask *changes;
|
||||
|
||||
text_view = GTK_TEXT_VIEW (widget);
|
||||
priv = text_view->priv;
|
||||
@@ -4245,11 +4241,7 @@ gtk_text_view_style_updated (GtkWidget *widget)
|
||||
gtk_text_view_set_background (text_view);
|
||||
}
|
||||
|
||||
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
changes = _gtk_style_context_get_changes (style_context);
|
||||
if ((changes == NULL || _gtk_css_style_property_changes_affect_font (changes)) &&
|
||||
priv->layout && priv->layout->default_style)
|
||||
if (priv->layout && priv->layout->default_style)
|
||||
{
|
||||
gtk_text_view_set_attributes_from_style (text_view,
|
||||
priv->layout->default_style);
|
||||
@@ -6927,7 +6919,7 @@ gtk_text_view_set_attributes_from_style (GtkTextView *text_view,
|
||||
if (values->font)
|
||||
pango_font_description_free (values->font);
|
||||
|
||||
gtk_style_context_get (context, state, "font", &values->font, NULL);
|
||||
values->font = pango_font_description_copy (gtk_style_context_get_font (context, state));
|
||||
|
||||
gtk_style_context_restore (context);
|
||||
}
|
||||
|
||||
@@ -853,8 +853,6 @@ gtk_theming_engine_get_margin (GtkThemingEngine *engine,
|
||||
* freed.
|
||||
*
|
||||
* Since: 3.0
|
||||
*
|
||||
* Deprecated: 3.8: Use gtk_theming_engine_get()
|
||||
**/
|
||||
const PangoFontDescription *
|
||||
gtk_theming_engine_get_font (GtkThemingEngine *engine,
|
||||
@@ -864,10 +862,8 @@ gtk_theming_engine_get_font (GtkThemingEngine *engine,
|
||||
|
||||
g_return_val_if_fail (GTK_IS_THEMING_ENGINE (engine), NULL);
|
||||
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
||||
priv = engine->priv;
|
||||
return gtk_style_context_get_font (priv->context, state);
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
||||
}
|
||||
|
||||
/* GtkThemingModule */
|
||||
|
||||
@@ -249,7 +249,6 @@ void gtk_theming_engine_get_margin (GtkThemingEngine *engine,
|
||||
GtkStateFlags state,
|
||||
GtkBorder *margin);
|
||||
|
||||
GDK_DEPRECATED_IN_3_8_FOR(gtk_theming_engine_get)
|
||||
const PangoFontDescription * gtk_theming_engine_get_font (GtkThemingEngine *engine,
|
||||
GtkStateFlags state);
|
||||
|
||||
|
||||
+8
-2
@@ -3336,12 +3336,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);
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
state = gtk_widget_get_state_flags (widget);
|
||||
|
||||
metrics = pango_context_get_metrics (context,
|
||||
pango_context_get_font_description (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);
|
||||
|
||||
+19
-11
@@ -3758,14 +3758,10 @@ gtk_tree_model_filter_set_root (GtkTreeModelFilter *filter,
|
||||
{
|
||||
g_return_if_fail (GTK_IS_TREE_MODEL_FILTER (filter));
|
||||
|
||||
if (root)
|
||||
{
|
||||
filter->priv->virtual_root = gtk_tree_path_copy (root);
|
||||
gtk_tree_model_filter_ref_path (filter, filter->priv->virtual_root);
|
||||
filter->priv->virtual_root_deleted = FALSE;
|
||||
}
|
||||
else
|
||||
if (!root)
|
||||
filter->priv->virtual_root = NULL;
|
||||
else
|
||||
filter->priv->virtual_root = gtk_tree_path_copy (root);
|
||||
}
|
||||
|
||||
/* public API */
|
||||
@@ -3786,12 +3782,24 @@ GtkTreeModel *
|
||||
gtk_tree_model_filter_new (GtkTreeModel *child_model,
|
||||
GtkTreePath *root)
|
||||
{
|
||||
GtkTreeModel *retval;
|
||||
GtkTreeModelFilter *filter;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_TREE_MODEL (child_model), NULL);
|
||||
|
||||
return g_object_new (GTK_TYPE_TREE_MODEL_FILTER,
|
||||
"child-model", child_model,
|
||||
"virtual-root", root,
|
||||
NULL);
|
||||
retval = g_object_new (GTK_TYPE_TREE_MODEL_FILTER,
|
||||
"child-model", child_model,
|
||||
"virtual-root", root,
|
||||
NULL);
|
||||
|
||||
filter = GTK_TREE_MODEL_FILTER (retval);
|
||||
if (filter->priv->virtual_root)
|
||||
{
|
||||
gtk_tree_model_filter_ref_path (filter, filter->priv->virtual_root);
|
||||
filter->priv->virtual_root_deleted = FALSE;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
*
|
||||
* One of the important things to remember when monitoring the selection of
|
||||
* a view is that the #GtkTreeSelection::changed signal is mostly a hint.
|
||||
* That is, it may only emit one signal when a range of rows is selected.
|
||||
* That is,it may only emit one signal when a range of rows is selected.
|
||||
* Additionally, it may on occasion emit a #GtkTreeSelection::changed signal
|
||||
* when nothing has happened (mostly as a result of programmers calling
|
||||
* select_row on an already selected row).
|
||||
|
||||
+8
-14
@@ -48,7 +48,6 @@
|
||||
#include "gtkwidgetprivate.h"
|
||||
#include "gtkentryprivate.h"
|
||||
#include "gtkstylecontextprivate.h"
|
||||
#include "gtkcssstylepropertyprivate.h"
|
||||
#include "gtktypebuiltins.h"
|
||||
#include "gtkmain.h"
|
||||
#include "gtksettings.h"
|
||||
@@ -8462,8 +8461,6 @@ gtk_tree_view_style_updated (GtkWidget *widget)
|
||||
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
|
||||
GList *list;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkStyleContext *style_context;
|
||||
const GtkBitmask *changes;
|
||||
|
||||
GTK_WIDGET_CLASS (gtk_tree_view_parent_class)->style_updated (widget);
|
||||
|
||||
@@ -8475,19 +8472,16 @@ gtk_tree_view_style_updated (GtkWidget *widget)
|
||||
gtk_tree_view_set_enable_tree_lines (tree_view, tree_view->priv->tree_lines_enabled);
|
||||
}
|
||||
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
changes = _gtk_style_context_get_changes (style_context);
|
||||
if (changes == NULL || _gtk_css_style_property_changes_affect_size (changes))
|
||||
for (list = tree_view->priv->columns; list; list = list->next)
|
||||
{
|
||||
for (list = tree_view->priv->columns; list; list = list->next)
|
||||
{
|
||||
column = list->data;
|
||||
_gtk_tree_view_column_cell_set_dirty (column, TRUE);
|
||||
}
|
||||
|
||||
tree_view->priv->fixed_height = -1;
|
||||
_gtk_rbtree_mark_invalid (tree_view->priv->tree);
|
||||
column = list->data;
|
||||
_gtk_tree_view_column_cell_set_dirty (column, TRUE);
|
||||
}
|
||||
|
||||
tree_view->priv->fixed_height = -1;
|
||||
_gtk_rbtree_mark_invalid (tree_view->priv->tree);
|
||||
|
||||
gtk_widget_queue_resize (widget);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -241,6 +241,7 @@ gtk_viewport_init (GtkViewport *viewport)
|
||||
gtk_widget_set_has_window (GTK_WIDGET (viewport), TRUE);
|
||||
|
||||
gtk_widget_set_redraw_on_allocate (GTK_WIDGET (viewport), FALSE);
|
||||
gtk_container_set_resize_mode (GTK_CONTAINER (viewport), GTK_RESIZE_QUEUE);
|
||||
|
||||
priv->shadow_type = GTK_SHADOW_IN;
|
||||
priv->view_window = NULL;
|
||||
|
||||
+18
-14
@@ -4654,7 +4654,9 @@ gtk_widget_queue_resize (GtkWidget *widget)
|
||||
if (gtk_widget_get_realized (widget))
|
||||
gtk_widget_queue_draw (widget);
|
||||
|
||||
_gtk_size_group_queue_resize (widget, 0);
|
||||
if (gtk_widget_get_visible (widget) ||
|
||||
widget->priv->have_size_groups)
|
||||
_gtk_size_group_queue_resize (widget, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -8705,8 +8707,12 @@ gtk_widget_peek_pango_context (GtkWidget *widget)
|
||||
* by gtk_widget_create_pango_context(), this context is owned by
|
||||
* the widget (it can be used until the screen for the widget changes
|
||||
* or the widget is removed from its toplevel), and will be updated to
|
||||
* match any changes to the widget's attributes. This can be tracked
|
||||
* by using the #GtkWidget::screen-changed signal on the widget.
|
||||
* match any changes to the widget's attributes.
|
||||
*
|
||||
* 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-updated and
|
||||
* #GtkWidget::direction-changed signals for the widget.
|
||||
*
|
||||
* Return value: (transfer none): the #PangoContext for the widget.
|
||||
**/
|
||||
@@ -8734,21 +8740,18 @@ static void
|
||||
update_pango_context (GtkWidget *widget,
|
||||
PangoContext *context)
|
||||
{
|
||||
PangoFontDescription *font_desc;
|
||||
const PangoFontDescription *font_desc;
|
||||
GtkStyleContext *style_context;
|
||||
|
||||
style_context = gtk_widget_get_style_context (widget);
|
||||
gtk_style_context_get (style_context,
|
||||
gtk_widget_get_state_flags (widget),
|
||||
"font", &font_desc,
|
||||
NULL);
|
||||
|
||||
font_desc = gtk_style_context_get_font (style_context,
|
||||
gtk_widget_get_state_flags (widget));
|
||||
|
||||
pango_context_set_font_description (context, font_desc);
|
||||
pango_context_set_base_dir (context,
|
||||
gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ?
|
||||
PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL);
|
||||
|
||||
pango_font_description_free (font_desc);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -8817,10 +8820,11 @@ gtk_widget_create_pango_context (GtkWidget *widget)
|
||||
* font description, and base direction for drawing text for
|
||||
* this widget.
|
||||
*
|
||||
* If you keep a #PangoLayout created in this way around, you need
|
||||
* to re-create it when the widget #PangoContext is replaced.
|
||||
* This can be tracked by using the #GtkWidget::screen-changed signal
|
||||
* on the 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-updated and #GtkWidget::direction-changed signals
|
||||
* for the widget.
|
||||
*
|
||||
* Return value: (transfer full): the new #PangoLayout
|
||||
**/
|
||||
|
||||
@@ -42,8 +42,6 @@
|
||||
</key>
|
||||
<key name='show-hidden' type='b'>
|
||||
<default>false</default>
|
||||
<summary>Whether to show hidden files</summary>
|
||||
<description>If set to true, then hidden files are shown by default. Hidden files are either dotfiles, listed in the folder's .hidden file or backup files ending with a tilde (~).</description>
|
||||
</key>
|
||||
<key name='expand-folders' type='b'>
|
||||
<default>false</default>
|
||||
|
||||
@@ -2715,56 +2715,6 @@ test_level_bar (void)
|
||||
g_object_unref (builder);
|
||||
}
|
||||
|
||||
static GObject *external_object = NULL, *external_object_swapped = NULL;
|
||||
|
||||
void
|
||||
on_button_clicked (GtkButton *button, GObject *data)
|
||||
{
|
||||
external_object = data;
|
||||
}
|
||||
|
||||
void
|
||||
on_button_clicked_swapped (GObject *data, GtkButton *button)
|
||||
{
|
||||
external_object_swapped = data;
|
||||
}
|
||||
|
||||
static void
|
||||
test_expose_object (void)
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
GError *error = NULL;
|
||||
GtkWidget *image;
|
||||
GObject *obj;
|
||||
const gchar buffer[] =
|
||||
"<interface>"
|
||||
" <object class=\"GtkButton\" id=\"button\">"
|
||||
" <property name=\"image\">external_image</property>"
|
||||
" <signal name=\"clicked\" handler=\"on_button_clicked\" object=\"builder\" swapped=\"no\"/>"
|
||||
" <signal name=\"clicked\" handler=\"on_button_clicked_swapped\" object=\"builder\"/>"
|
||||
" </object>"
|
||||
"</interface>";
|
||||
|
||||
image = gtk_image_new ();
|
||||
builder = gtk_builder_new ();
|
||||
gtk_builder_expose_object (builder, "external_image", G_OBJECT (image));
|
||||
gtk_builder_expose_object (builder, "builder", G_OBJECT (builder));
|
||||
gtk_builder_add_from_string (builder, buffer, -1, &error);
|
||||
g_assert (error == NULL);
|
||||
|
||||
obj = gtk_builder_get_object (builder, "button");
|
||||
g_assert (GTK_IS_BUTTON (obj));
|
||||
|
||||
g_assert (gtk_button_get_image (GTK_BUTTON (obj)) == image);
|
||||
|
||||
/* Connect signals and fake clicked event */
|
||||
gtk_builder_connect_signals (builder, NULL);
|
||||
gtk_button_clicked (GTK_BUTTON (obj));
|
||||
|
||||
g_assert (external_object == G_OBJECT (builder));
|
||||
g_assert (external_object_swapped == G_OBJECT (builder));
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
@@ -2813,7 +2763,6 @@ main (int argc, char **argv)
|
||||
g_test_add_func ("/Builder/MessageDialog", test_message_dialog);
|
||||
g_test_add_func ("/Builder/GMenu", test_gmenu);
|
||||
g_test_add_func ("/Builder/LevelBar", test_level_bar);
|
||||
g_test_add_func ("/Builder/Expose Object", test_expose_object);
|
||||
|
||||
return g_test_run();
|
||||
}
|
||||
|
||||
@@ -279,7 +279,7 @@ gtk_im_context_ime_set_client_window (GtkIMContext *context,
|
||||
HIMC himc;
|
||||
HWND hwnd;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (client_window);
|
||||
hwnd = GDK_WINDOW_HWND (client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (himc)
|
||||
{
|
||||
@@ -349,7 +349,7 @@ gtk_im_context_ime_reset (GtkIMContext *context)
|
||||
if (!context_ime->client_window)
|
||||
return;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -380,7 +380,7 @@ get_utf8_preedit_string (GtkIMContextIME *context_ime, gint *pos_ret)
|
||||
|
||||
if (!context_ime->client_window)
|
||||
return g_strdup ("");
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return g_strdup ("");
|
||||
@@ -441,7 +441,7 @@ get_pango_attr_list (GtkIMContextIME *context_ime, const gchar *utf8str)
|
||||
|
||||
if (!context_ime->client_window)
|
||||
return attrs;
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return attrs;
|
||||
@@ -579,7 +579,7 @@ gtk_im_context_ime_focus_in (GtkIMContext *context)
|
||||
/* swtich current context */
|
||||
context_ime->focus = TRUE;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -589,7 +589,7 @@ gtk_im_context_ime_focus_in (GtkIMContext *context)
|
||||
{
|
||||
gdk_window_add_filter (toplevel,
|
||||
gtk_im_context_ime_message_filter, context_ime);
|
||||
top_hwnd = gdk_win32_window_get_impl_hwnd (toplevel);
|
||||
top_hwnd = GDK_WINDOW_HWND (toplevel);
|
||||
|
||||
context_ime->toplevel = toplevel;
|
||||
}
|
||||
@@ -652,7 +652,7 @@ gtk_im_context_ime_focus_out (GtkIMContext *context)
|
||||
/* swtich current context */
|
||||
context_ime->focus = FALSE;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -714,7 +714,7 @@ gtk_im_context_ime_focus_out (GtkIMContext *context)
|
||||
gdk_window_remove_filter (toplevel,
|
||||
gtk_im_context_ime_message_filter,
|
||||
context_ime);
|
||||
top_hwnd = gdk_win32_window_get_impl_hwnd (toplevel);
|
||||
top_hwnd = GDK_WINDOW_HWND (toplevel);
|
||||
|
||||
context_ime->toplevel = NULL;
|
||||
}
|
||||
@@ -748,7 +748,7 @@ gtk_im_context_ime_set_cursor_location (GtkIMContext *context,
|
||||
if (!context_ime->client_window)
|
||||
return;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -778,7 +778,7 @@ gtk_im_context_ime_set_use_preedit (GtkIMContext *context,
|
||||
HWND hwnd;
|
||||
HIMC himc;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -814,7 +814,7 @@ gtk_im_context_ime_set_preedit_font (GtkIMContext *context)
|
||||
if (!GTK_IS_WIDGET (widget))
|
||||
return;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return;
|
||||
@@ -921,7 +921,7 @@ gtk_im_context_ime_message_filter (GdkXEvent *xevent,
|
||||
if (!context_ime->focus)
|
||||
return retval;
|
||||
|
||||
hwnd = gdk_win32_window_get_impl_hwnd (context_ime->client_window);
|
||||
hwnd = GDK_WINDOW_HWND (context_ime->client_window);
|
||||
himc = ImmGetContext (hwnd);
|
||||
if (!himc)
|
||||
return retval;
|
||||
@@ -941,8 +941,8 @@ gtk_im_context_ime_message_filter (GdkXEvent *xevent,
|
||||
RECT rc;
|
||||
|
||||
hwnd_top =
|
||||
gdk_win32_window_get_impl_hwnd (gdk_window_get_toplevel
|
||||
(context_ime->client_window));
|
||||
GDK_WINDOW_HWND (gdk_window_get_toplevel
|
||||
(context_ime->client_window));
|
||||
GetWindowRect (hwnd_top, &rc);
|
||||
pt.x = wx;
|
||||
pt.y = wy;
|
||||
|
||||
@@ -97,7 +97,6 @@ all-no:
|
||||
$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
$(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
|
||||
--add-comments --keyword --keyword=P_ \
|
||||
--from-code=utf-8 \
|
||||
--files-from=$(srcdir)/POTFILES.in \
|
||||
&& test ! -f $(GETTEXT_PACKAGE).po \
|
||||
|| ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \
|
||||
|
||||
+433
-450
File diff suppressed because it is too large
Load Diff
+586
-605
File diff suppressed because it is too large
Load Diff
+724
-743
File diff suppressed because it is too large
Load Diff
+755
-771
File diff suppressed because it is too large
Load Diff
@@ -95,7 +95,6 @@ all-no:
|
||||
$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
$(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
|
||||
--add-comments --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 \
|
||||
--from-code=utf-8 \
|
||||
--keyword=g_dngettext:2,3 \
|
||||
--flag=g_dngettext:2:pass-c-format \
|
||||
--flag=g_strdup_printf:1:c-format \
|
||||
|
||||
@@ -15,18 +15,18 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
|
||||
"%2b&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2012-12-04 18:57+0000\n"
|
||||
"PO-Revision-Date: 2012-12-05 19:08+0100\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%"
|
||||
"2b&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2012-10-29 08:39+0000\n"
|
||||
"PO-Revision-Date: 2012-10-29 11:53+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Gtranslator 2.91.5\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
|
||||
#: ../gdk/gdk.c:155
|
||||
#, c-format
|
||||
@@ -701,19 +701,19 @@ msgstr "Página web"
|
||||
msgid "About %s"
|
||||
msgstr "Acerca de %s"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2401
|
||||
#: ../gtk/gtkaboutdialog.c:2399
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2404
|
||||
#: ../gtk/gtkaboutdialog.c:2402
|
||||
msgid "Documented by"
|
||||
msgstr "Documentado por"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2414
|
||||
#: ../gtk/gtkaboutdialog.c:2412
|
||||
msgid "Translated by"
|
||||
msgstr "Traducido por"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2419
|
||||
#: ../gtk/gtkaboutdialog.c:2417
|
||||
msgid "Artwork by"
|
||||
msgstr "Arte por"
|
||||
|
||||
@@ -788,8 +788,7 @@ msgid "Backslash"
|
||||
msgstr "Contrabarra"
|
||||
|
||||
#: ../gtk/gtkappchooserbutton.c:290
|
||||
#| msgid "Other application..."
|
||||
msgid "Other application…"
|
||||
msgid "Other application..."
|
||||
msgstr "Otra aplicación…"
|
||||
|
||||
#: ../gtk/gtkappchooserdialog.c:137
|
||||
@@ -867,7 +866,7 @@ msgstr "Aplicaciones relacionadas"
|
||||
msgid "Other Applications"
|
||||
msgstr "Otras aplicaciones"
|
||||
|
||||
#: ../gtk/gtkapplication.c:1557
|
||||
#: ../gtk/gtkapplication.c:1558
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s cannot quit at this time:\n"
|
||||
@@ -1032,8 +1031,7 @@ msgstr "No válido"
|
||||
#. * acelerator.
|
||||
#.
|
||||
#: ../gtk/gtkcellrendereraccel.c:416 ../gtk/gtkcellrendereraccel.c:747
|
||||
#| msgid "New accelerator..."
|
||||
msgid "New accelerator…"
|
||||
msgid "New accelerator..."
|
||||
msgstr "Acelerador nuevo…"
|
||||
|
||||
#: ../gtk/gtkcellrendererprogress.c:372 ../gtk/gtkcellrendererprogress.c:462
|
||||
@@ -1336,8 +1334,7 @@ msgid "mm"
|
||||
msgstr "mm"
|
||||
|
||||
#: ../gtk/gtkcustompaperunixdialog.c:605
|
||||
#| msgid "Margins from Printer..."
|
||||
msgid "Margins from Printer…"
|
||||
msgid "Margins from Printer..."
|
||||
msgstr "Márgenes de la impresora…"
|
||||
|
||||
#: ../gtk/gtkcustompaperunixdialog.c:771
|
||||
@@ -1377,15 +1374,15 @@ msgstr "_Derecho:"
|
||||
msgid "Paper Margins"
|
||||
msgstr "Márgenes del papel"
|
||||
|
||||
#: ../gtk/gtkentry.c:9143 ../gtk/gtktextview.c:8583
|
||||
#: ../gtk/gtkentry.c:9140 ../gtk/gtktextview.c:8583
|
||||
msgid "Input _Methods"
|
||||
msgstr "_Métodos de entrada"
|
||||
|
||||
#: ../gtk/gtkentry.c:9157 ../gtk/gtktextview.c:8597
|
||||
#: ../gtk/gtkentry.c:9154 ../gtk/gtktextview.c:8597
|
||||
msgid "_Insert Unicode Control Character"
|
||||
msgstr "_Insertar un carácter de control Unicode"
|
||||
|
||||
#: ../gtk/gtkentry.c:10110
|
||||
#: ../gtk/gtkentry.c:10107
|
||||
msgid "Caps Lock is on"
|
||||
msgstr "Bloq Mayús está activado"
|
||||
|
||||
@@ -1434,7 +1431,7 @@ msgstr "Bloq Mayús está activado"
|
||||
msgid "Select a File"
|
||||
msgstr "Seleccionar un archivo"
|
||||
|
||||
#: ../gtk/gtkfilechooserbutton.c:105 ../gtk/gtkfilechooserdefault.c:1820
|
||||
#: ../gtk/gtkfilechooserbutton.c:105 ../gtk/gtkfilechooserdefault.c:1819
|
||||
msgid "Desktop"
|
||||
msgstr "Escritorio"
|
||||
|
||||
@@ -1444,31 +1441,30 @@ msgid "(None)"
|
||||
msgstr "(Ninguno)"
|
||||
|
||||
#: ../gtk/gtkfilechooserbutton.c:2046
|
||||
#| msgid "Other..."
|
||||
msgid "Other…"
|
||||
msgstr "Otro…"
|
||||
msgid "Other..."
|
||||
msgstr "Otra…"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:152
|
||||
msgid "Type name of new folder"
|
||||
msgstr "Teclee el nombre de la carpeta nueva"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:971
|
||||
#: ../gtk/gtkfilechooserdefault.c:970
|
||||
msgid "Could not retrieve information about the file"
|
||||
msgstr "No se pudo obtener la información acerca del archivo"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:982
|
||||
#: ../gtk/gtkfilechooserdefault.c:981
|
||||
msgid "Could not add a bookmark"
|
||||
msgstr "No se pudo añadir un marcador"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:993
|
||||
#: ../gtk/gtkfilechooserdefault.c:992
|
||||
msgid "Could not remove bookmark"
|
||||
msgstr "No se pudo quitar el marcador"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1004
|
||||
#: ../gtk/gtkfilechooserdefault.c:1003
|
||||
msgid "The folder could not be created"
|
||||
msgstr "No se pudo crear la carpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1017
|
||||
#: ../gtk/gtkfilechooserdefault.c:1016
|
||||
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."
|
||||
@@ -1476,16 +1472,16 @@ msgstr ""
|
||||
"No se pudo crear la carpeta, debido a que ya existe un archivo con el mismo "
|
||||
"nombre. Intente usar un nombre distinto o renombre el archivo primero."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1031
|
||||
#: ../gtk/gtkfilechooserdefault.c:1030
|
||||
msgid "You need to choose a valid filename."
|
||||
msgstr "Debe elegir un nombre de archivo válido."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1034
|
||||
#: ../gtk/gtkfilechooserdefault.c:1033
|
||||
#, c-format
|
||||
msgid "Cannot create a file under %s as it is not a folder"
|
||||
msgstr "No se puede crear un archivo bajo %s ya que no es una carpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1046
|
||||
#: ../gtk/gtkfilechooserdefault.c:1045
|
||||
msgid ""
|
||||
"You may only select folders. The item that you selected is not a folder; "
|
||||
"try using a different item."
|
||||
@@ -1493,11 +1489,11 @@ msgstr ""
|
||||
"Sólo puede seleccionar carpetas. El elemento que ha seleccionado no es una "
|
||||
"carpeta; intente seleccionar un elemento diferente."
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1056
|
||||
#: ../gtk/gtkfilechooserdefault.c:1055
|
||||
msgid "Invalid file name"
|
||||
msgstr "Nombre de archivo no válido"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1066
|
||||
#: ../gtk/gtkfilechooserdefault.c:1065
|
||||
msgid "The folder contents could not be displayed"
|
||||
msgstr "No se pudo mostrar el contenido de la carpeta"
|
||||
|
||||
@@ -1505,143 +1501,142 @@ 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:1592
|
||||
#: ../gtk/gtkfilechooserdefault.c:1591
|
||||
#, c-format
|
||||
msgid "%1$s on %2$s"
|
||||
msgstr "%1$s en %2$s"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1741
|
||||
#: ../gtk/gtkfilechooserdefault.c:1740
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:1765 ../gtk/gtkfilechooserdefault.c:4991
|
||||
#: ../gtk/gtkfilechooserdefault.c:1764 ../gtk/gtkfilechooserdefault.c:4990
|
||||
msgid "Recently Used"
|
||||
msgstr "Usados recientemente"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2364
|
||||
#: ../gtk/gtkfilechooserdefault.c:2363
|
||||
msgid "Select which types of files are shown"
|
||||
msgstr "Seleccionar qué tipos de archivos se muestran"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2723
|
||||
#: ../gtk/gtkfilechooserdefault.c:2722
|
||||
#, c-format
|
||||
msgid "Add the folder '%s' to the bookmarks"
|
||||
msgstr "Añadir la carpeta «%s» a los marcadores"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2767
|
||||
#: ../gtk/gtkfilechooserdefault.c:2766
|
||||
#, c-format
|
||||
msgid "Add the current folder to the bookmarks"
|
||||
msgstr "Añadir la carpeta actual a los marcadores"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2769
|
||||
#: ../gtk/gtkfilechooserdefault.c:2768
|
||||
#, c-format
|
||||
msgid "Add the selected folders to the bookmarks"
|
||||
msgstr "Añadir las carpetas seleccionadas a los marcadores"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2807
|
||||
#: ../gtk/gtkfilechooserdefault.c:2806
|
||||
#, c-format
|
||||
msgid "Remove the bookmark '%s'"
|
||||
msgstr "Quitar el marcador «%s»"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2809
|
||||
#: ../gtk/gtkfilechooserdefault.c:2808
|
||||
#, c-format
|
||||
msgid "Bookmark '%s' cannot be removed"
|
||||
msgstr "No se puede quitar el marcador «%s»"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:2816 ../gtk/gtkfilechooserdefault.c:3702
|
||||
#: ../gtk/gtkfilechooserdefault.c:2815 ../gtk/gtkfilechooserdefault.c:3701
|
||||
msgid "Remove the selected bookmark"
|
||||
msgstr "Quitar el marcador seleccionado"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3380
|
||||
#: ../gtk/gtkfilechooserdefault.c:3379
|
||||
msgid "Remove"
|
||||
msgstr "Quitar"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3389
|
||||
#| msgid "_Rename"
|
||||
msgid "Rename…"
|
||||
#: ../gtk/gtkfilechooserdefault.c:3388
|
||||
msgid "Rename..."
|
||||
msgstr "Renombrar…"
|
||||
|
||||
#. Accessible object name for the file chooser's shortcuts pane
|
||||
#: ../gtk/gtkfilechooserdefault.c:3553
|
||||
#: ../gtk/gtkfilechooserdefault.c:3552
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
#. Column header for the file chooser's shortcuts pane
|
||||
#: ../gtk/gtkfilechooserdefault.c:3610
|
||||
#: ../gtk/gtkfilechooserdefault.c:3609
|
||||
msgid "_Places"
|
||||
msgstr "_Lugares"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3690
|
||||
#: ../gtk/gtkfilechooserdefault.c:3689
|
||||
msgid "Add the selected folder to the Bookmarks"
|
||||
msgstr "Añade la carpeta seleccionada a los marcadores"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:3951
|
||||
#: ../gtk/gtkfilechooserdefault.c:3950
|
||||
msgid "Could not select file"
|
||||
msgstr "No se pudo seleccionar el archivo"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4176
|
||||
#: ../gtk/gtkfilechooserdefault.c:4175
|
||||
msgid "_Visit this file"
|
||||
msgstr "_Visitar este archivo"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4179
|
||||
#: ../gtk/gtkfilechooserdefault.c:4178
|
||||
msgid "_Copy file’s location"
|
||||
msgstr "_Copiar la ubicación del archivo"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4182
|
||||
#: ../gtk/gtkfilechooserdefault.c:4181
|
||||
msgid "_Add to Bookmarks"
|
||||
msgstr "_Añadir a los marcadores"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4189
|
||||
#: ../gtk/gtkfilechooserdefault.c:4188
|
||||
msgid "Show _Hidden Files"
|
||||
msgstr "Mostrar archivos _ocultos"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4192
|
||||
#: ../gtk/gtkfilechooserdefault.c:4191
|
||||
msgid "Show _Size Column"
|
||||
msgstr "Mostrar columna de _tamaño"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4417
|
||||
#: ../gtk/gtkfilechooserdefault.c:4416
|
||||
msgid "Files"
|
||||
msgstr "Archivos"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4468
|
||||
#: ../gtk/gtkfilechooserdefault.c:4467
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4491
|
||||
#: ../gtk/gtkfilechooserdefault.c:4490
|
||||
msgid "Size"
|
||||
msgstr "Tamaño"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4505
|
||||
#: ../gtk/gtkfilechooserdefault.c:4504
|
||||
msgid "Modified"
|
||||
msgstr "Modificado"
|
||||
|
||||
#. Label
|
||||
#: ../gtk/gtkfilechooserdefault.c:4598
|
||||
#: ../gtk/gtkfilechooserdefault.c:4597
|
||||
msgid "_Name:"
|
||||
msgstr "_Nombre:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4829
|
||||
#: ../gtk/gtkfilechooserdefault.c:4828
|
||||
msgid "Type a file name"
|
||||
msgstr "Teclee un nombre de archivo"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4876 ../gtk/gtkfilechooserdefault.c:4887
|
||||
#: ../gtk/gtkfilechooserdefault.c:4875 ../gtk/gtkfilechooserdefault.c:4886
|
||||
msgid "Please select a folder below"
|
||||
msgstr "Seleccionar una carpeta a continuación"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:4882
|
||||
#: ../gtk/gtkfilechooserdefault.c:4881
|
||||
msgid "Please type a file name"
|
||||
msgstr "Escriba un nombre de archivo"
|
||||
|
||||
# C en conflicto con Cancelar
|
||||
#. Create Folder
|
||||
#: ../gtk/gtkfilechooserdefault.c:4953
|
||||
#: ../gtk/gtkfilechooserdefault.c:4952
|
||||
msgid "Create Fo_lder"
|
||||
msgstr "Crear car_peta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5001
|
||||
#: ../gtk/gtkfilechooserdefault.c:5000
|
||||
msgid "Search:"
|
||||
msgstr "Buscar:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:5052
|
||||
#: ../gtk/gtkfilechooserdefault.c:5051
|
||||
msgid "_Location:"
|
||||
msgstr "_Lugar:"
|
||||
|
||||
@@ -1654,63 +1649,63 @@ msgstr "Guardar _en la carpeta:"
|
||||
msgid "Create in _folder:"
|
||||
msgstr "Crear en la _carpeta:"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6597
|
||||
#: ../gtk/gtkfilechooserdefault.c:6591
|
||||
#, c-format
|
||||
msgid "Could not read the contents of %s"
|
||||
msgstr "No se pudo leer el contenido de %s"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6601
|
||||
#: ../gtk/gtkfilechooserdefault.c:6595
|
||||
msgid "Could not read the contents of the folder"
|
||||
msgstr "No se pudo leer el contenido del la carpeta"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6694 ../gtk/gtkfilechooserdefault.c:6762
|
||||
#: ../gtk/gtkfilechooserdefault.c:6942
|
||||
#: ../gtk/gtkfilechooserdefault.c:6688 ../gtk/gtkfilechooserdefault.c:6756
|
||||
#: ../gtk/gtkfilechooserdefault.c:6936
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6709
|
||||
#: ../gtk/gtkfilechooserdefault.c:6703
|
||||
msgid "%H:%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:6711
|
||||
#: ../gtk/gtkfilechooserdefault.c:6705
|
||||
msgid "Yesterday at %H:%M"
|
||||
msgstr "Ayer a las %H:%M"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:7413
|
||||
#: ../gtk/gtkfilechooserdefault.c:7407
|
||||
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:8020 ../gtk/gtkfilechooserdefault.c:8041
|
||||
#: ../gtk/gtkfilechooserdefault.c:8011 ../gtk/gtkfilechooserdefault.c:8032
|
||||
#, c-format
|
||||
msgid "Shortcut %s already exists"
|
||||
msgstr "La combinación %s ya existe"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8131
|
||||
#: ../gtk/gtkfilechooserdefault.c:8122
|
||||
#, c-format
|
||||
msgid "Shortcut %s does not exist"
|
||||
msgstr "La combinación %s no existe"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:8377 ../gtk/gtkprintunixdialog.c:548
|
||||
#: ../gtk/gtkfilechooserdefault.c:8368 ../gtk/gtkprintunixdialog.c:548
|
||||
#, 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:8380 ../gtk/gtkprintunixdialog.c:552
|
||||
#: ../gtk/gtkfilechooserdefault.c:8371 ../gtk/gtkprintunixdialog.c:552
|
||||
#, 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:8385 ../gtk/gtkprintunixdialog.c:559
|
||||
#: ../gtk/gtkfilechooserdefault.c:8376 ../gtk/gtkprintunixdialog.c:559
|
||||
msgid "_Replace"
|
||||
msgstr "_Reemplazar"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9192
|
||||
#: ../gtk/gtkfilechooserdefault.c:9183
|
||||
msgid "Could not start the search process"
|
||||
msgstr "No se ha podido iniciar el proceso de búsqueda"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9193
|
||||
#: ../gtk/gtkfilechooserdefault.c:9184
|
||||
msgid ""
|
||||
"The program was not able to create a connection to the indexer daemon. "
|
||||
"Please make sure it is running."
|
||||
@@ -1718,11 +1713,11 @@ 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:9207
|
||||
#: ../gtk/gtkfilechooserdefault.c:9198
|
||||
msgid "Could not send the search request"
|
||||
msgstr "No se ha podido enviar la petición de búsqueda"
|
||||
|
||||
#: ../gtk/gtkfilechooserdefault.c:9817
|
||||
#: ../gtk/gtkfilechooserdefault.c:9808
|
||||
#, c-format
|
||||
msgid "Could not mount %s"
|
||||
msgstr "No se pudo montar %s"
|
||||
@@ -1762,12 +1757,12 @@ msgstr "Buscar nombre de tipografía"
|
||||
msgid "Font Family"
|
||||
msgstr "Familia tipográfica"
|
||||
|
||||
#: ../gtk/gtkicontheme.c:1931
|
||||
#: ../gtk/gtkicontheme.c:1627
|
||||
#, c-format
|
||||
msgid "Icon '%s' not present in theme"
|
||||
msgstr "El icono «%s» no está presente en el tema"
|
||||
|
||||
#: ../gtk/gtkicontheme.c:3462
|
||||
#: ../gtk/gtkicontheme.c:3137
|
||||
msgid "Failed to load icon"
|
||||
msgstr "No se pudo cargar el icono"
|
||||
|
||||
@@ -1793,23 +1788,22 @@ msgid "System (%s)"
|
||||
msgstr "Sistema (%s)"
|
||||
|
||||
#. Open Link
|
||||
#: ../gtk/gtklabel.c:6183
|
||||
#: ../gtk/gtklabel.c:6224
|
||||
msgid "_Open Link"
|
||||
msgstr "_Abrir enlace"
|
||||
|
||||
#. Copy Link Address
|
||||
#: ../gtk/gtklabel.c:6195
|
||||
#: ../gtk/gtklabel.c:6236
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "Copiar la dirección del _enlace"
|
||||
|
||||
#: ../gtk/gtk-launch.c:71
|
||||
#| msgid "APPLICATION [URI...] - launch an APPLICATION with URI."
|
||||
msgid "APPLICATION [URI…] — launch an APPLICATION with URI."
|
||||
msgstr "APLICACIÓN [URI…]: lanzar una APLICACIÓN con URI."
|
||||
#: ../gtk/gtk-launch.c:73
|
||||
msgid "APPLICATION [URI...] - launch an APPLICATION with URI."
|
||||
msgstr "APLICACION [URI...]: lanzar una APLICACION con URI."
|
||||
|
||||
#. Translators: this message will appear after the usage string
|
||||
#. and before the list of options.
|
||||
#: ../gtk/gtk-launch.c:75
|
||||
#: ../gtk/gtk-launch.c:77
|
||||
msgid ""
|
||||
"Launch specified application by its desktop file info\n"
|
||||
"optionally passing list of URIs as arguments."
|
||||
@@ -1817,38 +1811,38 @@ msgstr ""
|
||||
"Lanzar la aplicación indicada por su archivo .desktop\n"
|
||||
"pasándole opcionalmente la lista de URI como argumentos."
|
||||
|
||||
#: ../gtk/gtk-launch.c:87
|
||||
#: ../gtk/gtk-launch.c:89
|
||||
#, c-format
|
||||
msgid "Error parsing commandline options: %s\n"
|
||||
msgstr "Error al analizar las opciones de la línea de comandos: %s\n"
|
||||
|
||||
#: ../gtk/gtk-launch.c:89 ../gtk/gtk-launch.c:102
|
||||
#: ../gtk/gtk-launch.c:91 ../gtk/gtk-launch.c:104
|
||||
#, c-format
|
||||
msgid "Try \"%s --help\" for more information."
|
||||
msgstr "Intente «%s --help» para obtener más información."
|
||||
|
||||
#. Translators: the %s is the program name. This error message
|
||||
#. means the user is calling gtk-launch without any argument.
|
||||
#: ../gtk/gtk-launch.c:100
|
||||
#: ../gtk/gtk-launch.c:102
|
||||
#, c-format
|
||||
msgid "%s: missing application name"
|
||||
msgstr "%s: falta el nombre de la aplicación"
|
||||
|
||||
#: ../gtk/gtk-launch.c:121
|
||||
#: ../gtk/gtk-launch.c:123
|
||||
#, c-format
|
||||
msgid "Creating AppInfo from id not supported on non unix operating systems"
|
||||
msgstr "No se soporta crear AppInfo desde ID en sistemas operativos no UNIX"
|
||||
|
||||
#. Translators: the first %s is the program name, the second one
|
||||
#. is the application name.
|
||||
#: ../gtk/gtk-launch.c:129
|
||||
#: ../gtk/gtk-launch.c:131
|
||||
#, c-format
|
||||
msgid "%s: no such application %s"
|
||||
msgstr "%s:no existe la aplicación %s"
|
||||
|
||||
#. Translators: the first %s is the program name, the second one
|
||||
#. is the error message.
|
||||
#: ../gtk/gtk-launch.c:147
|
||||
#: ../gtk/gtk-launch.c:149
|
||||
#, c-format
|
||||
msgid "%s: error launching application: %s\n"
|
||||
msgstr "%s: error al lanzar la aplicación: %s\n"
|
||||
@@ -1927,16 +1921,16 @@ msgstr "Opciones de depuración GTK+ a quitar"
|
||||
msgid "default:LTR"
|
||||
msgstr "default:LTR"
|
||||
|
||||
#: ../gtk/gtkmain.c:769
|
||||
#: ../gtk/gtkmain.c:772
|
||||
#, c-format
|
||||
msgid "Cannot open display: %s"
|
||||
msgstr "No se puede abrir el visor: %s"
|
||||
|
||||
#: ../gtk/gtkmain.c:835
|
||||
#: ../gtk/gtkmain.c:838
|
||||
msgid "GTK+ Options"
|
||||
msgstr "Opciones GTK+"
|
||||
|
||||
#: ../gtk/gtkmain.c:835
|
||||
#: ../gtk/gtkmain.c:838
|
||||
msgid "Show GTK+ Options"
|
||||
msgstr "Mostrar opciones GTK+"
|
||||
|
||||
@@ -2025,7 +2019,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:5069 ../gtk/gtknotebook.c:7723
|
||||
#: ../gtk/gtknotebook.c:5067 ../gtk/gtknotebook.c:7721
|
||||
#, c-format
|
||||
msgid "Page %u"
|
||||
msgstr "Página %u"
|
||||
@@ -2068,9 +2062,8 @@ msgstr ""
|
||||
" Inferior: %s %s"
|
||||
|
||||
#: ../gtk/gtkpagesetupunixdialog.c:845 ../gtk/gtkprintunixdialog.c:3329
|
||||
#| msgid "Manage Custom Sizes"
|
||||
msgid "Manage Custom Sizes…"
|
||||
msgstr "Gestionar tamaños personalizados…"
|
||||
msgid "Manage Custom Sizes..."
|
||||
msgstr "Gestión de tamaños personalizados…"
|
||||
|
||||
#: ../gtk/gtkpagesetupunixdialog.c:896
|
||||
msgid "_Format for:"
|
||||
@@ -2252,8 +2245,7 @@ msgid "Getting printer information failed"
|
||||
msgstr "Falló la obtención de la información de la impresora"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:1916
|
||||
#| msgid "Getting printer information..."
|
||||
msgid "Getting printer information…"
|
||||
msgid "Getting printer information..."
|
||||
msgstr "Obteniendo la información de la impresora…"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:2184
|
||||
@@ -2330,42 +2322,42 @@ msgstr "General"
|
||||
#. * multiple pages on a sheet when printing
|
||||
#.
|
||||
#: ../gtk/gtkprintunixdialog.c:3058
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3692
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
|
||||
msgid "Left to right, top to bottom"
|
||||
msgstr "De izquierda a derecha, de arriba a abajo"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3058
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3692
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
|
||||
msgid "Left to right, bottom to top"
|
||||
msgstr "De izquierda a derecha, de abajo a arriba"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3059
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3693
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Right to left, top to bottom"
|
||||
msgstr "De derecha a izquierda, de arriba a abajo"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3059
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3693
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
msgid "Right to left, bottom to top"
|
||||
msgstr "De derecha a izquierda, de abajo a arriba"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3060
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3694
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3688
|
||||
msgid "Top to bottom, left to right"
|
||||
msgstr "De arriba a abajo, de izquierda a derecha"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3060
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3694
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3688
|
||||
msgid "Top to bottom, right to left"
|
||||
msgstr "De arriba a abajo, de derecha a izquierda"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3061
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3695
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3689
|
||||
msgid "Bottom to top, left to right"
|
||||
msgstr "De abajo a arriba, de izquierda a derecha"
|
||||
|
||||
#: ../gtk/gtkprintunixdialog.c:3061
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3695
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3689
|
||||
msgid "Bottom to top, right to left"
|
||||
msgstr "De abajo a arriba, de derecha a izquierda"
|
||||
|
||||
@@ -2373,7 +2365,7 @@ msgstr "De abajo a arriba, de derecha a izquierda"
|
||||
#. * dialog that controls in what order multiple pages are arranged
|
||||
#.
|
||||
#: ../gtk/gtkprintunixdialog.c:3065 ../gtk/gtkprintunixdialog.c:3078
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3772
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3766
|
||||
msgid "Page Ordering"
|
||||
msgstr "Orden de las hojas"
|
||||
|
||||
@@ -4547,117 +4539,117 @@ msgstr "Pausado; rechazando trabajos"
|
||||
msgid "Rejecting Jobs"
|
||||
msgstr "Rechazando trabajos"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2915
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2909
|
||||
msgid "Two Sided"
|
||||
msgstr "Dos caras"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2916
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2910
|
||||
msgid "Paper Type"
|
||||
msgstr "Tipo de papel"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2917
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2911
|
||||
msgid "Paper Source"
|
||||
msgstr "Fuente de papel"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2918
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2912
|
||||
msgid "Output Tray"
|
||||
msgstr "Bandeja de salida"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2919
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2913
|
||||
msgid "Resolution"
|
||||
msgstr "Resolución"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2920
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2914
|
||||
msgid "GhostScript pre-filtering"
|
||||
msgstr "Prefiltrado GhostScript"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2929
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2923
|
||||
msgid "One Sided"
|
||||
msgstr "Una cara"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2931
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2925
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Margen largo (estándar)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2933
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2927
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Margen corto (girar)"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2935
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2937
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2945
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2929
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2931
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2939
|
||||
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:2939
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2933
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2935
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2937
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2941
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2943
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2947
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3435
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3429
|
||||
msgid "Printer Default"
|
||||
msgstr "Predeterminado de la impresora"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2949
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2943
|
||||
msgid "Embed GhostScript fonts only"
|
||||
msgstr "Sólo empotrar tipografías GhostScript"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2951
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2945
|
||||
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:2953
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2947
|
||||
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:2955
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2949
|
||||
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:2964
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:2958
|
||||
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:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
msgid "Urgent"
|
||||
msgstr "Urgente"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
msgid "High"
|
||||
msgstr "Alta"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
msgid "Medium"
|
||||
msgstr "Media"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3687
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3681
|
||||
msgid "Low"
|
||||
msgstr "Baja"
|
||||
|
||||
#. Translators, this string is used to label the job priority option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3717
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3711
|
||||
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:3728
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3722
|
||||
msgid "Billing Info"
|
||||
msgstr "Información de facturación"
|
||||
|
||||
@@ -4665,52 +4657,52 @@ 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:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "None"
|
||||
msgstr "Ninguna"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "Classified"
|
||||
msgstr "Clasificado"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "Confidential"
|
||||
msgstr "Confidencial"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "Secret"
|
||||
msgstr "Secreto"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "Standard"
|
||||
msgstr "Estándar"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "Top Secret"
|
||||
msgstr "Alto secreto"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3743
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3737
|
||||
msgid "Unclassified"
|
||||
msgstr "Desclasificado"
|
||||
|
||||
#. Translators, this string is used to label the pages-per-sheet option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3754
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3748
|
||||
msgid "Pages per Sheet"
|
||||
msgstr "Páginas por hoja"
|
||||
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the front cover page.
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3814
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3808
|
||||
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:3829
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3823
|
||||
msgid "After"
|
||||
msgstr "Después"
|
||||
|
||||
@@ -4718,14 +4710,14 @@ msgstr "Después"
|
||||
#. * a print job is printed. Possible values are 'now', a specified time,
|
||||
#. * or 'on hold'
|
||||
#.
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3849
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3843
|
||||
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:3860
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3854
|
||||
msgid "Print at time"
|
||||
msgstr "Imprimir a la hora"
|
||||
|
||||
@@ -4733,17 +4725,17 @@ 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:3895
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3889
|
||||
#, c-format
|
||||
msgid "Custom %sx%s"
|
||||
msgstr "Personalizado %sx%s"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3976
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3970
|
||||
msgid "Printer Profile"
|
||||
msgstr "Perfil de la impresora"
|
||||
|
||||
#. TRANSLATORS: this is when color profile information is unavailable
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3983
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:3977
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
@@ -4843,12 +4835,6 @@ msgstr "salida-de-prueba.%s"
|
||||
msgid "Print to Test Printer"
|
||||
msgstr "Imprimir a la impresora de prueba"
|
||||
|
||||
#~ msgid "Rename..."
|
||||
#~ msgstr "Renombrar…"
|
||||
|
||||
#~ msgid "Manage Custom Sizes..."
|
||||
#~ msgstr "Gestión de tamaños personalizados…"
|
||||
|
||||
#~ msgid "Select a folder"
|
||||
#~ msgstr "Seleccionar una carpeta"
|
||||
|
||||
@@ -4928,8 +4914,8 @@ msgstr "Imprimir a la impresora de prueba"
|
||||
|
||||
#~ msgid "different idatas found for symlinked '%s' and '%s'\n"
|
||||
#~ msgstr ""
|
||||
#~ "se encontraron diferentes idatas para el «%s» enlazado simbólicamente y "
|
||||
#~ "«%s»\n"
|
||||
#~ "se encontraron diferentes idatas para el «%s» enlazado simbólicamente y «%"
|
||||
#~ "s»\n"
|
||||
|
||||
#~ msgid "_Add"
|
||||
#~ msgstr "_Añadir"
|
||||
@@ -5041,8 +5027,8 @@ msgstr "Imprimir a la impresora de prueba"
|
||||
#~ "Internal error: Image loader module '%s' failed to complete an operation, "
|
||||
#~ "but didn't give a reason for the failure"
|
||||
#~ msgstr ""
|
||||
#~ "Error interno: El módulo de carga de imágenes «%s» ha fallado al "
|
||||
#~ "completar una operación, pero no ha dado ninguna razón del fallo"
|
||||
#~ "Error interno: El módulo de carga de imágenes «%s» ha fallado al completar "
|
||||
#~ "una operación, pero no ha dado ninguna razón del fallo"
|
||||
|
||||
#~ msgid "Incremental loading of image type '%s' is not supported"
|
||||
#~ msgstr ""
|
||||
@@ -5245,8 +5231,8 @@ msgstr "Imprimir a la impresora de prueba"
|
||||
#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be "
|
||||
#~ "parsed."
|
||||
#~ msgstr ""
|
||||
#~ "La calidad de un JPEG debe ser un valor entre 0 y 100; el valor «%s» no "
|
||||
#~ "se puede interpretar."
|
||||
#~ "La calidad de un JPEG debe ser un valor entre 0 y 100; el valor «%s» no se "
|
||||
#~ "puede interpretar."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed."
|
||||
@@ -5343,15 +5329,15 @@ msgstr "Imprimir a la impresora de prueba"
|
||||
#~ "PNG compression level must be a value between 0 and 9; value '%s' could "
|
||||
#~ "not be parsed."
|
||||
#~ msgstr ""
|
||||
#~ "El nivel de compresión PNG debe ser un valor entre 0 y 9; el valor «%s» "
|
||||
#~ "no se puede interpretar."
|
||||
#~ "El nivel de compresión PNG debe ser un valor entre 0 y 9; el valor «%s» no "
|
||||
#~ "se puede interpretar."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "PNG compression level must be a value between 0 and 9; value '%d' is not "
|
||||
#~ "allowed."
|
||||
#~ msgstr ""
|
||||
#~ "El nivel de compresión PNG debe ser un valor entre 0 y 9; el valor «%d» "
|
||||
#~ "no está permitido."
|
||||
#~ "El nivel de compresión PNG debe ser un valor entre 0 y 9; el valor «%d» no "
|
||||
#~ "está permitido."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding."
|
||||
@@ -5711,6 +5697,9 @@ msgstr "Imprimir a la impresora de prueba"
|
||||
#~ msgid "Rename file \"%s\" to:"
|
||||
#~ msgstr "Renombrar archivo «%s» a:"
|
||||
|
||||
#~ msgid "_Rename"
|
||||
#~ msgstr "_Renombrar"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the "
|
||||
#~ "environment variable G_FILENAME_ENCODING): %s"
|
||||
|
||||
@@ -73,7 +73,7 @@ window1
|
||||
"menu"
|
||||
parent: combo1
|
||||
index: 0
|
||||
state: enabled sensitive
|
||||
state: enabled selectable sensitive
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: popup
|
||||
@@ -95,7 +95,7 @@ window1
|
||||
"menu"
|
||||
parent: combo2
|
||||
index: 0
|
||||
state: enabled sensitive
|
||||
state: enabled selectable sensitive
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: popup
|
||||
@@ -105,7 +105,7 @@ window1
|
||||
"text"
|
||||
parent: combo2
|
||||
index: 1
|
||||
state: editable enabled focusable sensitive single-line visible
|
||||
state: editable enabled focusable selectable sensitive single-line visible
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: widget
|
||||
@@ -157,7 +157,7 @@ window1
|
||||
"menu"
|
||||
parent: combo3
|
||||
index: 0
|
||||
state: enabled sensitive
|
||||
state: enabled selectable sensitive
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: popup
|
||||
@@ -179,7 +179,7 @@ window1
|
||||
"menu"
|
||||
parent: combo4
|
||||
index: 0
|
||||
state: enabled sensitive
|
||||
state: enabled selectable sensitive
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: popup
|
||||
@@ -189,7 +189,7 @@ window1
|
||||
"text"
|
||||
parent: combo4
|
||||
index: 1
|
||||
state: editable enabled focusable sensitive single-line visible
|
||||
state: editable enabled focusable selectable sensitive single-line visible
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: widget
|
||||
|
||||
@@ -55,7 +55,7 @@ window1
|
||||
"menu"
|
||||
parent: unnamed-GtkComboBoxAccessible-1
|
||||
index: 0
|
||||
state: enabled sensitive
|
||||
state: enabled selectable sensitive
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: popup
|
||||
@@ -125,7 +125,7 @@ window1
|
||||
"menu item"
|
||||
parent: unnamed-GtkMenuAccessible-2
|
||||
index: 5
|
||||
name: Other…
|
||||
name: Other...
|
||||
state: enabled selectable sensitive visible
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
@@ -179,7 +179,7 @@ window1
|
||||
"menu"
|
||||
parent: button1
|
||||
index: 0
|
||||
state: enabled sensitive
|
||||
state: enabled selectable sensitive
|
||||
toolkit: gtk
|
||||
<AtkComponent>
|
||||
layer: popup
|
||||
|
||||
@@ -152,9 +152,9 @@ EXTRA_DIST += \
|
||||
entry-progress-coloring.css \
|
||||
entry-progress-coloring.ref.ui \
|
||||
entry-progress-coloring.ui \
|
||||
font-sizes-names.css \
|
||||
font-sizes-names.ref.ui \
|
||||
font-sizes-names.ui \
|
||||
font-size-names.css \
|
||||
font-size-names.ref.ui \
|
||||
font-size-names.ui \
|
||||
green-20x20.png \
|
||||
grid-empty-with-spacing.ref.ui \
|
||||
grid-empty-with-spacing.ui \
|
||||
|
||||
@@ -396,7 +396,7 @@ create_calendar(void)
|
||||
|
||||
GtkSizeGroup *size;
|
||||
GtkStyleContext *context;
|
||||
PangoFontDescription *font_desc;
|
||||
const PangoFontDescription *font_desc;
|
||||
gchar *font;
|
||||
gint i;
|
||||
|
||||
@@ -476,11 +476,10 @@ create_calendar(void)
|
||||
size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
|
||||
context = gtk_widget_get_style_context (calendar);
|
||||
gtk_style_context_get (context, GTK_STATE_FLAG_NORMAL, &font_desc, NULL);
|
||||
font_desc = gtk_style_context_get_font (context, GTK_STATE_FLAG_NORMAL);
|
||||
font = pango_font_description_to_string (font_desc);
|
||||
button = gtk_font_button_new_with_font (font);
|
||||
g_free (font);
|
||||
pango_font_description_free (font_desc);
|
||||
|
||||
g_signal_connect (button, "font-set",
|
||||
G_CALLBACK(calendar_select_font),
|
||||
|
||||
Reference in New Issue
Block a user