Compare commits
64 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 14562498ea | |||
| 6141b3f9f2 | |||
| caadc20ebc | |||
| fdc620cd56 | |||
| 59579576c6 | |||
| 641e280311 | |||
| 6bd7526ee7 | |||
| aaff396e48 | |||
| d6f6a52c00 | |||
| 84d5f0e64d | |||
| c88ec37037 | |||
| 68ff82cbf2 | |||
| 81776ea3f1 | |||
| 6b1ca8b887 | |||
| a08ee01c64 | |||
| 83b6423409 | |||
| 51a434ad4b | |||
| 1abb28ec65 | |||
| 66a7636b63 | |||
| 72afa5c2ee | |||
| 6cadef7ff6 | |||
| eea16f03f5 | |||
| 6f829d4450 | |||
| 70f6faf0f1 | |||
| c723eba135 | |||
| f00f2fdf0d | |||
| a14bb5578f | |||
| fb573e58f1 | |||
| 2250cd87eb | |||
| ddf7501acd | |||
| 543eae0d76 | |||
| fbbb3d1816 | |||
| 2a444e30f7 | |||
| 4ef0c34b65 | |||
| db28b8c600 | |||
| a17d6290e4 | |||
| b55aa154e6 | |||
| 03417cf864 | |||
| c0c1774b01 | |||
| 37774928bd | |||
| e7eaca9534 | |||
| ec32d8dade | |||
| 1c007e4196 | |||
| ca41bb440d | |||
| 5c5464a469 | |||
| ad05d84897 | |||
| 955aed9227 | |||
| c16acff3ea | |||
| 03213b9509 | |||
| bae97a4c6b | |||
| 7bb3d9557f | |||
| 9e9c0a133e | |||
| 8e032622c8 | |||
| 967cb56275 | |||
| 9c2a16fb3b | |||
| d0dc1f52cc | |||
| ae21e08782 | |||
| 9ba185b749 | |||
| dd1af9bbdd | |||
| 8c8e6588dc | |||
| 4a2b44467b | |||
| 5f52a2c8c9 | |||
| 40bb2a1616 | |||
| db8e6aa497 |
+2
-2
@@ -9,8 +9,8 @@
|
||||
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
|
||||
|
||||
m4_define([gtk_major_version], [3])
|
||||
m4_define([gtk_minor_version], [15])
|
||||
m4_define([gtk_micro_version], [12])
|
||||
m4_define([gtk_minor_version], [17])
|
||||
m4_define([gtk_micro_version], [0])
|
||||
m4_define([gtk_interface_age], [0])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
|
||||
+12
-9
@@ -33,8 +33,7 @@ static GtkWidget *
|
||||
create_menu (gint depth)
|
||||
{
|
||||
GtkWidget *menu;
|
||||
GtkWidget *menuitem;
|
||||
GSList *group;
|
||||
GtkRadioMenuItem *last_item;
|
||||
char buf[32];
|
||||
int i, j;
|
||||
|
||||
@@ -42,20 +41,24 @@ create_menu (gint depth)
|
||||
return NULL;
|
||||
|
||||
menu = gtk_menu_new ();
|
||||
group = NULL;
|
||||
last_item = NULL;
|
||||
|
||||
for (i = 0, j = 1; i < 5; i++, j++)
|
||||
{
|
||||
GtkWidget *menu_item;
|
||||
|
||||
sprintf (buf, "item %2d - %d", depth, j);
|
||||
menuitem = gtk_radio_menu_item_new_with_label (group, buf);
|
||||
group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (menuitem));
|
||||
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
|
||||
gtk_widget_show (menuitem);
|
||||
menu_item = gtk_radio_menu_item_new_with_label_from_widget (NULL, buf);
|
||||
gtk_radio_menu_item_join_group (GTK_RADIO_MENU_ITEM (menu_item), last_item);
|
||||
last_item = GTK_RADIO_MENU_ITEM (menu_item);
|
||||
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
|
||||
gtk_widget_show (menu_item);
|
||||
if (i == 3)
|
||||
gtk_widget_set_sensitive (menuitem, FALSE);
|
||||
gtk_widget_set_sensitive (menu_item, FALSE);
|
||||
|
||||
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (depth - 1));
|
||||
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), create_menu (depth - 1));
|
||||
}
|
||||
|
||||
return menu;
|
||||
|
||||
@@ -467,6 +467,10 @@
|
||||
<title>Index of new symbols in 3.16</title>
|
||||
<xi:include href="xml/api-index-3.16.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
<index id="api-index-3-18" role="3.18">
|
||||
<title>Index of new symbols in 3.18</title>
|
||||
<xi:include href="xml/api-index-3.18.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
|
||||
|
||||
@@ -2771,6 +2771,7 @@ gtk_radio_menu_item_new_with_label_from_widget
|
||||
gtk_radio_menu_item_new_with_mnemonic_from_widget
|
||||
gtk_radio_menu_item_set_group
|
||||
gtk_radio_menu_item_get_group
|
||||
gtk_radio_menu_item_join_group
|
||||
<SUBSECTION Standard>
|
||||
GTK_RADIO_MENU_ITEM
|
||||
GTK_IS_RADIO_MENU_ITEM
|
||||
|
||||
+4
-3
@@ -52,7 +52,8 @@ get_vertex_type_name (int type)
|
||||
}
|
||||
|
||||
static guint
|
||||
create_shader (int type, const char const *code)
|
||||
create_shader (int type,
|
||||
const char *code)
|
||||
{
|
||||
guint shader;
|
||||
int status;
|
||||
@@ -85,8 +86,8 @@ create_shader (int type, const char const *code)
|
||||
|
||||
static void
|
||||
make_program (GdkGLContextProgram *program,
|
||||
const char const *vertex_shader_code,
|
||||
const char const *fragment_shader_code)
|
||||
const char *vertex_shader_code,
|
||||
const char *fragment_shader_code)
|
||||
{
|
||||
guint vertex_shader, fragment_shader;
|
||||
int status;
|
||||
|
||||
@@ -142,6 +142,16 @@
|
||||
*/
|
||||
#define GDK_VERSION_3_16 (G_ENCODE_VERSION (3, 16))
|
||||
|
||||
/**
|
||||
* GDK_VERSION_3_18:
|
||||
*
|
||||
* A macro that evaluates to the 3.18 version of GDK, in a format
|
||||
* that can be used by the C pre-processor.
|
||||
*
|
||||
* Since: 3.18
|
||||
*/
|
||||
#define GDK_VERSION_3_18 (G_ENCODE_VERSION (3, 18))
|
||||
|
||||
/* evaluates to the current stable version; for development cycles,
|
||||
* this means the next stable target
|
||||
*/
|
||||
@@ -340,5 +350,19 @@
|
||||
# define GDK_AVAILABLE_IN_3_16 _GDK_EXTERN
|
||||
#endif
|
||||
|
||||
#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_18
|
||||
# define GDK_DEPRECATED_IN_3_18 GDK_DEPRECATED
|
||||
# define GDK_DEPRECATED_IN_3_18_FOR(f) GDK_DEPRECATED_FOR(f)
|
||||
#else
|
||||
# define GDK_DEPRECATED_IN_3_18 _GDK_EXTERN
|
||||
# define GDK_DEPRECATED_IN_3_18_FOR(f) _GDK_EXTERN
|
||||
#endif
|
||||
|
||||
#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_18
|
||||
# define GDK_AVAILABLE_IN_3_18 GDK_UNAVAILABLE(3, 18)
|
||||
#else
|
||||
# define GDK_AVAILABLE_IN_3_18 _GDK_EXTERN
|
||||
#endif
|
||||
|
||||
#endif /* __GDK_VERSION_MACROS_H__ */
|
||||
|
||||
|
||||
+3
-3
@@ -30,13 +30,13 @@
|
||||
#define GDK_TYPE_MIR_WINDOW (gdk_mir_window_get_type ())
|
||||
#define GDK_IS_MIR_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_MIR_WINDOW))
|
||||
|
||||
GDK_AVAILABLE_IN_3_10
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
GType gdk_mir_display_get_type (void);
|
||||
|
||||
GDK_AVAILABLE_IN_3_10
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
MirConnection *gdk_mir_display_get_mir_connection (GdkDisplay *display);
|
||||
|
||||
GDK_AVAILABLE_IN_3_10
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
GType gdk_mir_window_get_type (void);
|
||||
|
||||
GDK_AVAILABLE_IN_3_16
|
||||
|
||||
@@ -461,7 +461,6 @@ gdk_x11_gl_context_texture_from_surface (GdkGLContext *paint_context,
|
||||
|
||||
glGenTextures (1, &texture_id);
|
||||
glBindTexture (target, texture_id);
|
||||
glEnable (target);
|
||||
|
||||
glTexParameteri (target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
||||
glTexParameteri (target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
||||
@@ -526,7 +525,6 @@ gdk_x11_gl_context_texture_from_surface (GdkGLContext *paint_context,
|
||||
glXReleaseTexImageEXT (glx_pixmap->display, glx_pixmap->drawable,
|
||||
GLX_FRONT_LEFT_EXT);
|
||||
|
||||
glDisable (target);
|
||||
glDeleteTextures (1, &texture_id);
|
||||
|
||||
glx_pixmap_destroy(glx_pixmap);
|
||||
|
||||
@@ -509,6 +509,11 @@ gtk_text_view_accessible_get_character_extents (AtkText *text,
|
||||
GdkWindow *window;
|
||||
gint x_widget, y_widget, x_window, y_window;
|
||||
|
||||
*x = 0;
|
||||
*y = 0;
|
||||
*width = 0;
|
||||
*height = 0;
|
||||
|
||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
|
||||
if (widget == NULL)
|
||||
return;
|
||||
@@ -519,6 +524,9 @@ gtk_text_view_accessible_get_character_extents (AtkText *text,
|
||||
gtk_text_view_get_iter_location (view, &iter, &rectangle);
|
||||
|
||||
window = gtk_text_view_get_window (view, GTK_TEXT_WINDOW_WIDGET);
|
||||
if (window == NULL)
|
||||
return;
|
||||
|
||||
gdk_window_get_origin (window, &x_widget, &y_widget);
|
||||
|
||||
*height = rectangle.height;
|
||||
|
||||
@@ -1111,7 +1111,7 @@ gtk_font_selection_size_activate (GtkWidget *w,
|
||||
const gchar *text;
|
||||
|
||||
text = gtk_entry_get_text (GTK_ENTRY (priv->size_entry));
|
||||
new_size = MAX (0.1, atof (text) * PANGO_SCALE + 0.5);
|
||||
new_size = (int) MAX (0.1, atof (text) * PANGO_SCALE + 0.5);
|
||||
|
||||
if (priv->size != new_size)
|
||||
gtk_font_selection_set_size (fontsel, new_size);
|
||||
@@ -1130,7 +1130,7 @@ gtk_font_selection_size_focus_out (GtkWidget *w,
|
||||
const gchar *text;
|
||||
|
||||
text = gtk_entry_get_text (GTK_ENTRY (priv->size_entry));
|
||||
new_size = MAX (0.1, atof (text) * PANGO_SCALE + 0.5);
|
||||
new_size = (int) MAX (0.1, atof (text) * PANGO_SCALE + 0.5);
|
||||
|
||||
gtk_font_selection_set_size (fontsel, new_size);
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ struct _GtkHandleBoxPrivate
|
||||
{
|
||||
/* Properties */
|
||||
GtkPositionType handle_position;
|
||||
GtkPositionType snap_edge;
|
||||
gint snap_edge;
|
||||
GtkShadowType shadow_type;
|
||||
gboolean child_detached;
|
||||
/* Properties */
|
||||
@@ -1051,7 +1051,7 @@ gtk_handle_box_get_snap_edge (GtkHandleBox *handle_box)
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_HANDLE_BOX (handle_box), (GtkPositionType)-1);
|
||||
|
||||
return handle_box->priv->snap_edge;
|
||||
return (GtkPositionType)handle_box->priv->snap_edge;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2945,17 +2945,17 @@ gtk_icon_factory_buildable_custom_tag_end (GtkBuildable *buildable,
|
||||
}
|
||||
if (source_data->icon_name)
|
||||
gtk_icon_source_set_icon_name (icon_source, source_data->icon_name);
|
||||
if (source_data->size != -1)
|
||||
if ((gint)source_data->size != -1)
|
||||
{
|
||||
gtk_icon_source_set_size (icon_source, source_data->size);
|
||||
gtk_icon_source_set_size_wildcarded (icon_source, FALSE);
|
||||
}
|
||||
if (source_data->direction != -1)
|
||||
if ((gint)source_data->direction != -1)
|
||||
{
|
||||
gtk_icon_source_set_direction (icon_source, source_data->direction);
|
||||
gtk_icon_source_set_direction_wildcarded (icon_source, FALSE);
|
||||
}
|
||||
if (source_data->state != -1)
|
||||
if ((gint)source_data->state != -1)
|
||||
{
|
||||
gtk_icon_source_set_state (icon_source, source_data->state);
|
||||
gtk_icon_source_set_state_wildcarded (icon_source, FALSE);
|
||||
|
||||
@@ -95,7 +95,7 @@ real_add (const GtkStockItem *items,
|
||||
gpointer old_key, old_value;
|
||||
const GtkStockItem *item = &items[i];
|
||||
|
||||
if (replace_primary && item->modifier == PRIMARY_MODIFIER)
|
||||
if (replace_primary && (guint)item->modifier == PRIMARY_MODIFIER)
|
||||
{
|
||||
item = gtk_stock_item_copy (item);
|
||||
((GtkStockItem *)item)->modifier = (NON_STATIC_MASK |
|
||||
|
||||
+84
-43
@@ -25,6 +25,32 @@
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* Gets the size for a single box blur.
|
||||
*
|
||||
* Much of this, the 3 * sqrt(2 * pi) / 4, is the known value for
|
||||
* approximating a Gaussian using box blurs. This yields quite a good
|
||||
* approximation for a Gaussian. For more details, see:
|
||||
* http://www.w3.org/TR/SVG11/filters.html#feGaussianBlurElement
|
||||
* https://bugzilla.mozilla.org/show_bug.cgi?id=590039#c19
|
||||
*/
|
||||
#define GAUSSIAN_SCALE_FACTOR ((3.0 * sqrt(2 * G_PI) / 4))
|
||||
|
||||
#define get_box_filter_size(radius) ((int)(GAUSSIAN_SCALE_FACTOR * (radius)))
|
||||
|
||||
/* Sadly, clang is picky about get_box_filter_size(2) not being a
|
||||
* constant expression, thus we have to use precomputed values.
|
||||
*/
|
||||
#define BOX_FILTER_SIZE_2 3
|
||||
#define BOX_FILTER_SIZE_3 5
|
||||
#define BOX_FILTER_SIZE_4 7
|
||||
#define BOX_FILTER_SIZE_5 9
|
||||
#define BOX_FILTER_SIZE_6 11
|
||||
#define BOX_FILTER_SIZE_7 13
|
||||
#define BOX_FILTER_SIZE_8 15
|
||||
#define BOX_FILTER_SIZE_9 16
|
||||
#define BOX_FILTER_SIZE_10 18
|
||||
|
||||
/* This applies a single box blur pass to a horizontal range of pixels;
|
||||
* since the box blur has the same weight for all pixels, we can
|
||||
* implement an efficient sliding window algorithm where we add
|
||||
@@ -60,18 +86,37 @@ blur_xspan (guchar *row,
|
||||
* only divide down after all three passes. (SSE parallel implementation
|
||||
* of the divide step is possible.)
|
||||
*/
|
||||
for (i = -d + offset; i < row_width + offset; i++)
|
||||
|
||||
#define BLUR_ROW_KERNEL(D) \
|
||||
for (i = -(D) + offset; i < row_width + offset; i++) \
|
||||
{ \
|
||||
if (i >= 0 && i < row_width) \
|
||||
sum += row[i]; \
|
||||
\
|
||||
if (i >= offset) \
|
||||
{ \
|
||||
if (i >= (D)) \
|
||||
sum -= row[i - (D)]; \
|
||||
\
|
||||
tmp_buffer[i - offset] = (sum + (D) / 2) / (D); \
|
||||
} \
|
||||
} \
|
||||
break;
|
||||
|
||||
/* We unroll the values for d for radius 2-10 to avoid a generic
|
||||
* divide operation (not radius 1, because its a no-op) */
|
||||
switch (d)
|
||||
{
|
||||
if (i >= 0 && i < row_width)
|
||||
sum += row[i];
|
||||
|
||||
if (i >= offset)
|
||||
{
|
||||
if (i >= d)
|
||||
sum -= row[i - d];
|
||||
|
||||
tmp_buffer[i - offset] = (sum + d / 2) / d;
|
||||
}
|
||||
case BOX_FILTER_SIZE_2: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_2);
|
||||
case BOX_FILTER_SIZE_3: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_3);
|
||||
case BOX_FILTER_SIZE_4: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_4);
|
||||
case BOX_FILTER_SIZE_5: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_5);
|
||||
case BOX_FILTER_SIZE_6: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_6);
|
||||
case BOX_FILTER_SIZE_7: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_7);
|
||||
case BOX_FILTER_SIZE_8: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_8);
|
||||
case BOX_FILTER_SIZE_9: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_9);
|
||||
case BOX_FILTER_SIZE_10: BLUR_ROW_KERNEL (BOX_FILTER_SIZE_10);
|
||||
default: BLUR_ROW_KERNEL (d);
|
||||
}
|
||||
|
||||
memcpy (row, tmp_buffer, row_width);
|
||||
@@ -140,45 +185,35 @@ flip_buffer (guchar *dst_buffer,
|
||||
#undef BLOCK_SIZE
|
||||
}
|
||||
|
||||
/*
|
||||
* Gets the size for a single box blur.
|
||||
*
|
||||
* Much of this, the 3 * sqrt(2 * pi) / 4, is the known value for
|
||||
* approximating a Gaussian using box blurs. This yields quite a good
|
||||
* approximation for a Gaussian. For more details, see:
|
||||
* http://www.w3.org/TR/SVG11/filters.html#feGaussianBlurElement
|
||||
* https://bugzilla.mozilla.org/show_bug.cgi?id=590039#c19
|
||||
*/
|
||||
#define GAUSSIAN_SCALE_FACTOR ((3.0 * sqrt(2 * G_PI) / 4))
|
||||
|
||||
static int
|
||||
get_box_filter_size (double radius)
|
||||
{
|
||||
return GAUSSIAN_SCALE_FACTOR * radius;
|
||||
}
|
||||
|
||||
static void
|
||||
_boxblur (guchar *buffer,
|
||||
int width,
|
||||
int height,
|
||||
int radius)
|
||||
_boxblur (guchar *buffer,
|
||||
int width,
|
||||
int height,
|
||||
int radius,
|
||||
GtkBlurFlags flags)
|
||||
{
|
||||
guchar *flipped_buffer;
|
||||
int d = get_box_filter_size (radius);
|
||||
|
||||
flipped_buffer = g_malloc (width * height);
|
||||
|
||||
/* Step 1: swap rows and columns */
|
||||
flip_buffer (flipped_buffer, buffer, width, height);
|
||||
if (flags & GTK_BLUR_Y)
|
||||
{
|
||||
/* Step 1: swap rows and columns */
|
||||
flip_buffer (flipped_buffer, buffer, width, height);
|
||||
|
||||
/* Step 2: blur rows (really columns) */
|
||||
blur_rows (flipped_buffer, buffer, height, width, d);
|
||||
/* Step 2: blur rows (really columns) */
|
||||
blur_rows (flipped_buffer, buffer, height, width, d);
|
||||
|
||||
/* Step 3: swap rows and columns */
|
||||
flip_buffer (buffer, flipped_buffer, height, width);
|
||||
/* Step 3: swap rows and columns */
|
||||
flip_buffer (buffer, flipped_buffer, height, width);
|
||||
}
|
||||
|
||||
/* Step 4: blur rows */
|
||||
blur_rows (buffer, flipped_buffer, width, height, d);
|
||||
if (flags & GTK_BLUR_X)
|
||||
{
|
||||
/* Step 4: blur rows */
|
||||
blur_rows (buffer, flipped_buffer, width, height, d);
|
||||
}
|
||||
|
||||
g_free (flipped_buffer);
|
||||
}
|
||||
@@ -192,7 +227,8 @@ _boxblur (guchar *buffer,
|
||||
*/
|
||||
void
|
||||
_gtk_cairo_blur_surface (cairo_surface_t* surface,
|
||||
double radius_d)
|
||||
double radius_d,
|
||||
GtkBlurFlags flags)
|
||||
{
|
||||
int radius = radius_d;
|
||||
|
||||
@@ -200,7 +236,12 @@ _gtk_cairo_blur_surface (cairo_surface_t* surface,
|
||||
g_return_if_fail (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE);
|
||||
g_return_if_fail (cairo_image_surface_get_format (surface) == CAIRO_FORMAT_A8);
|
||||
|
||||
if (radius == 0)
|
||||
/* The code doesn't actually do any blurring for radius 1, as it
|
||||
* ends up with box filter size 1 */
|
||||
if (radius <= 1)
|
||||
return;
|
||||
|
||||
if ((flags & (GTK_BLUR_X|GTK_BLUR_Y)) == 0)
|
||||
return;
|
||||
|
||||
/* Before we mess with the surface, execute any pending drawing. */
|
||||
@@ -209,7 +250,7 @@ _gtk_cairo_blur_surface (cairo_surface_t* surface,
|
||||
_boxblur (cairo_image_surface_get_data (surface),
|
||||
cairo_image_surface_get_stride (surface),
|
||||
cairo_image_surface_get_height (surface),
|
||||
radius);
|
||||
radius, flags);
|
||||
|
||||
/* Inform cairo we altered the surface contents. */
|
||||
cairo_surface_mark_dirty (surface);
|
||||
|
||||
@@ -29,8 +29,16 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef enum {
|
||||
GTK_BLUR_NONE = 0,
|
||||
GTK_BLUR_X = 1<<0,
|
||||
GTK_BLUR_Y = 1<<1,
|
||||
GTK_BLUR_REPEAT = 1<<2
|
||||
} GtkBlurFlags;
|
||||
|
||||
void _gtk_cairo_blur_surface (cairo_surface_t *surface,
|
||||
double radius);
|
||||
double radius,
|
||||
GtkBlurFlags flags);;
|
||||
int _gtk_cairo_blur_compute_pixels (double radius);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
+21
-41
@@ -1941,34 +1941,6 @@ gtk_container_queue_resize_handler (GtkContainer *container)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_gtk_container_queue_resize_internal (GtkContainer *container,
|
||||
gboolean invalidate_only)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
|
||||
g_return_if_fail (GTK_IS_CONTAINER (container));
|
||||
|
||||
widget = GTK_WIDGET (container);
|
||||
|
||||
do
|
||||
{
|
||||
_gtk_widget_set_alloc_needed (widget, TRUE);
|
||||
_gtk_size_request_cache_clear (_gtk_widget_peek_request_cache (widget));
|
||||
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
||||
if (GTK_IS_RESIZE_CONTAINER (widget))
|
||||
break;
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
||||
|
||||
widget = gtk_widget_get_parent (widget);
|
||||
}
|
||||
while (widget);
|
||||
|
||||
if (widget && !invalidate_only)
|
||||
gtk_container_queue_resize_handler (GTK_CONTAINER (widget));
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_container_queue_restyle (GtkContainer *container)
|
||||
{
|
||||
@@ -1999,20 +1971,28 @@ _gtk_container_queue_restyle (GtkContainer *container)
|
||||
void
|
||||
_gtk_container_queue_resize (GtkContainer *container)
|
||||
{
|
||||
_gtk_container_queue_resize_internal (container, FALSE);
|
||||
}
|
||||
GtkWidget *widget;
|
||||
|
||||
/**
|
||||
* _gtk_container_resize_invalidate:
|
||||
* @container: a #GtkContainer
|
||||
*
|
||||
* Invalidates cached sizes like _gtk_container_queue_resize() but doesn't
|
||||
* actually queue the resize container for resize.
|
||||
*/
|
||||
void
|
||||
_gtk_container_resize_invalidate (GtkContainer *container)
|
||||
{
|
||||
_gtk_container_queue_resize_internal (container, TRUE);
|
||||
g_return_if_fail (GTK_IS_CONTAINER (container));
|
||||
|
||||
widget = GTK_WIDGET (container);
|
||||
|
||||
do
|
||||
{
|
||||
_gtk_widget_set_alloc_needed (widget, TRUE);
|
||||
_gtk_size_request_cache_clear (_gtk_widget_peek_request_cache (widget));
|
||||
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
||||
if (GTK_IS_RESIZE_CONTAINER (widget))
|
||||
break;
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
||||
|
||||
widget = gtk_widget_get_parent (widget);
|
||||
}
|
||||
while (widget);
|
||||
|
||||
if (widget)
|
||||
gtk_container_queue_resize_handler (GTK_CONTAINER (widget));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -28,7 +28,6 @@ G_BEGIN_DECLS
|
||||
GList * _gtk_container_get_all_children (GtkContainer *container);
|
||||
void _gtk_container_queue_resize (GtkContainer *container);
|
||||
void _gtk_container_queue_restyle (GtkContainer *container);
|
||||
void _gtk_container_resize_invalidate (GtkContainer *container);
|
||||
void _gtk_container_clear_resize_widgets (GtkContainer *container);
|
||||
gchar* _gtk_container_child_composite_name (GtkContainer *container,
|
||||
GtkWidget *child);
|
||||
|
||||
@@ -333,7 +333,7 @@ static GtkCssValue font_variant_values[] = {
|
||||
GtkCssValue *
|
||||
_gtk_css_font_variant_value_new (PangoVariant font_variant)
|
||||
{
|
||||
g_return_val_if_fail (font_variant < G_N_ELEMENTS (font_variant_values), NULL);
|
||||
g_return_val_if_fail ((gint)font_variant < G_N_ELEMENTS (font_variant_values), NULL);
|
||||
|
||||
return _gtk_css_value_ref (&font_variant_values[font_variant]);
|
||||
}
|
||||
|
||||
+61
-20
@@ -297,7 +297,10 @@ static gboolean
|
||||
needs_blur (const GtkCssValue *shadow)
|
||||
{
|
||||
double radius = _gtk_css_number_value_get (shadow->radius, 0);
|
||||
if (radius == 0.0)
|
||||
|
||||
/* The code doesn't actually do any blurring for radius 1, as it
|
||||
* ends up with box filter size 1 */
|
||||
if (radius <= 1.0)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
@@ -307,12 +310,15 @@ static const cairo_user_data_key_t original_cr_key;
|
||||
|
||||
static cairo_t *
|
||||
gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow,
|
||||
cairo_t *cr)
|
||||
cairo_t *cr,
|
||||
GtkBlurFlags blur_flags)
|
||||
{
|
||||
cairo_rectangle_int_t clip_rect;
|
||||
cairo_surface_t *surface;
|
||||
cairo_t *blur_cr;
|
||||
gdouble radius, clip_radius;
|
||||
gboolean blur_x = (blur_flags & GTK_BLUR_X) != 0;
|
||||
gboolean blur_y = (blur_flags & GTK_BLUR_Y) != 0;
|
||||
|
||||
if (!needs_blur (shadow))
|
||||
return cr;
|
||||
@@ -322,12 +328,22 @@ gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow,
|
||||
radius = _gtk_css_number_value_get (shadow->radius, 0);
|
||||
clip_radius = _gtk_cairo_blur_compute_pixels (radius);
|
||||
|
||||
if (blur_flags & GTK_BLUR_REPEAT)
|
||||
{
|
||||
if (!blur_x)
|
||||
clip_rect.width = 1;
|
||||
if (!blur_y)
|
||||
clip_rect.height = 1;
|
||||
}
|
||||
|
||||
/* Create a larger surface to center the blur. */
|
||||
surface = cairo_surface_create_similar_image (cairo_get_target (cr),
|
||||
CAIRO_FORMAT_A8,
|
||||
clip_rect.width + 2 * clip_radius,
|
||||
clip_rect.height + 2 * clip_radius);
|
||||
cairo_surface_set_device_offset (surface, clip_radius - clip_rect.x, clip_radius - clip_rect.y);
|
||||
clip_rect.width + (blur_x ? 2 * clip_radius : 0),
|
||||
clip_rect.height + (blur_y ? 2 * clip_radius : 0));
|
||||
cairo_surface_set_device_offset (surface,
|
||||
(blur_x ? clip_radius : 0) - clip_rect.x,
|
||||
(blur_y ? clip_radius : 0) - clip_rect.y);
|
||||
blur_cr = cairo_create (surface);
|
||||
cairo_set_user_data (blur_cr, &original_cr_key, cairo_reference (cr), (cairo_destroy_func_t) cairo_destroy);
|
||||
|
||||
@@ -342,9 +358,24 @@ gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow,
|
||||
return blur_cr;
|
||||
}
|
||||
|
||||
void
|
||||
mask_surface_repeat (cairo_t *cr,
|
||||
cairo_surface_t *surface)
|
||||
{
|
||||
cairo_pattern_t *pattern;
|
||||
|
||||
pattern = cairo_pattern_create_for_surface (surface);
|
||||
cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
|
||||
|
||||
cairo_mask (cr, pattern);
|
||||
|
||||
cairo_pattern_destroy (pattern);
|
||||
}
|
||||
|
||||
static cairo_t *
|
||||
gtk_css_shadow_value_finish_drawing (const GtkCssValue *shadow,
|
||||
cairo_t *cr)
|
||||
cairo_t *cr,
|
||||
GtkBlurFlags blur_flags)
|
||||
{
|
||||
gdouble radius;
|
||||
cairo_t *original_cr;
|
||||
@@ -358,12 +389,16 @@ gtk_css_shadow_value_finish_drawing (const GtkCssValue *shadow,
|
||||
/* Blur the surface. */
|
||||
surface = cairo_get_target (cr);
|
||||
radius = _gtk_css_number_value_get (shadow->radius, 0);
|
||||
_gtk_cairo_blur_surface (surface, radius);
|
||||
_gtk_cairo_blur_surface (surface, radius, blur_flags);
|
||||
|
||||
gdk_cairo_set_source_rgba (original_cr, _gtk_css_rgba_value_get_rgba (shadow->color));
|
||||
cairo_mask_surface (original_cr, surface, 0, 0);
|
||||
if (blur_flags & GTK_BLUR_REPEAT)
|
||||
mask_surface_repeat (original_cr, surface);
|
||||
else
|
||||
cairo_mask_surface (original_cr, surface, 0, 0);
|
||||
|
||||
cairo_destroy (cr);
|
||||
|
||||
cairo_surface_destroy (surface);
|
||||
|
||||
return original_cr;
|
||||
@@ -425,7 +460,7 @@ make_blurred_pango_surface (cairo_t *existing_cr,
|
||||
cr = cairo_create (surface);
|
||||
cairo_move_to (cr, 0, 0);
|
||||
_gtk_pango_fill_layout (cr, layout);
|
||||
_gtk_cairo_blur_surface (surface, radius * x_scale);
|
||||
_gtk_cairo_blur_surface (surface, radius * x_scale, GTK_BLUR_X | GTK_BLUR_Y);
|
||||
|
||||
cairo_destroy (cr);
|
||||
|
||||
@@ -512,14 +547,14 @@ _gtk_css_shadow_value_paint_icon (const GtkCssValue *shadow,
|
||||
pattern = cairo_pattern_reference (cairo_get_source (cr));
|
||||
|
||||
gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
|
||||
cr = gtk_css_shadow_value_start_drawing (shadow, cr);
|
||||
cr = gtk_css_shadow_value_start_drawing (shadow, cr, GTK_BLUR_X | GTK_BLUR_Y);
|
||||
|
||||
cairo_translate (cr,
|
||||
_gtk_css_number_value_get (shadow->hoffset, 0),
|
||||
_gtk_css_number_value_get (shadow->voffset, 0));
|
||||
cairo_mask (cr, pattern);
|
||||
|
||||
cr = gtk_css_shadow_value_finish_drawing (shadow, cr);
|
||||
cr = gtk_css_shadow_value_finish_drawing (shadow, cr, GTK_BLUR_X | GTK_BLUR_Y);
|
||||
|
||||
cairo_restore (cr);
|
||||
cairo_pattern_destroy (pattern);
|
||||
@@ -567,16 +602,18 @@ draw_shadow (const GtkCssValue *shadow,
|
||||
cairo_t *cr,
|
||||
GtkRoundedBox *box,
|
||||
GtkRoundedBox *clip_box,
|
||||
gboolean blur)
|
||||
GtkBlurFlags blur_flags)
|
||||
{
|
||||
cairo_t *shadow_cr;
|
||||
gboolean do_blur;
|
||||
|
||||
if (has_empty_clip (cr))
|
||||
return;
|
||||
|
||||
gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
|
||||
if (blur)
|
||||
shadow_cr = gtk_css_shadow_value_start_drawing (shadow, cr);
|
||||
do_blur = (blur_flags & (GTK_BLUR_X | GTK_BLUR_Y)) != 0;
|
||||
if (do_blur)
|
||||
shadow_cr = gtk_css_shadow_value_start_drawing (shadow, cr, blur_flags);
|
||||
else
|
||||
shadow_cr = cr;
|
||||
|
||||
@@ -587,8 +624,8 @@ draw_shadow (const GtkCssValue *shadow,
|
||||
|
||||
cairo_fill (shadow_cr);
|
||||
|
||||
if (blur)
|
||||
gtk_css_shadow_value_finish_drawing (shadow, shadow_cr);
|
||||
if (do_blur)
|
||||
gtk_css_shadow_value_finish_drawing (shadow, shadow_cr, blur_flags);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -644,7 +681,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow,
|
||||
_gtk_rounded_box_shrink (&clip_box, -clip_radius, -clip_radius, -clip_radius, -clip_radius);
|
||||
|
||||
if (!needs_blur (shadow))
|
||||
draw_shadow (shadow, cr, &box, &clip_box, FALSE);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, GTK_BLUR_NONE);
|
||||
else
|
||||
{
|
||||
int i, x1, x2, y1, y2;
|
||||
@@ -714,7 +751,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow,
|
||||
/* Also clip with remaining to ensure we never draw any area twice */
|
||||
gdk_cairo_region (cr, remaining);
|
||||
cairo_clip (cr);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, TRUE);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, GTK_BLUR_X | GTK_BLUR_Y);
|
||||
cairo_restore (cr);
|
||||
|
||||
/* We drew the region, remove it from remaining */
|
||||
@@ -728,8 +765,11 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow,
|
||||
/* Then the sides */
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
GtkBlurFlags blur_flags = GTK_BLUR_REPEAT;
|
||||
|
||||
if (i == GTK_CSS_TOP || i == GTK_CSS_BOTTOM)
|
||||
{
|
||||
blur_flags |= GTK_BLUR_Y;
|
||||
x1 = floor (box.box.x - clip_radius);
|
||||
x2 = ceil (box.box.x + box.box.width + clip_radius);
|
||||
}
|
||||
@@ -746,6 +786,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow,
|
||||
|
||||
if (i == GTK_CSS_LEFT || i == GTK_CSS_RIGHT)
|
||||
{
|
||||
blur_flags |= GTK_BLUR_X;
|
||||
y1 = floor (box.box.y - clip_radius);
|
||||
y2 = ceil (box.box.y + box.box.height + clip_radius);
|
||||
}
|
||||
@@ -766,7 +807,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow,
|
||||
/* Also clip with remaining to ensure we never draw any area twice */
|
||||
gdk_cairo_region (cr, remaining);
|
||||
cairo_clip (cr);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, TRUE);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, blur_flags);
|
||||
cairo_restore (cr);
|
||||
|
||||
/* We drew the region, remove it from remaining */
|
||||
@@ -782,7 +823,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow,
|
||||
cairo_save (cr);
|
||||
gdk_cairo_region (cr, remaining);
|
||||
cairo_clip (cr);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, FALSE);
|
||||
draw_shadow (shadow, cr, &box, &clip_box, GTK_BLUR_NONE);
|
||||
cairo_restore (cr);
|
||||
|
||||
cairo_region_destroy (remaining);
|
||||
|
||||
@@ -54,6 +54,9 @@ gtk_css_widget_node_style_changed (GtkCssNode *cssnode,
|
||||
|
||||
node = GTK_CSS_WIDGET_NODE (cssnode);
|
||||
|
||||
if (node->widget)
|
||||
gtk_widget_clear_path (node->widget);
|
||||
|
||||
GTK_CSS_NODE_CLASS (gtk_css_widget_node_parent_class)->style_changed (cssnode, old_style, new_style);
|
||||
|
||||
diff = gtk_css_style_get_difference (new_style, old_style);
|
||||
|
||||
+26
-10
@@ -228,6 +228,8 @@ static gboolean gtk_drag_dest_drop (GtkWidget *widget,
|
||||
gint x,
|
||||
gint y,
|
||||
guint time);
|
||||
static void gtk_drag_dest_set_widget (GtkDragDestInfo *info,
|
||||
GtkWidget *widget);
|
||||
|
||||
static GtkDragDestInfo * gtk_drag_get_dest_info (GdkDragContext *context,
|
||||
gboolean create);
|
||||
@@ -1638,7 +1640,7 @@ _gtk_drag_dest_handle_event (GtkWidget *toplevel,
|
||||
if (info->widget)
|
||||
{
|
||||
gtk_drag_dest_leave (info->widget, context, event->dnd.time);
|
||||
info->widget = NULL;
|
||||
gtk_drag_dest_set_widget (info, NULL);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1658,7 +1660,7 @@ _gtk_drag_dest_handle_event (GtkWidget *toplevel,
|
||||
if (info->widget)
|
||||
{
|
||||
gtk_drag_dest_leave (info->widget, context, event->dnd.time);
|
||||
info->widget = NULL;
|
||||
gtk_drag_dest_set_widget (info, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1690,7 +1692,7 @@ _gtk_drag_dest_handle_event (GtkWidget *toplevel,
|
||||
if (info->widget && !found)
|
||||
{
|
||||
gtk_drag_dest_leave (info->widget, context, event->dnd.time);
|
||||
info->widget = NULL;
|
||||
gtk_drag_dest_set_widget (info, NULL);
|
||||
}
|
||||
|
||||
/* Send a reply.
|
||||
@@ -1918,15 +1920,12 @@ gtk_drag_find_widget (GtkWidget *widget,
|
||||
found = callback (widget, context, x, y, time);
|
||||
|
||||
/* If so, send a "drag-leave" to the last widget */
|
||||
if (found)
|
||||
if (found && info->widget != widget)
|
||||
{
|
||||
if (info->widget && info->widget != widget)
|
||||
{
|
||||
gtk_drag_dest_leave (info->widget, context, time);
|
||||
}
|
||||
if (info->widget)
|
||||
gtk_drag_dest_leave (info->widget, context, time);
|
||||
|
||||
info->widget = widget;
|
||||
g_object_add_weak_pointer (G_OBJECT (widget), (gpointer *) &info->widget);
|
||||
gtk_drag_dest_set_widget (info, widget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2008,9 +2007,26 @@ gtk_drag_proxy_begin (GtkWidget *widget,
|
||||
dest_info->proxy_source = source_info;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_drag_dest_set_widget (GtkDragDestInfo *info,
|
||||
GtkWidget *widget)
|
||||
{
|
||||
if (info->widget)
|
||||
g_object_remove_weak_pointer (G_OBJECT (info->widget), (gpointer *) &info->widget);
|
||||
|
||||
info->widget = widget;
|
||||
|
||||
if (info->widget)
|
||||
g_object_add_weak_pointer (G_OBJECT (info->widget), (gpointer *) &info->widget);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_drag_dest_info_destroy (gpointer data)
|
||||
{
|
||||
GtkDragDestInfo *info = (GtkDragDestInfo *)data;
|
||||
|
||||
gtk_drag_dest_set_widget (info, NULL);
|
||||
|
||||
g_slice_free (GtkDragDestInfo, data);
|
||||
}
|
||||
|
||||
|
||||
@@ -3195,7 +3195,6 @@ realize_icon_info (GtkWidget *widget,
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_BUTTON1_MOTION_MASK |
|
||||
GDK_BUTTON3_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_ENTER_NOTIFY_MASK |
|
||||
GDK_LEAVE_NOTIFY_MASK);
|
||||
@@ -3314,7 +3313,6 @@ gtk_entry_realize (GtkWidget *widget)
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_BUTTON1_MOTION_MASK |
|
||||
GDK_BUTTON3_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_ENTER_NOTIFY_MASK |
|
||||
GDK_LEAVE_NOTIFY_MASK);
|
||||
|
||||
@@ -1033,11 +1033,12 @@ gtk_file_chooser_button_destroy (GtkWidget *widget)
|
||||
priv->dialog = NULL;
|
||||
}
|
||||
|
||||
if (priv->model && gtk_tree_model_get_iter_first (priv->model, &iter)) do
|
||||
if (priv->model && gtk_tree_model_get_iter_first (priv->model, &iter))
|
||||
{
|
||||
model_free_row_data (button, &iter);
|
||||
do
|
||||
model_free_row_data (button, &iter);
|
||||
while (gtk_tree_model_iter_next (priv->model, &iter));
|
||||
}
|
||||
while (gtk_tree_model_iter_next (priv->model, &iter));
|
||||
|
||||
if (priv->dnd_select_folder_cancellable)
|
||||
{
|
||||
|
||||
+1
-1
@@ -876,7 +876,7 @@ _gtk_icon_helper_get_size (GtkIconHelper *self,
|
||||
width = gdk_pixbuf_animation_get_width (self->priv->animation);
|
||||
height = gdk_pixbuf_animation_get_height (self->priv->animation);
|
||||
}
|
||||
else if (self->priv->icon_size != -1)
|
||||
else if (self->priv->icon_size != GTK_ICON_SIZE_INVALID)
|
||||
{
|
||||
ensure_icon_size (self, context, &width, &height);
|
||||
}
|
||||
|
||||
+90
-17
@@ -155,6 +155,9 @@ static void gtk_image_size_allocate (GtkWidget *widget,
|
||||
static void gtk_image_unmap (GtkWidget *widget);
|
||||
static void gtk_image_realize (GtkWidget *widget);
|
||||
static void gtk_image_unrealize (GtkWidget *widget);
|
||||
static void gtk_image_get_preferred_size (GtkImage *image,
|
||||
gint *width_out,
|
||||
gint *height_out);
|
||||
static void gtk_image_get_preferred_width (GtkWidget *widget,
|
||||
gint *minimum,
|
||||
gint *natural);
|
||||
@@ -934,8 +937,8 @@ gtk_image_set_from_file (GtkImage *image,
|
||||
priv = image->priv;
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (image));
|
||||
|
||||
gtk_image_clear (image);
|
||||
|
||||
gtk_image_reset (image);
|
||||
|
||||
if (filename == NULL)
|
||||
{
|
||||
@@ -948,9 +951,7 @@ gtk_image_set_from_file (GtkImage *image,
|
||||
|
||||
if (anim == NULL)
|
||||
{
|
||||
gtk_image_set_from_icon_name (image,
|
||||
"image-missing",
|
||||
DEFAULT_ICON_SIZE);
|
||||
gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
|
||||
g_object_thaw_notify (G_OBJECT (image));
|
||||
return;
|
||||
}
|
||||
@@ -971,7 +972,21 @@ gtk_image_set_from_file (GtkImage *image,
|
||||
g_object_unref (anim);
|
||||
|
||||
priv->filename = g_strdup (filename);
|
||||
|
||||
|
||||
if (gtk_widget_get_visible (GTK_WIDGET (image)))
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
gtk_image_get_preferred_size (image, &width, &height);
|
||||
if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
|
||||
height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (image));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (image));
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (image), "file");
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (image));
|
||||
}
|
||||
|
||||
@@ -1008,9 +1023,7 @@ gtk_image_set_from_resource (GtkImage *image,
|
||||
|
||||
if (animation == NULL)
|
||||
{
|
||||
gtk_image_set_from_icon_name (image,
|
||||
"image-missing",
|
||||
DEFAULT_ICON_SIZE);
|
||||
gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
|
||||
g_object_thaw_notify (G_OBJECT (image));
|
||||
return;
|
||||
}
|
||||
@@ -1046,18 +1059,29 @@ gtk_image_set_from_pixbuf (GtkImage *image,
|
||||
GtkImagePrivate *priv;
|
||||
|
||||
g_return_if_fail (GTK_IS_IMAGE (image));
|
||||
g_return_if_fail (pixbuf == NULL ||
|
||||
GDK_IS_PIXBUF (pixbuf));
|
||||
g_return_if_fail (pixbuf == NULL || GDK_IS_PIXBUF (pixbuf));
|
||||
|
||||
priv = image->priv;
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (image));
|
||||
|
||||
gtk_image_clear (image);
|
||||
|
||||
gtk_image_reset (image);
|
||||
|
||||
if (pixbuf != NULL)
|
||||
_gtk_icon_helper_set_pixbuf (priv->icon_helper, pixbuf);
|
||||
|
||||
if (gtk_widget_get_visible (GTK_WIDGET (image)))
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
gtk_image_get_preferred_size (image, &width, &height);
|
||||
if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
|
||||
height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (image));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (image));
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (image), "pixbuf");
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (image));
|
||||
@@ -1171,7 +1195,7 @@ gtk_image_set_from_animation (GtkImage *image,
|
||||
if (animation)
|
||||
g_object_ref (animation);
|
||||
|
||||
gtk_image_clear (image);
|
||||
gtk_image_reset (image);
|
||||
|
||||
if (animation != NULL)
|
||||
{
|
||||
@@ -1179,6 +1203,18 @@ gtk_image_set_from_animation (GtkImage *image,
|
||||
g_object_unref (animation);
|
||||
}
|
||||
|
||||
if (gtk_widget_get_visible (GTK_WIDGET (image)))
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
gtk_image_get_preferred_size (image, &width, &height);
|
||||
if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
|
||||
height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (image));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (image));
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (image), "pixbuf-animation");
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (image));
|
||||
@@ -1209,7 +1245,8 @@ gtk_image_set_from_icon_name (GtkImage *image,
|
||||
g_object_freeze_notify (G_OBJECT (image));
|
||||
|
||||
new_name = g_strdup (icon_name);
|
||||
gtk_image_clear (image);
|
||||
|
||||
gtk_image_reset (image);
|
||||
|
||||
if (new_name)
|
||||
{
|
||||
@@ -1217,6 +1254,18 @@ gtk_image_set_from_icon_name (GtkImage *image,
|
||||
g_free (new_name);
|
||||
}
|
||||
|
||||
if (gtk_widget_get_visible (GTK_WIDGET (image)))
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
gtk_image_get_preferred_size (image, &width, &height);
|
||||
if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
|
||||
height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (image));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (image));
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (image), "icon-name");
|
||||
g_object_notify (G_OBJECT (image), "icon-size");
|
||||
|
||||
@@ -1249,7 +1298,7 @@ gtk_image_set_from_gicon (GtkImage *image,
|
||||
if (icon)
|
||||
g_object_ref (icon);
|
||||
|
||||
gtk_image_clear (image);
|
||||
gtk_image_reset (image);
|
||||
|
||||
if (icon)
|
||||
{
|
||||
@@ -1257,6 +1306,18 @@ gtk_image_set_from_gicon (GtkImage *image,
|
||||
g_object_unref (icon);
|
||||
}
|
||||
|
||||
if (gtk_widget_get_visible (GTK_WIDGET (image)))
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
gtk_image_get_preferred_size (image, &width, &height);
|
||||
if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
|
||||
height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (image));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (image));
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (image), "gicon");
|
||||
g_object_notify (G_OBJECT (image), "icon-size");
|
||||
|
||||
@@ -1287,7 +1348,7 @@ gtk_image_set_from_surface (GtkImage *image,
|
||||
if (surface)
|
||||
cairo_surface_reference (surface);
|
||||
|
||||
gtk_image_clear (image);
|
||||
gtk_image_reset (image);
|
||||
|
||||
if (surface)
|
||||
{
|
||||
@@ -1295,6 +1356,18 @@ gtk_image_set_from_surface (GtkImage *image,
|
||||
cairo_surface_destroy (surface);
|
||||
}
|
||||
|
||||
if (gtk_widget_get_visible (GTK_WIDGET (image)))
|
||||
{
|
||||
gint width, height;
|
||||
|
||||
gtk_image_get_preferred_size (image, &width, &height);
|
||||
if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
|
||||
height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (image));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (image));
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (image), "surface");
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (image));
|
||||
|
||||
+1
-2
@@ -5357,8 +5357,7 @@ gtk_label_create_window (GtkLabel *label)
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_LEAVE_NOTIFY_MASK |
|
||||
GDK_BUTTON_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK;
|
||||
GDK_POINTER_MOTION_MASK;
|
||||
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_NOREDIR;
|
||||
if (gtk_widget_is_sensitive (widget) && priv->select_info && priv->select_info->selectable)
|
||||
{
|
||||
|
||||
+1
-1
@@ -890,7 +890,7 @@ set_align_widget_pointer (GtkMenuButton *menu_button,
|
||||
|
||||
priv->align_widget = align_widget;
|
||||
|
||||
if (align_widget)
|
||||
if (priv->align_widget)
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->align_widget), (gpointer *) &priv->align_widget);
|
||||
}
|
||||
|
||||
|
||||
@@ -1436,13 +1436,10 @@ create_show_processes_dialog (GtkMountOperation *op,
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
|
||||
if (secondary != NULL)
|
||||
{
|
||||
s = g_strdup_printf ("<big><b>%s</b></big>\n\n%s", primary, secondary);
|
||||
}
|
||||
s = g_strdup_printf ("<big><b>%s</b></big>\n\n%s", primary, secondary);
|
||||
else
|
||||
{
|
||||
s = g_strdup_printf ("%s", primary);
|
||||
}
|
||||
s = g_strdup_printf ("%s", primary);
|
||||
|
||||
g_free (primary);
|
||||
label = gtk_label_new (NULL);
|
||||
gtk_label_set_markup (GTK_LABEL (label), s);
|
||||
@@ -1518,8 +1515,8 @@ create_show_processes_dialog (GtkMountOperation *op,
|
||||
priv->process_list_store = list_store;
|
||||
priv->process_tree_view = tree_view;
|
||||
/* set pointers to NULL when dialog goes away */
|
||||
g_object_add_weak_pointer (G_OBJECT (list_store), (gpointer *) &priv->process_list_store);
|
||||
g_object_add_weak_pointer (G_OBJECT (tree_view), (gpointer *) &priv->process_tree_view);
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->process_list_store), (gpointer *) &priv->process_list_store);
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->process_tree_view), (gpointer *) &priv->process_tree_view);
|
||||
|
||||
g_object_unref (list_store);
|
||||
g_object_ref (op);
|
||||
|
||||
+3
-2
@@ -24,6 +24,7 @@
|
||||
#if defined(HAVE__NL_PAPER_HEIGHT) && defined(HAVE__NL_PAPER_WIDTH)
|
||||
#include <langinfo.h>
|
||||
#endif
|
||||
#include <math.h>
|
||||
|
||||
#include "gtkpapersize.h"
|
||||
#include "gtkprintutils.h"
|
||||
@@ -442,8 +443,8 @@ gtk_paper_size_new_from_ipp (const gchar *ipp_name,
|
||||
x_dimension = _gtk_print_convert_from_mm (standard_names_offsets[i].width, GTK_UNIT_POINTS);
|
||||
y_dimension = _gtk_print_convert_from_mm (standard_names_offsets[i].height, GTK_UNIT_POINTS);
|
||||
|
||||
if (abs (x_dimension - width) <= PAPER_SIZE_TOLERANCE &&
|
||||
abs (y_dimension - height) <= PAPER_SIZE_TOLERANCE)
|
||||
if (fabs (x_dimension - width) <= PAPER_SIZE_TOLERANCE &&
|
||||
fabs (y_dimension - height) <= PAPER_SIZE_TOLERANCE)
|
||||
{
|
||||
display_name = g_strdup (g_dpgettext2 (GETTEXT_PACKAGE,
|
||||
"paper size",
|
||||
|
||||
@@ -1785,7 +1785,7 @@ _gtk_print_operation_set_status (GtkPrintOperation *op,
|
||||
NC_("print operation status", "Finished with error")
|
||||
};
|
||||
|
||||
if (status < 0 || status > GTK_PRINT_STATUS_FINISHED_ABORTED)
|
||||
if (status > GTK_PRINT_STATUS_FINISHED_ABORTED)
|
||||
status = GTK_PRINT_STATUS_FINISHED_ABORTED;
|
||||
|
||||
if (string == NULL)
|
||||
|
||||
@@ -207,7 +207,7 @@ static GObject *gtk_print_unix_dialog_buildable_get_internal_child (GtkBuildabl
|
||||
GtkBuilder *builder,
|
||||
const gchar *childname);
|
||||
|
||||
static const gchar const common_paper_sizes[][16] = {
|
||||
static const gchar common_paper_sizes[][16] = {
|
||||
"na_letter",
|
||||
"na_legal",
|
||||
"iso_a4",
|
||||
|
||||
+66
-8
@@ -208,6 +208,8 @@ gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
|
||||
|
||||
tmp_item->priv->group = priv->group;
|
||||
}
|
||||
|
||||
_gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -282,7 +284,7 @@ gtk_radio_menu_item_new_with_mnemonic (GSList *group,
|
||||
|
||||
/**
|
||||
* gtk_radio_menu_item_new_from_widget: (constructor)
|
||||
* @group: An existing #GtkRadioMenuItem
|
||||
* @group: (allow-none): An existing #GtkRadioMenuItem
|
||||
*
|
||||
* Creates a new #GtkRadioMenuItem adding it to the same group as @group.
|
||||
*
|
||||
@@ -295,7 +297,7 @@ gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group)
|
||||
{
|
||||
GSList *list = NULL;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (group), NULL);
|
||||
g_return_val_if_fail (group == NULL || GTK_IS_RADIO_MENU_ITEM (group), NULL);
|
||||
|
||||
if (group)
|
||||
list = gtk_radio_menu_item_get_group (group);
|
||||
@@ -305,8 +307,8 @@ gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group)
|
||||
|
||||
/**
|
||||
* gtk_radio_menu_item_new_with_mnemonic_from_widget: (constructor)
|
||||
* @group: An existing #GtkRadioMenuItem
|
||||
* @label: the text of the button, with an underscore in front of the
|
||||
* @group: (allow-none): An existing #GtkRadioMenuItem
|
||||
* @label: (allow-none): the text of the button, with an underscore in front of the
|
||||
* mnemonic character
|
||||
*
|
||||
* Creates a new GtkRadioMenuItem containing a label. The label will be
|
||||
@@ -325,7 +327,7 @@ gtk_radio_menu_item_new_with_mnemonic_from_widget (GtkRadioMenuItem *group,
|
||||
{
|
||||
GSList *list = NULL;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (group), NULL);
|
||||
g_return_val_if_fail (group == NULL || GTK_IS_RADIO_MENU_ITEM (group), NULL);
|
||||
|
||||
if (group)
|
||||
list = gtk_radio_menu_item_get_group (group);
|
||||
@@ -335,8 +337,8 @@ gtk_radio_menu_item_new_with_mnemonic_from_widget (GtkRadioMenuItem *group,
|
||||
|
||||
/**
|
||||
* gtk_radio_menu_item_new_with_label_from_widget: (constructor)
|
||||
* @group: an existing #GtkRadioMenuItem
|
||||
* @label: the text for the label
|
||||
* @group: (allow-none): an existing #GtkRadioMenuItem
|
||||
* @label: (allow-none): the text for the label
|
||||
*
|
||||
* Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.
|
||||
* The new #GtkRadioMenuItem is added to the same group as @group.
|
||||
@@ -351,7 +353,7 @@ gtk_radio_menu_item_new_with_label_from_widget (GtkRadioMenuItem *group,
|
||||
{
|
||||
GSList *list = NULL;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (group), NULL);
|
||||
g_return_val_if_fail (group == NULL || GTK_IS_RADIO_MENU_ITEM (group), NULL);
|
||||
|
||||
if (group)
|
||||
list = gtk_radio_menu_item_get_group (group);
|
||||
@@ -556,3 +558,59 @@ gtk_radio_menu_item_activate (GtkMenuItem *menu_item)
|
||||
|
||||
gtk_widget_queue_draw (GTK_WIDGET (radio_menu_item));
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_radio_menu_item_join_group:
|
||||
* @radio_menu_item: a #GtkRadioMenuItem
|
||||
* @group_source: (allow-none): a #GtkRadioMenuItem whose group we are
|
||||
* joining, or %NULL to remove the @radio_menu_item from its current
|
||||
* group
|
||||
*
|
||||
* Joins a #GtkRadioMenuItem object to the group of another #GtkRadioMenuItem
|
||||
* object.
|
||||
*
|
||||
* This function should be used by language bindings to avoid the memory
|
||||
* manangement of the opaque #GSList of gtk_radio_menu_item_get_group()
|
||||
* and gtk_radio_menu_item_set_group().
|
||||
*
|
||||
* A common way to set up a group of #GtkRadioMenuItem instances is:
|
||||
*
|
||||
* |[
|
||||
* GtkRadioMenuItem *last_item = NULL;
|
||||
*
|
||||
* while ( ...more items to add... )
|
||||
* {
|
||||
* GtkRadioMenuItem *radio_item;
|
||||
*
|
||||
* radio_item = gtk_radio_menu_item_new (...);
|
||||
*
|
||||
* gtk_radio_menu_item_join_group (radio_item, last_item);
|
||||
* last_item = radio_item;
|
||||
* }
|
||||
* ]|
|
||||
*
|
||||
* Since: 3.18
|
||||
*/
|
||||
void
|
||||
gtk_radio_menu_item_join_group (GtkRadioMenuItem *radio_menu_item,
|
||||
GtkRadioMenuItem *group_source)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_RADIO_MENU_ITEM (radio_menu_item));
|
||||
g_return_if_fail (group_source == NULL || GTK_IS_RADIO_MENU_ITEM (group_source));
|
||||
|
||||
if (group_source != NULL)
|
||||
{
|
||||
GSList *group = gtk_radio_menu_item_get_group (group_source);
|
||||
|
||||
if (group == NULL)
|
||||
{
|
||||
/* if the group source does not have a group, we force one */
|
||||
gtk_radio_menu_item_set_group (group_source, NULL);
|
||||
group = gtk_radio_menu_item_get_group (group_source);
|
||||
}
|
||||
|
||||
gtk_radio_menu_item_set_group (radio_menu_item, group);
|
||||
}
|
||||
else
|
||||
gtk_radio_menu_item_set_group (radio_menu_item, NULL);
|
||||
}
|
||||
|
||||
@@ -95,6 +95,10 @@ GDK_AVAILABLE_IN_ALL
|
||||
void gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
|
||||
GSList *group);
|
||||
|
||||
GDK_AVAILABLE_IN_3_18
|
||||
void gtk_radio_menu_item_join_group (GtkRadioMenuItem *radio_menu_item,
|
||||
GtkRadioMenuItem *group_source);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_RADIO_MENU_ITEM_H__ */
|
||||
|
||||
+7
-8
@@ -1650,14 +1650,13 @@ gtk_range_realize (GtkWidget *widget)
|
||||
attributes.height = allocation.height;
|
||||
attributes.wclass = GDK_INPUT_ONLY;
|
||||
attributes.event_mask = gtk_widget_get_events (widget);
|
||||
attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
GDK_SMOOTH_SCROLL_MASK |
|
||||
GDK_ENTER_NOTIFY_MASK |
|
||||
GDK_LEAVE_NOTIFY_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK);
|
||||
attributes.event_mask |= GDK_BUTTON_PRESS_MASK |
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
GDK_SMOOTH_SCROLL_MASK |
|
||||
GDK_ENTER_NOTIFY_MASK |
|
||||
GDK_LEAVE_NOTIFY_MASK |
|
||||
GDK_POINTER_MOTION_MASK;
|
||||
|
||||
attributes_mask = GDK_WA_X | GDK_WA_Y;
|
||||
|
||||
|
||||
+1
-1
@@ -1189,7 +1189,7 @@ gtk_render_icon_pixbuf (GtkStyleContext *context,
|
||||
GtkIconSize size)
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), NULL);
|
||||
g_return_val_if_fail (size > GTK_ICON_SIZE_INVALID || size == -1, NULL);
|
||||
g_return_val_if_fail (size > GTK_ICON_SIZE_INVALID || size == (GtkIconSize)-1, NULL);
|
||||
g_return_val_if_fail (source != NULL, NULL);
|
||||
|
||||
return gtk_do_render_icon_pixbuf (context, source, size);
|
||||
|
||||
+34
-30
@@ -344,18 +344,15 @@ gtk_search_bar_get_property (GObject *object,
|
||||
}
|
||||
}
|
||||
|
||||
static void gtk_search_bar_set_entry (GtkSearchBar *bar,
|
||||
GtkEntry *entry);
|
||||
|
||||
static void
|
||||
gtk_search_bar_dispose (GObject *object)
|
||||
{
|
||||
GtkSearchBar *bar = GTK_SEARCH_BAR (object);
|
||||
GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
|
||||
|
||||
if (priv->entry)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (priv->entry, entry_key_pressed_event_cb, bar);
|
||||
g_object_remove_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
|
||||
priv->entry = NULL;
|
||||
}
|
||||
gtk_search_bar_set_entry (bar, NULL);
|
||||
|
||||
G_OBJECT_CLASS (gtk_search_bar_parent_class)->dispose (object);
|
||||
}
|
||||
@@ -471,6 +468,35 @@ gtk_search_bar_new (void)
|
||||
return g_object_new (GTK_TYPE_SEARCH_BAR, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_search_bar_set_entry (GtkSearchBar *bar,
|
||||
GtkEntry *entry)
|
||||
{
|
||||
GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
|
||||
|
||||
if (priv->entry != NULL)
|
||||
{
|
||||
if (GTK_IS_SEARCH_ENTRY (priv->entry))
|
||||
g_signal_handlers_disconnect_by_func (priv->entry, stop_search_cb, bar);
|
||||
else
|
||||
g_signal_handlers_disconnect_by_func (priv->entry, entry_key_pressed_event_cb, bar);
|
||||
g_object_remove_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
|
||||
}
|
||||
|
||||
priv->entry = GTK_WIDGET (entry);
|
||||
|
||||
if (priv->entry != NULL)
|
||||
{
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
|
||||
if (GTK_IS_SEARCH_ENTRY (priv->entry))
|
||||
g_signal_connect (priv->entry, "stop-search",
|
||||
G_CALLBACK (stop_search_cb), bar);
|
||||
else
|
||||
g_signal_connect (priv->entry, "key-press-event",
|
||||
G_CALLBACK (entry_key_pressed_event_cb), bar);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_search_bar_connect_entry:
|
||||
* @bar: a #GtkSearchBar
|
||||
@@ -487,32 +513,10 @@ void
|
||||
gtk_search_bar_connect_entry (GtkSearchBar *bar,
|
||||
GtkEntry *entry)
|
||||
{
|
||||
GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
|
||||
|
||||
g_return_if_fail (GTK_IS_SEARCH_BAR (bar));
|
||||
g_return_if_fail (entry == NULL || GTK_IS_ENTRY (entry));
|
||||
|
||||
if (priv->entry != NULL)
|
||||
{
|
||||
if (GTK_IS_SEARCH_ENTRY (priv->entry))
|
||||
g_signal_handlers_disconnect_by_func (priv->entry, stop_search_cb, bar);
|
||||
else
|
||||
g_signal_handlers_disconnect_by_func (priv->entry, entry_key_pressed_event_cb, bar);
|
||||
g_object_remove_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
|
||||
priv->entry = NULL;
|
||||
}
|
||||
|
||||
if (entry != NULL)
|
||||
{
|
||||
priv->entry = GTK_WIDGET (entry);
|
||||
g_object_add_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry);
|
||||
if (GTK_IS_SEARCH_ENTRY (priv->entry))
|
||||
g_signal_connect (priv->entry, "stop-search",
|
||||
G_CALLBACK (stop_search_cb), bar);
|
||||
else
|
||||
g_signal_connect (priv->entry, "key-press-event",
|
||||
G_CALLBACK (entry_key_pressed_event_cb), bar);
|
||||
}
|
||||
gtk_search_bar_set_entry (bar, entry);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,26 +23,9 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/*
|
||||
* GtkQueueResizeFlags:
|
||||
* @GTK_QUEUE_RESIZE_INVALIDATE_ONLY: invalidate all cached sizes
|
||||
* as we would normally do when a widget is queued for resize,
|
||||
* but don’t actually add the toplevel resize container to the
|
||||
* resize queue. Useful if we want to change the size of a widget
|
||||
* see how that would affect the overall layout, then restore
|
||||
* the old size.
|
||||
*
|
||||
* Flags that affect the operation of queueing a widget for resize.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GTK_QUEUE_RESIZE_INVALIDATE_ONLY = 1 << 0
|
||||
} GtkQueueResizeFlags;
|
||||
|
||||
GHashTable * _gtk_size_group_get_widget_peers (GtkWidget *for_widget,
|
||||
GtkOrientation orientation);
|
||||
void _gtk_size_group_queue_resize (GtkWidget *widget,
|
||||
GtkQueueResizeFlags flags);
|
||||
void _gtk_size_group_queue_resize (GtkWidget *widget);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
+14
-20
@@ -203,8 +203,7 @@ _gtk_size_group_get_widget_peers (GtkWidget *for_widget,
|
||||
}
|
||||
|
||||
static void
|
||||
real_queue_resize (GtkWidget *widget,
|
||||
GtkQueueResizeFlags flags)
|
||||
real_queue_resize (GtkWidget *widget)
|
||||
{
|
||||
GtkWidget *container;
|
||||
|
||||
@@ -218,17 +217,13 @@ real_queue_resize (GtkWidget *widget,
|
||||
|
||||
if (container)
|
||||
{
|
||||
if (flags & GTK_QUEUE_RESIZE_INVALIDATE_ONLY)
|
||||
_gtk_container_resize_invalidate (GTK_CONTAINER (container));
|
||||
else
|
||||
_gtk_container_queue_resize (GTK_CONTAINER (container));
|
||||
_gtk_container_queue_resize (GTK_CONTAINER (container));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
queue_resize_on_widget (GtkWidget *widget,
|
||||
gboolean check_siblings,
|
||||
GtkQueueResizeFlags flags)
|
||||
queue_resize_on_widget (GtkWidget *widget,
|
||||
gboolean check_siblings)
|
||||
{
|
||||
GtkWidget *parent = widget;
|
||||
|
||||
@@ -241,7 +236,7 @@ queue_resize_on_widget (GtkWidget *widget,
|
||||
|
||||
if (widget == parent && !check_siblings)
|
||||
{
|
||||
real_queue_resize (widget, flags);
|
||||
real_queue_resize (widget);
|
||||
parent = gtk_widget_get_parent (parent);
|
||||
continue;
|
||||
}
|
||||
@@ -250,7 +245,7 @@ queue_resize_on_widget (GtkWidget *widget,
|
||||
if (!widget_groups)
|
||||
{
|
||||
if (widget == parent)
|
||||
real_queue_resize (widget, flags);
|
||||
real_queue_resize (widget);
|
||||
|
||||
parent = gtk_widget_get_parent (parent);
|
||||
continue;
|
||||
@@ -264,14 +259,14 @@ queue_resize_on_widget (GtkWidget *widget,
|
||||
if (current == parent)
|
||||
{
|
||||
if (widget == parent)
|
||||
real_queue_resize (parent, flags);
|
||||
real_queue_resize (parent);
|
||||
}
|
||||
else if (current == widget)
|
||||
{
|
||||
g_warning ("A container and its child are part of this SizeGroup");
|
||||
}
|
||||
else
|
||||
queue_resize_on_widget (current, FALSE, flags);
|
||||
queue_resize_on_widget (current, FALSE);
|
||||
}
|
||||
|
||||
g_hash_table_destroy (widgets);
|
||||
@@ -284,14 +279,14 @@ queue_resize_on_widget (GtkWidget *widget,
|
||||
if (current == parent)
|
||||
{
|
||||
if (widget == parent)
|
||||
real_queue_resize (parent, flags);
|
||||
real_queue_resize (parent);
|
||||
}
|
||||
else if (current == widget)
|
||||
{
|
||||
g_warning ("A container and its child are part of this SizeGroup");
|
||||
}
|
||||
else
|
||||
queue_resize_on_widget (current, FALSE, flags);
|
||||
queue_resize_on_widget (current, FALSE);
|
||||
}
|
||||
|
||||
g_hash_table_destroy (widgets);
|
||||
@@ -301,12 +296,12 @@ queue_resize_on_widget (GtkWidget *widget,
|
||||
}
|
||||
|
||||
static void
|
||||
queue_resize_on_group (GtkSizeGroup *size_group)
|
||||
queue_resize_on_group (GtkSizeGroup *size_group)
|
||||
{
|
||||
GtkSizeGroupPrivate *priv = size_group->priv;
|
||||
|
||||
if (priv->widgets)
|
||||
queue_resize_on_widget (priv->widgets->data, TRUE, 0);
|
||||
queue_resize_on_widget (priv->widgets->data, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -636,10 +631,9 @@ gtk_size_group_get_widgets (GtkSizeGroup *size_group)
|
||||
* Queue a resize on a widget, and on all other widgets grouped with this widget.
|
||||
**/
|
||||
void
|
||||
_gtk_size_group_queue_resize (GtkWidget *widget,
|
||||
GtkQueueResizeFlags flags)
|
||||
_gtk_size_group_queue_resize (GtkWidget *widget)
|
||||
{
|
||||
queue_resize_on_widget (widget, TRUE, flags);
|
||||
queue_resize_on_widget (widget, TRUE);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
|
||||
+1
-1
@@ -1093,7 +1093,7 @@ gtk_spin_button_realize (GtkWidget *widget)
|
||||
attributes.event_mask = gtk_widget_get_events (widget);
|
||||
attributes.event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK
|
||||
| GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK
|
||||
| GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK;
|
||||
| GDK_POINTER_MOTION_MASK;
|
||||
|
||||
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
|
||||
|
||||
|
||||
@@ -487,7 +487,6 @@ gtk_switch_realize (GtkWidget *widget)
|
||||
attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_BUTTON1_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_ENTER_NOTIFY_MASK |
|
||||
GDK_LEAVE_NOTIFY_MASK);
|
||||
|
||||
+2
-2
@@ -555,8 +555,8 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_STRIKETHROUGH_RGBA,
|
||||
g_param_spec_boxed ("strikethrough-rgba",
|
||||
P_("Strike-through RGBA"),
|
||||
P_("Color of strike-through for this text"),
|
||||
P_("Strikethrough RGBA"),
|
||||
P_("Color of strikethrough for this text"),
|
||||
GDK_TYPE_RGBA,
|
||||
GTK_PARAM_READWRITE));
|
||||
|
||||
|
||||
+10
-11
@@ -5992,7 +5992,7 @@ gtk_text_view_move_cursor (GtkTextView *text_view,
|
||||
gtk_text_view_move_viewport (text_view, scroll_step, count);
|
||||
if ((old_xpos == gtk_adjustment_get_target_value (priv->hadjustment) &&
|
||||
old_ypos == gtk_adjustment_get_target_value (priv->vadjustment)) &&
|
||||
leave_direction != -1 &&
|
||||
leave_direction != (GtkDirectionType)-1 &&
|
||||
!gtk_widget_keynav_failed (GTK_WIDGET (text_view),
|
||||
leave_direction))
|
||||
{
|
||||
@@ -6165,7 +6165,7 @@ gtk_text_view_move_cursor (GtkTextView *text_view,
|
||||
if (step == GTK_MOVEMENT_DISPLAY_LINES)
|
||||
gtk_text_view_set_virtual_cursor_pos (text_view, cursor_x_pos, -1);
|
||||
}
|
||||
else if (leave_direction != -1)
|
||||
else if (leave_direction != (GtkDirectionType)-1)
|
||||
{
|
||||
if (!gtk_widget_keynav_failed (GTK_WIDGET (text_view),
|
||||
leave_direction))
|
||||
@@ -9421,15 +9421,14 @@ text_window_realize (GtkTextWindow *win,
|
||||
attributes.y = 0;
|
||||
attributes.width = win->allocation.width;
|
||||
attributes.height = win->allocation.height;
|
||||
attributes.event_mask = (GDK_EXPOSURE_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
GDK_SMOOTH_SCROLL_MASK |
|
||||
GDK_KEY_PRESS_MASK |
|
||||
GDK_BUTTON_PRESS_MASK |
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK |
|
||||
gtk_widget_get_events (win->widget));
|
||||
attributes.event_mask = gtk_widget_get_events (win->widget)
|
||||
| GDK_EXPOSURE_MASK
|
||||
| GDK_SCROLL_MASK
|
||||
| GDK_SMOOTH_SCROLL_MASK
|
||||
| GDK_KEY_PRESS_MASK
|
||||
| GDK_BUTTON_PRESS_MASK
|
||||
| GDK_BUTTON_RELEASE_MASK
|
||||
| GDK_POINTER_MOTION_MASK;
|
||||
|
||||
win->bin_window = gdk_window_new (win->window,
|
||||
&attributes,
|
||||
|
||||
+1
-1
@@ -904,7 +904,7 @@ gtk_tooltip_set_last_window (GtkTooltip *tooltip,
|
||||
|
||||
tooltip->last_window = window;
|
||||
|
||||
if (window)
|
||||
if (tooltip->last_window)
|
||||
g_object_add_weak_pointer (G_OBJECT (tooltip->last_window),
|
||||
(gpointer *) &tooltip->last_window);
|
||||
|
||||
|
||||
@@ -1360,7 +1360,6 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column)
|
||||
(GDK_BUTTON_PRESS_MASK |
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK |
|
||||
GDK_KEY_PRESS_MASK);
|
||||
attributes_mask = GDK_WA_CURSOR | GDK_WA_X | GDK_WA_Y;
|
||||
attr.cursor = gdk_cursor_new_for_display
|
||||
|
||||
+17
-68
@@ -925,8 +925,7 @@ static gboolean setup_template_child (GtkWidgetTemplat
|
||||
|
||||
static void gtk_widget_set_usize_internal (GtkWidget *widget,
|
||||
gint width,
|
||||
gint height,
|
||||
GtkQueueResizeFlags flags);
|
||||
gint height);
|
||||
|
||||
static void gtk_widget_add_events_internal (GtkWidget *widget,
|
||||
GdkDevice *device,
|
||||
@@ -3813,10 +3812,10 @@ gtk_widget_set_property (GObject *object,
|
||||
gtk_container_add (GTK_CONTAINER (g_value_get_object (value)), widget);
|
||||
break;
|
||||
case PROP_WIDTH_REQUEST:
|
||||
gtk_widget_set_usize_internal (widget, g_value_get_int (value), -2, 0);
|
||||
gtk_widget_set_usize_internal (widget, g_value_get_int (value), -2);
|
||||
break;
|
||||
case PROP_HEIGHT_REQUEST:
|
||||
gtk_widget_set_usize_internal (widget, -2, g_value_get_int (value), 0);
|
||||
gtk_widget_set_usize_internal (widget, -2, g_value_get_int (value));
|
||||
break;
|
||||
case PROP_VISIBLE:
|
||||
gtk_widget_set_visible (widget, g_value_get_boolean (value));
|
||||
@@ -5748,7 +5747,7 @@ gtk_widget_queue_resize (GtkWidget *widget)
|
||||
if (gtk_widget_get_realized (widget))
|
||||
gtk_widget_queue_draw (widget);
|
||||
|
||||
_gtk_size_group_queue_resize (widget, 0);
|
||||
_gtk_size_group_queue_resize (widget);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5765,7 +5764,7 @@ gtk_widget_queue_resize_no_redraw (GtkWidget *widget)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
|
||||
_gtk_size_group_queue_resize (widget, 0);
|
||||
_gtk_size_group_queue_resize (widget);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -10957,8 +10956,7 @@ gtk_widget_error_bell (GtkWidget *widget)
|
||||
static void
|
||||
gtk_widget_set_usize_internal (GtkWidget *widget,
|
||||
gint width,
|
||||
gint height,
|
||||
GtkQueueResizeFlags flags)
|
||||
gint height)
|
||||
{
|
||||
GtkWidgetAuxInfo *aux_info;
|
||||
gboolean changed = FALSE;
|
||||
@@ -10969,25 +10967,20 @@ gtk_widget_set_usize_internal (GtkWidget *widget,
|
||||
|
||||
if (width > -2 && aux_info->width != width)
|
||||
{
|
||||
if ((flags & GTK_QUEUE_RESIZE_INVALIDATE_ONLY) == 0)
|
||||
g_object_notify (G_OBJECT (widget), "width-request");
|
||||
g_object_notify (G_OBJECT (widget), "width-request");
|
||||
aux_info->width = width;
|
||||
changed = TRUE;
|
||||
}
|
||||
if (height > -2 && aux_info->height != height)
|
||||
{
|
||||
if ((flags & GTK_QUEUE_RESIZE_INVALIDATE_ONLY) == 0)
|
||||
g_object_notify (G_OBJECT (widget), "height-request");
|
||||
g_object_notify (G_OBJECT (widget), "height-request");
|
||||
aux_info->height = height;
|
||||
changed = TRUE;
|
||||
}
|
||||
|
||||
if (gtk_widget_get_visible (widget) && changed)
|
||||
{
|
||||
if ((flags & GTK_QUEUE_RESIZE_INVALIDATE_ONLY) == 0)
|
||||
gtk_widget_queue_resize (widget);
|
||||
else
|
||||
_gtk_size_group_queue_resize (widget, GTK_QUEUE_RESIZE_INVALIDATE_ONLY);
|
||||
gtk_widget_queue_resize (widget);
|
||||
}
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (widget));
|
||||
@@ -11044,7 +11037,7 @@ gtk_widget_set_size_request (GtkWidget *widget,
|
||||
if (height == 0)
|
||||
height = 1;
|
||||
|
||||
gtk_widget_set_usize_internal (widget, width, height, 0);
|
||||
gtk_widget_set_usize_internal (widget, width, height);
|
||||
}
|
||||
|
||||
|
||||
@@ -11080,52 +11073,6 @@ gtk_widget_get_size_request (GtkWidget *widget,
|
||||
*height = aux_info->height;
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_widget_override_size_request:
|
||||
* @widget: a #GtkWidget
|
||||
* @width: new forced minimum width
|
||||
* @height: new forced minimum height
|
||||
* @old_width: location to store previous forced minimum width
|
||||
* @old_height: location to store previous forced minumum height
|
||||
*
|
||||
* Temporarily establishes a forced minimum size for a widget; this
|
||||
* is used by GtkWindow when calculating the size to add to the
|
||||
* window’s geometry widget. Cached sizes for the widget and its
|
||||
* parents are invalidated, so that subsequent calls to the size
|
||||
* negotiation machinery produce the overriden result, but the
|
||||
* widget is not queued for relayout or redraw. The old size must
|
||||
* be restored with _gtk_widget_restore_size_request() or things
|
||||
* will go screwy.
|
||||
*/
|
||||
void
|
||||
_gtk_widget_override_size_request (GtkWidget *widget,
|
||||
int width,
|
||||
int height,
|
||||
int *old_width,
|
||||
int *old_height)
|
||||
{
|
||||
gtk_widget_get_size_request (widget, old_width, old_height);
|
||||
gtk_widget_set_usize_internal (widget, width, height,
|
||||
GTK_QUEUE_RESIZE_INVALIDATE_ONLY);
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_widget_restore_size_request:
|
||||
* @widget: a #GtkWidget
|
||||
* @old_width: saved forced minimum size
|
||||
* @old_height: saved forced minimum size
|
||||
*
|
||||
* Undoes the operation of_gtk_widget_override_size_request().
|
||||
*/
|
||||
void
|
||||
_gtk_widget_restore_size_request (GtkWidget *widget,
|
||||
int old_width,
|
||||
int old_height)
|
||||
{
|
||||
gtk_widget_set_usize_internal (widget, old_width, old_height,
|
||||
GTK_QUEUE_RESIZE_INVALIDATE_ONLY);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_widget_set_events:
|
||||
* @widget: a #GtkWidget
|
||||
@@ -15260,14 +15207,12 @@ gtk_widget_real_set_has_tooltip (GtkWidget *widget,
|
||||
gdk_window_set_events (priv->window,
|
||||
gdk_window_get_events (priv->window) |
|
||||
GDK_LEAVE_NOTIFY_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK);
|
||||
GDK_POINTER_MOTION_MASK);
|
||||
|
||||
if (gtk_widget_get_has_window (widget))
|
||||
gtk_widget_add_events (widget,
|
||||
GDK_LEAVE_NOTIFY_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_POINTER_MOTION_HINT_MASK);
|
||||
GDK_POINTER_MOTION_MASK);
|
||||
}
|
||||
|
||||
g_object_set_qdata (G_OBJECT (widget), quark_has_tooltip,
|
||||
@@ -16402,14 +16347,18 @@ gtk_widget_get_path (GtkWidget *widget)
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_widget_style_context_invalidated (GtkWidget *widget)
|
||||
gtk_widget_clear_path (GtkWidget *widget)
|
||||
{
|
||||
if (widget->priv->path)
|
||||
{
|
||||
gtk_widget_path_free (widget->priv->path);
|
||||
widget->priv->path = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_widget_style_context_invalidated (GtkWidget *widget)
|
||||
{
|
||||
if (gtk_widget_get_realized (widget))
|
||||
g_signal_emit (widget, widget_signals[STYLE_UPDATED], 0);
|
||||
else
|
||||
|
||||
+2
-2
@@ -497,8 +497,8 @@ gtk_widget_path_iter_get_siblings (const GtkWidgetPath *path,
|
||||
{
|
||||
GtkPathElement *elem;
|
||||
|
||||
g_return_val_if_fail (path != NULL, G_TYPE_INVALID);
|
||||
g_return_val_if_fail (path->elems->len != 0, G_TYPE_INVALID);
|
||||
g_return_val_if_fail (path != NULL, NULL);
|
||||
g_return_val_if_fail (path->elems->len != 0, NULL);
|
||||
|
||||
if (pos < 0 || pos >= path->elems->len)
|
||||
pos = path->elems->len - 1;
|
||||
|
||||
@@ -63,14 +63,6 @@ void _gtk_widget_add_attached_window (GtkWidget *widget,
|
||||
void _gtk_widget_remove_attached_window (GtkWidget *widget,
|
||||
GtkWindow *window);
|
||||
|
||||
void _gtk_widget_override_size_request (GtkWidget *widget,
|
||||
int width,
|
||||
int height,
|
||||
int *old_width,
|
||||
int *old_height);
|
||||
void _gtk_widget_restore_size_request (GtkWidget *widget,
|
||||
int old_width,
|
||||
int old_height);
|
||||
void _gtk_widget_get_preferred_size_for_size (GtkWidget *widget,
|
||||
GtkOrientation orientation,
|
||||
gint size,
|
||||
@@ -148,6 +140,7 @@ gboolean _gtk_widget_captured_event (GtkWidget *widget,
|
||||
GdkEvent *event);
|
||||
|
||||
GtkWidgetPath * _gtk_widget_create_path (GtkWidget *widget);
|
||||
void gtk_widget_clear_path (GtkWidget *widget);
|
||||
void _gtk_widget_invalidate_style_context (GtkWidget *widget,
|
||||
GtkCssChange change);
|
||||
void _gtk_widget_style_context_invalidated (GtkWidget *widget);
|
||||
|
||||
+51
-108
@@ -227,8 +227,7 @@ struct _GtkWindowPrivate
|
||||
guint gravity : 5; /* GdkGravity */
|
||||
guint csd_requested : 1;
|
||||
guint client_decorated : 1; /* Decorations drawn client-side */
|
||||
guint custom_title : 1; /* app-provided titlebar if CSD can't
|
||||
* be enabled */
|
||||
guint use_client_shadow : 1; /* Decorations use client-side shadows */
|
||||
guint maximized : 1;
|
||||
guint fullscreen : 1;
|
||||
guint tiled : 1;
|
||||
@@ -336,7 +335,6 @@ struct _GtkWindowGeometryInfo
|
||||
*/
|
||||
GdkGeometry geometry; /* Geometry hints */
|
||||
GdkWindowHints mask;
|
||||
GtkWidget *widget; /* subwidget to which hints apply */
|
||||
/* from last gtk_window_resize () - if > 0, indicates that
|
||||
* we should resize to this size.
|
||||
*/
|
||||
@@ -3869,7 +3867,6 @@ gtk_window_get_geometry_info (GtkWindow *window,
|
||||
info->last.configure_request.y = 0;
|
||||
info->last.configure_request.width = -1;
|
||||
info->last.configure_request.height = -1;
|
||||
info->widget = NULL;
|
||||
info->mask = 0;
|
||||
priv->geometry_info = info;
|
||||
}
|
||||
@@ -3880,7 +3877,9 @@ gtk_window_get_geometry_info (GtkWindow *window,
|
||||
/**
|
||||
* gtk_window_set_geometry_hints:
|
||||
* @window: a #GtkWindow
|
||||
* @geometry_widget: (allow-none): widget the geometry hints will be applied to or %NULL
|
||||
* @geometry_widget: (allow-none): widget the geometry hints used to be applied to
|
||||
* or %NULL. Since 3.18 this argument is ignored and GTK behaves as if %NULL was
|
||||
* set.
|
||||
* @geometry: (allow-none): struct containing geometry information or %NULL
|
||||
* @geom_mask: mask indicating which struct fields should be paid attention to
|
||||
*
|
||||
@@ -3903,17 +3902,6 @@ gtk_window_set_geometry_hints (GtkWindow *window,
|
||||
|
||||
info = gtk_window_get_geometry_info (window, TRUE);
|
||||
|
||||
if (info->widget)
|
||||
g_signal_handlers_disconnect_by_func (info->widget,
|
||||
gtk_widget_destroyed,
|
||||
&info->widget);
|
||||
|
||||
info->widget = geometry_widget;
|
||||
if (info->widget)
|
||||
g_signal_connect (geometry_widget, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed),
|
||||
&info->widget);
|
||||
|
||||
if (geometry)
|
||||
info->geometry = *geometry;
|
||||
|
||||
@@ -3947,7 +3935,7 @@ unset_titlebar (GtkWindow *window)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_window_supports_csd (GtkWindow *window)
|
||||
gtk_window_supports_client_shadow (GtkWindow *window)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (window);
|
||||
|
||||
@@ -3997,13 +3985,21 @@ gtk_window_enable_csd (GtkWindow *window)
|
||||
GtkWidget *widget = GTK_WIDGET (window);
|
||||
GdkVisual *visual;
|
||||
|
||||
/* We need a visual with alpha */
|
||||
visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
|
||||
g_assert (visual != NULL);
|
||||
gtk_widget_set_visual (widget, visual);
|
||||
/* We need a visual with alpha for client shadows */
|
||||
if (priv->use_client_shadow)
|
||||
{
|
||||
visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
|
||||
if (visual != NULL)
|
||||
gtk_widget_set_visual (widget, visual);
|
||||
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (widget), GTK_STYLE_CLASS_CSD);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (widget), "solid-csd");
|
||||
}
|
||||
|
||||
priv->client_decorated = TRUE;
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (widget), GTK_STYLE_CLASS_CSD);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -4038,7 +4034,6 @@ gtk_window_set_titlebar (GtkWindow *window,
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (window);
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
GdkVisual *visual;
|
||||
gboolean was_mapped;
|
||||
|
||||
g_return_if_fail (GTK_IS_WINDOW (window));
|
||||
@@ -4059,18 +4054,15 @@ gtk_window_set_titlebar (GtkWindow *window,
|
||||
|
||||
if (titlebar == NULL)
|
||||
{
|
||||
priv->custom_title = FALSE;
|
||||
priv->client_decorated = FALSE;
|
||||
gtk_style_context_remove_class (gtk_widget_get_style_context (widget), GTK_STYLE_CLASS_CSD);
|
||||
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (gtk_window_supports_csd (window))
|
||||
gtk_window_enable_csd (window);
|
||||
else
|
||||
priv->custom_title = TRUE;
|
||||
priv->use_client_shadow = gtk_window_supports_client_shadow (window);
|
||||
|
||||
gtk_window_enable_csd (window);
|
||||
priv->title_box = titlebar;
|
||||
gtk_widget_set_parent (priv->title_box, widget);
|
||||
if (GTK_IS_HEADER_BAR (titlebar))
|
||||
@@ -4080,10 +4072,6 @@ gtk_window_set_titlebar (GtkWindow *window,
|
||||
on_titlebar_title_notify (GTK_HEADER_BAR (titlebar), NULL, window);
|
||||
}
|
||||
|
||||
visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
|
||||
if (visual)
|
||||
gtk_widget_set_visual (widget, visual);
|
||||
|
||||
gtk_style_context_add_class (gtk_widget_get_style_context (titlebar),
|
||||
GTK_STYLE_CLASS_TITLEBAR);
|
||||
|
||||
@@ -4171,8 +4159,6 @@ gtk_window_set_decorated (GtkWindow *window,
|
||||
{
|
||||
if (priv->client_decorated)
|
||||
gdk_window_set_decorations (gdk_window, 0);
|
||||
else if (priv->custom_title)
|
||||
gdk_window_set_decorations (gdk_window, GDK_DECOR_BORDER);
|
||||
else
|
||||
gdk_window_set_decorations (gdk_window, GDK_DECOR_ALL);
|
||||
}
|
||||
@@ -5651,10 +5637,6 @@ gtk_window_finalize (GObject *object)
|
||||
|
||||
if (priv->geometry_info)
|
||||
{
|
||||
if (priv->geometry_info->widget)
|
||||
g_signal_handlers_disconnect_by_func (priv->geometry_info->widget,
|
||||
gtk_widget_destroyed,
|
||||
&priv->geometry_info->widget);
|
||||
g_free (priv->geometry_info);
|
||||
}
|
||||
|
||||
@@ -5809,7 +5791,8 @@ create_decoration (GtkWidget *widget)
|
||||
GtkWindow *window = GTK_WINDOW (widget);
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
|
||||
if (!gtk_window_supports_csd (window))
|
||||
priv->use_client_shadow = gtk_window_supports_client_shadow (window);
|
||||
if (!priv->use_client_shadow)
|
||||
return;
|
||||
|
||||
gtk_window_enable_csd (window);
|
||||
@@ -6626,7 +6609,7 @@ update_border_windows (GtkWindow *window)
|
||||
border.right + handle, border.top + handle);
|
||||
gdk_window_move_resize (priv->border_window[GDK_WINDOW_EDGE_SOUTH_WEST],
|
||||
window_border.left - border.left, window_border.top + height - handle,
|
||||
window_border.left + handle, border.bottom + handle);
|
||||
border.left + handle, border.bottom + handle);
|
||||
gdk_window_move_resize (priv->border_window[GDK_WINDOW_EDGE_SOUTH_EAST],
|
||||
window_border.left + width - handle, window_border.top + height - handle,
|
||||
border.right + handle, border.bottom + handle);
|
||||
@@ -6892,7 +6875,7 @@ update_realized_window_properties (GtkWindow *window,
|
||||
{
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
|
||||
if (priv->client_decorated)
|
||||
if (priv->client_decorated && priv->use_client_shadow)
|
||||
update_shadow_width (window, window_border);
|
||||
|
||||
update_opaque_region (window, window_border, child_allocation);
|
||||
@@ -7035,8 +7018,7 @@ gtk_window_realize (GtkWidget *widget)
|
||||
GDK_FOCUS_CHANGE_MASK |
|
||||
GDK_STRUCTURE_MASK);
|
||||
|
||||
if (priv->decorated &&
|
||||
(priv->client_decorated || priv->custom_title))
|
||||
if (priv->decorated && priv->client_decorated)
|
||||
attributes.event_mask |= GDK_POINTER_MOTION_MASK;
|
||||
|
||||
attributes.type_hint = priv->type_hint;
|
||||
@@ -7111,8 +7093,6 @@ gtk_window_realize (GtkWidget *widget)
|
||||
|
||||
if (!priv->decorated || priv->client_decorated)
|
||||
gdk_window_set_decorations (gdk_window, 0);
|
||||
else if (priv->custom_title)
|
||||
gdk_window_set_decorations (gdk_window, GDK_DECOR_BORDER);
|
||||
|
||||
if (!priv->deletable)
|
||||
gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_CLOSE);
|
||||
@@ -9528,56 +9508,6 @@ gtk_window_compute_hints (GtkWindow *window,
|
||||
*new_flags = 0;
|
||||
}
|
||||
|
||||
if (geometry_info && geometry_info->widget)
|
||||
{
|
||||
/* If the geometry widget is set, then the hints really apply to that
|
||||
* widget. This is pretty much meaningless unless the window layout
|
||||
* is such that the rest of the window adds fixed size borders to
|
||||
* the geometry widget. Our job is to figure the size of the borders;
|
||||
* We do that by asking how big the toplevel would be if the
|
||||
* geometry widget was *really big*.
|
||||
*
|
||||
* +----------+
|
||||
* |AAAAAAAAA | At small sizes, the minimum sizes of widgets
|
||||
* |GGGGG B| in the border can confuse things
|
||||
* |GGGGG B|
|
||||
* | B|
|
||||
* +----------+
|
||||
*
|
||||
* +-----------+
|
||||
* |AAAAAAAAA | When the geometry widget is large, things are
|
||||
* |GGGGGGGGGGB| clearer.
|
||||
* |GGGGGGGGGGB|
|
||||
* |GGGGGGGGGG |
|
||||
* +-----------+
|
||||
*/
|
||||
#define TEMPORARY_SIZE 10000 /* 10,000 pixels should be bigger than real widget sizes */
|
||||
GtkRequisition req;
|
||||
int current_width, current_height;
|
||||
|
||||
_gtk_widget_override_size_request (geometry_info->widget,
|
||||
TEMPORARY_SIZE, TEMPORARY_SIZE,
|
||||
¤t_width, ¤t_height);
|
||||
gtk_widget_get_preferred_size (widget,
|
||||
&req, NULL);
|
||||
_gtk_widget_restore_size_request (geometry_info->widget,
|
||||
current_width, current_height);
|
||||
|
||||
extra_width = req.width - TEMPORARY_SIZE;
|
||||
extra_height = req.height - TEMPORARY_SIZE;
|
||||
|
||||
if (extra_width < 0 || extra_height < 0)
|
||||
{
|
||||
g_warning("Toplevel size doesn't seem to directly depend on the "
|
||||
"size of the geometry widget from gtk_window_set_geometry_hints(). "
|
||||
"The geometry widget might not be in the window, or it might not "
|
||||
"be packed into the window appropriately");
|
||||
extra_width = MAX(extra_width, 0);
|
||||
extra_height = MAX(extra_height, 0);
|
||||
}
|
||||
#undef TEMPORARY_SIZE
|
||||
}
|
||||
|
||||
/* We don't want to set GDK_HINT_POS in here, we just set it
|
||||
* in gtk_window_move_resize() when we want the position
|
||||
* honored.
|
||||
@@ -9689,18 +9619,31 @@ gtk_window_draw (GtkWidget *widget,
|
||||
|
||||
add_window_frame_style_class (context);
|
||||
|
||||
gtk_render_background (context, cr,
|
||||
window_border.left, window_border.top,
|
||||
allocation.width -
|
||||
(window_border.left + window_border.right),
|
||||
allocation.height -
|
||||
(window_border.top + window_border.bottom));
|
||||
gtk_render_frame (context, cr,
|
||||
window_border.left, window_border.top,
|
||||
allocation.width -
|
||||
(window_border.left + window_border.right),
|
||||
allocation.height -
|
||||
(window_border.top + window_border.bottom));
|
||||
if (priv->use_client_shadow)
|
||||
{
|
||||
gtk_render_background (context, cr,
|
||||
window_border.left, window_border.top,
|
||||
allocation.width -
|
||||
(window_border.left + window_border.right),
|
||||
allocation.height -
|
||||
(window_border.top + window_border.bottom));
|
||||
gtk_render_frame (context, cr,
|
||||
window_border.left, window_border.top,
|
||||
allocation.width -
|
||||
(window_border.left + window_border.right),
|
||||
allocation.height -
|
||||
(window_border.top + window_border.bottom));
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_render_background (context, cr, 0, 0,
|
||||
allocation.width,
|
||||
allocation.height);
|
||||
|
||||
gtk_render_frame (context, cr, 0, 0,
|
||||
allocation.width,
|
||||
allocation.height);
|
||||
}
|
||||
|
||||
gtk_style_context_restore (context);
|
||||
}
|
||||
@@ -10466,7 +10409,7 @@ gtk_window_set_screen (GtkWindow *window,
|
||||
}
|
||||
g_object_notify (G_OBJECT (window), "screen");
|
||||
|
||||
if (was_rgba)
|
||||
if (was_rgba && priv->use_client_shadow)
|
||||
{
|
||||
GdkVisual *visual;
|
||||
|
||||
|
||||
@@ -3227,6 +3227,13 @@ GtkVolumeButton.button { padding: 8px; }
|
||||
0 0 0 1px transparentize($_wm_border,0.1);
|
||||
}
|
||||
}
|
||||
&.solid-csd {
|
||||
border-radius: 0;
|
||||
margin: 4px;
|
||||
background-color: $backdrop_bg_color;
|
||||
border: solid 1px $backdrop_borders_color;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Window Close button
|
||||
|
||||
@@ -4245,6 +4245,12 @@ GtkVolumeButton.button, .header-bar GtkVolumeButton.button.titlebutton,
|
||||
.window-frame.csd.message-dialog {
|
||||
border-radius: 7px;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(28, 31, 31, 0.8); }
|
||||
.window-frame.solid-csd {
|
||||
border-radius: 0;
|
||||
margin: 4px;
|
||||
background-color: #393f3f;
|
||||
border: solid 1px #1e2222;
|
||||
box-shadow: none; }
|
||||
|
||||
.header-bar .titlebutton.button,
|
||||
.titlebar .titlebutton.button {
|
||||
|
||||
@@ -4417,6 +4417,12 @@ GtkVolumeButton.button, .header-bar GtkVolumeButton.button.titlebutton,
|
||||
.window-frame.csd.message-dialog {
|
||||
border-radius: 7px;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
|
||||
.window-frame.solid-csd {
|
||||
border-radius: 0;
|
||||
margin: 4px;
|
||||
background-color: #ededed;
|
||||
border: solid 1px #a8a8a8;
|
||||
box-shadow: none; }
|
||||
|
||||
.header-bar .titlebutton.button,
|
||||
.titlebar .titlebutton.button {
|
||||
|
||||
@@ -583,7 +583,7 @@ $_dot_color: $selected_bg_color;
|
||||
&:backdrop {
|
||||
color: $backdrop_fg_color;
|
||||
@extend %undecorated_button;
|
||||
&:hover { color: $selected_fg_color; background-color: selected_bg_color; }
|
||||
&:hover { color: $selected_fg_color; background-color: $selected_bg_color; }
|
||||
}
|
||||
&:insensitive { color: $insensitive_fg_color; }
|
||||
}
|
||||
@@ -2260,6 +2260,13 @@ GtkColorChooserWidget #add-color-button {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
&.solid-csd {
|
||||
border-radius: 0;
|
||||
margin: 4px;
|
||||
background-color: $backdrop_bg_color;
|
||||
border: solid 1px $backdrop_borders_color;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Window Close button
|
||||
|
||||
@@ -175,8 +175,7 @@
|
||||
box-shadow: none; }
|
||||
|
||||
.label:insensitive, .label:backdrop:insensitive {
|
||||
color: #7f7f7f;
|
||||
background-color: white; }
|
||||
color: #7f7f7f; }
|
||||
|
||||
/*********************
|
||||
* Spinner Animation *
|
||||
@@ -782,7 +781,7 @@
|
||||
color: #000; }
|
||||
.menuitem.button.flat:backdrop:hover {
|
||||
color: #fff;
|
||||
background-color: selected_bg_color; }
|
||||
background-color: #000; }
|
||||
.menuitem.button.flat:insensitive {
|
||||
color: #7f7f7f; }
|
||||
|
||||
@@ -2512,6 +2511,12 @@ GtkColorChooserWidget #add-color-button {
|
||||
.window-frame.csd.tooltip {
|
||||
border-radius: 5px;
|
||||
box-shadow: none; }
|
||||
.window-frame.solid-csd {
|
||||
border-radius: 0;
|
||||
margin: 4px;
|
||||
background-color: #fff;
|
||||
border: solid 1px #8b8b8b;
|
||||
box-shadow: none; }
|
||||
|
||||
.button.titlebutton {
|
||||
padding: 8px;
|
||||
|
||||
@@ -872,3 +872,12 @@ GtkCalendar.button:hover {
|
||||
.window-frame:backdrop {
|
||||
box-shadow: 0 2px 5px 1px alpha(black, 0.5);
|
||||
}
|
||||
|
||||
.window-frame.solid-csd {
|
||||
border-radius: 0;
|
||||
margin: 2px;
|
||||
background-color: @bg_color;
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
@@ -118,6 +118,7 @@ gtk/gtkcolorscale.c
|
||||
gtk/gtkcolorswatch.c
|
||||
gtk/gtkcombobox.c
|
||||
gtk/gtkcontainer.c
|
||||
gtk/gtkcssnode.c
|
||||
gtk/gtkcssprovider.c
|
||||
gtk/gtkcssshorthandproperty.c
|
||||
gtk/gtkcssstyleproperty.c
|
||||
|
||||
@@ -60,6 +60,7 @@ gtk/inspector/classes-list.ui
|
||||
gtk/inspector/classes-list.ui.h
|
||||
gtk/inspector/css-editor.ui
|
||||
gtk/inspector/css-editor.ui.h
|
||||
gtk/inspector/css-node-tree.ui
|
||||
gtk/inspector/data-list.ui
|
||||
gtk/inspector/data-list.ui.h
|
||||
gtk/inspector/general.ui
|
||||
@@ -167,6 +168,8 @@ testsuite/reftests/border-image-url.ref.ui
|
||||
testsuite/reftests/border-image-url-scaled.ref.ui
|
||||
testsuite/reftests/border-image-url-scaled.ui
|
||||
testsuite/reftests/border-image-url.ui
|
||||
testsuite/reftests/box-order.ref.ui
|
||||
testsuite/reftests/box-order.ui
|
||||
testsuite/reftests/box-packing.ui
|
||||
testsuite/reftests/box-pseudo-classes.ref.ui
|
||||
testsuite/reftests/box-pseudo-classes.ui
|
||||
|
||||
+2208
-2208
File diff suppressed because it is too large
Load Diff
+2261
-2229
File diff suppressed because it is too large
Load Diff
+2206
-2206
File diff suppressed because it is too large
Load Diff
+2216
-2209
File diff suppressed because it is too large
Load Diff
+930
-1130
File diff suppressed because it is too large
Load Diff
+331
-294
File diff suppressed because it is too large
Load Diff
+3929
-2975
File diff suppressed because it is too large
Load Diff
+324
-292
File diff suppressed because it is too large
Load Diff
@@ -118,6 +118,7 @@ gtk/gtkcolorscale.c
|
||||
gtk/gtkcolorswatch.c
|
||||
gtk/gtkcombobox.c
|
||||
gtk/gtkcontainer.c
|
||||
gtk/gtkcssnode.c
|
||||
gtk/gtkcssprovider.c
|
||||
gtk/gtkcssshorthandproperty.c
|
||||
gtk/gtkcssstyleproperty.c
|
||||
@@ -289,6 +290,7 @@ gtk/inspector/classes-list.c
|
||||
gtk/inspector/classes-list.ui
|
||||
gtk/inspector/css-editor.c
|
||||
gtk/inspector/css-editor.ui
|
||||
gtk/inspector/css-node-tree.ui
|
||||
gtk/inspector/data-list.ui
|
||||
gtk/inspector/general.c
|
||||
gtk/inspector/general.ui
|
||||
|
||||
@@ -94,6 +94,8 @@ testsuite/reftests/border-image-url.ref.ui
|
||||
testsuite/reftests/border-image-url-scaled.ref.ui
|
||||
testsuite/reftests/border-image-url-scaled.ui
|
||||
testsuite/reftests/border-image-url.ui
|
||||
testsuite/reftests/box-order.ref.ui
|
||||
testsuite/reftests/box-order.ui
|
||||
testsuite/reftests/box-packing.ui
|
||||
testsuite/reftests/box-pseudo-classes.ref.ui
|
||||
testsuite/reftests/box-pseudo-classes.ui
|
||||
|
||||
@@ -13,8 +13,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-03-11 10:18+0000\n"
|
||||
"PO-Revision-Date: 2015-03-12 02:52+0900\n"
|
||||
"POT-Creation-Date: 2015-03-23 22:08+0000\n"
|
||||
"PO-Revision-Date: 2015-03-24 09:52+0900\n"
|
||||
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
|
||||
"Language-Team: Gnome Korea <gnome-kr@googlegroups.com>\n"
|
||||
"Language: Korean\n"
|
||||
@@ -1060,6 +1060,10 @@ msgctxt "Stock label"
|
||||
msgid "Zoom _Out"
|
||||
msgstr "축소(_O)"
|
||||
|
||||
#: gtk/a11y/gtkmenubuttonaccessible.c:102 gtk/inspector/window.ui:356
|
||||
msgid "Menu"
|
||||
msgstr "메뉴"
|
||||
|
||||
#: gtk/a11y/gtkmenuitemaccessible.c:445
|
||||
msgctxt "Action description"
|
||||
msgid "Clicks the menuitem"
|
||||
@@ -1237,7 +1241,7 @@ msgstr ""
|
||||
#: gtk/gtkmountoperation.c:543 gtk/gtkpagesetupunixdialog.c:196
|
||||
#: gtk/gtkprintbackend.c:763 gtk/gtkprinteroptionwidget.c:545
|
||||
#: gtk/gtkprintunixdialog.c:665 gtk/gtkprintunixdialog.c:738
|
||||
#: gtk/gtkwindow.c:11917 gtk/inspector/css-editor.c:199
|
||||
#: gtk/gtkwindow.c:11925 gtk/inspector/css-editor.c:199
|
||||
#: gtk/ui/gtkappchooserdialog.ui:79 gtk/ui/gtkassistant.ui:169
|
||||
#: gtk/ui/gtkcolorchooserdialog.ui:38 gtk/ui/gtkfontchooserdialog.ui:35
|
||||
msgid "_Cancel"
|
||||
@@ -1286,7 +1290,7 @@ msgid "_Apply"
|
||||
msgstr "적용(_A)"
|
||||
|
||||
#: gtk/deprecated/gtkfontsel.c:1698 gtk/gtkmessagedialog.c:936
|
||||
#: gtk/gtkmessagedialog.c:958 gtk/gtkprintbackend.c:764 gtk/gtkwindow.c:11918
|
||||
#: gtk/gtkmessagedialog.c:958 gtk/gtkprintbackend.c:764 gtk/gtkwindow.c:11926
|
||||
#: gtk/inspector/classes-list.c:127
|
||||
msgid "_OK"
|
||||
msgstr "확인(_O)"
|
||||
@@ -2141,31 +2145,31 @@ msgstr "오른쪽(_R):"
|
||||
msgid "Paper Margins"
|
||||
msgstr "용지 여백"
|
||||
|
||||
#: gtk/gtkentry.c:9629 gtk/gtkentry.c:9782 gtk/gtklabel.c:6597
|
||||
#: gtk/gtkentry.c:9615 gtk/gtkentry.c:9768 gtk/gtklabel.c:6596
|
||||
#: gtk/gtktextview.c:9037 gtk/gtktextview.c:9225
|
||||
msgid "Cu_t"
|
||||
msgstr "잘라내기(_T)"
|
||||
|
||||
#: gtk/gtkentry.c:9633 gtk/gtkentry.c:9785 gtk/gtklabel.c:6598
|
||||
#: gtk/gtkentry.c:9619 gtk/gtkentry.c:9771 gtk/gtklabel.c:6597
|
||||
#: gtk/gtktextview.c:9041 gtk/gtktextview.c:9229
|
||||
msgid "_Copy"
|
||||
msgstr "복사(_C)"
|
||||
|
||||
#: gtk/gtkentry.c:9637 gtk/gtkentry.c:9788 gtk/gtklabel.c:6599
|
||||
#: gtk/gtkentry.c:9623 gtk/gtkentry.c:9774 gtk/gtklabel.c:6598
|
||||
#: gtk/gtktextview.c:9043 gtk/gtktextview.c:9231
|
||||
msgid "_Paste"
|
||||
msgstr "붙여넣기(_P)"
|
||||
|
||||
#: gtk/gtkentry.c:9640 gtk/gtklabel.c:6601 gtk/gtktextview.c:9046
|
||||
#: gtk/gtkentry.c:9626 gtk/gtklabel.c:6600 gtk/gtktextview.c:9046
|
||||
msgid "_Delete"
|
||||
msgstr "삭제(_D)"
|
||||
|
||||
#: gtk/gtkentry.c:9651 gtk/gtklabel.c:6610 gtk/gtktextview.c:9060
|
||||
#: gtk/gtkentry.c:9637 gtk/gtklabel.c:6609 gtk/gtktextview.c:9060
|
||||
msgid "Select _All"
|
||||
msgstr "모두 선택(_A)"
|
||||
|
||||
# Caps Lock 키보드 위에 쓰여 있는 글이므로 번역/음역하지 않는다
|
||||
#: gtk/gtkentry.c:10849
|
||||
#: gtk/gtkentry.c:10835
|
||||
msgid "Caps Lock is on"
|
||||
msgstr "Caps Lock이 켜져 있습니다"
|
||||
|
||||
@@ -2185,7 +2189,7 @@ msgstr "(없음)"
|
||||
msgid "_Open"
|
||||
msgstr "열기(_O)"
|
||||
|
||||
#: gtk/gtkfilechooserbutton.c:2137
|
||||
#: gtk/gtkfilechooserbutton.c:2138
|
||||
msgid "Other…"
|
||||
msgstr "기타…"
|
||||
|
||||
@@ -2281,7 +2285,7 @@ msgstr "폴더를 파일보다 앞에 정렬(_F)"
|
||||
|
||||
#. this is the header for the location column in the print dialog
|
||||
#: gtk/gtkfilechooserwidget.c:2018 gtk/inspector/style-prop-list.ui:118
|
||||
#: gtk/ui/gtkfilechooserwidget.ui:259 gtk/ui/gtkprintunixdialog.ui:137
|
||||
#: gtk/ui/gtkfilechooserwidget.ui:259 gtk/ui/gtkprintunixdialog.ui:135
|
||||
msgid "Location"
|
||||
msgstr "위치"
|
||||
|
||||
@@ -2399,7 +2403,7 @@ msgstr "OpenGL 컨텍스트 만들기 실패"
|
||||
msgid "Application menu"
|
||||
msgstr "프로그램 메뉴"
|
||||
|
||||
#: gtk/gtkheaderbar.c:479 gtk/gtkwindow.c:8591
|
||||
#: gtk/gtkheaderbar.c:479 gtk/gtkwindow.c:8586
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
@@ -2450,12 +2454,12 @@ msgid "Error"
|
||||
msgstr "오류"
|
||||
|
||||
#. Open Link
|
||||
#: gtk/gtklabel.c:6578
|
||||
#: gtk/gtklabel.c:6577
|
||||
msgid "_Open Link"
|
||||
msgstr "링크 열기(_O)"
|
||||
|
||||
#. Copy Link Address
|
||||
#: gtk/gtklabel.c:6587
|
||||
#: gtk/gtklabel.c:6586
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "링크 주소 복사(_L)"
|
||||
|
||||
@@ -2598,10 +2602,6 @@ msgstr "GTK+ 옵션 표시"
|
||||
msgid "default:LTR"
|
||||
msgstr "default:LTR"
|
||||
|
||||
#: gtk/gtkmenubutton.c:640 gtk/inspector/window.ui:356
|
||||
msgid "Menu"
|
||||
msgstr "메뉴"
|
||||
|
||||
#: gtk/gtkmessagedialog.c:948
|
||||
msgid "_No"
|
||||
msgstr "아니요(_N)"
|
||||
@@ -2696,12 +2696,12 @@ msgstr "Z 셸"
|
||||
msgid "Cannot end process with PID %d: %s"
|
||||
msgstr "PID %d 프로세스를 끝낼 수 없습니다: %s"
|
||||
|
||||
#: gtk/gtknotebook.c:5167 gtk/gtknotebook.c:7896
|
||||
#: gtk/gtknotebook.c:5173 gtk/gtknotebook.c:7904
|
||||
#, c-format
|
||||
msgid "Page %u"
|
||||
msgstr "%u페이지"
|
||||
|
||||
#: gtk/gtkpagesetup.c:652 gtk/gtkpapersize.c:985 gtk/gtkpapersize.c:1025
|
||||
#: gtk/gtkpagesetup.c:652 gtk/gtkpapersize.c:986 gtk/gtkpapersize.c:1026
|
||||
msgid "Not a valid page setup file"
|
||||
msgstr "올바른 페이지 설정 파일이 아닙니다"
|
||||
|
||||
@@ -2733,7 +2733,7 @@ msgid "Manage Custom Sizes…"
|
||||
msgstr "사용자 설정 크기 관리…"
|
||||
|
||||
#: gtk/gtkpagesetupunixdialog.c:900 gtk/ui/gtkpagesetupunixdialog.ui:31
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1031
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1029
|
||||
msgid "Page Setup"
|
||||
msgstr "페이지 설정"
|
||||
|
||||
@@ -2930,7 +2930,7 @@ msgstr "빼기(_E)"
|
||||
msgid "_Detect Media"
|
||||
msgstr "미디어 검색(_D)"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4167
|
||||
#: gtk/gtkplacessidebar.c:4165
|
||||
msgid "Computer"
|
||||
msgstr "컴퓨터"
|
||||
|
||||
@@ -3287,7 +3287,7 @@ msgstr "검색"
|
||||
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
|
||||
#. * the state
|
||||
#.
|
||||
#: gtk/gtkswitch.c:379 gtk/gtkswitch.c:431 gtk/gtkswitch.c:606
|
||||
#: gtk/gtkswitch.c:379 gtk/gtkswitch.c:431 gtk/gtkswitch.c:605
|
||||
msgctxt "switch"
|
||||
msgid "ON"
|
||||
msgstr "켬"
|
||||
@@ -3295,7 +3295,7 @@ msgstr "켬"
|
||||
#. Translators: if the "off" state label requires more than three
|
||||
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
|
||||
#.
|
||||
#: gtk/gtkswitch.c:387 gtk/gtkswitch.c:432 gtk/gtkswitch.c:621
|
||||
#: gtk/gtkswitch.c:387 gtk/gtkswitch.c:432 gtk/gtkswitch.c:620
|
||||
msgctxt "switch"
|
||||
msgid "OFF"
|
||||
msgstr "끔"
|
||||
@@ -3482,12 +3482,12 @@ msgctxt "volume percentage"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: gtk/gtkwindow.c:11905
|
||||
#: gtk/gtkwindow.c:11913
|
||||
#, c-format
|
||||
msgid "Do you want to use GTK+ Inspector?"
|
||||
msgstr "GTK+ 인스펙터를 사용하시겠습니까?"
|
||||
|
||||
#: gtk/gtkwindow.c:11907
|
||||
#: gtk/gtkwindow.c:11915
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK+ Inspector is an interactive debugger that lets you explore and modify "
|
||||
@@ -3498,7 +3498,7 @@ msgstr ""
|
||||
"그램의 내부 구조를 살펴 보거나 수정할 수 있습니다. GTK+ 인스펙터를 사용했을 "
|
||||
"때 프로그램이 멈추거나 이상 동작으로 중지할 수도 있습니다."
|
||||
|
||||
#: gtk/gtkwindow.c:11912
|
||||
#: gtk/gtkwindow.c:11920
|
||||
msgid "Don't show this message again"
|
||||
msgstr "이 메시지 다시 보지 않기"
|
||||
|
||||
@@ -3706,18 +3706,26 @@ msgid "Accessible role"
|
||||
msgstr "접근성 역할"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:507
|
||||
msgid "Accessible name"
|
||||
msgstr "접근성 이름"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:541
|
||||
msgid "Accessible description"
|
||||
msgstr "접근성 설명"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:575
|
||||
msgid "Mapped"
|
||||
msgstr "매핑됨"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:543
|
||||
#: gtk/inspector/misc-info.ui:611
|
||||
msgid "Realized"
|
||||
msgstr "실재화함"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:579
|
||||
#: gtk/inspector/misc-info.ui:647
|
||||
msgid "Is Toplevel"
|
||||
msgstr "최상위 여부"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:615
|
||||
#: gtk/inspector/misc-info.ui:683
|
||||
msgid "Child Visible"
|
||||
msgstr "하위 표시"
|
||||
|
||||
@@ -3920,7 +3928,7 @@ msgstr "자체"
|
||||
msgid "Cumulative"
|
||||
msgstr "누적"
|
||||
|
||||
#: gtk/inspector/statistics.ui:164
|
||||
#: gtk/inspector/statistics.ui:165
|
||||
msgid "Enable statistics with GOBJECT_DEBUG=instance-count"
|
||||
msgstr "GOBJECT_DEBUG=instance-count 변수로 통계 기능 사용"
|
||||
|
||||
@@ -4136,7 +4144,7 @@ msgstr "리소스"
|
||||
msgid "Visual"
|
||||
msgstr "겉 모양"
|
||||
|
||||
#: gtk/inspector/window.ui:436 gtk/ui/gtkprintunixdialog.ui:499
|
||||
#: gtk/inspector/window.ui:436 gtk/ui/gtkprintunixdialog.ui:497
|
||||
msgid "General"
|
||||
msgstr "일반"
|
||||
|
||||
@@ -5192,7 +5200,7 @@ msgstr "조건에 맞는 글꼴이 없습니다. 검색 조건을 바꿔서 다
|
||||
msgid "_Format for:"
|
||||
msgstr "다음 프린터에 대한 형식(_F):"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:88 gtk/ui/gtkprintunixdialog.ui:903
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:88 gtk/ui/gtkprintunixdialog.ui:901
|
||||
msgid "_Paper size:"
|
||||
msgstr "용지 크기(_P):"
|
||||
|
||||
@@ -5200,19 +5208,19 @@ msgstr "용지 크기(_P):"
|
||||
msgid "_Orientation:"
|
||||
msgstr "방향(_O):"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:179 gtk/ui/gtkprintunixdialog.ui:959
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:179 gtk/ui/gtkprintunixdialog.ui:957
|
||||
msgid "Portrait"
|
||||
msgstr "세로 방향"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:229 gtk/ui/gtkprintunixdialog.ui:961
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:229 gtk/ui/gtkprintunixdialog.ui:959
|
||||
msgid "Reverse portrait"
|
||||
msgstr "뒤집힌 세로 방향"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:279 gtk/ui/gtkprintunixdialog.ui:960
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:279 gtk/ui/gtkprintunixdialog.ui:958
|
||||
msgid "Landscape"
|
||||
msgstr "가로 방향"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:328 gtk/ui/gtkprintunixdialog.ui:962
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:328 gtk/ui/gtkprintunixdialog.ui:960
|
||||
msgid "Reverse landscape"
|
||||
msgstr "뒤집힌 가로 방향"
|
||||
|
||||
@@ -5224,37 +5232,37 @@ msgstr "아래 경로"
|
||||
msgid "Up Path"
|
||||
msgstr "위 경로"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:126
|
||||
#: gtk/ui/gtkprintunixdialog.ui:124
|
||||
msgid "Printer"
|
||||
msgstr "프린터"
|
||||
|
||||
#. this is the header for the printer status column in the print dialog
|
||||
#: gtk/ui/gtkprintunixdialog.ui:148
|
||||
#: gtk/ui/gtkprintunixdialog.ui:146
|
||||
msgid "Status"
|
||||
msgstr "상태"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:210
|
||||
#: gtk/ui/gtkprintunixdialog.ui:208
|
||||
msgid "Range"
|
||||
msgstr "범위"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:233
|
||||
#: gtk/ui/gtkprintunixdialog.ui:231
|
||||
msgid "_All Pages"
|
||||
msgstr "모든 페이지(_A)"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:251
|
||||
#: gtk/ui/gtkprintunixdialog.ui:249
|
||||
msgid "C_urrent Page"
|
||||
msgstr "현재 페이지(_U)"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:271
|
||||
#: gtk/ui/gtkprintunixdialog.ui:269
|
||||
msgid "Se_lection"
|
||||
msgstr "선택(_L)"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:290
|
||||
#: gtk/ui/gtkprintunixdialog.ui:288
|
||||
msgid "Pag_es:"
|
||||
msgstr "페이지(_E):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:294 gtk/ui/gtkprintunixdialog.ui:315
|
||||
#: gtk/ui/gtkprintunixdialog.ui:322
|
||||
#: gtk/ui/gtkprintunixdialog.ui:292 gtk/ui/gtkprintunixdialog.ui:313
|
||||
#: gtk/ui/gtkprintunixdialog.ui:320
|
||||
msgid ""
|
||||
"Specify one or more page ranges,\n"
|
||||
" e.g. 1–3, 7, 11"
|
||||
@@ -5262,105 +5270,105 @@ msgstr ""
|
||||
"페이지 범위를 지정하십시오.\n"
|
||||
" 예) 1–3, 7, 11"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:321
|
||||
#: gtk/ui/gtkprintunixdialog.ui:319
|
||||
msgid "Pages"
|
||||
msgstr "페이지"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:363
|
||||
#: gtk/ui/gtkprintunixdialog.ui:361
|
||||
msgid "Copies"
|
||||
msgstr "인쇄 매수"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:390
|
||||
#: gtk/ui/gtkprintunixdialog.ui:388
|
||||
msgid "Copie_s:"
|
||||
msgstr "인쇄 매수(_S):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:420
|
||||
#: gtk/ui/gtkprintunixdialog.ui:418
|
||||
msgid "C_ollate"
|
||||
msgstr "한 부씩 인쇄(_O)"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:438
|
||||
#: gtk/ui/gtkprintunixdialog.ui:436
|
||||
msgid "_Reverse"
|
||||
msgstr "마지막 페이지부터(_R)"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:529
|
||||
#: gtk/ui/gtkprintunixdialog.ui:527
|
||||
msgid "Layout"
|
||||
msgstr "배치"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:556
|
||||
#: gtk/ui/gtkprintunixdialog.ui:554
|
||||
msgid "T_wo-sided:"
|
||||
msgstr "양면(_W):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:589
|
||||
#: gtk/ui/gtkprintunixdialog.ui:587
|
||||
msgid "Pages per _side:"
|
||||
msgstr "한 장당 페이지 수(_S):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:624
|
||||
#: gtk/ui/gtkprintunixdialog.ui:622
|
||||
msgid "Page or_dering:"
|
||||
msgstr "페이지 순서(_D):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:658
|
||||
#: gtk/ui/gtkprintunixdialog.ui:656
|
||||
msgid "_Only print:"
|
||||
msgstr "다음만 인쇄(_O):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:678
|
||||
#: gtk/ui/gtkprintunixdialog.ui:676
|
||||
msgid "All sheets"
|
||||
msgstr "모든 페이지"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:679
|
||||
#: gtk/ui/gtkprintunixdialog.ui:677
|
||||
msgid "Even sheets"
|
||||
msgstr "짝수 페이지"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:680
|
||||
#: gtk/ui/gtkprintunixdialog.ui:678
|
||||
msgid "Odd sheets"
|
||||
msgstr "홀수 페이지"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:696
|
||||
#: gtk/ui/gtkprintunixdialog.ui:694
|
||||
msgid "Sc_ale:"
|
||||
msgstr "크기 조정(_A):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:777
|
||||
#: gtk/ui/gtkprintunixdialog.ui:775
|
||||
msgid "Paper"
|
||||
msgstr "용지"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:804
|
||||
#: gtk/ui/gtkprintunixdialog.ui:802
|
||||
msgid "Paper _type:"
|
||||
msgstr "용지 종류(_T):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:837
|
||||
#: gtk/ui/gtkprintunixdialog.ui:835
|
||||
msgid "Paper _source:"
|
||||
msgstr "용지 공급(_S):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:870
|
||||
#: gtk/ui/gtkprintunixdialog.ui:868
|
||||
msgid "Output t_ray:"
|
||||
msgstr "출력 트레이(_R):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:938
|
||||
#: gtk/ui/gtkprintunixdialog.ui:936
|
||||
msgid "Or_ientation:"
|
||||
msgstr "방향(_I):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1056
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1054
|
||||
msgid "Job Details"
|
||||
msgstr "작업 상세 정보"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1083
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1081
|
||||
msgid "Pri_ority:"
|
||||
msgstr "우선순위(_O):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1115
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1113
|
||||
msgid "_Billing info:"
|
||||
msgstr "요금 정보(_B):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1171
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1169
|
||||
msgid "Print Document"
|
||||
msgstr "문서 인쇄"
|
||||
|
||||
#. this is one of the choices for the print at option in the print dialog
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1194
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1192
|
||||
msgid "_Now"
|
||||
msgstr "지금(_N)"
|
||||
|
||||
#. this is one of the choices for the print at option in the print dialog. It also serves as the label for an entry that allows the user to enter a time.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1213
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1211
|
||||
msgid "A_t:"
|
||||
msgstr "시각(_T):"
|
||||
|
||||
@@ -5368,9 +5376,9 @@ msgstr "시각(_T):"
|
||||
# ( https://bugzilla.gnome.org/show_bug.cgi?id=568571 )
|
||||
#
|
||||
#. Ability to parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if they are not supported.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1218 gtk/ui/gtkprintunixdialog.ui:1220
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1242 gtk/ui/gtkprintunixdialog.ui:1244
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1251
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1216 gtk/ui/gtkprintunixdialog.ui:1218
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1240 gtk/ui/gtkprintunixdialog.ui:1242
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1249
|
||||
msgid ""
|
||||
"Specify the time of print,\n"
|
||||
" e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm"
|
||||
@@ -5378,58 +5386,58 @@ msgstr ""
|
||||
"인쇄 시각을 지정합니다.\n"
|
||||
" 예) 15∶30, 오후 2∶35, 14∶15∶20, 오전 11∶46∶30, 오후 4"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1250
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1248
|
||||
msgid "Time of print"
|
||||
msgstr "인쇄 시각"
|
||||
|
||||
#. this is one of the choices for the print at option in the print dialog. It means that the print job will not be printed until it explicitly gets 'released'.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1266
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1264
|
||||
msgid "On _hold"
|
||||
msgstr "보류(_H)"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1271 gtk/ui/gtkprintunixdialog.ui:1272
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1269 gtk/ui/gtkprintunixdialog.ui:1270
|
||||
msgid "Hold the job until it is explicitly released"
|
||||
msgstr "작업 보류, 직접 보류 상태를 풀 때까지"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1316
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1314
|
||||
msgid "Add Cover Page"
|
||||
msgstr "표지 사용"
|
||||
|
||||
#. this is the label used for the option in the print dialog that controls the front cover page.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1343
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1341
|
||||
msgid "Be_fore:"
|
||||
msgstr "앞에(_F):"
|
||||
|
||||
#. this is the label used for the option in the print dialog that controls the back cover page.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1375
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1373
|
||||
msgid "_After:"
|
||||
msgstr "뒤에(_A):"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1431
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1429
|
||||
msgid "Job"
|
||||
msgstr "작업"
|
||||
|
||||
#. This will appear as a tab label in the print dialog.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1495
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1493
|
||||
msgid "Image Quality"
|
||||
msgstr "그림 화질"
|
||||
|
||||
#. This will appear as a tab label in the print dialog.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1559
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1557
|
||||
msgid "Color"
|
||||
msgstr "색"
|
||||
|
||||
#. This will appear as a tab label in the print dialog.
|
||||
#. It's a typographical term, as in "Binding and finishing"
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1623
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1621
|
||||
msgid "Finishing"
|
||||
msgstr "마무리"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1669
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1667
|
||||
msgid "Advanced"
|
||||
msgstr "고급"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1698
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1696
|
||||
msgid "Some of the settings in the dialog conflict"
|
||||
msgstr "대화 상자의 설정이 충돌합니다"
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-03-05 23:44+0100\n"
|
||||
"PO-Revision-Date: 2015-03-05 23:47+0100\n"
|
||||
"POT-Creation-Date: 2015-03-23 17:28+0100\n"
|
||||
"PO-Revision-Date: 2015-03-23 17:29+0100\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <gnomepl@aviary.pl>\n"
|
||||
"Language: pl\n"
|
||||
@@ -94,7 +94,7 @@ msgstr "ZNACZNIKI"
|
||||
msgid "GDK debugging flags to unset"
|
||||
msgstr "Wyczyszczone znaczniki debugowania biblioteki GDK"
|
||||
|
||||
#: gdk/gdkwindow.c:2736
|
||||
#: gdk/gdkwindow.c:2739
|
||||
msgid "GL support disabled via GDK_DEBUG"
|
||||
msgstr "Obsługa GL została wyłączona przez zmienną GDK_DEBUG"
|
||||
|
||||
@@ -1044,6 +1044,10 @@ msgctxt "Stock label"
|
||||
msgid "Zoom _Out"
|
||||
msgstr "Po_mniejsz"
|
||||
|
||||
#: gtk/a11y/gtkmenubuttonaccessible.c:102 gtk/inspector/window.ui:356
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: gtk/a11y/gtkmenuitemaccessible.c:445
|
||||
msgctxt "Action description"
|
||||
msgid "Clicks the menuitem"
|
||||
@@ -1222,7 +1226,7 @@ msgstr ""
|
||||
#: gtk/gtkmountoperation.c:543 gtk/gtkpagesetupunixdialog.c:196
|
||||
#: gtk/gtkprintbackend.c:763 gtk/gtkprinteroptionwidget.c:545
|
||||
#: gtk/gtkprintunixdialog.c:665 gtk/gtkprintunixdialog.c:738
|
||||
#: gtk/gtkwindow.c:11907 gtk/inspector/css-editor.c:199
|
||||
#: gtk/gtkwindow.c:11925 gtk/inspector/css-editor.c:199
|
||||
#: gtk/ui/gtkappchooserdialog.ui:79 gtk/ui/gtkassistant.ui:169
|
||||
#: gtk/ui/gtkcolorchooserdialog.ui:38 gtk/ui/gtkfontchooserdialog.ui:35
|
||||
msgid "_Cancel"
|
||||
@@ -1271,7 +1275,7 @@ msgid "_Apply"
|
||||
msgstr "_Zastosuj"
|
||||
|
||||
#: gtk/deprecated/gtkfontsel.c:1698 gtk/gtkmessagedialog.c:936
|
||||
#: gtk/gtkmessagedialog.c:958 gtk/gtkprintbackend.c:764 gtk/gtkwindow.c:11908
|
||||
#: gtk/gtkmessagedialog.c:958 gtk/gtkprintbackend.c:764 gtk/gtkwindow.c:11926
|
||||
#: gtk/inspector/classes-list.c:127
|
||||
msgid "_OK"
|
||||
msgstr "_OK"
|
||||
@@ -2128,30 +2132,30 @@ msgstr "_Prawy:"
|
||||
msgid "Paper Margins"
|
||||
msgstr "Marginesy papieru"
|
||||
|
||||
#: gtk/gtkentry.c:9626 gtk/gtkentry.c:9779 gtk/gtklabel.c:6597
|
||||
#: gtk/gtkentry.c:9615 gtk/gtkentry.c:9768 gtk/gtklabel.c:6596
|
||||
#: gtk/gtktextview.c:9037 gtk/gtktextview.c:9225
|
||||
msgid "Cu_t"
|
||||
msgstr "_Wytnij"
|
||||
|
||||
#: gtk/gtkentry.c:9630 gtk/gtkentry.c:9782 gtk/gtklabel.c:6598
|
||||
#: gtk/gtkentry.c:9619 gtk/gtkentry.c:9771 gtk/gtklabel.c:6597
|
||||
#: gtk/gtktextview.c:9041 gtk/gtktextview.c:9229
|
||||
msgid "_Copy"
|
||||
msgstr "S_kopiuj"
|
||||
|
||||
#: gtk/gtkentry.c:9634 gtk/gtkentry.c:9785 gtk/gtklabel.c:6599
|
||||
#: gtk/gtkentry.c:9623 gtk/gtkentry.c:9774 gtk/gtklabel.c:6598
|
||||
#: gtk/gtktextview.c:9043 gtk/gtktextview.c:9231
|
||||
msgid "_Paste"
|
||||
msgstr "Wk_lej"
|
||||
|
||||
#: gtk/gtkentry.c:9637 gtk/gtklabel.c:6601 gtk/gtktextview.c:9046
|
||||
#: gtk/gtkentry.c:9626 gtk/gtklabel.c:6600 gtk/gtktextview.c:9046
|
||||
msgid "_Delete"
|
||||
msgstr "_Usuń"
|
||||
|
||||
#: gtk/gtkentry.c:9648 gtk/gtklabel.c:6610 gtk/gtktextview.c:9060
|
||||
#: gtk/gtkentry.c:9637 gtk/gtklabel.c:6609 gtk/gtktextview.c:9060
|
||||
msgid "Select _All"
|
||||
msgstr "Z_aznacz wszystko"
|
||||
|
||||
#: gtk/gtkentry.c:10848
|
||||
#: gtk/gtkentry.c:10835
|
||||
msgid "Caps Lock is on"
|
||||
msgstr "Klawisz Caps Lock jest włączony"
|
||||
|
||||
@@ -2171,7 +2175,7 @@ msgstr "(Brak)"
|
||||
msgid "_Open"
|
||||
msgstr "_Otwórz"
|
||||
|
||||
#: gtk/gtkfilechooserbutton.c:2137
|
||||
#: gtk/gtkfilechooserbutton.c:2138
|
||||
msgid "Other…"
|
||||
msgstr "Inne…"
|
||||
|
||||
@@ -2374,7 +2378,7 @@ msgstr "Wybór czcionki"
|
||||
#: gtk/gtkfontbutton.c:1182 gtk/inspector/general.c:226
|
||||
#: gtk/inspector/general.c:227 gtk/inspector/gestures.c:128
|
||||
#: gtk/inspector/prop-editor.c:1200 gtk/inspector/size-groups.c:252
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "None"
|
||||
msgstr "Brak"
|
||||
|
||||
@@ -2386,7 +2390,7 @@ msgstr "Utworzenie kontekstu OpenGL się nie powiodło"
|
||||
msgid "Application menu"
|
||||
msgstr "Menu programu"
|
||||
|
||||
#: gtk/gtkheaderbar.c:479 gtk/gtkwindow.c:8581
|
||||
#: gtk/gtkheaderbar.c:479 gtk/gtkwindow.c:8586
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
@@ -2437,12 +2441,12 @@ msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#. Open Link
|
||||
#: gtk/gtklabel.c:6578
|
||||
#: gtk/gtklabel.c:6577
|
||||
msgid "_Open Link"
|
||||
msgstr "_Otwórz odnośnik"
|
||||
|
||||
#. Copy Link Address
|
||||
#: gtk/gtklabel.c:6587
|
||||
#: gtk/gtklabel.c:6586
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "S_kopiuj adres odnośnika"
|
||||
|
||||
@@ -2585,10 +2589,6 @@ msgstr "Wyświetla opcje biblioteki GTK+"
|
||||
msgid "default:LTR"
|
||||
msgstr "default:LTR"
|
||||
|
||||
#: gtk/gtkmenubutton.c:640 gtk/inspector/window.ui:356
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: gtk/gtkmessagedialog.c:948
|
||||
msgid "_No"
|
||||
msgstr "_Nie"
|
||||
@@ -2683,12 +2683,12 @@ msgstr "Powłoka Z"
|
||||
msgid "Cannot end process with PID %d: %s"
|
||||
msgstr "Nie można zakończyć procesu o PID %d: %s"
|
||||
|
||||
#: gtk/gtknotebook.c:5165 gtk/gtknotebook.c:7893
|
||||
#: gtk/gtknotebook.c:5173 gtk/gtknotebook.c:7904
|
||||
#, c-format
|
||||
msgid "Page %u"
|
||||
msgstr "Strona %u"
|
||||
|
||||
#: gtk/gtkpagesetup.c:652 gtk/gtkpapersize.c:985 gtk/gtkpapersize.c:1025
|
||||
#: gtk/gtkpagesetup.c:652 gtk/gtkpapersize.c:986 gtk/gtkpapersize.c:1026
|
||||
msgid "Not a valid page setup file"
|
||||
msgstr "Nieprawidłowy plik ustawień strony"
|
||||
|
||||
@@ -2916,7 +2916,7 @@ msgstr "Wy_suń"
|
||||
msgid "_Detect Media"
|
||||
msgstr "Wy_kryj nośnik"
|
||||
|
||||
#: gtk/gtkplacessidebar.c:4167
|
||||
#: gtk/gtkplacessidebar.c:4165
|
||||
msgid "Computer"
|
||||
msgstr "Komputer"
|
||||
|
||||
@@ -3029,7 +3029,7 @@ msgstr "Brak papieru"
|
||||
|
||||
#. Translators: this is a printer status.
|
||||
#: gtk/gtkprintoperation-win32.c:620
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2493
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2509
|
||||
msgid "Paused"
|
||||
msgstr "Wstrzymane"
|
||||
|
||||
@@ -3097,42 +3097,42 @@ msgstr "Pobieranie informacji o drukarce…"
|
||||
#. * multiple pages on a sheet when printing
|
||||
#.
|
||||
#: gtk/gtkprintunixdialog.c:3101
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5157
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5173
|
||||
msgid "Left to right, top to bottom"
|
||||
msgstr "Od lewej do prawej, z góry do dołu"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3101
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5157
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5173
|
||||
msgid "Left to right, bottom to top"
|
||||
msgstr "Od lewej do prawej, z dołu na górę"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3102
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5158
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5174
|
||||
msgid "Right to left, top to bottom"
|
||||
msgstr "Od prawej do lewej, z góry na dół"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3102
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5158
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5174
|
||||
msgid "Right to left, bottom to top"
|
||||
msgstr "Od prawej do lewej, z dołu na górę"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3103
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5159
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5175
|
||||
msgid "Top to bottom, left to right"
|
||||
msgstr "Z góry do dołu, od lewej do prawej"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3103
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5159
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5175
|
||||
msgid "Top to bottom, right to left"
|
||||
msgstr "Z góry do dołu, od prawej do lewej"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3104
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5160
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5176
|
||||
msgid "Bottom to top, left to right"
|
||||
msgstr "Z dołu do góry, od lewej do prawej"
|
||||
|
||||
#: gtk/gtkprintunixdialog.c:3104
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5160
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5176
|
||||
msgid "Bottom to top, right to left"
|
||||
msgstr "Z dołu do góry, od prawej do lewej"
|
||||
|
||||
@@ -3140,7 +3140,7 @@ msgstr "Z dołu do góry, od prawej do lewej"
|
||||
#. * dialog that controls in what order multiple pages are arranged
|
||||
#.
|
||||
#: gtk/gtkprintunixdialog.c:3108 gtk/gtkprintunixdialog.c:3121
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5237
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5253
|
||||
msgid "Page Ordering"
|
||||
msgstr "Kolejność stron"
|
||||
|
||||
@@ -3275,7 +3275,7 @@ msgstr "Wyszukaj"
|
||||
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
|
||||
#. * the state
|
||||
#.
|
||||
#: gtk/gtkswitch.c:379 gtk/gtkswitch.c:431 gtk/gtkswitch.c:606
|
||||
#: gtk/gtkswitch.c:379 gtk/gtkswitch.c:431 gtk/gtkswitch.c:605
|
||||
msgctxt "switch"
|
||||
msgid "ON"
|
||||
msgstr "|"
|
||||
@@ -3284,7 +3284,7 @@ msgstr "|"
|
||||
#. Translators: if the "off" state label requires more than three
|
||||
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
|
||||
#.
|
||||
#: gtk/gtkswitch.c:387 gtk/gtkswitch.c:432 gtk/gtkswitch.c:621
|
||||
#: gtk/gtkswitch.c:387 gtk/gtkswitch.c:432 gtk/gtkswitch.c:620
|
||||
msgctxt "switch"
|
||||
msgid "OFF"
|
||||
msgstr "◯"
|
||||
@@ -3470,12 +3470,12 @@ msgctxt "volume percentage"
|
||||
msgid "%d %%"
|
||||
msgstr "%d%%"
|
||||
|
||||
#: gtk/gtkwindow.c:11895
|
||||
#: gtk/gtkwindow.c:11913
|
||||
#, c-format
|
||||
msgid "Do you want to use GTK+ Inspector?"
|
||||
msgstr "Użyć Inspektora biblioteki GTK+?"
|
||||
|
||||
#: gtk/gtkwindow.c:11897
|
||||
#: gtk/gtkwindow.c:11915
|
||||
#, c-format
|
||||
msgid ""
|
||||
"GTK+ Inspector is an interactive debugger that lets you explore and modify "
|
||||
@@ -3486,7 +3486,7 @@ msgstr ""
|
||||
"i modyfikowanie wnętrza programu GTK+. Jego użycie może spowodować awarię "
|
||||
"lub uszkodzenie programu."
|
||||
|
||||
#: gtk/gtkwindow.c:11902
|
||||
#: gtk/gtkwindow.c:11920
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Bez wyświetlania ponownie"
|
||||
|
||||
@@ -3691,18 +3691,26 @@ msgid "Accessible role"
|
||||
msgstr "Rola dostępności"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:507
|
||||
msgid "Accessible name"
|
||||
msgstr "Nazwa dostępności"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:541
|
||||
msgid "Accessible description"
|
||||
msgstr "Opis dostępności"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:575
|
||||
msgid "Mapped"
|
||||
msgstr "Mapowane"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:543
|
||||
#: gtk/inspector/misc-info.ui:611
|
||||
msgid "Realized"
|
||||
msgstr "Zrealizowane"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:579
|
||||
#: gtk/inspector/misc-info.ui:647
|
||||
msgid "Is Toplevel"
|
||||
msgstr "Jest najwyższego poziomu"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:615
|
||||
#: gtk/inspector/misc-info.ui:683
|
||||
msgid "Child Visible"
|
||||
msgstr "Element potomny jest widoczny"
|
||||
|
||||
@@ -3905,7 +3913,7 @@ msgstr "Własny"
|
||||
msgid "Cumulative"
|
||||
msgstr "Przyrastający"
|
||||
|
||||
#: gtk/inspector/statistics.ui:164
|
||||
#: gtk/inspector/statistics.ui:165
|
||||
msgid "Enable statistics with GOBJECT_DEBUG=instance-count"
|
||||
msgstr "Włączenie statystyk za pomocą zmiennej GOBJECT_DEBUG=instance-count"
|
||||
|
||||
@@ -4061,7 +4069,7 @@ msgstr "Wyświetla wszystkie zasoby"
|
||||
#. Translators: "Miscellaneous" is the label for a button, that opens
|
||||
#. up an extra panel of settings in a print dialog.
|
||||
#: gtk/inspector/window.ui:257
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4272
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4288
|
||||
msgid "Miscellaneous"
|
||||
msgstr "Różne"
|
||||
|
||||
@@ -5660,253 +5668,253 @@ msgstr "Bezczynna"
|
||||
msgid "Pages per _sheet:"
|
||||
msgstr "Stron _na kartkę:"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1074
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1383
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1090
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1399
|
||||
msgid "Username:"
|
||||
msgstr "Nazwa użytkownika:"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1075
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1392
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1091
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1408
|
||||
msgid "Password:"
|
||||
msgstr "Hasło:"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1114
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1405
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1130
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1421
|
||||
#, c-format
|
||||
msgid "Authentication is required to print document “%s” on printer %s"
|
||||
msgstr ""
|
||||
"Wymagane jest uwierzytelnienie, aby wydrukować dokument \"%s\" na drukarce %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1116
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1132
|
||||
#, c-format
|
||||
msgid "Authentication is required to print a document on %s"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby wydrukować dokument na %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1120
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1136
|
||||
#, c-format
|
||||
msgid "Authentication is required to get attributes of job “%s”"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać atrybuty zadania \"%s\""
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1122
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1138
|
||||
msgid "Authentication is required to get attributes of a job"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać atrybuty zadania"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1126
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1142
|
||||
#, c-format
|
||||
msgid "Authentication is required to get attributes of printer %s"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać atrybuty drukarki %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1128
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1144
|
||||
msgid "Authentication is required to get attributes of a printer"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać atrybuty drukarki"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1131
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1147
|
||||
#, c-format
|
||||
msgid "Authentication is required to get default printer of %s"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać domyślną drukarkę z %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1134
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1150
|
||||
#, c-format
|
||||
msgid "Authentication is required to get printers from %s"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać drukarki od %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1139
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1155
|
||||
#, c-format
|
||||
msgid "Authentication is required to get a file from %s"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby pobrać plik z %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1141
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1157
|
||||
#, c-format
|
||||
msgid "Authentication is required on %s"
|
||||
msgstr "Wymagane jest uwierzytelnienie na %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1377
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1393
|
||||
msgid "Domain:"
|
||||
msgstr "Domena:"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1407
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1423
|
||||
#, c-format
|
||||
msgid "Authentication is required to print document “%s”"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby wydrukować dokument \"%s\""
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1412
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1428
|
||||
#, c-format
|
||||
msgid "Authentication is required to print this document on printer %s"
|
||||
msgstr ""
|
||||
"Wymagane jest uwierzytelnienie, aby wydrukować ten dokument na drukarce %s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1414
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1430
|
||||
msgid "Authentication is required to print this document"
|
||||
msgstr "Wymagane jest uwierzytelnienie, aby wydrukować dokument"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1851
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1867
|
||||
#, c-format
|
||||
msgid "Printer “%s” is low on toner."
|
||||
msgstr "W drukarce \"%s\" kończy się toner."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1852
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1868
|
||||
#, c-format
|
||||
msgid "Printer “%s” has no toner left."
|
||||
msgstr "W drukarce \"%s\" skończył się toner."
|
||||
|
||||
#. Translators: "Developer" like on photo development context
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1854
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1870
|
||||
#, c-format
|
||||
msgid "Printer “%s” is low on developer."
|
||||
msgstr "Niski poziom wywoływacza w drukarce \"%s\"."
|
||||
|
||||
#. Translators: "Developer" like on photo development context
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1856
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1872
|
||||
#, c-format
|
||||
msgid "Printer “%s” is out of developer."
|
||||
msgstr "Brak wywoływacza w drukarce \"%s\"."
|
||||
|
||||
#. Translators: "marker" is one color bin of the printer
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1858
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1874
|
||||
#, c-format
|
||||
msgid "Printer “%s” is low on at least one marker supply."
|
||||
msgstr "W drukarce \"%s\" kończy się co najmniej jedna składowa kolorów."
|
||||
|
||||
#. Translators: "marker" is one color bin of the printer
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1860
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1876
|
||||
#, c-format
|
||||
msgid "Printer “%s” is out of at least one marker supply."
|
||||
msgstr "W drukarce \"%s\" skończyła się co najmniej jedna składowa kolorów."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1861
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1877
|
||||
#, c-format
|
||||
msgid "The cover is open on printer “%s”."
|
||||
msgstr "Pokrywa drukarki \"%s\" jest otwarta."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1862
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1878
|
||||
#, c-format
|
||||
msgid "The door is open on printer “%s”."
|
||||
msgstr "Drzwiczki drukarki \"%s\" są otwarte."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1863
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1879
|
||||
#, c-format
|
||||
msgid "Printer “%s” is low on paper."
|
||||
msgstr "W podajniku drukarki \"%s\" kończy się papier."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1864
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1880
|
||||
#, c-format
|
||||
msgid "Printer “%s” is out of paper."
|
||||
msgstr "W podajniku drukarki \"%s\" skończył się papier."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1865
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1881
|
||||
#, c-format
|
||||
msgid "Printer “%s” is currently offline."
|
||||
msgstr "Drukarka \"%s\" jest obecnie w trybie offline."
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1866
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:1882
|
||||
#, c-format
|
||||
msgid "There is a problem on printer “%s”."
|
||||
msgstr "Wystąpił problem z drukarką \"%s\"."
|
||||
|
||||
#. Translators: this is a printer status.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2490
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2506
|
||||
msgid "Paused; Rejecting Jobs"
|
||||
msgstr "Wstrzymana, Odrzuca zadania"
|
||||
|
||||
#. Translators: this is a printer status.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2496
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2512
|
||||
msgid "Rejecting Jobs"
|
||||
msgstr "Odrzuca zadania"
|
||||
|
||||
#. Translators: this string connects multiple printer states together.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2538
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:2554
|
||||
msgid "; "
|
||||
msgstr ", "
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4223
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4290
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4239
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4306
|
||||
msgid "Two Sided"
|
||||
msgstr "Dwustronne"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4224
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4240
|
||||
msgid "Paper Type"
|
||||
msgstr "Rodzaj papieru"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4225
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4241
|
||||
msgid "Paper Source"
|
||||
msgstr "Źródło papieru"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4226
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4242
|
||||
msgid "Output Tray"
|
||||
msgstr "Tacka wyjściowa"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4227
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4243
|
||||
msgid "Resolution"
|
||||
msgstr "Rozdzielczość"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4228
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4244
|
||||
msgid "GhostScript pre-filtering"
|
||||
msgstr "Wstępne filtrowanie GhostScript"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4237
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4253
|
||||
msgid "One Sided"
|
||||
msgstr "Jednostronne"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4239
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4255
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Grzbiet wzdłuż dłuższej krawędzi (standard)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4241
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4257
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Grzbiet wzdłuż krótszej krawędzi (obrót)"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4243
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4245
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4253
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4259
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4261
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4269
|
||||
msgid "Auto Select"
|
||||
msgstr "Wybór automatyczny"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#. Translators: this is an option of "Resolution"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4247
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4249
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4251
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4255
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4762
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4263
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4265
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4267
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4271
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4778
|
||||
msgid "Printer Default"
|
||||
msgstr "Domyślne drukarki"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4257
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4273
|
||||
msgid "Embed GhostScript fonts only"
|
||||
msgstr "Osadzanie tylko czcionek GhostScript"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4259
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4275
|
||||
msgid "Convert to PS level 1"
|
||||
msgstr "Konwertowanie do PS level 1"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4261
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4277
|
||||
msgid "Convert to PS level 2"
|
||||
msgstr "Konwertowanie do PS level 2"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4263
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4279
|
||||
msgid "No pre-filtering"
|
||||
msgstr "Bez wstępnego filtrowania"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4298
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4314
|
||||
msgctxt "sides"
|
||||
msgid "One Sided"
|
||||
msgstr "Jednostronne"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4300
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4316
|
||||
msgctxt "sides"
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Grzbiet wzdłuż dłuższej krawędzi (standard)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4302
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:4318
|
||||
msgctxt "sides"
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Grzbiet wzdłuż krótszej krawędzi (obrót)"
|
||||
@@ -5914,78 +5922,78 @@ msgstr "Grzbiet wzdłuż krótszej krawędzi (obrót)"
|
||||
#. Translators: These strings name the possible values of the
|
||||
#. * job priority option in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5152
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5168
|
||||
msgid "Urgent"
|
||||
msgstr "Ważne"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5152
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5168
|
||||
msgid "High"
|
||||
msgstr "Wysoki"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5152
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5168
|
||||
msgid "Medium"
|
||||
msgstr "Średni"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5152
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5168
|
||||
msgid "Low"
|
||||
msgstr "Niski"
|
||||
|
||||
#. Translators, this string is used to label the job priority option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5182
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5198
|
||||
msgid "Job Priority"
|
||||
msgstr "Priorytet"
|
||||
|
||||
#. Translators, this string is used to label the billing info entry
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5193
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5209
|
||||
msgid "Billing Info"
|
||||
msgstr "Informacje o opłatach"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "Classified"
|
||||
msgstr "Sklasyfikowane"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "Confidential"
|
||||
msgstr "Poufne"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "Secret"
|
||||
msgstr "Tajne"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "Standard"
|
||||
msgstr "Standardowe"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "Top Secret"
|
||||
msgstr "Ściśle tajne"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5208
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5224
|
||||
msgid "Unclassified"
|
||||
msgstr "Niesklasyfikowane"
|
||||
|
||||
#. Translators, this string is used to label the pages-per-sheet option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5219
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5235
|
||||
msgid "Pages per Sheet"
|
||||
msgstr "Stron na kartkę"
|
||||
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the front cover page.
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5279
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5295
|
||||
msgid "Before"
|
||||
msgstr "Przed"
|
||||
|
||||
#. Translators, this is the label used for the option in the print
|
||||
#. * dialog that controls the back cover page.
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5294
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5310
|
||||
msgid "After"
|
||||
msgstr "Po"
|
||||
|
||||
@@ -5993,14 +6001,14 @@ msgstr "Po"
|
||||
#. * a print job is printed. Possible values are 'now', a specified time,
|
||||
#. * or 'on hold'
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5314
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5330
|
||||
msgid "Print at"
|
||||
msgstr "Wydruk o"
|
||||
|
||||
#. 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:5325
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5341
|
||||
msgid "Print at time"
|
||||
msgstr "Wydruk o czasie"
|
||||
|
||||
@@ -6009,17 +6017,17 @@ msgstr "Wydruk o czasie"
|
||||
#. * the width and height in points. E.g: "Custom
|
||||
#. * 230.4x142.9"
|
||||
#.
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5367
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5383
|
||||
#, c-format
|
||||
msgid "Custom %s×%s"
|
||||
msgstr "Własny %s×%s"
|
||||
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5468
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5484
|
||||
msgid "Printer Profile"
|
||||
msgstr "Profil drukarki"
|
||||
|
||||
#. TRANSLATORS: this is when color profile information is unavailable
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5475
|
||||
#: modules/printbackends/cups/gtkprintbackendcups.c:5491
|
||||
msgid "Unavailable"
|
||||
msgstr "Niedostępne"
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ noinst_PROGRAMS = $(TEST_PROGS) \
|
||||
animated-revealing \
|
||||
motion-compression \
|
||||
scrolling-performance \
|
||||
blur-performance \
|
||||
simple \
|
||||
flicker \
|
||||
print-editor \
|
||||
@@ -187,6 +188,7 @@ animated_revealing_DEPENDENCIES = $(TEST_DEPS)
|
||||
flicker_DEPENDENCIES = $(TEST_DEPS)
|
||||
motion_compression_DEPENDENCIES = $(TEST_DEPS)
|
||||
scrolling_performance_DEPENDENCIES = $(TEST_DEPS)
|
||||
blur_performance_DEPENDENCIES = $(TEST_DEPS)
|
||||
simple_DEPENDENCIES = $(TEST_DEPS)
|
||||
print_editor_DEPENDENCIES = $(TEST_DEPS)
|
||||
video_timer_DEPENDENCIES = $(TEST_DEPS)
|
||||
@@ -318,6 +320,10 @@ scrolling_performance_SOURCES = \
|
||||
variable.c \
|
||||
variable.h
|
||||
|
||||
blur_performance_SOURCES = \
|
||||
blur-performance.c \
|
||||
../gtk/gtkcairoblur.c
|
||||
|
||||
video_timer_SOURCES = \
|
||||
video-timer.c \
|
||||
variable.c \
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/* -*- mode: C; c-basic-offset: 2; indent-tabs-mode: nil; -*- */
|
||||
|
||||
#include <gtk/gtkcairoblurprivate.h>
|
||||
|
||||
static void
|
||||
init_surface (cairo_t *cr)
|
||||
{
|
||||
int w = cairo_image_surface_get_width (cairo_get_target (cr));
|
||||
int h = cairo_image_surface_get_height (cairo_get_target (cr));
|
||||
|
||||
cairo_set_source_rgb (cr, 0, 0, 0);
|
||||
cairo_fill (cr);
|
||||
|
||||
cairo_set_source_rgb (cr, 1, 1, 1);
|
||||
cairo_arc (cr, w/2, h/2, w/2, 0, 2*G_PI);
|
||||
cairo_fill (cr);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
cairo_surface_t *surface;
|
||||
cairo_t *cr;
|
||||
GTimer *timer;
|
||||
double msec;
|
||||
int i, j;
|
||||
int size;
|
||||
|
||||
timer = g_timer_new ();
|
||||
|
||||
size = 2000;
|
||||
|
||||
surface = cairo_image_surface_create (CAIRO_FORMAT_A8, size, size);
|
||||
|
||||
cr = cairo_create (surface);
|
||||
|
||||
/* We do everything three times, first two as warmup */
|
||||
for (j = 0; j < 2; j++)
|
||||
{
|
||||
for (i = 1; i < 16; i++)
|
||||
{
|
||||
init_surface (cr);
|
||||
g_timer_start (timer);
|
||||
_gtk_cairo_blur_surface (surface, i, GTK_BLUR_X | GTK_BLUR_Y);
|
||||
msec = g_timer_elapsed (timer, NULL) * 1000;
|
||||
if (j == 1)
|
||||
g_print ("Radius %2d: %.2f msec, %.2f kpixels/msec:\n", i, msec, size*size/(msec*1000));
|
||||
}
|
||||
}
|
||||
|
||||
g_timer_destroy (timer);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -39,6 +39,7 @@ typedef enum {
|
||||
static char *arg_output_dir = NULL;
|
||||
static char *arg_base_dir = NULL;
|
||||
static char *arg_direction = NULL;
|
||||
static char *arg_compare_dir = NULL;
|
||||
|
||||
static const GOptionEntry test_args[] = {
|
||||
{ "output", 'o', 0, G_OPTION_ARG_FILENAME, &arg_output_dir,
|
||||
@@ -47,6 +48,8 @@ static const GOptionEntry test_args[] = {
|
||||
"Directory to run tests from", "DIR" },
|
||||
{ "direction", 0, 0, G_OPTION_ARG_STRING, &arg_direction,
|
||||
"Set text direction", "ltr|rtl" },
|
||||
{ "compare-with", 0, 0, G_OPTION_ARG_FILENAME, &arg_compare_dir,
|
||||
"Directory to compare with", "DIR" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
@@ -175,6 +178,28 @@ get_test_file (const char *test_file,
|
||||
return g_string_free (file, FALSE);
|
||||
}
|
||||
|
||||
static char *
|
||||
get_reference_image (const char *ui_file)
|
||||
{
|
||||
char *base;
|
||||
char *reference_image;
|
||||
|
||||
if (!arg_compare_dir)
|
||||
return NULL;
|
||||
|
||||
get_components_of_test_file (ui_file, NULL, &base);
|
||||
reference_image = g_strconcat (arg_compare_dir, G_DIR_SEPARATOR_S, base, ".out.png", NULL);
|
||||
g_free (base);
|
||||
|
||||
if (!g_file_test (reference_image, G_FILE_TEST_EXISTS))
|
||||
{
|
||||
g_free (reference_image);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return reference_image;
|
||||
}
|
||||
|
||||
static GtkStyleProvider *
|
||||
add_extra_css (const char *testname,
|
||||
const char *extension)
|
||||
@@ -234,9 +259,10 @@ test_ui_file (GFile *file)
|
||||
provider = add_extra_css (ui_file, ".css");
|
||||
|
||||
ui_image = reftest_snapshot_ui_file (ui_file);
|
||||
|
||||
reference_file = get_test_file (ui_file, ".ref.ui", TRUE);
|
||||
if (reference_file)
|
||||
|
||||
if ((reference_file = get_reference_image (ui_file)) != NULL)
|
||||
reference_image = cairo_image_surface_create_from_png (reference_file);
|
||||
else if ((reference_file = get_test_file (ui_file, ".ref.ui", TRUE)) != NULL)
|
||||
reference_image = reftest_snapshot_ui_file (reference_file);
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user