Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 08f4e5f091 | |||
| 8999ce720a | |||
| 3666cd4cef | |||
| a34d9203ee | |||
| 6315284d6f | |||
| bb2be84af0 | |||
| 78223932c5 | |||
| 506639add1 | |||
| 43d6ebf9fb | |||
| b46fdb2d13 | |||
| 21360a453c | |||
| bf3b0ea641 | |||
| cfcb43e3ca | |||
| dce50674c0 | |||
| c0e26aad56 | |||
| 38f9e4bf11 | |||
| 23fa0e341f | |||
| 5a41f63426 | |||
| ecc64f63e4 | |||
| 915e4c6dd7 | |||
| b4375cde48 | |||
| 20f1c06eed | |||
| 07efae7288 | |||
| 049ec56107 | |||
| 4d4883f010 | |||
| 5d42c55f28 | |||
| ec37fbe2e2 |
@@ -747,6 +747,9 @@ gdk_device_list_axes
|
||||
gdk_device_get_axis_value
|
||||
gdk_device_get_last_event_window
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_device_tool_get_serial
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_AXIS_USE
|
||||
GDK_TYPE_EXTENSION_MODE
|
||||
@@ -846,6 +849,8 @@ gdk_event_get_device
|
||||
gdk_event_set_device
|
||||
gdk_event_get_source_device
|
||||
gdk_event_set_source_device
|
||||
gdk_event_get_device_tool
|
||||
gdk_event_set_device_tool
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_setting_get
|
||||
|
||||
+118
@@ -43,6 +43,11 @@
|
||||
|
||||
typedef struct _GdkAxisInfo GdkAxisInfo;
|
||||
|
||||
struct _GdkDeviceTool
|
||||
{
|
||||
guint serial;
|
||||
};
|
||||
|
||||
struct _GdkAxisInfo
|
||||
{
|
||||
GdkAtom label;
|
||||
@@ -57,6 +62,7 @@ struct _GdkAxisInfo
|
||||
|
||||
enum {
|
||||
CHANGED,
|
||||
TOOL_CHANGED,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
@@ -256,6 +262,14 @@ gdk_device_class_init (GdkDeviceClass *klass)
|
||||
0, NULL, NULL,
|
||||
g_cclosure_marshal_VOID__VOID,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
signals[TOOL_CHANGED] =
|
||||
g_signal_new (g_intern_static_string ("tool-changed"),
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL,
|
||||
g_cclosure_marshal_VOID__BOXED,
|
||||
G_TYPE_NONE, 1, GDK_TYPE_DEVICE_TOOL);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -287,6 +301,12 @@ gdk_device_dispose (GObject *object)
|
||||
device->axes = NULL;
|
||||
}
|
||||
|
||||
if (device->tools)
|
||||
{
|
||||
g_ptr_array_free (device->tools, TRUE);
|
||||
device->tools = NULL;
|
||||
}
|
||||
|
||||
g_free (device->name);
|
||||
g_free (device->keys);
|
||||
|
||||
@@ -1757,3 +1777,101 @@ gdk_device_get_last_event_window (GdkDevice *device)
|
||||
|
||||
return info->window_under_pointer;
|
||||
}
|
||||
|
||||
static GdkDeviceTool *
|
||||
gdk_device_tool_copy (GdkDeviceTool *tool)
|
||||
{
|
||||
return tool;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_device_tool_free (GdkDeviceTool *tool)
|
||||
{
|
||||
/* Nothing to free here, memory is owned by GdkDevice */
|
||||
}
|
||||
|
||||
G_DEFINE_BOXED_TYPE (GdkDeviceTool, gdk_device_tool,
|
||||
gdk_device_tool_copy, gdk_device_tool_free);
|
||||
|
||||
GdkDeviceTool *
|
||||
gdk_device_tool_new (guint serial)
|
||||
{
|
||||
GdkDeviceTool *tool;
|
||||
|
||||
tool = g_new0 (GdkDeviceTool, 1);
|
||||
tool->serial = serial;
|
||||
|
||||
return tool;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_device_add_tool (GdkDevice *device,
|
||||
GdkDeviceTool *tool)
|
||||
{
|
||||
g_return_if_fail (GDK_IS_DEVICE (device));
|
||||
g_return_if_fail (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER);
|
||||
g_return_if_fail (tool != NULL);
|
||||
|
||||
if (!device->tools)
|
||||
device->tools = g_ptr_array_new_with_free_func ((GDestroyNotify) g_free);
|
||||
|
||||
g_ptr_array_add (device->tools, tool);
|
||||
}
|
||||
|
||||
GdkDeviceTool *
|
||||
gdk_device_lookup_tool (GdkDevice *device,
|
||||
guint serial)
|
||||
{
|
||||
GdkDeviceTool *tool;
|
||||
guint i;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_DEVICE (device), NULL);
|
||||
g_return_val_if_fail (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER, NULL);
|
||||
|
||||
if (!device->tools)
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < device->tools->len; i++)
|
||||
{
|
||||
tool = g_ptr_array_index (device->tools, i);
|
||||
|
||||
if (tool->serial == serial)
|
||||
return tool;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_device_update_tool (GdkDevice *device,
|
||||
GdkDeviceTool *tool)
|
||||
{
|
||||
g_return_if_fail (GDK_IS_DEVICE (device));
|
||||
g_return_if_fail (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER);
|
||||
g_return_if_fail (!tool || gdk_device_lookup_tool (device, gdk_device_tool_get_serial (tool)) != NULL);
|
||||
|
||||
if (device->last_tool == tool)
|
||||
return;
|
||||
|
||||
device->last_tool = tool;
|
||||
g_signal_emit (device, signals[TOOL_CHANGED], 0, tool);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_device_tool_get_serial:
|
||||
* @tool: a #GdkDeviceTool
|
||||
*
|
||||
* Gets the serial of this tool, this value can be used to identify a
|
||||
* physical tool (eg. a tablet pen) across program executions.
|
||||
*
|
||||
* Returns: The serial ID for this tool
|
||||
*
|
||||
* Since: 3.16
|
||||
**/
|
||||
guint
|
||||
gdk_device_tool_get_serial (GdkDeviceTool *tool)
|
||||
{
|
||||
g_return_val_if_fail (tool != NULL, 0);
|
||||
|
||||
return tool->serial;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,10 @@ G_BEGIN_DECLS
|
||||
#define GDK_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE, GdkDevice))
|
||||
#define GDK_IS_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE))
|
||||
|
||||
#define GDK_TYPE_DEVICE_TOOL (gdk_device_tool_get_type ())
|
||||
|
||||
typedef struct _GdkTimeCoord GdkTimeCoord;
|
||||
typedef struct _GdkDeviceTool GdkDeviceTool;
|
||||
|
||||
/**
|
||||
* GdkInputSource:
|
||||
@@ -274,6 +277,12 @@ gboolean gdk_device_grab_info_libgtk_only (GdkDisplay *display,
|
||||
GDK_AVAILABLE_IN_3_12
|
||||
GdkWindow *gdk_device_get_last_event_window (GdkDevice *device);
|
||||
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
GType gdk_device_tool_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
guint gdk_device_tool_get_serial (GdkDeviceTool *tool);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_DEVICE_H__ */
|
||||
|
||||
@@ -56,6 +56,9 @@ struct _GdkDevice
|
||||
GList *slaves;
|
||||
GdkDeviceType type;
|
||||
GArray *axes;
|
||||
|
||||
GPtrArray *tools;
|
||||
GdkDeviceTool *last_tool;
|
||||
};
|
||||
|
||||
struct _GdkDeviceClass
|
||||
@@ -173,6 +176,15 @@ GdkWindow * _gdk_device_window_at_position (GdkDevice *device,
|
||||
GdkModifierType *mask,
|
||||
gboolean get_toplevel);
|
||||
|
||||
/* Device tools */
|
||||
GdkDeviceTool *gdk_device_tool_new (guint serial);
|
||||
GdkDeviceTool *gdk_device_lookup_tool (GdkDevice *device,
|
||||
guint serial);
|
||||
void gdk_device_add_tool (GdkDevice *device,
|
||||
GdkDeviceTool *tool);
|
||||
void gdk_device_update_tool (GdkDevice *device,
|
||||
GdkDeviceTool *tool);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_DEVICE_PRIVATE_H__ */
|
||||
|
||||
@@ -642,6 +642,7 @@ gdk_event_copy (const GdkEvent *event)
|
||||
new_private->screen = private->screen;
|
||||
new_private->device = private->device;
|
||||
new_private->source_device = private->source_device;
|
||||
new_private->tool = private->tool;
|
||||
}
|
||||
|
||||
switch (event->any.type)
|
||||
@@ -2262,3 +2263,54 @@ gdk_event_get_event_type (const GdkEvent *event)
|
||||
|
||||
return event->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_event_get_device_tool:
|
||||
* @event: a #GdkEvent
|
||||
*
|
||||
* If the event was generated by a device that supports
|
||||
* different tools (eg. a tablet), this function will
|
||||
* return a #GdkDeviceTool representing the tool that
|
||||
* caused the event. Otherwise, %NULL will be returned.
|
||||
*
|
||||
* Note: the #GdkDeviceTool<!-- -->s will be constant during
|
||||
* the application lifetime, if settings must be stored
|
||||
* persistently across runs, see gdk_device_tool_get_serial()
|
||||
*
|
||||
* Returns: The current device tool, or %NULL
|
||||
*
|
||||
* Since: 3.16
|
||||
**/
|
||||
GdkDeviceTool *
|
||||
gdk_event_get_device_tool (const GdkEvent *event)
|
||||
{
|
||||
GdkEventPrivate *private;
|
||||
|
||||
if (!gdk_event_is_allocated (event))
|
||||
return NULL;
|
||||
|
||||
private = (GdkEventPrivate *) event;
|
||||
return private->tool;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_event_set_device_tool:
|
||||
* @event: a #GdkEvent
|
||||
* @tool: (nullable): tool to set on the event, or %NULL
|
||||
*
|
||||
* Sets the device tool for this event, should be rarely used.
|
||||
*
|
||||
* Since: 3.16
|
||||
**/
|
||||
void
|
||||
gdk_event_set_device_tool (GdkEvent *event,
|
||||
GdkDeviceTool *tool)
|
||||
{
|
||||
GdkEventPrivate *private;
|
||||
|
||||
if (!gdk_event_is_allocated (event))
|
||||
return;
|
||||
|
||||
private = (GdkEventPrivate *) event;
|
||||
private->tool = tool;
|
||||
}
|
||||
|
||||
@@ -1309,6 +1309,13 @@ GDK_AVAILABLE_IN_ALL
|
||||
gboolean gdk_setting_get (const gchar *name,
|
||||
GValue *value);
|
||||
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
GdkDeviceTool *gdk_event_get_device_tool (const GdkEvent *event);
|
||||
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
void gdk_event_set_device_tool (GdkEvent *event,
|
||||
GdkDeviceTool *tool);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_EVENTS_H__ */
|
||||
|
||||
@@ -184,6 +184,7 @@ struct _GdkEventPrivate
|
||||
gpointer windowing_data;
|
||||
GdkDevice *device;
|
||||
GdkDevice *source_device;
|
||||
GdkDeviceTool *tool;
|
||||
};
|
||||
|
||||
typedef struct _GdkWindowPaint GdkWindowPaint;
|
||||
|
||||
@@ -32,6 +32,7 @@ libgdk_mir_la_SOURCES = \
|
||||
gdkmirwindow.c \
|
||||
gdkmirwindowimpl.c \
|
||||
gdkmir-debug.c \
|
||||
gdkmir-private.h \
|
||||
gdkmir.h
|
||||
|
||||
libgdkinclude_HEADERS = \
|
||||
|
||||
@@ -2852,7 +2852,7 @@ gdk_quartz_window_get_scale_factor (GdkWindow *window)
|
||||
|
||||
impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
|
||||
if (gdk_quartz_osx_version() >= GDK_OSX_LION)
|
||||
if (impl->toplevel != NULL && gdk_quartz_osx_version() >= GDK_OSX_LION)
|
||||
return [(id <ScaleFactor>) impl->toplevel backingScaleFactor];
|
||||
|
||||
return 1;
|
||||
|
||||
@@ -135,9 +135,9 @@ _gdk_wayland_display_event_source_new (GdkDisplay *display)
|
||||
|
||||
display_wayland = GDK_WAYLAND_DISPLAY (display);
|
||||
wl_source->display = display;
|
||||
wl_source->pfd.fd = wl_display_get_fd(display_wayland->wl_display);
|
||||
wl_source->pfd.fd = wl_display_get_fd (display_wayland->wl_display);
|
||||
wl_source->pfd.events = G_IO_IN | G_IO_ERR | G_IO_HUP;
|
||||
g_source_add_poll(source, &wl_source->pfd);
|
||||
g_source_add_poll (source, &wl_source->pfd);
|
||||
|
||||
g_source_set_priority (source, GDK_PRIORITY_EVENTS);
|
||||
g_source_set_can_recurse (source, TRUE);
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/extensions/XInput2.h>
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@@ -543,6 +544,7 @@ gdk_x11_device_manager_xi2_constructed (GObject *object)
|
||||
screen = gdk_display_get_default_screen (display);
|
||||
XISetMask (mask, XI_HierarchyChanged);
|
||||
XISetMask (mask, XI_DeviceChanged);
|
||||
XISetMask (mask, XI_PropertyEvent);
|
||||
|
||||
event_mask.deviceid = XIAllDevices;
|
||||
event_mask.mask_len = sizeof (mask);
|
||||
@@ -775,6 +777,68 @@ handle_device_changed (GdkX11DeviceManagerXI2 *device_manager,
|
||||
_gdk_device_xi2_reset_scroll_valuators (GDK_X11_DEVICE_XI2 (source_device));
|
||||
}
|
||||
|
||||
static guint
|
||||
device_get_tool_serial (GdkDevice *device)
|
||||
{
|
||||
GdkDisplay *display;
|
||||
gulong nitems, bytes_after;
|
||||
guint serial_id = 0;
|
||||
guint32 *data;
|
||||
int rc, format;
|
||||
Atom type;
|
||||
|
||||
display = gdk_device_get_display (device);
|
||||
|
||||
gdk_x11_display_error_trap_push (display);
|
||||
|
||||
rc = XIGetProperty (GDK_DISPLAY_XDISPLAY (display),
|
||||
gdk_x11_device_get_id (device),
|
||||
gdk_x11_get_xatom_by_name_for_display (display, "Wacom Serial IDs"),
|
||||
0, 4, False, XA_INTEGER, &type, &format, &nitems, &bytes_after,
|
||||
(guchar **) &data);
|
||||
gdk_x11_display_error_trap_pop_ignored (display);
|
||||
|
||||
if (rc != Success)
|
||||
return 0;
|
||||
|
||||
if (type == XA_INTEGER && format == 32 && nitems >= 4)
|
||||
serial_id = data[3];
|
||||
|
||||
XFree (data);
|
||||
|
||||
return serial_id;
|
||||
}
|
||||
|
||||
static void
|
||||
handle_property_change (GdkX11DeviceManagerXI2 *device_manager,
|
||||
XIPropertyEvent *ev)
|
||||
{
|
||||
GdkDevice *device;
|
||||
|
||||
device = g_hash_table_lookup (device_manager->id_table,
|
||||
GUINT_TO_POINTER (ev->deviceid));
|
||||
|
||||
if (ev->property == gdk_x11_get_xatom_by_name ("Wacom Serial IDs"))
|
||||
{
|
||||
GdkDeviceTool *tool = NULL;
|
||||
guint serial_id;
|
||||
|
||||
if (ev->what != XIPropertyDeleted)
|
||||
{
|
||||
serial_id = device_get_tool_serial (device);
|
||||
tool = gdk_device_lookup_tool (device, serial_id);
|
||||
|
||||
if (!tool && serial_id > 0)
|
||||
{
|
||||
tool = gdk_device_tool_new (serial_id);
|
||||
gdk_device_add_tool (device, tool);
|
||||
}
|
||||
}
|
||||
|
||||
gdk_device_update_tool (device, tool);
|
||||
}
|
||||
}
|
||||
|
||||
static GdkCrossingMode
|
||||
translate_crossing_mode (gint mode)
|
||||
{
|
||||
@@ -1169,6 +1233,11 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
|
||||
(XIDeviceChangedEvent *) ev);
|
||||
return_val = FALSE;
|
||||
break;
|
||||
case XI_PropertyEvent:
|
||||
handle_property_change (device_manager,
|
||||
(XIPropertyEvent *) ev);
|
||||
return_val = FALSE;
|
||||
break;
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
{
|
||||
@@ -1308,6 +1377,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
|
||||
source_device = g_hash_table_lookup (device_manager->id_table,
|
||||
GUINT_TO_POINTER (xev->sourceid));
|
||||
gdk_event_set_source_device (event, source_device);
|
||||
gdk_event_set_device_tool (event, source_device->last_tool);
|
||||
|
||||
event->button.axes = translate_axes (event->button.device,
|
||||
event->button.x,
|
||||
@@ -1412,6 +1482,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
|
||||
|
||||
event->motion.device = device;
|
||||
gdk_event_set_source_device (event, source_device);
|
||||
gdk_event_set_device_tool (event, source_device->last_tool);
|
||||
|
||||
event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
|
||||
|
||||
|
||||
@@ -742,7 +742,7 @@ create_gl3_context (GdkDisplay *display,
|
||||
static const int attrib_list[] = {
|
||||
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_CORE_PROFILE_BIT_ARB,
|
||||
GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
|
||||
GLX_CONTEXT_MAJOR_VERSION_ARB, 2,
|
||||
GLX_CONTEXT_MINOR_VERSION_ARB, 2,
|
||||
None,
|
||||
};
|
||||
|
||||
|
||||
@@ -108,6 +108,9 @@ day_of_week (guint year, guint mm, guint dd)
|
||||
guint days;
|
||||
|
||||
dt = g_date_time_new_local (year, mm, dd, 1, 1, 1);
|
||||
if (dt == NULL)
|
||||
return 0;
|
||||
|
||||
days = g_date_time_get_day_of_week (dt);
|
||||
g_date_time_unref (dt);
|
||||
|
||||
@@ -121,6 +124,9 @@ week_of_year (guint year, guint mm, guint dd)
|
||||
guint week;
|
||||
|
||||
dt = g_date_time_new_local (year, mm, dd, 1, 1, 1);
|
||||
if (dt == NULL)
|
||||
return 1;
|
||||
|
||||
week = g_date_time_get_week_of_year (dt);
|
||||
g_date_time_unref (dt);
|
||||
|
||||
|
||||
@@ -1384,12 +1384,12 @@ gtk_cell_renderer_text_set_property (GObject *object,
|
||||
case PROP_SIZE:
|
||||
pango_font_description_set_size (priv->font,
|
||||
g_value_get_int (value));
|
||||
g_object_notify (object, "size-points");
|
||||
g_object_notify (object, "size");
|
||||
break;
|
||||
case PROP_SIZE_POINTS:
|
||||
pango_font_description_set_size (priv->font,
|
||||
g_value_get_double (value) * PANGO_SCALE);
|
||||
g_object_notify (object, "size");
|
||||
g_object_notify (object, "size-points");
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
* @See_also: #GtkColorSelectionDialog, #GtkFontButton
|
||||
*
|
||||
* The #GtkColorButton is a button which displays the currently selected
|
||||
* color an allows to open a color selection dialog to change the color.
|
||||
* color and allows to open a color selection dialog to change the color.
|
||||
* It is suitable widget for selecting a color in a preference dialog.
|
||||
*/
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
* @See_also: #GtkColorChooserDialog
|
||||
*
|
||||
* The #GtkColorChooserWidget widget lets the user select a
|
||||
* color. By default, the chooser presents a prefined palette
|
||||
* color. By default, the chooser presents a predefined palette
|
||||
* of colors, plus a small number of settable custom colors.
|
||||
* It is also possible to select a different color with the
|
||||
* single-color editor. To enter the single-color editing mode,
|
||||
|
||||
+16
-4
@@ -1754,6 +1754,17 @@ _gtk_css_selector_tree_match_all (const GtkCssSelectorTree *tree,
|
||||
return array;
|
||||
}
|
||||
|
||||
/* When checking for changes via the tree we need to know if a rule further
|
||||
down the tree matched, because if so we need to add "our bit" to the
|
||||
Change. For instance in a a match like *.class:active we'll
|
||||
get a tree that first checks :active, if that matches we continue down
|
||||
to the tree, and if we get a match we add CHANGE_CLASS. However, the
|
||||
end of the tree where we have a match is an ANY which doesn't actually
|
||||
modify the change, so we don't know if we have a match or not. We fix
|
||||
this by setting GTK_CSS_CHANGE_GOT_MATCH which lets us guarantee
|
||||
that change != 0 on any match. */
|
||||
#define GTK_CSS_CHANGE_GOT_MATCH GTK_CSS_CHANGE_RESERVED_BIT
|
||||
|
||||
static GtkCssChange
|
||||
gtk_css_selector_tree_collect_change (const GtkCssSelectorTree *tree)
|
||||
{
|
||||
@@ -1780,15 +1791,16 @@ gtk_css_selector_tree_get_change (const GtkCssSelectorTree *tree,
|
||||
if (!gtk_css_selector_match (&tree->selector, matcher))
|
||||
return 0;
|
||||
|
||||
if (tree->selector.class->is_simple)
|
||||
return gtk_css_selector_tree_collect_change (tree);
|
||||
if (!tree->selector.class->is_simple)
|
||||
return gtk_css_selector_tree_collect_change (tree) | GTK_CSS_CHANGE_GOT_MATCH;
|
||||
|
||||
for (prev = gtk_css_selector_tree_get_previous (tree);
|
||||
prev != NULL;
|
||||
prev = gtk_css_selector_tree_get_sibling (prev))
|
||||
change |= gtk_css_selector_tree_get_change (prev, matcher);
|
||||
|
||||
change = tree->selector.class->get_change (&tree->selector, change);
|
||||
if (change || gtk_css_selector_tree_get_matches (tree))
|
||||
change = tree->selector.class->get_change (&tree->selector, change & ~GTK_CSS_CHANGE_GOT_MATCH) | GTK_CSS_CHANGE_GOT_MATCH;
|
||||
|
||||
return change;
|
||||
}
|
||||
@@ -1807,7 +1819,7 @@ _gtk_css_selector_tree_get_change_all (const GtkCssSelectorTree *tree,
|
||||
change |= gtk_css_selector_tree_get_change (tree, matcher);
|
||||
|
||||
/* Never return reserved bit set */
|
||||
return change;
|
||||
return change & ~GTK_CSS_CHANGE_RESERVED_BIT;
|
||||
}
|
||||
|
||||
#ifdef PRINT_TREE
|
||||
|
||||
@@ -4017,6 +4017,9 @@ gtk_scrolled_window_realize (GtkWidget *widget)
|
||||
priv->hindicator.window = create_indicator_window (scrolled_window, priv->hscrollbar);
|
||||
priv->vindicator.window = create_indicator_window (scrolled_window, priv->vscrollbar);
|
||||
|
||||
priv->hindicator.scrollbar = priv->hscrollbar;
|
||||
priv->vindicator.scrollbar = priv->vscrollbar;
|
||||
|
||||
gtk_scrolled_window_update_touch_mode (scrolled_window);
|
||||
|
||||
dm = gdk_display_get_device_manager (gtk_widget_get_display (widget));
|
||||
|
||||
+14
-6
@@ -522,6 +522,18 @@ _gtk_style_context_update_animating (GtkStyleContext *context)
|
||||
gtk_style_context_stop_animating (context);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_style_context_clear_parent (GtkStyleContext *context)
|
||||
{
|
||||
GtkStyleContextPrivate *priv = context->priv;
|
||||
|
||||
if (priv->parent)
|
||||
{
|
||||
priv->parent->priv->children = g_slist_remove (priv->parent->priv->children, context);
|
||||
g_object_unref (priv->parent);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_style_context_finalize (GObject *object)
|
||||
{
|
||||
@@ -536,7 +548,7 @@ gtk_style_context_finalize (GObject *object)
|
||||
/* children hold a reference to us */
|
||||
g_assert (priv->children == NULL);
|
||||
|
||||
gtk_style_context_set_parent (style_context, NULL);
|
||||
gtk_style_context_clear_parent (style_context);
|
||||
|
||||
gtk_style_context_set_cascade (style_context, NULL);
|
||||
|
||||
@@ -1397,11 +1409,7 @@ gtk_style_context_set_parent (GtkStyleContext *context,
|
||||
gtk_style_context_set_invalid (parent, TRUE);
|
||||
}
|
||||
|
||||
if (priv->parent)
|
||||
{
|
||||
priv->parent->priv->children = g_slist_remove (priv->parent->priv->children, context);
|
||||
g_object_unref (priv->parent);
|
||||
}
|
||||
gtk_style_context_clear_parent (context);
|
||||
|
||||
priv->parent = parent;
|
||||
|
||||
|
||||
+3
-3
@@ -1492,11 +1492,11 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_v, GDK_CONTROL_MASK,
|
||||
"paste-clipboard", 0);
|
||||
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK,
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, GDK_SHIFT_MASK,
|
||||
"cut-clipboard", 0);
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_CONTROL_MASK,
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_CONTROL_MASK,
|
||||
"copy-clipboard", 0);
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, GDK_SHIFT_MASK,
|
||||
"paste-clipboard", 0);
|
||||
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK,
|
||||
|
||||
+38
-10
@@ -57,6 +57,7 @@ struct _GtkInspectorGeneralPrivate
|
||||
{
|
||||
GtkWidget *version_box;
|
||||
GtkWidget *env_box;
|
||||
GtkWidget *x_box;
|
||||
GtkWidget *gl_box;
|
||||
GtkWidget *gtk_version;
|
||||
GtkWidget *gdk_backend;
|
||||
@@ -69,6 +70,9 @@ struct _GtkInspectorGeneralPrivate
|
||||
GtkWidget *gtk_exe_prefix;
|
||||
GtkWidget *gtk_data_prefix;
|
||||
GtkWidget *gsettings_schema_dir;
|
||||
GtkWidget *x_display;
|
||||
GtkWidget *x_rgba;
|
||||
GtkWidget *x_composited;
|
||||
GtkSizeGroup *labels;
|
||||
GtkAdjustment *focus_adjustment;
|
||||
};
|
||||
@@ -268,14 +272,33 @@ init_env (GtkInspectorGeneral *gen)
|
||||
set_path_label (gen->priv->gsettings_schema_dir, "GSETTINGS_SCHEMA_DIR");
|
||||
}
|
||||
|
||||
static void
|
||||
init_x (GtkInspectorGeneral *gen)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
gchar *name;
|
||||
|
||||
screen = gdk_screen_get_default ();
|
||||
name = gdk_screen_make_display_name (screen);
|
||||
gtk_label_set_label (GTK_LABEL (gen->priv->x_display), name);
|
||||
g_free (name);
|
||||
|
||||
if (gdk_screen_get_rgba_visual (screen) != NULL)
|
||||
gtk_widget_show (gen->priv->x_rgba);
|
||||
|
||||
if (gdk_screen_is_composited (screen))
|
||||
gtk_widget_show (gen->priv->x_composited);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_inspector_general_init (GtkInspectorGeneral *gen)
|
||||
{
|
||||
gen->priv = gtk_inspector_general_get_instance_private (gen);
|
||||
gtk_widget_init_template (GTK_WIDGET (gen));
|
||||
init_version (gen);
|
||||
init_gl (gen);
|
||||
init_env (gen);
|
||||
init_x (gen);
|
||||
init_gl (gen);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -284,18 +307,18 @@ keynav_failed (GtkWidget *widget, GtkDirectionType direction, GtkInspectorGenera
|
||||
GtkWidget *next;
|
||||
gdouble value, lower, upper, page;
|
||||
|
||||
if (direction == GTK_DIR_DOWN &&
|
||||
widget == gen->priv->version_box)
|
||||
if (direction == GTK_DIR_DOWN && widget == gen->priv->version_box)
|
||||
next = gen->priv->env_box;
|
||||
else if (direction == GTK_DIR_DOWN &&
|
||||
widget == gen->priv->env_box)
|
||||
else if (direction == GTK_DIR_DOWN && widget == gen->priv->env_box)
|
||||
next = gen->priv->x_box;
|
||||
else if (direction == GTK_DIR_DOWN && widget == gen->priv->x_box)
|
||||
next = gen->priv->gl_box;
|
||||
else if (direction == GTK_DIR_UP &&
|
||||
widget == gen->priv->env_box)
|
||||
next = gen->priv->version_box;
|
||||
else if (direction == GTK_DIR_UP &&
|
||||
widget == gen->priv->gl_box)
|
||||
else if (direction == GTK_DIR_UP && widget == gen->priv->gl_box)
|
||||
next = gen->priv->x_box;
|
||||
else if (direction == GTK_DIR_UP && widget == gen->priv->x_box)
|
||||
next = gen->priv->env_box;
|
||||
else if (direction == GTK_DIR_UP && widget == gen->priv->env_box)
|
||||
next = gen->priv->version_box;
|
||||
else
|
||||
next = NULL;
|
||||
|
||||
@@ -337,6 +360,7 @@ gtk_inspector_general_constructed (GObject *object)
|
||||
|
||||
g_signal_connect (gen->priv->version_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
|
||||
g_signal_connect (gen->priv->env_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
|
||||
g_signal_connect (gen->priv->x_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
|
||||
g_signal_connect (gen->priv->gl_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
|
||||
}
|
||||
|
||||
@@ -351,6 +375,7 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass)
|
||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/inspector/general.ui");
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, version_box);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, env_box);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, x_box);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gl_box);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_version);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gdk_backend);
|
||||
@@ -364,6 +389,9 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass)
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_data_prefix);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gsettings_schema_dir);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, labels);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, x_display);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, x_composited);
|
||||
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, x_rgba);
|
||||
}
|
||||
|
||||
// vim: set et sw=2 ts=2:
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="margin">60</property>
|
||||
<property name="spacing">10</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame" id="version_frame">
|
||||
<property name="visible">True</property>
|
||||
@@ -89,6 +90,7 @@
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame" id="env_frame">
|
||||
<property name="visible">True</property>
|
||||
@@ -346,6 +348,123 @@
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame" id="x_frame">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">center</property>
|
||||
<child>
|
||||
<object class="GtkListBox" id="x_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="margin">10</property>
|
||||
<property name="spacing">40</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="x_display_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">X display</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="xalign">0.0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="x_display">
|
||||
<property name="visible">True</property>
|
||||
<property name="selectable">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="ellipsize">end</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="margin">10</property>
|
||||
<property name="spacing">40</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="x_rgba_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">RGBA visual</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="xalign">0.0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="x_rgba">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="icon-name">object-select-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="margin">10</property>
|
||||
<property name="spacing">40</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="x_composited_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Composited</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="xalign">0.0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="x_composited">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">baseline</property>
|
||||
<property name="icon-name">object-select-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame" id="gl_frame">
|
||||
<property name="visible">True</property>
|
||||
@@ -445,6 +564,9 @@
|
||||
<widget name="gtk_exe_prefix_label"/>
|
||||
<widget name="gtk_data_prefix_label"/>
|
||||
<widget name="gsettings_schema_dir_label"/>
|
||||
<widget name="x_display_label"/>
|
||||
<widget name="x_rgba_label"/>
|
||||
<widget name="x_composited_label"/>
|
||||
</widgets>
|
||||
</object>
|
||||
<object class="GtkSizeGroup">
|
||||
@@ -453,6 +575,7 @@
|
||||
<widget name="version_frame"/>
|
||||
<widget name="gl_frame"/>
|
||||
<widget name="env_frame"/>
|
||||
<widget name="x_frame"/>
|
||||
</widgets>
|
||||
</object>
|
||||
</interface>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
N_("GTK+ Version");
|
||||
N_("GDK Backend");
|
||||
N_("Prefix");
|
||||
N_("X display");
|
||||
N_("RGBA visual");
|
||||
N_("Composited");
|
||||
N_("GL Version");
|
||||
N_("GL Vendor");
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface domain="gtk30">
|
||||
<template class="GtkInspectorMagnifier" parent="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="margin">6</property>
|
||||
<child>
|
||||
<object class="GtkScale" id="magnification">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<property name="width-request">150</property>
|
||||
<property name="draw-value">False</property>
|
||||
<property name="adjustment">adjustment</property>
|
||||
<marks>
|
||||
<mark value="1.0" position="bottom"/>
|
||||
<mark value="2.0" position="bottom"/>
|
||||
<mark value="3.0" position="bottom"/>
|
||||
<mark value="4.0" position="bottom"/>
|
||||
<mark value="5.0" position="bottom"/>
|
||||
</marks>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack-type">start</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="center">
|
||||
<object class="GtkLabel" id="object_title">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="visible">True</property>
|
||||
<property name="hscrollbar-policy">automatic</property>
|
||||
<property name="vscrollbar-policy">automatic</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="shadow-type">none</property>
|
||||
<child>
|
||||
<object class="GtkMagnifier" id="magnifier">
|
||||
<property name="visible">True</property>
|
||||
<property name="resize">True</property>
|
||||
<property name="magnification" bind-source="adjustment" bind-property="value" bind-flags="sync-create"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</template>
|
||||
<object class="GtkAdjustment" id="adjustment">
|
||||
<property name="lower">1.0</property>
|
||||
<property name="upper">5.0</property>
|
||||
<property name="page-size">0.0</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="value">2.0</property>
|
||||
</object>
|
||||
</interface>
|
||||
+2546
-2217
File diff suppressed because it is too large
Load Diff
+1381
-1130
File diff suppressed because it is too large
Load Diff
+7594
-5735
File diff suppressed because it is too large
Load Diff
+1603
-1018
File diff suppressed because it is too large
Load Diff
@@ -12,8 +12,8 @@ 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: 2014-12-06 22:05+0000\n"
|
||||
"PO-Revision-Date: 2014-12-07 15:02+0700\n"
|
||||
"POT-Creation-Date: 2014-12-30 22:06+0000\n"
|
||||
"PO-Revision-Date: 2014-12-31 15:48+0700\n"
|
||||
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
|
||||
"Language: vi\n"
|
||||
@@ -32,12 +32,12 @@ msgstr ""
|
||||
#: ../gdk/gdk.c:177
|
||||
#, c-format
|
||||
msgid "Error parsing option --gdk-debug"
|
||||
msgstr "Lỗi phân tích cú pháp của tuỳ chọn --gdk-debug"
|
||||
msgstr "Lỗi phân tích cú pháp của tùy chọn --gdk-debug"
|
||||
|
||||
#: ../gdk/gdk.c:197
|
||||
#, c-format
|
||||
msgid "Error parsing option --gdk-no-debug"
|
||||
msgstr "Lỗi phân tích cú pháp của tuỳ chọn --gdk-no-debug"
|
||||
msgstr "Lỗi phân tích cú pháp của tùy chọn --gdk-no-debug"
|
||||
|
||||
#. Description of --class=CLASS in --help output
|
||||
#: ../gdk/gdk.c:225
|
||||
@@ -105,7 +105,7 @@ msgstr "GL hỗ trợ tắt thông qua GDK_DEBUG"
|
||||
#: ../gdk/keyname-table.h:6843
|
||||
msgctxt "keyboard label"
|
||||
msgid "BackSpace"
|
||||
msgstr "Xoá lùi"
|
||||
msgstr "Xóa lùi"
|
||||
|
||||
#: ../gdk/keyname-table.h:6844
|
||||
msgctxt "keyboard label"
|
||||
@@ -435,13 +435,14 @@ msgstr "Tạm ngưng"
|
||||
|
||||
#: ../gdk/mir/gdkmirwindowimpl.c:1308 ../gdk/mir/gdkmirwindowimpl.c:1318
|
||||
#: ../gdk/wayland/gdkglcontext-wayland.c:263
|
||||
#: ../gdk/wayland/gdkglcontext-wayland.c:273 ../gdk/x11/gdkglcontext-x11.c:697
|
||||
#: ../gdk/wayland/gdkglcontext-wayland.c:273
|
||||
#: ../gdk/win32/gdkglcontext-win32.c:527 ../gdk/x11/gdkglcontext-x11.c:700
|
||||
msgid "No available configurations for the given pixel format"
|
||||
msgstr "Không có cấu hình sẵn có nào dành cho định dạng điểm ảnh đã cho"
|
||||
|
||||
#: ../gdk/mir/gdkmirwindowimpl.c:1350
|
||||
#: ../gdk/wayland/gdkglcontext-wayland.c:306
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:1052
|
||||
#: ../gdk/win32/gdkglcontext-win32.c:505 ../gdk/x11/gdkglcontext-x11.c:1055
|
||||
msgid "No GL implementation is available"
|
||||
msgstr "Không có phần thực hiện GL"
|
||||
|
||||
@@ -452,10 +453,19 @@ msgstr "Hồ sơ GL lõi 3.2 không sẵn sàng trên EGL"
|
||||
|
||||
#: ../gdk/mir/gdkmirwindowimpl.c:1385
|
||||
#: ../gdk/wayland/gdkglcontext-wayland.c:341
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:1092 ../gdk/x11/gdkglcontext-x11.c:1136
|
||||
#: ../gdk/win32/gdkglcontext-win32.c:541 ../gdk/x11/gdkglcontext-x11.c:1095
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:1139
|
||||
msgid "Unable to create a GL context"
|
||||
msgstr "Không thể tạo ngữ cảnh GL"
|
||||
|
||||
#: ../gdk/win32/gdkglcontext-win32.c:514
|
||||
msgid ""
|
||||
"The WGL_ARB_create_context extension needed to create 3.2 core profiles is "
|
||||
"not available"
|
||||
msgstr ""
|
||||
"Phần mở rộng WGL_ARB_create_context cần thiết để tạo hồ sơ lõi 3.2 không sẵn "
|
||||
"có"
|
||||
|
||||
#. Description of --sync in --help output
|
||||
#: ../gdk/win32/gdkmain-win32.c:53
|
||||
msgid "Don't batch GDI requests"
|
||||
@@ -464,7 +474,7 @@ msgstr "Đừng gửi bó yêu cầu GDI"
|
||||
#. Description of --no-wintab in --help output
|
||||
#: ../gdk/win32/gdkmain-win32.c:55
|
||||
msgid "Don't use the Wintab API for tablet support"
|
||||
msgstr "Đừng dùng API Wintab để hỗ trợ phiến đồ họa"
|
||||
msgstr "Đừng dùng API Wintab để hỗ trợ bảng vẽ"
|
||||
|
||||
#. Description of --ignore-wintab in --help output
|
||||
#: ../gdk/win32/gdkmain-win32.c:57
|
||||
@@ -474,7 +484,7 @@ msgstr "Tương đương --no-wintab"
|
||||
#. Description of --use-wintab in --help output
|
||||
#: ../gdk/win32/gdkmain-win32.c:59
|
||||
msgid "Do use the Wintab API [default]"
|
||||
msgstr "Dùng API WIntab [mặc định]"
|
||||
msgstr "Dùng API Wintab [mặc định]"
|
||||
|
||||
#. Description of --max-colors=COLORS in --help output
|
||||
#: ../gdk/win32/gdkmain-win32.c:61
|
||||
@@ -502,12 +512,12 @@ msgid "Opening %d Item"
|
||||
msgid_plural "Opening %d Items"
|
||||
msgstr[0] "Đang mở %d mục"
|
||||
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:726
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:729
|
||||
#, c-format
|
||||
msgid "No available configurations for the given RGBA pixel format"
|
||||
msgstr "Không có cấu hình sẵn có cho định dạng điểm ảnh RGBA"
|
||||
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:1061
|
||||
#: ../gdk/x11/gdkglcontext-x11.c:1064
|
||||
msgid ""
|
||||
"The GLX_ARB_create_context_profile extension needed to create 3.2 core "
|
||||
"profiles is not available"
|
||||
@@ -641,7 +651,7 @@ msgstr "_CD-ROM"
|
||||
#: ../gtk/a11y/gtkimageaccessible.c:57 ../gtk/deprecated/gtkstock.c:346
|
||||
msgctxt "Stock label"
|
||||
msgid "_Clear"
|
||||
msgstr "_Xoá trắng"
|
||||
msgstr "_Xóa trắng"
|
||||
|
||||
#: ../gtk/a11y/gtkimageaccessible.c:58 ../gtk/deprecated/gtkstock.c:347
|
||||
msgctxt "Stock label"
|
||||
@@ -654,7 +664,7 @@ msgstr "Thu nhỏ"
|
||||
|
||||
#: ../gtk/a11y/gtkimageaccessible.c:60 ../gtk/gtkheaderbar.c:458
|
||||
msgid "Maximize"
|
||||
msgstr "Phóng to hết cỡ "
|
||||
msgstr "Phóng to hết cỡ"
|
||||
|
||||
#: ../gtk/a11y/gtkimageaccessible.c:61 ../gtk/gtkheaderbar.c:458
|
||||
msgid "Restore"
|
||||
@@ -673,7 +683,7 @@ msgstr "Cắ_t"
|
||||
#: ../gtk/a11y/gtkimageaccessible.c:64 ../gtk/deprecated/gtkstock.c:352
|
||||
msgctxt "Stock label"
|
||||
msgid "_Delete"
|
||||
msgstr "_Xoá"
|
||||
msgstr "_Xóa"
|
||||
|
||||
#: ../gtk/a11y/gtkimageaccessible.c:65 ../gtk/deprecated/gtkstock.c:334
|
||||
msgctxt "Stock label"
|
||||
@@ -1205,7 +1215,7 @@ msgstr ""
|
||||
#: ../gtk/gtkmessagedialog.c:957 ../gtk/gtkmountoperation.c:543
|
||||
#: ../gtk/gtkpagesetupunixdialog.c:196 ../gtk/gtkprintbackend.c:763
|
||||
#: ../gtk/gtkprinteroptionwidget.c:545 ../gtk/gtkprintunixdialog.c:665
|
||||
#: ../gtk/gtkprintunixdialog.c:733 ../gtk/gtkwindow.c:11811
|
||||
#: ../gtk/gtkprintunixdialog.c:733 ../gtk/gtkwindow.c:11844
|
||||
#: ../gtk/inspector/css-editor.c:199 ../gtk/ui/gtkappchooserdialog.ui.h:2
|
||||
#: ../gtk/ui/gtkassistant.ui.h:5 ../gtk/ui/gtkcolorchooserdialog.ui.h:2
|
||||
#: ../gtk/ui/gtkfontchooserdialog.ui.h:2
|
||||
@@ -1257,7 +1267,7 @@ msgstr "Á_p dụng"
|
||||
|
||||
#: ../gtk/deprecated/gtkfontsel.c:1698 ../gtk/gtkmessagedialog.c:936
|
||||
#: ../gtk/gtkmessagedialog.c:958 ../gtk/gtkprintbackend.c:764
|
||||
#: ../gtk/gtkwindow.c:11812 ../gtk/inspector/classes-list.c:127
|
||||
#: ../gtk/gtkwindow.c:11845 ../gtk/inspector/classes-list.c:127
|
||||
msgid "_OK"
|
||||
msgstr "_OK"
|
||||
|
||||
@@ -1465,45 +1475,45 @@ msgstr "GNU Lesser General Public License, chỉ phiên bản 2.1"
|
||||
msgid "GNU Lesser General Public License, version 3 only"
|
||||
msgstr "GNU Lesser General Public License, chỉ phiên bản 3"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:701
|
||||
#: ../gtk/gtkaboutdialog.c:699
|
||||
msgid "C_redits"
|
||||
msgstr "Công t_rạng"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:709
|
||||
#: ../gtk/gtkaboutdialog.c:707
|
||||
msgid "_License"
|
||||
msgstr "Giấy _phép"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:718 ../gtk/gtkcustompaperunixdialog.c:329
|
||||
#: ../gtk/gtkaboutdialog.c:716 ../gtk/gtkcustompaperunixdialog.c:329
|
||||
#: ../gtk/gtkmessagedialog.c:940 ../gtk/ui/gtkassistant.ui.h:6
|
||||
msgid "_Close"
|
||||
msgstr "Đón_g"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:1007
|
||||
#: ../gtk/gtkaboutdialog.c:1005
|
||||
msgid "Could not show link"
|
||||
msgstr "Không thể hiện liên kết"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:1044
|
||||
#: ../gtk/gtkaboutdialog.c:1042
|
||||
msgid "Website"
|
||||
msgstr "Trang Web"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:1098 ../gtk/ui/gtkapplication-quartz.ui.h:1
|
||||
#: ../gtk/gtkaboutdialog.c:1092 ../gtk/ui/gtkapplication-quartz.ui.h:1
|
||||
#, c-format
|
||||
msgid "About %s"
|
||||
msgstr "Giới thiệu %s"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2342
|
||||
#: ../gtk/gtkaboutdialog.c:2316
|
||||
msgid "Created by"
|
||||
msgstr "Tác giả"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2345
|
||||
#: ../gtk/gtkaboutdialog.c:2319
|
||||
msgid "Documented by"
|
||||
msgstr "Tài liệu"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2355
|
||||
#: ../gtk/gtkaboutdialog.c:2329
|
||||
msgid "Translated by"
|
||||
msgstr "Bản dịch"
|
||||
|
||||
#: ../gtk/gtkaboutdialog.c:2360
|
||||
#: ../gtk/gtkaboutdialog.c:2334
|
||||
msgid "Artwork by"
|
||||
msgstr "Đồ họa"
|
||||
|
||||
@@ -1577,7 +1587,7 @@ msgctxt "keyboard label"
|
||||
msgid "Backslash"
|
||||
msgstr "Gạch chéo ngược"
|
||||
|
||||
#: ../gtk/gtkappchooserbutton.c:291
|
||||
#: ../gtk/gtkappchooserbutton.c:292
|
||||
msgid "Other application…"
|
||||
msgstr "Ứng dụng khác…"
|
||||
|
||||
@@ -1712,7 +1722,7 @@ msgstr "Thẻ không được quản lý: <%s>"
|
||||
#. * text direction of RTL and specify "calendar:YM", then the year
|
||||
#. * will appear to the right of the month.
|
||||
#.
|
||||
#: ../gtk/gtkcalendar.c:871
|
||||
#: ../gtk/gtkcalendar.c:798
|
||||
msgid "calendar:MY"
|
||||
msgstr "calendar:MY"
|
||||
|
||||
@@ -1720,7 +1730,7 @@ msgstr "calendar:MY"
|
||||
#. * first day of the week to calendar:week_start:1 if you want Monday
|
||||
#. * to be the first day of the week, and so on.
|
||||
#.
|
||||
#: ../gtk/gtkcalendar.c:909
|
||||
#: ../gtk/gtkcalendar.c:836
|
||||
msgid "calendar:week_start:0"
|
||||
msgstr "calendar:week_start:1"
|
||||
|
||||
@@ -1729,7 +1739,7 @@ msgstr "calendar:week_start:1"
|
||||
#. *
|
||||
#. * If you don't understand this, leave it as "2000"
|
||||
#.
|
||||
#: ../gtk/gtkcalendar.c:1936
|
||||
#: ../gtk/gtkcalendar.c:1862
|
||||
msgctxt "year measurement template"
|
||||
msgid "2000"
|
||||
msgstr "2000"
|
||||
@@ -1744,7 +1754,7 @@ msgstr "2000"
|
||||
#. * digits. That needs support from your system and locale definition
|
||||
#. * too.
|
||||
#.
|
||||
#: ../gtk/gtkcalendar.c:1967 ../gtk/gtkcalendar.c:2637
|
||||
#: ../gtk/gtkcalendar.c:1893 ../gtk/gtkcalendar.c:2571
|
||||
#, c-format
|
||||
msgctxt "calendar:day:digits"
|
||||
msgid "%d"
|
||||
@@ -1760,7 +1770,7 @@ msgstr "%d"
|
||||
#. * digits. That needs support from your system and locale definition
|
||||
#. * too.
|
||||
#.
|
||||
#: ../gtk/gtkcalendar.c:1999 ../gtk/gtkcalendar.c:2503
|
||||
#: ../gtk/gtkcalendar.c:1925 ../gtk/gtkcalendar.c:2437
|
||||
#, c-format
|
||||
msgctxt "calendar:week:digits"
|
||||
msgid "%d"
|
||||
@@ -1776,7 +1786,7 @@ msgstr "%d"
|
||||
#. *
|
||||
#. * "%Y" is appropriate for most locales.
|
||||
#.
|
||||
#: ../gtk/gtkcalendar.c:2290
|
||||
#: ../gtk/gtkcalendar.c:2216
|
||||
msgctxt "calendar year format"
|
||||
msgid "%Y"
|
||||
msgstr "%Y"
|
||||
@@ -2044,7 +2054,7 @@ msgstr "Trong suốt"
|
||||
|
||||
#: ../gtk/gtkcolorswatch.c:449
|
||||
msgid "_Customize"
|
||||
msgstr "_Tuỳ biến"
|
||||
msgstr "_Tùy biến"
|
||||
|
||||
#. Translate to the default units to use for presenting
|
||||
#. * lengths to the user. Translate to default:inch if you
|
||||
@@ -2110,30 +2120,30 @@ msgstr "_Phải:"
|
||||
msgid "Paper Margins"
|
||||
msgstr "Lề giấy"
|
||||
|
||||
#: ../gtk/gtkentry.c:9619 ../gtk/gtkentry.c:9772 ../gtk/gtklabel.c:6591
|
||||
#: ../gtk/gtktextview.c:8868 ../gtk/gtktextview.c:9056
|
||||
#: ../gtk/gtkentry.c:9626 ../gtk/gtkentry.c:9779 ../gtk/gtklabel.c:6591
|
||||
#: ../gtk/gtktextview.c:9018 ../gtk/gtktextview.c:9206
|
||||
msgid "Cu_t"
|
||||
msgstr "Cắ_t"
|
||||
|
||||
#: ../gtk/gtkentry.c:9623 ../gtk/gtkentry.c:9775 ../gtk/gtklabel.c:6592
|
||||
#: ../gtk/gtktextview.c:8872 ../gtk/gtktextview.c:9060
|
||||
#: ../gtk/gtkentry.c:9630 ../gtk/gtkentry.c:9782 ../gtk/gtklabel.c:6592
|
||||
#: ../gtk/gtktextview.c:9022 ../gtk/gtktextview.c:9210
|
||||
msgid "_Copy"
|
||||
msgstr "_Chép"
|
||||
|
||||
#: ../gtk/gtkentry.c:9627 ../gtk/gtkentry.c:9778 ../gtk/gtklabel.c:6593
|
||||
#: ../gtk/gtktextview.c:8874 ../gtk/gtktextview.c:9062
|
||||
#: ../gtk/gtkentry.c:9634 ../gtk/gtkentry.c:9785 ../gtk/gtklabel.c:6593
|
||||
#: ../gtk/gtktextview.c:9024 ../gtk/gtktextview.c:9212
|
||||
msgid "_Paste"
|
||||
msgstr "_Dán"
|
||||
|
||||
#: ../gtk/gtkentry.c:9630 ../gtk/gtklabel.c:6595 ../gtk/gtktextview.c:8877
|
||||
#: ../gtk/gtkentry.c:9637 ../gtk/gtklabel.c:6595 ../gtk/gtktextview.c:9027
|
||||
msgid "_Delete"
|
||||
msgstr "_Xóa bỏ"
|
||||
|
||||
#: ../gtk/gtkentry.c:9641 ../gtk/gtklabel.c:6604 ../gtk/gtktextview.c:8891
|
||||
#: ../gtk/gtkentry.c:9648 ../gtk/gtklabel.c:6604 ../gtk/gtktextview.c:9041
|
||||
msgid "Select _All"
|
||||
msgstr "Chọn tất _cả"
|
||||
|
||||
#: ../gtk/gtkentry.c:10837
|
||||
#: ../gtk/gtkentry.c:10848
|
||||
msgid "Caps Lock is on"
|
||||
msgstr "Caps Lock được bật"
|
||||
|
||||
@@ -2337,8 +2347,8 @@ msgstr "Chọn phông chữ"
|
||||
#. Translators, these strings are names for various 'standard' cover
|
||||
#. * pages that the printing system may support.
|
||||
#.
|
||||
#: ../gtk/gtkfontbutton.c:1182 ../gtk/inspector/general.c:221
|
||||
#: ../gtk/inspector/general.c:222 ../gtk/inspector/gestures.c:128
|
||||
#: ../gtk/gtkfontbutton.c:1182 ../gtk/inspector/general.c:225
|
||||
#: ../gtk/inspector/general.c:226 ../gtk/inspector/gestures.c:128
|
||||
#: ../gtk/inspector/prop-editor.c:1200 ../gtk/inspector/size-groups.c:252
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:5203
|
||||
msgid "None"
|
||||
@@ -2352,7 +2362,7 @@ msgstr "Gặp lỗi khi tạo ngữ cảnh OpenGL"
|
||||
msgid "Application menu"
|
||||
msgstr "Trình đơn ứng dụng"
|
||||
|
||||
#: ../gtk/gtkheaderbar.c:476 ../gtk/gtkwindow.c:8502
|
||||
#: ../gtk/gtkheaderbar.c:476 ../gtk/gtkwindow.c:8524
|
||||
msgid "Close"
|
||||
msgstr "Đóng"
|
||||
|
||||
@@ -2361,7 +2371,7 @@ msgstr "Đóng"
|
||||
msgid "Icon '%s' not present in theme %s"
|
||||
msgstr "Biểu tượng “%s” không có trong chủ đề (theme) %s"
|
||||
|
||||
#: ../gtk/gtkicontheme.c:4005 ../gtk/gtkicontheme.c:4372
|
||||
#: ../gtk/gtkicontheme.c:4010 ../gtk/gtkicontheme.c:4377
|
||||
msgid "Failed to load icon"
|
||||
msgstr "Gặp lỗi khi tải biểu tượng"
|
||||
|
||||
@@ -2472,18 +2482,18 @@ msgstr "URI không hợp lệ"
|
||||
|
||||
#: ../gtk/gtklockbutton.c:272 ../gtk/ui/gtklockbutton.ui.h:1
|
||||
msgid "Lock"
|
||||
msgstr "Khoá"
|
||||
msgstr "Khóa"
|
||||
|
||||
#: ../gtk/gtklockbutton.c:281 ../gtk/ui/gtklockbutton.ui.h:2
|
||||
msgid "Unlock"
|
||||
msgstr "Bỏ khoá"
|
||||
msgstr "Bỏ khóa"
|
||||
|
||||
#: ../gtk/gtklockbutton.c:290
|
||||
msgid ""
|
||||
"Dialog is unlocked.\n"
|
||||
"Click to prevent further changes"
|
||||
msgstr ""
|
||||
"Hộp thoại đã mở khoá.\n"
|
||||
"Hộp thoại đã mở khóa.\n"
|
||||
"Nhấn để ngăn thay đổi"
|
||||
|
||||
#: ../gtk/gtklockbutton.c:299
|
||||
@@ -2491,7 +2501,7 @@ msgid ""
|
||||
"Dialog is locked.\n"
|
||||
"Click to make changes"
|
||||
msgstr ""
|
||||
"Hộp thoại đã khoá.\n"
|
||||
"Hộp thoại đã khóa.\n"
|
||||
"Nhấn để có thể thay đổi"
|
||||
|
||||
#: ../gtk/gtklockbutton.c:308
|
||||
@@ -2525,7 +2535,7 @@ msgstr "Các cờ gỡ lỗi GTK+ cần đặt"
|
||||
#. Description of --gtk-no-debug=FLAGS in --help output
|
||||
#: ../gtk/gtkmain.c:463
|
||||
msgid "GTK+ debugging flags to unset"
|
||||
msgstr "Các cờ gỡ lỗi GTK+ cần bỏ đặt"
|
||||
msgstr "Các cờ gỡ lỗi GTK+ cần xóa"
|
||||
|
||||
#: ../gtk/gtkmain.c:765
|
||||
#, c-format
|
||||
@@ -2646,12 +2656,12 @@ msgstr "Z Shell"
|
||||
msgid "Cannot end process with PID %d: %s"
|
||||
msgstr "Không thể chấm dứt tiến trình có PID %d: %s"
|
||||
|
||||
#: ../gtk/gtknotebook.c:5130 ../gtk/gtknotebook.c:7858
|
||||
#: ../gtk/gtknotebook.c:5128 ../gtk/gtknotebook.c:7856
|
||||
#, c-format
|
||||
msgid "Page %u"
|
||||
msgstr "Trang %u"
|
||||
|
||||
#: ../gtk/gtkpagesetup.c:644 ../gtk/gtkpapersize.c:985
|
||||
#: ../gtk/gtkpagesetup.c:652 ../gtk/gtkpapersize.c:985
|
||||
#: ../gtk/gtkpapersize.c:1025
|
||||
msgid "Not a valid page setup file"
|
||||
msgstr "Không phải một tập tin cài đặt trang hợp lệ"
|
||||
@@ -2710,7 +2720,7 @@ msgstr "Các tập tin mới dùng gần đây"
|
||||
|
||||
#: ../gtk/gtkplacessidebar.c:968
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
msgstr "Thư mục riêng"
|
||||
|
||||
#: ../gtk/gtkplacessidebar.c:970
|
||||
msgid "Open your personal folder"
|
||||
@@ -2807,11 +2817,11 @@ msgstr "_Dừng ổ nhiều đĩa"
|
||||
#. stop() for type G_DRIVE_START_STOP_TYPE_PASSWORD is normally not used
|
||||
#: ../gtk/gtkplacessidebar.c:2279
|
||||
msgid "_Unlock Drive"
|
||||
msgstr "_Mở khoá ổ đĩa"
|
||||
msgstr "_Mở khóa ổ đĩa"
|
||||
|
||||
#: ../gtk/gtkplacessidebar.c:2280
|
||||
msgid "_Lock Drive"
|
||||
msgstr "_Khoá ổ đĩa"
|
||||
msgstr "_Khóa ổ đĩa"
|
||||
|
||||
#: ../gtk/gtkplacessidebar.c:2309 ../gtk/gtkplacessidebar.c:3205
|
||||
#, c-format
|
||||
@@ -2916,7 +2926,7 @@ msgstr "%s yêu cầu #%d"
|
||||
#: ../gtk/gtkprintoperation.c:1777
|
||||
msgctxt "print operation status"
|
||||
msgid "Initial state"
|
||||
msgstr "Tình trạng đầu tiên"
|
||||
msgstr "Tình trạng khởi tạo"
|
||||
|
||||
#: ../gtk/gtkprintoperation.c:1778
|
||||
msgctxt "print operation status"
|
||||
@@ -3150,7 +3160,7 @@ msgstr "Không thể gỡ bỏ mục"
|
||||
|
||||
#: ../gtk/gtkrecentchooserdefault.c:1608
|
||||
msgid "Could not clear list"
|
||||
msgstr "Không thể xoá danh sách"
|
||||
msgstr "Không thể xóa danh sách"
|
||||
|
||||
#: ../gtk/gtkrecentchooserdefault.c:1692
|
||||
msgid "Copy _Location"
|
||||
@@ -3216,15 +3226,15 @@ msgctxt "recent menu label"
|
||||
msgid "%d. %s"
|
||||
msgstr "%d. %s"
|
||||
|
||||
#: ../gtk/gtkrecentmanager.c:1029 ../gtk/gtkrecentmanager.c:1042
|
||||
#: ../gtk/gtkrecentmanager.c:1179 ../gtk/gtkrecentmanager.c:1189
|
||||
#: ../gtk/gtkrecentmanager.c:1241 ../gtk/gtkrecentmanager.c:1250
|
||||
#: ../gtk/gtkrecentmanager.c:1265
|
||||
#: ../gtk/gtkrecentmanager.c:1042 ../gtk/gtkrecentmanager.c:1055
|
||||
#: ../gtk/gtkrecentmanager.c:1192 ../gtk/gtkrecentmanager.c:1202
|
||||
#: ../gtk/gtkrecentmanager.c:1254 ../gtk/gtkrecentmanager.c:1263
|
||||
#: ../gtk/gtkrecentmanager.c:1278
|
||||
#, c-format
|
||||
msgid "Unable to find an item with URI '%s'"
|
||||
msgstr "Không thể tìm thấy mục có URI “%s”"
|
||||
|
||||
#: ../gtk/gtkrecentmanager.c:2468
|
||||
#: ../gtk/gtkrecentmanager.c:2484
|
||||
#, c-format
|
||||
msgid "No registered application with name '%s' for item with URI '%s' found"
|
||||
msgstr "Không tìm thấy ứng dụng nào đăng ký tên “%s” cho mục có URI “%s”"
|
||||
@@ -3435,11 +3445,11 @@ msgctxt "volume percentage"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: ../gtk/gtkwindow.c:11799
|
||||
#: ../gtk/gtkwindow.c:11832
|
||||
msgid "Do you want to use GTK+ Inspector?"
|
||||
msgstr "Bạn có muốn dùng GTK+ Inspector?"
|
||||
|
||||
#: ../gtk/gtkwindow.c:11801
|
||||
#: ../gtk/gtkwindow.c:11834
|
||||
msgid ""
|
||||
"GTK+ Inspector is an interactive debugger that lets you explore and modify "
|
||||
"the internals of any GTK+ application. Using it may cause the application to "
|
||||
@@ -3448,7 +3458,7 @@ msgstr ""
|
||||
"Bộ điều tra GTK+ là một bộ gỡ lỗi tương tác, nó giúp bạn dò tìm và sửa bên "
|
||||
"trong một ứng dụng GTK+. Dùng nó có thể gây ra sự đổ vỡ của ứng dụng."
|
||||
|
||||
#: ../gtk/gtkwindow.c:11806
|
||||
#: ../gtk/gtkwindow.c:11839
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Đừng hiện lời nhắc này nữa"
|
||||
|
||||
@@ -3552,10 +3562,22 @@ msgid "GDK Backend"
|
||||
msgstr "Phần thực chạy GDK"
|
||||
|
||||
#: ../gtk/inspector/general.ui.h:4
|
||||
msgid "X display"
|
||||
msgstr "Hiển thị X"
|
||||
|
||||
#: ../gtk/inspector/general.ui.h:5
|
||||
msgid "RGBA visual"
|
||||
msgstr "RGBA trực quan"
|
||||
|
||||
#: ../gtk/inspector/general.ui.h:6
|
||||
msgid "Composited"
|
||||
msgstr "Phức hợp"
|
||||
|
||||
#: ../gtk/inspector/general.ui.h:7
|
||||
msgid "GL Version"
|
||||
msgstr "Phiên bản GL"
|
||||
|
||||
#: ../gtk/inspector/general.ui.h:5
|
||||
#: ../gtk/inspector/general.ui.h:8
|
||||
msgid "GL Vendor"
|
||||
msgstr "Đại diện GL"
|
||||
|
||||
@@ -3762,7 +3784,7 @@ msgstr "Thuộc tính"
|
||||
|
||||
#: ../gtk/inspector/prop-list.ui.h:4 ../gtk/inspector/signals-list.ui.h:6
|
||||
msgid "Defined At"
|
||||
msgstr "Được định nghĩa lúc"
|
||||
msgstr "Được định nghĩa tại"
|
||||
|
||||
#: ../gtk/inspector/resource-list.ui.h:1
|
||||
msgid "Path"
|
||||
@@ -3803,7 +3825,7 @@ msgstr "Theo dõi tín hiệu phát ra trên đối tượng này"
|
||||
|
||||
#: ../gtk/inspector/signals-list.ui.h:2
|
||||
msgid "Clear log"
|
||||
msgstr "Xoá nhật ký"
|
||||
msgstr "Xóa nhật ký"
|
||||
|
||||
#: ../gtk/inspector/signals-list.ui.h:4
|
||||
msgid "Connected"
|
||||
@@ -3867,19 +3889,19 @@ msgstr "Bật thống kê bằng GOBJECT_DEBUG=instance-count"
|
||||
msgid "Location"
|
||||
msgstr "Địa điểm"
|
||||
|
||||
#: ../gtk/inspector/visual.c:270 ../gtk/inspector/visual.c:296
|
||||
#: ../gtk/inspector/visual.c:273 ../gtk/inspector/visual.c:299
|
||||
msgid "Theme is hardcoded by GTK_THEME"
|
||||
msgstr "Chủ đề bị có định do GTK_THEME"
|
||||
|
||||
#: ../gtk/inspector/visual.c:414
|
||||
#: ../gtk/inspector/visual.c:510
|
||||
msgid "Backend does not support window scaling"
|
||||
msgstr "Phần ứng dụng chạy phía sau không hỗ trợ co dãn cửa sổ"
|
||||
|
||||
#: ../gtk/inspector/visual.c:453
|
||||
#: ../gtk/inspector/visual.c:549
|
||||
msgid "Setting is hardcoded by GTK_TEST_TOUCHSCREEN"
|
||||
msgstr "Cài đặt bị cố định bởi GTK_TEST_TOUCHSCREEN"
|
||||
|
||||
#: ../gtk/inspector/visual.c:518
|
||||
#: ../gtk/inspector/visual.c:614
|
||||
msgid ""
|
||||
"Not settable at runtime.\n"
|
||||
"Use GDK_GL=always or GDK_GL=disable instead"
|
||||
@@ -3887,8 +3909,8 @@ msgstr ""
|
||||
"Không thể đặt được lúc chạy.\n"
|
||||
"Dùng GDK_GL=always hay GDK_GL=disable để thay thế"
|
||||
|
||||
#: ../gtk/inspector/visual.c:532 ../gtk/inspector/visual.c:533
|
||||
#: ../gtk/inspector/visual.c:534
|
||||
#: ../gtk/inspector/visual.c:628 ../gtk/inspector/visual.c:629
|
||||
#: ../gtk/inspector/visual.c:630
|
||||
msgid "GL rendering is disabled"
|
||||
msgstr "Tô vẽ GL được bật"
|
||||
|
||||
@@ -3898,94 +3920,102 @@ msgid "GTK+ Theme"
|
||||
msgstr "Chủ đề GTK+"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:2
|
||||
msgid "Dark variant"
|
||||
msgstr "Biến thể đậm"
|
||||
msgid "Dark Variant"
|
||||
msgstr "Biến thể tối"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:3
|
||||
msgid "Cursor Theme"
|
||||
msgstr "Chủ đề biểu tượng"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:4
|
||||
msgid "Cursor Size"
|
||||
msgstr "Kích cỡ con trỏ"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:5
|
||||
msgid "Icon Theme"
|
||||
msgstr "Chủ đề biểu tượng"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:4 ../gtk/ui/gtkfontbutton.ui.h:1
|
||||
#: ../gtk/inspector/visual.ui.h:6 ../gtk/ui/gtkfontbutton.ui.h:1
|
||||
msgid "Font"
|
||||
msgstr "Phông chữ"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:5
|
||||
#: ../gtk/inspector/visual.ui.h:7
|
||||
msgid "Text Direction"
|
||||
msgstr "Hướng chữ"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:6
|
||||
#: ../gtk/inspector/visual.ui.h:8
|
||||
msgid "Left-to-Right"
|
||||
msgstr "Trái-sang-Phải"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:7
|
||||
#: ../gtk/inspector/visual.ui.h:9
|
||||
msgid "Right-to-Left"
|
||||
msgstr "Phải-sang-Trái"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:8
|
||||
#: ../gtk/inspector/visual.ui.h:10
|
||||
msgid "Window scaling"
|
||||
msgstr "Giãn cửa sổ"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:9
|
||||
#: ../gtk/inspector/visual.ui.h:11
|
||||
msgid "Animations"
|
||||
msgstr "Hoạt ảnh"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:10
|
||||
#: ../gtk/inspector/visual.ui.h:12
|
||||
msgid "Rendering Mode"
|
||||
msgstr "Chế độ tô vẽ"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:11
|
||||
#: ../gtk/inspector/visual.ui.h:13
|
||||
msgid "Similar"
|
||||
msgstr "Tương tự"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:12
|
||||
#: ../gtk/inspector/visual.ui.h:14
|
||||
msgid "Image"
|
||||
msgstr "Ảnh"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:13
|
||||
#: ../gtk/inspector/visual.ui.h:15
|
||||
msgid "Recording"
|
||||
msgstr "Thu"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:14
|
||||
#: ../gtk/inspector/visual.ui.h:16
|
||||
msgid "Show Graphic Updates"
|
||||
msgstr "Hiện các cập nhật đồ họa"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:15
|
||||
#: ../gtk/inspector/visual.ui.h:17
|
||||
msgid "Show Baselines"
|
||||
msgstr "Hiện đường cơ sở"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:16
|
||||
#: ../gtk/inspector/visual.ui.h:18
|
||||
msgid "Show Pixel Cache"
|
||||
msgstr "Hiện bộ đệm điểm ảnh"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:17
|
||||
#: ../gtk/inspector/visual.ui.h:19
|
||||
msgid "Simulate touchscreen"
|
||||
msgstr "Mô phỏng touchscreen"
|
||||
msgstr "Mô phỏng bút viết lên màn hình"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:18
|
||||
#: ../gtk/inspector/visual.ui.h:20
|
||||
msgid "GL Rendering"
|
||||
msgstr "Tô vẽ GL"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:19
|
||||
#: ../gtk/inspector/visual.ui.h:21
|
||||
msgid "When needed"
|
||||
msgstr "khi cần"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:20
|
||||
#: ../gtk/inspector/visual.ui.h:22
|
||||
msgid "Always"
|
||||
msgstr "Luôn"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:21
|
||||
#: ../gtk/inspector/visual.ui.h:23
|
||||
msgid "Disabled"
|
||||
msgstr "Bị tắt"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:22
|
||||
#: ../gtk/inspector/visual.ui.h:24
|
||||
msgid "Software GL"
|
||||
msgstr "Phần mềm GL"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:23
|
||||
#: ../gtk/inspector/visual.ui.h:25
|
||||
msgid "Software Surfaces"
|
||||
msgstr "Bề mặt phần mềm"
|
||||
|
||||
#: ../gtk/inspector/visual.ui.h:24
|
||||
#: ../gtk/inspector/visual.ui.h:26
|
||||
msgid "Texture Rectangle Extension"
|
||||
msgstr "Phần mở rộng tô phủ hình chữ nhật"
|
||||
|
||||
@@ -4033,7 +4063,7 @@ msgstr "Thứ bậc"
|
||||
msgid "Style Properties"
|
||||
msgstr "Thuộc tính kiểu dáng"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:15 ../gtk/inspector/window.ui.h:24
|
||||
#: ../gtk/inspector/window.ui.h:15 ../gtk/inspector/window.ui.h:25
|
||||
msgid "CSS"
|
||||
msgstr "CSS"
|
||||
|
||||
@@ -4054,22 +4084,26 @@ msgid "Gestures"
|
||||
msgstr "Động tác"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:21
|
||||
msgid "Magnifier"
|
||||
msgstr "Kính lúp"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:22
|
||||
msgid "Objects"
|
||||
msgstr "Đối tượng"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:22
|
||||
#: ../gtk/inspector/window.ui.h:23
|
||||
msgid "Statistics"
|
||||
msgstr "Thống kê"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:23
|
||||
#: ../gtk/inspector/window.ui.h:24
|
||||
msgid "Resources"
|
||||
msgstr "Tài nguyên"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:25
|
||||
#: ../gtk/inspector/window.ui.h:26
|
||||
msgid "Visual"
|
||||
msgstr "Trực quan"
|
||||
|
||||
#: ../gtk/inspector/window.ui.h:26 ../gtk/ui/gtkprintunixdialog.ui.h:24
|
||||
#: ../gtk/inspector/window.ui.h:27 ../gtk/ui/gtkprintunixdialog.ui.h:24
|
||||
msgid "General"
|
||||
msgstr "Chung"
|
||||
|
||||
@@ -4986,7 +5020,7 @@ msgstr "ROC 8k"
|
||||
#: ../gtk/updateiconcache.c:1386
|
||||
#, c-format
|
||||
msgid "Failed to write header\n"
|
||||
msgstr "Lỗi ghi phần đầu\n"
|
||||
msgstr "Gặp lỗi khi ghi phần đầu\n"
|
||||
|
||||
#: ../gtk/updateiconcache.c:1392
|
||||
#, c-format
|
||||
@@ -5455,7 +5489,7 @@ msgstr "Thông tin hóa đơn"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:5203
|
||||
msgid "Classified"
|
||||
msgstr "Xem riêng"
|
||||
msgstr "Cấp độ"
|
||||
|
||||
#: ../modules/printbackends/cups/gtkprintbackendcups.c:5203
|
||||
msgid "Confidential"
|
||||
@@ -5721,7 +5755,7 @@ msgstr "V"
|
||||
|
||||
#: ../gtk/ui/gtkcoloreditor.ui.h:8
|
||||
msgid "Saturation"
|
||||
msgstr "Độ bão hoà"
|
||||
msgstr "Độ bão hòa"
|
||||
|
||||
#: ../gtk/ui/gtkfilechooserwidget.ui.h:1
|
||||
msgid "Create Fo_lder"
|
||||
@@ -5813,7 +5847,7 @@ msgstr "Trạng thái"
|
||||
|
||||
#: ../gtk/ui/gtkprintunixdialog.ui.h:8
|
||||
msgid "Range"
|
||||
msgstr "Phạm vi"
|
||||
msgstr "Vùng"
|
||||
|
||||
#: ../gtk/ui/gtkprintunixdialog.ui.h:9
|
||||
msgid "_All Pages"
|
||||
@@ -5837,7 +5871,7 @@ msgid ""
|
||||
"Specify one or more page ranges,\n"
|
||||
" e.g. 1–3, 7, 11"
|
||||
msgstr ""
|
||||
"Hãy ghi rõ một hay nhiều vùng trang,\n"
|
||||
"Đưa ra một hay nhiều vùng trang,\n"
|
||||
" v.d. 1-3, 7, 11"
|
||||
|
||||
#: ../gtk/ui/gtkprintunixdialog.ui.h:17
|
||||
@@ -5951,7 +5985,7 @@ msgid ""
|
||||
" e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm"
|
||||
msgstr ""
|
||||
"Chỉ định giờ in,\n"
|
||||
" v.d. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
|
||||
" v.d. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
|
||||
|
||||
#: ../gtk/ui/gtkprintunixdialog.ui.h:67
|
||||
msgid "Time of print"
|
||||
|
||||
Reference in New Issue
Block a user