Compare commits
206 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f7cebf41d | |||
| cc298ccaed | |||
| 1dd2078bb5 | |||
| 3987540139 | |||
| 228d1f76fd | |||
| 537b89e72c | |||
| cac87b0a16 | |||
| 11ec210863 | |||
| f462d7fd84 | |||
| 0a522241af | |||
| 6555129374 | |||
| d02b33fbb4 | |||
| 9a942bb44e | |||
| 6970479580 | |||
| 65792edc93 | |||
| b65ff5a9dd | |||
| 0fff51eab6 | |||
| 598210133d | |||
| 3d994b98c9 | |||
| 6840090389 | |||
| a66aa434f9 | |||
| 4b529ade7b | |||
| 8b0095a563 | |||
| 91673dafc2 | |||
| 4aa7bf6195 | |||
| 132e224c70 | |||
| bf3b7bd40b | |||
| 8bdf95758f | |||
| c8e5dbd4de | |||
| df3e8ec019 | |||
| 69101a9bec | |||
| 21dfdd0475 | |||
| 8ff7f16945 | |||
| 8325ece590 | |||
| 92e9be5bcf | |||
| c837564640 | |||
| 2f66220326 | |||
| dd64c7a2b9 | |||
| 6bf6324626 | |||
| 6834ec00b0 | |||
| 68b278bf34 | |||
| 121607ae04 | |||
| f687aafe58 | |||
| 8ba7712b4e | |||
| d3374dbc00 | |||
| 4623a485c7 | |||
| 9268b23522 | |||
| c94513e44b | |||
| 35938479ca | |||
| 203d6d7a1e | |||
| aa883e0295 | |||
| 1a5d7d968f | |||
| 15b1dbdfcb | |||
| 39039a3500 | |||
| bcc963d337 | |||
| de8f5fe394 | |||
| 4059254f6b | |||
| 623cd82d68 | |||
| 4473b45ded | |||
| d53099bc38 | |||
| a4dd814db7 | |||
| 8fba4358fc | |||
| 9149577e1a | |||
| dd9db7bd3d | |||
| a14c8aba5d | |||
| 015476b770 | |||
| da03774c48 | |||
| 6c5c48bae2 | |||
| 7ec1a0ac71 | |||
| 8c9844d255 | |||
| 1d4c18e9c4 | |||
| ae55f8a835 | |||
| 8b2c243af6 | |||
| 9ca9d6c590 | |||
| a6a56e785c | |||
| bb63c9537b | |||
| d867026219 | |||
| 9967831b8d | |||
| 1c5b9ffb2b | |||
| ed7db8ea55 | |||
| 68ccf1a0e9 | |||
| ef0280dd2b | |||
| bbd83c60a9 | |||
| 13edaa0d81 | |||
| 75468514b0 | |||
| 782f00360c | |||
| cfd8f35ea7 | |||
| f2fffaad71 | |||
| 5fcae34f27 | |||
| 2f68354008 | |||
| 280f191a75 | |||
| 2276e1e6db | |||
| 49c72dc016 | |||
| 314fede98a | |||
| f25813eaeb | |||
| 0e17e8daa5 | |||
| 30b4352d62 | |||
| ee17312399 | |||
| e956191163 | |||
| 1eb83b8a69 | |||
| f07fced38c | |||
| aaad805038 | |||
| b0225e7f09 | |||
| 3f935d85d3 | |||
| 71cef6c8a0 | |||
| af0f6dc778 | |||
| 5eba1d0675 | |||
| 6a135bf810 | |||
| 4f59e4427d | |||
| eeaeb01590 | |||
| 9ac1b6830c | |||
| 0d15334671 | |||
| d97a72a22b | |||
| 321c7d16c3 | |||
| 3470ef274d | |||
| 19a95139ff | |||
| da3b33f1a8 | |||
| 69bd84917c | |||
| 8ed0520df0 | |||
| 4483e2ee3b | |||
| 1d1132d02b | |||
| f0111dba73 | |||
| 141716164a | |||
| d71364f386 | |||
| 98f044cf41 | |||
| 229b44b875 | |||
| 141366a040 | |||
| 4a92edd10a | |||
| b1861ddc6a | |||
| 516918e5ca | |||
| 12061ca351 | |||
| 54d1804267 | |||
| 42b5eb6246 | |||
| 9df22c15ad | |||
| def9343ce0 | |||
| 92289a5b43 | |||
| b1dfeb6fca | |||
| 066c3c42dd | |||
| caded18ecf | |||
| b6138cc8c0 | |||
| 7ef6a12b58 | |||
| 43ee7aade9 | |||
| b796473068 | |||
| 79f1257732 | |||
| f9df0250d1 | |||
| f17f4cace4 | |||
| d7feac3cc2 | |||
| 5f9eb1a3a3 | |||
| c412fc78d0 | |||
| f2807b7b7f | |||
| 40fae81227 | |||
| a3ccd6bfee | |||
| 092d2578ff | |||
| 8c86703517 | |||
| 5bd532e3e6 | |||
| 248854947e | |||
| 547ce20360 | |||
| 76cadc9d3a | |||
| ace51e1426 | |||
| 92efb23b4b | |||
| db8a34f16a | |||
| 8954a7daf5 | |||
| a68e02b7c7 | |||
| 9d43f0fff0 | |||
| a21ab9d169 | |||
| 51a3630acb | |||
| 90f7a1ccfd | |||
| d56f5a843d | |||
| 69a93aaf9c | |||
| e3b14b6652 | |||
| c3bc476174 | |||
| 23eaeaf922 | |||
| 624619cba8 | |||
| e7e58a5301 | |||
| 69b525c6ff | |||
| ac6f5d27e6 | |||
| f822714f98 | |||
| 15cdac8725 | |||
| 38f07a7a22 | |||
| ebcffee813 | |||
| b3c11e8cf0 | |||
| 975f101095 | |||
| 28520601d5 | |||
| 880bec1717 | |||
| e341a8c5f9 | |||
| 1516e6205b | |||
| 6e6c4813b2 | |||
| ff765f478d | |||
| a30b59229f | |||
| e47847baac | |||
| a8b26a8e87 | |||
| 54856967db | |||
| d5d2e34b2f | |||
| 1f91789951 | |||
| 6c18744be1 | |||
| 579d725947 | |||
| 8ae3b32538 | |||
| 5b3929efda | |||
| 8b9a272949 | |||
| 75933df105 | |||
| 97e9ee336b | |||
| 07e073bd7f | |||
| b7be3e521a | |||
| d3eaae3a35 | |||
| 0ba0899b10 | |||
| 70f6d0d4cc |
@@ -1,3 +1,160 @@
|
||||
Overview of Changes from GTK+ 2.18.8 to 2.18.9
|
||||
==============================================
|
||||
|
||||
* Avoid a crash when doing DND on X servers without the shape extension
|
||||
* Avoid an assertion when finalizing entries
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.7 to 2.18.8
|
||||
==============================================
|
||||
|
||||
* Bugs fixed:
|
||||
612066 empathy hangs when clicked on information about contact...
|
||||
569042 gailbooleancell does not seem to attend to changes...
|
||||
609650 GtkPlug Embedded signal is not emitted when plug/socket...
|
||||
609744 crash at parse_data_for_row_pseudocolor
|
||||
609952 destroying a notebook window when the last tab got dragged...
|
||||
610141 gtk_assistant_get_nth_page() function fails to deliver...
|
||||
610184 gtk_assistant_set_current_page() segfaults...
|
||||
610381 More space between toolbar icon and label
|
||||
610632 gtk_info_bar_set_default_response problem
|
||||
611686 focus_in/focus_out in gailtreeview.c should return FALSE...
|
||||
612119 Do not scroll when middle pasting
|
||||
612308 GTK+ Build error: redefinition of 'struct IPrintDialogCallback'
|
||||
612346 gdk_window_set_icon_name doesn't work
|
||||
612505 Entry layout not updated when underlying buffer changes
|
||||
598881 Unimplemented GdkWindowImplIface methods crash gimp on OSX
|
||||
|
||||
* Updated translations:
|
||||
Bengali India
|
||||
Low German
|
||||
Oriya
|
||||
Polish
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.6 to 2.18.7
|
||||
==============================================
|
||||
|
||||
* Bugs fixed:
|
||||
600865 gnome-panel crashed with "BadPixmap (invalid Pixmap...
|
||||
606698 Misplaced declaration of gtk_print_job_set_status
|
||||
606009 weirdness with clipping in abiword - csw
|
||||
607770 Leak in GtkTreeView with HildonPannableArea
|
||||
603144 Suspected wrong builtin page size: Chinese PRC6 and PRC9...
|
||||
607687 f-spot crashes when using themes using the pixmap engine
|
||||
608807 Marks on GtkScale widgets can overlap
|
||||
607508 Cannot drag windows around in pager applet any more
|
||||
608615 DnD events sent to wrong window
|
||||
599511 gtk_selection_owner_set causes graphical corruption...
|
||||
607344 GtkCalendar: crash when using tooltips via glade
|
||||
608410 GOK types backwards in text entry fields
|
||||
591186 GTK Menu Bar is unreadable under Windows 7
|
||||
607061 GtkPlug socket window is sometimes incorrectly unref'd...
|
||||
608370 dnd drag-dest signal handlers don't get correctly dis...
|
||||
608162 gtktoolbutton doesn't create right proxy menu item...
|
||||
561816 Optimize gtk_paned_set_position notifications
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Burmese
|
||||
Catalan
|
||||
German
|
||||
Slovenian
|
||||
Spanish
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.5 to 2.18.6
|
||||
==============================================
|
||||
|
||||
* Client-side windows:
|
||||
- Send expose events from gdk_window_clear_area_e
|
||||
- Ensure native windows in gdk_property_change
|
||||
- Properly compute damage when drawing line segments
|
||||
- Fix an infinite recursion causing stack overflows
|
||||
|
||||
* Bugs fixed:
|
||||
50942 selection/arrow key improvement
|
||||
604747 Using gdk_draw_line, the expose area of damage...
|
||||
604787 property-notify-event is not delivered...
|
||||
605008 the region of damage event doens't be copied...
|
||||
605036 commit adds not-yet-built libgtk-x11-2.0.la...
|
||||
606068 Setup libjpeg error handling earlier...
|
||||
606143 aisleriot grows X server without bounds
|
||||
|
||||
* Translation update:
|
||||
Assamese
|
||||
Basque
|
||||
British English
|
||||
Kannada
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.4 to 2.18.5
|
||||
==============================================
|
||||
|
||||
* Bugs fixed:
|
||||
603652 Sporadic crashes with GtkSocket
|
||||
598476 gnome-screensaver crashes when entering password...
|
||||
601473 GDK_BUTTON?_MOTION_MASK appears to be broken
|
||||
597386 Cannot click buttons more than once without...
|
||||
603619 the colormap of offscreen's pixmap doesn't...
|
||||
603904 gdk_draw_line doesn't have expose area.
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.3 to 2.18.4
|
||||
==============================================
|
||||
|
||||
* Client-side windows:
|
||||
- Avoid some unnecessary exposes
|
||||
- Avoid unnecessary redraws related to clearing windows
|
||||
|
||||
* Bugs fixed:
|
||||
563010 Fix clearing the selection in GtkFileChooserButton
|
||||
581150 GtkIconView tries to paint items with invalid sizes
|
||||
601869 GtkUIManager assumes too much about popup menus
|
||||
581145 Wrong positioning for fullscreen gedit toolbar animation
|
||||
599118 Translators comment for "Finishing" labels
|
||||
599321 gtk_selection_data_get_uris is broken on Windows
|
||||
381371 Print margins not correct in WIN32 - not allowing...
|
||||
599446 atk_object_set_name () assertion in gtk_tool_button_set_label
|
||||
602725 fix setting icon-size on GICON images
|
||||
588740 JPEG images open with blur effect?
|
||||
602724 gailimage doesn't handle GTK_IMAGE_{GICON,ICON_NAME}...
|
||||
561130 get_monitor_geometry segfaults if called with non-existant...
|
||||
585383 Segfault in gdk_pixbuf__ico_image_save
|
||||
123569 Catch contents being reparented out of socket
|
||||
601611 gtk_selection_data_get_targets() reads X Atom data as GdkAtoms
|
||||
601959 must release compose key before continuing compose sequence
|
||||
603201 gtk_about_dialog_set_url_hook has no effect anymore
|
||||
591438 dfb_events_dispatch is not thread safe
|
||||
603128 Adding new UI that was recently removed may cause wrong order
|
||||
|
||||
|
||||
* Updated translations:
|
||||
Low German
|
||||
Romanian
|
||||
Russian
|
||||
Slovenian
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.2 to 2.18.3
|
||||
==============================================
|
||||
|
||||
* Make selecting the last character in a label work again
|
||||
|
||||
* Set accessible names on tool buttons
|
||||
|
||||
* Win32:
|
||||
- Fix the GDI+ pixbuf loader
|
||||
- Disable XP themes for now
|
||||
- Build fixes
|
||||
|
||||
* Updated translations:
|
||||
Brazilian Portuguese
|
||||
Catalan
|
||||
Estonian
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.18.1 to 2.18.2
|
||||
==============================================
|
||||
|
||||
|
||||
+6
-2
@@ -12,8 +12,8 @@ AC_PREREQ(2.54)
|
||||
|
||||
m4_define([gtk_major_version], [2])
|
||||
m4_define([gtk_minor_version], [18])
|
||||
m4_define([gtk_micro_version], [3])
|
||||
m4_define([gtk_interface_age], [3])
|
||||
m4_define([gtk_micro_version], [10])
|
||||
m4_define([gtk_interface_age], [10])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
m4_define([gtk_version],
|
||||
@@ -129,6 +129,7 @@ AC_CANONICAL_HOST
|
||||
MATH_LIB=-lm
|
||||
AC_MSG_CHECKING([for native Win32])
|
||||
LIB_EXE_MACHINE_FLAG=X86
|
||||
EXE_MANIFEST_ARCHITECTURE=X86
|
||||
case "$host" in
|
||||
*-*-mingw*)
|
||||
os_win32=yes
|
||||
@@ -137,6 +138,7 @@ case "$host" in
|
||||
case "$host" in
|
||||
x86_64-*-*)
|
||||
LIB_EXE_MACHINE_FLAG=X64
|
||||
EXE_MANIFEST_ARCHITECTURE=AMD64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -147,6 +149,7 @@ esac
|
||||
AC_MSG_RESULT([$os_win32])
|
||||
|
||||
AC_SUBST(LIB_EXE_MACHINE_FLAG)
|
||||
AC_SUBST(EXE_MANIFEST_ARCHITECTURE)
|
||||
|
||||
case $host in
|
||||
*-*-linux*)
|
||||
@@ -580,6 +583,7 @@ case $host in
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(MATH_LIB)
|
||||
#
|
||||
# see bug 162979
|
||||
#
|
||||
|
||||
+3
-1
@@ -19,7 +19,9 @@ DEPS = \
|
||||
LDADDS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib)
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS) \
|
||||
$(MATH_LIB)
|
||||
|
||||
noinst_PROGRAMS = \
|
||||
testpixbuf-drawable \
|
||||
|
||||
@@ -60,7 +60,8 @@ DEPS = \
|
||||
LDADDS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib)
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
bin_PROGRAMS = gtk-demo
|
||||
|
||||
|
||||
@@ -2633,7 +2633,6 @@ gtk_message_dialog_get_type
|
||||
GtkInfoBar
|
||||
gtk_info_bar_new
|
||||
gtk_info_bar_new_with_buttons
|
||||
gtk_info_bar_set_contents
|
||||
gtk_info_bar_add_action_widget
|
||||
gtk_info_bar_add_button
|
||||
gtk_info_bar_add_buttons
|
||||
|
||||
@@ -22,8 +22,8 @@ See <application>gtk-demo</application> for numerous examples.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The "invisible" property was not implemented for GTK+ 2.0; it's
|
||||
planned to be implemented in future releases.
|
||||
The "invisible" property was not implemented for GTK+ 2.0.
|
||||
It is working (with minor issues) since 2.8.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
|
||||
@@ -17,7 +17,8 @@ LDADDS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS)
|
||||
$(GTK_DEP_LIBS) \
|
||||
$(GDK_DEP_LIBS)
|
||||
|
||||
if USE_X11
|
||||
noinst_PROGRAMS = \
|
||||
|
||||
+38
-30
@@ -31,6 +31,18 @@
|
||||
|
||||
#define LOAD_BUFFER_SIZE 65536
|
||||
|
||||
struct _GdipContext {
|
||||
GdkPixbufModuleUpdatedFunc updated_func;
|
||||
GdkPixbufModulePreparedFunc prepared_func;
|
||||
GdkPixbufModuleSizeFunc size_func;
|
||||
|
||||
gpointer user_data;
|
||||
GByteArray *buffer;
|
||||
IStream *stream;
|
||||
HGLOBAL hg;
|
||||
};
|
||||
typedef struct _GdipContext GdipContext;
|
||||
|
||||
static GdiplusStartupFunc GdiplusStartup;
|
||||
static GdipCreateBitmapFromStreamFunc GdipCreateBitmapFromStream;
|
||||
static GdipBitmapGetPixelFunc GdipBitmapGetPixel;
|
||||
@@ -339,16 +351,16 @@ gdip_pixbuf_to_bitmap (GdkPixbuf *pixbuf)
|
||||
}
|
||||
|
||||
static GpBitmap *
|
||||
gdip_buffer_to_bitmap (const gchar *buffer, size_t size, GError **error)
|
||||
gdip_buffer_to_bitmap (GdipContext *context, GError **error)
|
||||
{
|
||||
HRESULT hr;
|
||||
HGLOBAL hg = NULL;
|
||||
GpBitmap *bitmap = NULL;
|
||||
IStream *stream = NULL;
|
||||
GpStatus status;
|
||||
guint64 size64 = size;
|
||||
guint64 size64 = context->buffer->len;
|
||||
|
||||
hg = gdip_buffer_to_hglobal (buffer, size, error);
|
||||
hg = gdip_buffer_to_hglobal (context->buffer->data, context->buffer->len, error);
|
||||
|
||||
if (!hg)
|
||||
return NULL;
|
||||
@@ -365,26 +377,30 @@ gdip_buffer_to_bitmap (const gchar *buffer, size_t size, GError **error)
|
||||
|
||||
status = GdipCreateBitmapFromStream (stream, &bitmap);
|
||||
|
||||
if (Ok != status)
|
||||
if (Ok != status) {
|
||||
gdip_set_error_from_gpstatus (error, GDK_PIXBUF_ERROR_FAILED, status);
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
context->stream = stream;
|
||||
context->hg = hg;
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
static GpImage *
|
||||
gdip_buffer_to_image (const gchar *buffer, size_t size, GError **error)
|
||||
gdip_buffer_to_image (GdipContext *context, GError **error)
|
||||
{
|
||||
HRESULT hr;
|
||||
HGLOBAL hg = NULL;
|
||||
GpImage *image = NULL;
|
||||
IStream *stream = NULL;
|
||||
GpStatus status;
|
||||
guint64 size64 = size;
|
||||
guint64 size64 = context->buffer->len;
|
||||
|
||||
hg = gdip_buffer_to_hglobal (buffer, size, error);
|
||||
hg = gdip_buffer_to_hglobal (context->buffer->data, context->buffer->len, error);
|
||||
|
||||
if (!hg)
|
||||
return NULL;
|
||||
@@ -400,11 +416,15 @@ gdip_buffer_to_image (const gchar *buffer, size_t size, GError **error)
|
||||
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
|
||||
status = GdipLoadImageFromStream (stream, &image);
|
||||
|
||||
if (Ok != status)
|
||||
if (Ok != status) {
|
||||
gdip_set_error_from_gpstatus (error, GDK_PIXBUF_ERROR_FAILED, status);
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
context->stream = stream;
|
||||
context->hg = hg;
|
||||
|
||||
return image;
|
||||
}
|
||||
@@ -591,24 +611,14 @@ gdip_bitmap_get_n_loops (GpBitmap *bitmap, guint *loops)
|
||||
return success;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
struct _GdipContext {
|
||||
GdkPixbufModuleUpdatedFunc updated_func;
|
||||
GdkPixbufModulePreparedFunc prepared_func;
|
||||
GdkPixbufModuleSizeFunc size_func;
|
||||
|
||||
gpointer user_data;
|
||||
|
||||
GByteArray *buffer;
|
||||
};
|
||||
typedef struct _GdipContext GdipContext;
|
||||
|
||||
static void
|
||||
destroy_gdipcontext (GdipContext *context)
|
||||
{
|
||||
if (context != NULL) {
|
||||
if (context->stream != NULL) {
|
||||
IStream_Release(context->stream);
|
||||
GlobalFree (context->hg);
|
||||
}
|
||||
g_byte_array_free (context->buffer, TRUE);
|
||||
g_free (context);
|
||||
}
|
||||
@@ -807,9 +817,8 @@ gdk_pixbuf__gdip_image_stop_load (gpointer data, GError **error)
|
||||
{
|
||||
GdipContext *context = (GdipContext *)data;
|
||||
GpBitmap *bitmap = NULL;
|
||||
GByteArray *image_buffer = context->buffer;
|
||||
|
||||
bitmap = gdip_buffer_to_bitmap ((gchar *)image_buffer->data, image_buffer->len, error);
|
||||
bitmap = gdip_buffer_to_bitmap (context, error);
|
||||
|
||||
if (!bitmap) {
|
||||
destroy_gdipcontext (context);
|
||||
@@ -824,7 +833,6 @@ static gboolean
|
||||
gdk_pixbuf__gdip_image_stop_vector_load (gpointer data, GError **error)
|
||||
{
|
||||
GdipContext *context = (GdipContext *)data;
|
||||
GByteArray *image_buffer = context->buffer;
|
||||
|
||||
GpImage *metafile;
|
||||
GpGraphics *graphics;
|
||||
@@ -833,7 +841,7 @@ gdk_pixbuf__gdip_image_stop_vector_load (gpointer data, GError **error)
|
||||
float metafile_xres, metafile_yres;
|
||||
guint width, height;
|
||||
|
||||
metafile = gdip_buffer_to_image ((gchar *)image_buffer->data, image_buffer->len, error);
|
||||
metafile = gdip_buffer_to_image (context, error);
|
||||
if (!metafile) {
|
||||
destroy_gdipcontext (context);
|
||||
g_set_error_literal (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE, _("Couldn't load metafile"));
|
||||
|
||||
+3
-3
@@ -1011,12 +1011,12 @@ fill_entry (IconEntry *icon,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ((icon->xor_rowstride % 4) != 0)
|
||||
if ((icon->xor_rowstride % 4) != 0)
|
||||
icon->xor_rowstride = 4 * ((icon->xor_rowstride / 4) + 1);
|
||||
icon->xor = g_new0 (guchar, icon->xor_rowstride * icon->height);
|
||||
|
||||
icon->and_rowstride = icon->width / 8;
|
||||
if ((icon->and_rowstride % 4) != 0)
|
||||
icon->and_rowstride = (icon->width + 7) / 8;
|
||||
if ((icon->and_rowstride % 4) != 0)
|
||||
icon->and_rowstride = 4 * ((icon->and_rowstride / 4) + 1);
|
||||
icon->and = g_new0 (guchar, icon->and_rowstride * icon->height);
|
||||
|
||||
|
||||
@@ -656,6 +656,13 @@ gdk_pixbuf__jpeg_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||
context->src_initialized = FALSE;
|
||||
context->in_output = FALSE;
|
||||
|
||||
/* From jpeglib.h: "NB: you must set up the error-manager
|
||||
* BEFORE calling jpeg_create_xxx". */
|
||||
context->cinfo.err = jpeg_std_error (&context->jerr.pub);
|
||||
context->jerr.pub.error_exit = fatal_error_handler;
|
||||
context->jerr.pub.output_message = output_message_handler;
|
||||
context->jerr.error = error;
|
||||
|
||||
/* create libjpeg structures */
|
||||
jpeg_create_decompress (&context->cinfo);
|
||||
|
||||
@@ -668,14 +675,7 @@ gdk_pixbuf__jpeg_image_begin_load (GdkPixbufModuleSizeFunc size_func,
|
||||
return NULL;
|
||||
}
|
||||
memset (context->cinfo.src, 0, sizeof (my_source_mgr));
|
||||
|
||||
src = (my_src_ptr) context->cinfo.src;
|
||||
|
||||
context->cinfo.err = jpeg_std_error (&context->jerr.pub);
|
||||
context->jerr.pub.error_exit = fatal_error_handler;
|
||||
context->jerr.pub.output_message = output_message_handler;
|
||||
context->jerr.error = error;
|
||||
|
||||
src = (my_src_ptr) context->cinfo.src;
|
||||
src->pub.init_source = init_source;
|
||||
src->pub.fill_input_buffer = fill_input_buffer;
|
||||
@@ -921,6 +921,7 @@ gdk_pixbuf__jpeg_image_load_increment (gpointer data,
|
||||
}
|
||||
}
|
||||
|
||||
cinfo->scale_num = 1;
|
||||
for (cinfo->scale_denom = 2; cinfo->scale_denom <= 8; cinfo->scale_denom *= 2) {
|
||||
jpeg_calc_output_dimensions (cinfo);
|
||||
if (cinfo->output_width < width || cinfo->output_height < height) {
|
||||
|
||||
+7
-1
@@ -679,7 +679,13 @@ static gboolean try_colormap(TGAContext *ctx, GError **err)
|
||||
static guint n;
|
||||
|
||||
g_return_val_if_fail(ctx != NULL, FALSE);
|
||||
g_return_val_if_fail(ctx->cmap_size > 0, TRUE);
|
||||
|
||||
if (ctx->cmap_size == 0) {
|
||||
g_set_error_literal(err, GDK_PIXBUF_ERROR,
|
||||
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
|
||||
_("Image is corrupted or truncated"));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ctx->cmap = g_try_malloc(sizeof(TGAColormap));
|
||||
if (!ctx->cmap) {
|
||||
|
||||
@@ -1251,11 +1251,20 @@ pixops_process (guchar *dest_buf,
|
||||
int i, j;
|
||||
int x, y; /* X and Y position in source (fixed_point) */
|
||||
|
||||
guchar **line_bufs = g_new (guchar *, filter->y.n);
|
||||
int *filter_weights = make_filter_table (filter);
|
||||
guchar **line_bufs;
|
||||
int *filter_weights;
|
||||
|
||||
int x_step = (1 << SCALE_SHIFT) / scale_x; /* X step in source (fixed point) */
|
||||
int y_step = (1 << SCALE_SHIFT) / scale_y; /* Y step in source (fixed point) */
|
||||
int x_step;
|
||||
int y_step;
|
||||
|
||||
x_step = (1 << SCALE_SHIFT) / scale_x; /* X step in source (fixed point) */
|
||||
y_step = (1 << SCALE_SHIFT) / scale_y; /* Y step in source (fixed point) */
|
||||
|
||||
if (x_step == 0 || y_step == 0)
|
||||
return; /* overflow, bail out */
|
||||
|
||||
line_bufs = g_new (guchar *, filter->y.n);
|
||||
filter_weights = make_filter_table (filter);
|
||||
|
||||
int check_shift = check_size ? get_check_shift (check_size) : 0;
|
||||
|
||||
|
||||
@@ -184,6 +184,8 @@ dfb_events_dispatch (void)
|
||||
GdkDisplay *display = gdk_display_get_default ();
|
||||
GdkEvent *event;
|
||||
|
||||
GDK_THREADS_ENTER ();
|
||||
|
||||
while ((event = _gdk_event_unqueue (display)) != NULL)
|
||||
{
|
||||
if (_gdk_event_func)
|
||||
@@ -191,6 +193,8 @@ dfb_events_dispatch (void)
|
||||
|
||||
gdk_event_free (event);
|
||||
}
|
||||
|
||||
GDK_THREADS_LEAVE ();
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
||||
@@ -1522,13 +1522,14 @@ gdk_directfb_window_move_resize (GdkWindow *window,
|
||||
}
|
||||
else if (impl->window)
|
||||
{
|
||||
private->x = x;
|
||||
private->y = y;
|
||||
if (with_move) {
|
||||
private->x = x;
|
||||
private->y = y;
|
||||
impl->window->MoveTo (impl->window, x, y);
|
||||
}
|
||||
impl->drawable.width = width;
|
||||
impl->drawable.height = height;
|
||||
|
||||
if (with_move)
|
||||
impl->window->MoveTo (impl->window, x, y);
|
||||
impl->window->Resize (impl->window, width, height);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -471,6 +471,7 @@ gdk_event_copy (const GdkEvent *event)
|
||||
break;
|
||||
|
||||
case GDK_EXPOSE:
|
||||
case GDK_DAMAGE:
|
||||
if (event->expose.region)
|
||||
new_event->expose.region = gdk_region_copy (event->expose.region);
|
||||
break;
|
||||
@@ -548,6 +549,7 @@ gdk_event_free (GdkEvent *event)
|
||||
break;
|
||||
|
||||
case GDK_EXPOSE:
|
||||
case GDK_DAMAGE:
|
||||
if (event->expose.region)
|
||||
gdk_region_destroy (event->expose.region);
|
||||
break;
|
||||
|
||||
@@ -680,6 +680,7 @@ _gdk_gc_add_drawable_clip (GdkGC *gc,
|
||||
-1, -1);
|
||||
gdk_gc_set_clip_region (tmp_gc, NULL);
|
||||
gdk_gc_set_clip_mask (gc, new_mask);
|
||||
g_object_unref (new_mask);
|
||||
}
|
||||
else if (overlap == GDK_OVERLAP_RECTANGLE_OUT)
|
||||
{
|
||||
|
||||
@@ -273,6 +273,7 @@ struct _GdkWindowObject
|
||||
GdkRegion *input_shape;
|
||||
|
||||
cairo_surface_t *cairo_surface;
|
||||
guint outstanding_surfaces; /* only set on impl window */
|
||||
};
|
||||
|
||||
#define GDK_WINDOW_TYPE(d) (((GdkWindowObject*)(GDK_WINDOW (d)))->window_type)
|
||||
|
||||
+37
-14
@@ -257,7 +257,8 @@ gdk_offscreen_window_get_visual (GdkDrawable *drawable)
|
||||
static void
|
||||
add_damage (GdkOffscreenWindow *offscreen,
|
||||
int x, int y,
|
||||
int w, int h)
|
||||
int w, int h,
|
||||
gboolean is_line)
|
||||
{
|
||||
GdkRectangle rect;
|
||||
GdkRegion *damage;
|
||||
@@ -267,6 +268,26 @@ add_damage (GdkOffscreenWindow *offscreen,
|
||||
rect.width = w;
|
||||
rect.height = h;
|
||||
|
||||
if (is_line)
|
||||
{
|
||||
/* This should really take into account line width, line
|
||||
* joins (and miter) and line caps. But these are hard
|
||||
* to compute, rarely used and generally a pain. And in
|
||||
* the end a snug damage rectangle is not that important
|
||||
* as multiple damages are generally created anyway.
|
||||
*
|
||||
* So, we just add some padding around the rect.
|
||||
* We use a padding of 3 pixels, plus an extra row
|
||||
* below and on the right for the normal line size. I.E.
|
||||
* line from (0,0) to (2,0) gets h=0 but is really
|
||||
* at least one pixel tall.
|
||||
*/
|
||||
rect.x -= 3;
|
||||
rect.y -= 3;
|
||||
rect.width += 7;
|
||||
rect.height += 7;
|
||||
}
|
||||
|
||||
damage = gdk_region_rectangle (&rect);
|
||||
_gdk_window_add_damage (offscreen->wrapper, damage);
|
||||
gdk_region_destroy (damage);
|
||||
@@ -300,7 +321,7 @@ gdk_offscreen_window_draw_drawable (GdkDrawable *drawable,
|
||||
xdest, ydest,
|
||||
width, height);
|
||||
|
||||
add_damage (offscreen, xdest, ydest, width, height);
|
||||
add_damage (offscreen, xdest, ydest, width, height, FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -318,7 +339,7 @@ gdk_offscreen_window_draw_rectangle (GdkDrawable *drawable,
|
||||
gdk_draw_rectangle (real_drawable,
|
||||
gc, filled, x, y, width, height);
|
||||
|
||||
add_damage (offscreen, x, y, width, height);
|
||||
add_damage (offscreen, x, y, width, height, !filled);
|
||||
|
||||
}
|
||||
|
||||
@@ -345,7 +366,7 @@ gdk_offscreen_window_draw_arc (GdkDrawable *drawable,
|
||||
height,
|
||||
angle1,
|
||||
angle2);
|
||||
add_damage (offscreen, x, y, width, height);
|
||||
add_damage (offscreen, x, y, width, height, !filled);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -381,7 +402,7 @@ gdk_offscreen_window_draw_polygon (GdkDrawable *drawable,
|
||||
|
||||
add_damage (offscreen, min_x, min_y,
|
||||
max_x - min_x,
|
||||
max_y - min_y);
|
||||
max_y - min_y, !filled);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -407,7 +428,7 @@ gdk_offscreen_window_draw_text (GdkDrawable *drawable,
|
||||
text_length);
|
||||
|
||||
/* Hard to compute the minimal size, not that often used anyway. */
|
||||
add_damage (offscreen, 0, 0, private->width, private->height);
|
||||
add_damage (offscreen, 0, 0, private->width, private->height, FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -432,7 +453,7 @@ gdk_offscreen_window_draw_text_wc (GdkDrawable *drawable,
|
||||
text_length);
|
||||
|
||||
/* Hard to compute the minimal size, not that often used anyway. */
|
||||
add_damage (offscreen, 0, 0, private->width, private->height);
|
||||
add_damage (offscreen, 0, 0, private->width, private->height, FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -466,8 +487,9 @@ gdk_offscreen_window_draw_points (GdkDrawable *drawable,
|
||||
}
|
||||
|
||||
add_damage (offscreen, min_x, min_y,
|
||||
max_x - min_x,
|
||||
max_y - min_y);
|
||||
max_x - min_x + 1,
|
||||
max_y - min_y + 1,
|
||||
FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -492,7 +514,7 @@ gdk_offscreen_window_draw_segments (GdkDrawable *drawable,
|
||||
min_x = max_x = segs[0].x1;
|
||||
min_y = max_y = segs[0].y1;
|
||||
|
||||
for (i = 1; i < nsegs; i++)
|
||||
for (i = 0; i < nsegs; i++)
|
||||
{
|
||||
min_x = MIN (min_x, segs[i].x1);
|
||||
max_x = MAX (max_x, segs[i].x1);
|
||||
@@ -506,7 +528,7 @@ gdk_offscreen_window_draw_segments (GdkDrawable *drawable,
|
||||
|
||||
add_damage (offscreen, min_x, min_y,
|
||||
max_x - min_x,
|
||||
max_y - min_y);
|
||||
max_y - min_y, TRUE);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -529,7 +551,7 @@ gdk_offscreen_window_draw_lines (GdkDrawable *drawable,
|
||||
/* Hard to compute the minimal size, as we don't know the line
|
||||
width, and since joins are hard to calculate.
|
||||
Its not that often used anyway, damage it all */
|
||||
add_damage (offscreen, 0, 0, private->width, private->height);
|
||||
add_damage (offscreen, 0, 0, private->width, private->height, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -556,7 +578,7 @@ gdk_offscreen_window_draw_image (GdkDrawable *drawable,
|
||||
width,
|
||||
height);
|
||||
|
||||
add_damage (offscreen, xdest, ydest, width, height);
|
||||
add_damage (offscreen, xdest, ydest, width, height, FALSE);
|
||||
}
|
||||
|
||||
|
||||
@@ -590,7 +612,7 @@ gdk_offscreen_window_draw_pixbuf (GdkDrawable *drawable,
|
||||
x_dither,
|
||||
y_dither);
|
||||
|
||||
add_damage (offscreen, dest_x, dest_y, width, height);
|
||||
add_damage (offscreen, dest_x, dest_y, width, height, FALSE);
|
||||
|
||||
}
|
||||
|
||||
@@ -637,6 +659,7 @@ _gdk_offscreen_window_new (GdkWindow *window,
|
||||
private->width,
|
||||
private->height,
|
||||
private->depth);
|
||||
gdk_drawable_set_colormap (offscreen->pixmap, offscreen->colormap);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
||||
+6
-6
@@ -79,7 +79,7 @@ gdk_rectangle_intersect (const GdkRectangle *src1,
|
||||
GdkRectangle *dest)
|
||||
{
|
||||
gint dest_x, dest_y;
|
||||
gint dest_w, dest_h;
|
||||
gint dest_x2, dest_y2;
|
||||
gint return_val;
|
||||
|
||||
g_return_val_if_fail (src1 != NULL, FALSE);
|
||||
@@ -89,17 +89,17 @@ gdk_rectangle_intersect (const GdkRectangle *src1,
|
||||
|
||||
dest_x = MAX (src1->x, src2->x);
|
||||
dest_y = MAX (src1->y, src2->y);
|
||||
dest_w = MIN (src1->x + src1->width, src2->x + src2->width) - dest_x;
|
||||
dest_h = MIN (src1->y + src1->height, src2->y + src2->height) - dest_y;
|
||||
dest_x2 = MIN (src1->x + src1->width, src2->x + src2->width);
|
||||
dest_y2 = MIN (src1->y + src1->height, src2->y + src2->height);
|
||||
|
||||
if (dest_w > 0 && dest_h > 0)
|
||||
if (dest_x2 > dest_x && dest_y2 > dest_y)
|
||||
{
|
||||
if (dest)
|
||||
{
|
||||
dest->x = dest_x;
|
||||
dest->y = dest_y;
|
||||
dest->width = dest_w;
|
||||
dest->height = dest_h;
|
||||
dest->width = dest_x2 - dest_x;
|
||||
dest->height = dest_y2 - dest_y;
|
||||
}
|
||||
return_val = TRUE;
|
||||
}
|
||||
|
||||
+282
-102
@@ -134,6 +134,12 @@ enum {
|
||||
PROP_CURSOR
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
CLEAR_BG_NONE,
|
||||
CLEAR_BG_WINCLEARED, /* Clear backgrounds except those that the window system clears */
|
||||
CLEAR_BG_ALL
|
||||
} ClearBg;
|
||||
|
||||
struct _GdkWindowPaint
|
||||
{
|
||||
GdkRegion *region;
|
||||
@@ -270,6 +276,7 @@ static cairo_surface_t *gdk_window_ref_cairo_surface (GdkDrawable *drawable);
|
||||
static cairo_surface_t *gdk_window_create_cairo_surface (GdkDrawable *drawable,
|
||||
int width,
|
||||
int height);
|
||||
static void gdk_window_drop_cairo_surface (GdkWindowObject *private);
|
||||
static void gdk_window_set_cairo_clip (GdkDrawable *drawable,
|
||||
cairo_t *cr);
|
||||
|
||||
@@ -332,6 +339,14 @@ static void update_cursor (GdkDisplay *display);
|
||||
static void impl_window_add_update_area (GdkWindowObject *impl_window,
|
||||
GdkRegion *region);
|
||||
static void gdk_window_region_move_free (GdkWindowRegionMove *move);
|
||||
static void gdk_window_invalidate_region_full (GdkWindow *window,
|
||||
const GdkRegion *region,
|
||||
gboolean invalidate_children,
|
||||
ClearBg clear_bg);
|
||||
static void gdk_window_invalidate_rect_full (GdkWindow *window,
|
||||
const GdkRectangle *rect,
|
||||
gboolean invalidate_children,
|
||||
ClearBg clear_bg);
|
||||
|
||||
static guint signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
@@ -1167,14 +1182,12 @@ get_native_event_mask (GdkWindowObject *private)
|
||||
|
||||
/* Do whatever the app asks to, since the app
|
||||
* may be asking for weird things for native windows,
|
||||
* but filter out things that override the special
|
||||
* requests below. */
|
||||
mask = private->event_mask &
|
||||
~(GDK_POINTER_MOTION_HINT_MASK |
|
||||
GDK_BUTTON_MOTION_MASK |
|
||||
GDK_BUTTON1_MOTION_MASK |
|
||||
GDK_BUTTON2_MOTION_MASK |
|
||||
GDK_BUTTON3_MOTION_MASK);
|
||||
* but don't use motion hints as that may affect non-native
|
||||
* child windows that don't want it. Also, we need to
|
||||
* set all the app-specified masks since they will be picked
|
||||
* up by any implicit grabs (i.e. if they were not set as
|
||||
* native we would not get the events we need). */
|
||||
mask = private->event_mask & ~GDK_POINTER_MOTION_HINT_MASK;
|
||||
|
||||
/* We need thse for all native windows so we can
|
||||
emulate events on children: */
|
||||
@@ -1193,8 +1206,15 @@ get_native_event_mask (GdkWindowObject *private)
|
||||
* important thing, because in X only one client can do
|
||||
* so, and we don't want to unexpectedly prevent another
|
||||
* client from doing it.
|
||||
*
|
||||
* We also need to do the same if the app selects for button presses
|
||||
* because then we will get implicit grabs for this window, and the
|
||||
* event mask used for that grab is based on the rest of the mask
|
||||
* for the window, but we might need more events than this window
|
||||
* lists due to some non-native child window.
|
||||
*/
|
||||
if (gdk_window_is_toplevel (private))
|
||||
if (gdk_window_is_toplevel (private) ||
|
||||
mask & GDK_BUTTON_PRESS_MASK)
|
||||
mask |=
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
|
||||
@@ -1214,11 +1234,7 @@ get_native_grab_event_mask (GdkEventMask grab_mask)
|
||||
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
(grab_mask &
|
||||
~(GDK_POINTER_MOTION_HINT_MASK |
|
||||
GDK_BUTTON_MOTION_MASK |
|
||||
GDK_BUTTON1_MOTION_MASK |
|
||||
GDK_BUTTON2_MOTION_MASK |
|
||||
GDK_BUTTON3_MOTION_MASK));
|
||||
~GDK_POINTER_MOTION_HINT_MASK);
|
||||
}
|
||||
|
||||
/* Puts the native window in the right order wrt the other native windows
|
||||
@@ -1579,14 +1595,9 @@ gdk_window_reparent (GdkWindow *window,
|
||||
if (is_parent_of (window, new_parent))
|
||||
return;
|
||||
|
||||
if (private->cairo_surface)
|
||||
{
|
||||
/* This might be wrong in the new parent, e.g. for non-native surfaces.
|
||||
To make sure we're ok, just wipe it. */
|
||||
cairo_surface_finish (private->cairo_surface);
|
||||
cairo_surface_set_user_data (private->cairo_surface, &gdk_window_cairo_key,
|
||||
NULL, NULL);
|
||||
}
|
||||
/* This might be wrong in the new parent, e.g. for non-native surfaces.
|
||||
To make sure we're ok, just wipe it. */
|
||||
gdk_window_drop_cairo_surface (private);
|
||||
|
||||
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
|
||||
old_parent = private->parent;
|
||||
@@ -1723,6 +1734,67 @@ gdk_window_reparent (GdkWindow *window,
|
||||
_gdk_synthesize_crossing_events_for_geometry_change (window);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
temporary_disable_extension_events (GdkWindowObject *window)
|
||||
{
|
||||
GdkWindowObject *child;
|
||||
GList *l;
|
||||
gboolean res;
|
||||
|
||||
if (window->extension_events != 0)
|
||||
{
|
||||
g_object_set_data (G_OBJECT (window),
|
||||
"gdk-window-extension-events",
|
||||
GINT_TO_POINTER (window->extension_events));
|
||||
gdk_input_set_extension_events ((GdkWindow *)window, 0,
|
||||
GDK_EXTENSION_EVENTS_NONE);
|
||||
}
|
||||
else
|
||||
res = FALSE;
|
||||
|
||||
for (l = window->children; l != NULL; l = l->next)
|
||||
{
|
||||
child = l->data;
|
||||
|
||||
if (window->impl_window == child->impl_window)
|
||||
res |= temporary_disable_extension_events (child);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static void
|
||||
reenable_extension_events (GdkWindowObject *window)
|
||||
{
|
||||
GdkWindowObject *child;
|
||||
GList *l;
|
||||
int mask;
|
||||
|
||||
mask = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (window),
|
||||
"gdk-window-extension-events"));
|
||||
|
||||
if (mask != 0)
|
||||
{
|
||||
/* We don't have the mode here, so we pass in cursor.
|
||||
This works with the current code since mode is not
|
||||
stored except as part of the mask, and cursor doesn't
|
||||
change the mask. */
|
||||
gdk_input_set_extension_events ((GdkWindow *)window, mask,
|
||||
GDK_EXTENSION_EVENTS_CURSOR);
|
||||
g_object_set_data (G_OBJECT (window),
|
||||
"gdk-window-extension-events",
|
||||
NULL);
|
||||
}
|
||||
|
||||
for (l = window->children; l != NULL; l = l->next)
|
||||
{
|
||||
child = l->data;
|
||||
|
||||
if (window->impl_window == child->impl_window)
|
||||
reenable_extension_events (window);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_window_ensure_native:
|
||||
* @window: a #GdkWindow
|
||||
@@ -1750,6 +1822,7 @@ gdk_window_ensure_native (GdkWindow *window)
|
||||
GdkWindowObject *above;
|
||||
GList listhead;
|
||||
GdkWindowImplIface *impl_iface;
|
||||
gboolean disabled_extension_events;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
|
||||
|
||||
@@ -1770,6 +1843,14 @@ gdk_window_ensure_native (GdkWindow *window)
|
||||
|
||||
/* Need to create a native window */
|
||||
|
||||
/* First we disable any extension events on the window or its
|
||||
descendants to handle the native input window moving */
|
||||
disabled_extension_events = FALSE;
|
||||
if (impl_window->input_window)
|
||||
disabled_extension_events = temporary_disable_extension_events (private);
|
||||
|
||||
gdk_window_drop_cairo_surface (private);
|
||||
|
||||
screen = gdk_drawable_get_screen (window);
|
||||
visual = gdk_drawable_get_visual (window);
|
||||
|
||||
@@ -1823,6 +1904,9 @@ gdk_window_ensure_native (GdkWindow *window)
|
||||
if (gdk_window_is_viewable (window))
|
||||
impl_iface->show (window, FALSE);
|
||||
|
||||
if (disabled_extension_events)
|
||||
reenable_extension_events (private);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1975,13 +2059,7 @@ _gdk_window_destroy_hierarchy (GdkWindow *window,
|
||||
|
||||
_gdk_window_clear_update_area (window);
|
||||
|
||||
if (private->cairo_surface)
|
||||
{
|
||||
cairo_surface_finish (private->cairo_surface);
|
||||
cairo_surface_set_user_data (private->cairo_surface, &gdk_window_cairo_key,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
gdk_window_drop_cairo_surface (private);
|
||||
|
||||
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
|
||||
|
||||
@@ -2532,6 +2610,17 @@ gdk_window_begin_implicit_paint (GdkWindow *window, GdkRectangle *rect)
|
||||
private->implicit_paint != NULL)
|
||||
return FALSE; /* Don't stack implicit paints */
|
||||
|
||||
if (private->outstanding_surfaces != 0)
|
||||
return FALSE; /* May conflict with direct drawing to cairo surface */
|
||||
|
||||
/* Never do implicit paints for foreign windows, they don't need
|
||||
* double buffer combination since they have no client side children,
|
||||
* and creating pixmaps for them is risky since they could disappear
|
||||
* at any time
|
||||
*/
|
||||
if (private->window_type == GDK_WINDOW_FOREIGN)
|
||||
return FALSE;
|
||||
|
||||
paint = g_new (GdkWindowPaint, 1);
|
||||
paint->region = gdk_region_new (); /* Empty */
|
||||
paint->x_offset = rect->x;
|
||||
@@ -2581,7 +2670,7 @@ gdk_window_flush_implicit_paint (GdkWindow *window)
|
||||
gdk_region_offset (region, private->abs_x, private->abs_y);
|
||||
gdk_region_intersect (region, paint->region);
|
||||
|
||||
if (!gdk_region_empty (region))
|
||||
if (!GDK_WINDOW_DESTROYED (window) && !gdk_region_empty (region))
|
||||
{
|
||||
/* Remove flushed region from the implicit paint */
|
||||
gdk_region_subtract (paint->region, region);
|
||||
@@ -2614,7 +2703,7 @@ gdk_window_end_implicit_paint (GdkWindow *window)
|
||||
|
||||
private->implicit_paint = NULL;
|
||||
|
||||
if (!gdk_region_empty (paint->region))
|
||||
if (!GDK_WINDOW_DESTROYED (window) && !gdk_region_empty (paint->region))
|
||||
{
|
||||
/* Some regions are valid, push these to window now */
|
||||
tmp_gc = _gdk_drawable_get_scratch_gc ((GdkDrawable *)window, FALSE);
|
||||
@@ -3229,7 +3318,7 @@ move_region_on_impl (GdkWindowObject *impl_window,
|
||||
gdk_region_destroy (exposing);
|
||||
}
|
||||
|
||||
if (1) /* Enable flicker free handling of moves. */
|
||||
if (impl_window->outstanding_surfaces == 0) /* Enable flicker free handling of moves. */
|
||||
append_move_region (impl_window, region, dx, dy);
|
||||
else
|
||||
do_move_region_bits_on_impl (impl_window,
|
||||
@@ -3924,9 +4013,10 @@ gdk_window_draw_drawable (GdkDrawable *drawable,
|
||||
gdk_region_subtract (exposure_region, clip);
|
||||
gdk_region_destroy (clip);
|
||||
|
||||
gdk_window_invalidate_region (GDK_WINDOW (private),
|
||||
exposure_region,
|
||||
_gdk_gc_get_subwindow (gc) == GDK_INCLUDE_INFERIORS);
|
||||
gdk_window_invalidate_region_full (GDK_WINDOW (private),
|
||||
exposure_region,
|
||||
_gdk_gc_get_subwindow (gc) == GDK_INCLUDE_INFERIORS,
|
||||
CLEAR_BG_ALL);
|
||||
|
||||
gdk_region_destroy (exposure_region);
|
||||
}
|
||||
@@ -4389,8 +4479,12 @@ gdk_window_clear (GdkWindow *window)
|
||||
width, height);
|
||||
}
|
||||
|
||||
/* TRUE if the window clears to the same pixels as a native
|
||||
window clear. This means you can use the native window
|
||||
clearing operation, and additionally it means any clearing
|
||||
done by the native window system for you will already be right */
|
||||
static gboolean
|
||||
clears_on_native (GdkWindowObject *private)
|
||||
clears_as_native (GdkWindowObject *private)
|
||||
{
|
||||
GdkWindowObject *next;
|
||||
|
||||
@@ -4424,13 +4518,17 @@ gdk_window_clear_region_internal (GdkWindow *window,
|
||||
|
||||
impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
|
||||
|
||||
if (impl_iface->clear_region && clears_on_native (private))
|
||||
if (impl_iface->clear_region && clears_as_native (private))
|
||||
{
|
||||
GdkRegion *copy;
|
||||
copy = gdk_region_copy (region);
|
||||
gdk_region_intersect (copy,
|
||||
private->clip_region_with_children);
|
||||
|
||||
|
||||
/* Drawing directly to the window, flush anything outstanding to
|
||||
guarantee ordering. */
|
||||
gdk_window_flush (window);
|
||||
impl_iface->clear_region (window, copy, send_expose);
|
||||
|
||||
gdk_region_destroy (copy);
|
||||
@@ -4473,7 +4571,7 @@ gdk_window_clear_area_internal (GdkWindow *window,
|
||||
region = gdk_region_rectangle (&rect);
|
||||
gdk_window_clear_region_internal (window,
|
||||
region,
|
||||
FALSE);
|
||||
send_expose);
|
||||
gdk_region_destroy (region);
|
||||
|
||||
}
|
||||
@@ -4735,12 +4833,24 @@ gdk_window_copy_to_image (GdkDrawable *drawable,
|
||||
width, height);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_drop_cairo_surface (GdkWindowObject *private)
|
||||
{
|
||||
if (private->cairo_surface)
|
||||
{
|
||||
cairo_surface_finish (private->cairo_surface);
|
||||
cairo_surface_set_user_data (private->cairo_surface, &gdk_window_cairo_key,
|
||||
NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_cairo_surface_destroy (void *data)
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject*) data;
|
||||
|
||||
private->cairo_surface = NULL;
|
||||
private->impl_window->outstanding_surfaces--;
|
||||
}
|
||||
|
||||
static cairo_surface_t *
|
||||
@@ -4784,11 +4894,12 @@ gdk_window_ref_cairo_surface (GdkDrawable *drawable)
|
||||
|
||||
source = _gdk_drawable_get_source_drawable (drawable);
|
||||
|
||||
/* TODO: Avoid the typecheck crap by adding virtual call */
|
||||
private->cairo_surface = _gdk_drawable_create_cairo_surface (source, width, height);
|
||||
|
||||
if (private->cairo_surface)
|
||||
{
|
||||
private->impl_window->outstanding_surfaces++;
|
||||
|
||||
cairo_surface_set_device_offset (private->cairo_surface,
|
||||
private->abs_x,
|
||||
private->abs_y);
|
||||
@@ -5417,21 +5528,11 @@ gdk_window_process_updates (GdkWindow *window,
|
||||
g_object_unref (window);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_window_invalidate_rect:
|
||||
* @window: a #GdkWindow
|
||||
* @rect: rectangle to invalidate or %NULL to invalidate the whole
|
||||
* window
|
||||
* @invalidate_children: whether to also invalidate child windows
|
||||
*
|
||||
* A convenience wrapper around gdk_window_invalidate_region() which
|
||||
* invalidates a rectangular region. See
|
||||
* gdk_window_invalidate_region() for details.
|
||||
**/
|
||||
void
|
||||
gdk_window_invalidate_rect (GdkWindow *window,
|
||||
const GdkRectangle *rect,
|
||||
gboolean invalidate_children)
|
||||
static void
|
||||
gdk_window_invalidate_rect_full (GdkWindow *window,
|
||||
const GdkRectangle *rect,
|
||||
gboolean invalidate_children,
|
||||
ClearBg clear_bg)
|
||||
{
|
||||
GdkRectangle window_rect;
|
||||
GdkRegion *region;
|
||||
@@ -5456,10 +5557,29 @@ gdk_window_invalidate_rect (GdkWindow *window,
|
||||
}
|
||||
|
||||
region = gdk_region_rectangle (rect);
|
||||
gdk_window_invalidate_region (window, region, invalidate_children);
|
||||
gdk_window_invalidate_region_full (window, region, invalidate_children, clear_bg);
|
||||
gdk_region_destroy (region);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_window_invalidate_rect:
|
||||
* @window: a #GdkWindow
|
||||
* @rect: rectangle to invalidate or %NULL to invalidate the whole
|
||||
* window
|
||||
* @invalidate_children: whether to also invalidate child windows
|
||||
*
|
||||
* A convenience wrapper around gdk_window_invalidate_region() which
|
||||
* invalidates a rectangular region. See
|
||||
* gdk_window_invalidate_region() for details.
|
||||
**/
|
||||
void
|
||||
gdk_window_invalidate_rect (GdkWindow *window,
|
||||
const GdkRectangle *rect,
|
||||
gboolean invalidate_children)
|
||||
{
|
||||
gdk_window_invalidate_rect_full (window, rect, invalidate_children, CLEAR_BG_NONE);
|
||||
}
|
||||
|
||||
static void
|
||||
draw_ugly_color (GdkWindow *window,
|
||||
const GdkRegion *region)
|
||||
@@ -5498,37 +5618,23 @@ impl_window_add_update_area (GdkWindowObject *impl_window,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_window_invalidate_maybe_recurse:
|
||||
* @window: a #GdkWindow
|
||||
* @region: a #GdkRegion
|
||||
* @child_func: function to use to decide if to recurse to a child,
|
||||
* %NULL means never recurse.
|
||||
* @user_data: data passed to @child_func
|
||||
*
|
||||
* Adds @region to the update area for @window. The update area is the
|
||||
* region that needs to be redrawn, or "dirty region." The call
|
||||
* gdk_window_process_updates() sends one or more expose events to the
|
||||
* window, which together cover the entire update area. An
|
||||
* application would normally redraw the contents of @window in
|
||||
* response to those expose events.
|
||||
*
|
||||
* GDK will call gdk_window_process_all_updates() on your behalf
|
||||
* whenever your program returns to the main loop and becomes idle, so
|
||||
* normally there's no need to do that manually, you just need to
|
||||
* invalidate regions that you know should be redrawn.
|
||||
*
|
||||
* The @child_func parameter controls whether the region of
|
||||
* each child window that intersects @region will also be invalidated.
|
||||
* Only children for which @child_func returns TRUE will have the area
|
||||
* invalidated.
|
||||
**/
|
||||
void
|
||||
gdk_window_invalidate_maybe_recurse (GdkWindow *window,
|
||||
const GdkRegion *region,
|
||||
gboolean (*child_func) (GdkWindow *,
|
||||
gpointer),
|
||||
gpointer user_data)
|
||||
/* clear_bg controls if the region will be cleared to
|
||||
* the background color/pixmap if the exposure mask is not
|
||||
* set for the window, whereas this might not otherwise be
|
||||
* done (unless necessary to emulate background settings).
|
||||
* Set this to CLEAR_BG_WINCLEARED or CLEAR_BG_ALL if you
|
||||
* need to clear the background, such as when exposing the area beneath a
|
||||
* hidden or moved window, but not when an app requests repaint or when the
|
||||
* windowing system exposes a newly visible area (because then the windowing
|
||||
* system has already cleared the area).
|
||||
*/
|
||||
static void
|
||||
gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
|
||||
const GdkRegion *region,
|
||||
ClearBg clear_bg,
|
||||
gboolean (*child_func) (GdkWindow *,
|
||||
gpointer),
|
||||
gpointer user_data)
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject *)window;
|
||||
GdkWindowObject *impl_window;
|
||||
@@ -5579,8 +5685,8 @@ gdk_window_invalidate_maybe_recurse (GdkWindow *window,
|
||||
gdk_region_offset (child_region, - child_rect.x, - child_rect.y);
|
||||
gdk_region_intersect (child_region, tmp);
|
||||
|
||||
gdk_window_invalidate_maybe_recurse ((GdkWindow *)child,
|
||||
child_region, child_func, user_data);
|
||||
gdk_window_invalidate_maybe_recurse_full ((GdkWindow *)child,
|
||||
child_region, clear_bg, child_func, user_data);
|
||||
|
||||
gdk_region_destroy (tmp);
|
||||
}
|
||||
@@ -5604,12 +5710,58 @@ gdk_window_invalidate_maybe_recurse (GdkWindow *window,
|
||||
|
||||
/* Convert to impl coords */
|
||||
gdk_region_offset (visible_region, private->abs_x, private->abs_y);
|
||||
impl_window_add_update_area (impl_window, visible_region);
|
||||
|
||||
/* Only invalidate area if app requested expose events or if
|
||||
we need to clear the area (by request or to emulate background
|
||||
clearing for non-native windows or native windows with no support
|
||||
for window backgrounds */
|
||||
if (private->event_mask & GDK_EXPOSURE_MASK ||
|
||||
clear_bg == CLEAR_BG_ALL ||
|
||||
(clear_bg == CLEAR_BG_WINCLEARED &&
|
||||
(!clears_as_native (private) ||
|
||||
!GDK_WINDOW_IMPL_GET_IFACE (private->impl)->supports_native_bg)))
|
||||
impl_window_add_update_area (impl_window, visible_region);
|
||||
}
|
||||
|
||||
gdk_region_destroy (visible_region);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_window_invalidate_maybe_recurse:
|
||||
* @window: a #GdkWindow
|
||||
* @region: a #GdkRegion
|
||||
* @child_func: function to use to decide if to recurse to a child,
|
||||
* %NULL means never recurse.
|
||||
* @user_data: data passed to @child_func
|
||||
*
|
||||
* Adds @region to the update area for @window. The update area is the
|
||||
* region that needs to be redrawn, or "dirty region." The call
|
||||
* gdk_window_process_updates() sends one or more expose events to the
|
||||
* window, which together cover the entire update area. An
|
||||
* application would normally redraw the contents of @window in
|
||||
* response to those expose events.
|
||||
*
|
||||
* GDK will call gdk_window_process_all_updates() on your behalf
|
||||
* whenever your program returns to the main loop and becomes idle, so
|
||||
* normally there's no need to do that manually, you just need to
|
||||
* invalidate regions that you know should be redrawn.
|
||||
*
|
||||
* The @child_func parameter controls whether the region of
|
||||
* each child window that intersects @region will also be invalidated.
|
||||
* Only children for which @child_func returns TRUE will have the area
|
||||
* invalidated.
|
||||
**/
|
||||
void
|
||||
gdk_window_invalidate_maybe_recurse (GdkWindow *window,
|
||||
const GdkRegion *region,
|
||||
gboolean (*child_func) (GdkWindow *,
|
||||
gpointer),
|
||||
gpointer user_data)
|
||||
{
|
||||
gdk_window_invalidate_maybe_recurse_full (window, region, CLEAR_BG_NONE,
|
||||
child_func, user_data);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
true_predicate (GdkWindow *window,
|
||||
gpointer user_data)
|
||||
@@ -5617,6 +5769,18 @@ true_predicate (GdkWindow *window,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_invalidate_region_full (GdkWindow *window,
|
||||
const GdkRegion *region,
|
||||
gboolean invalidate_children,
|
||||
ClearBg clear_bg)
|
||||
{
|
||||
gdk_window_invalidate_maybe_recurse_full (window, region, clear_bg,
|
||||
invalidate_children ?
|
||||
true_predicate : (gboolean (*) (GdkWindow *, gpointer))NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_window_invalidate_region:
|
||||
* @window: a #GdkWindow
|
||||
@@ -5707,9 +5871,9 @@ _gdk_window_invalidate_for_expose (GdkWindow *window,
|
||||
gdk_region_destroy (move_region);
|
||||
}
|
||||
|
||||
gdk_window_invalidate_maybe_recurse (window, region,
|
||||
(gboolean (*) (GdkWindow *, gpointer))gdk_window_has_no_impl,
|
||||
NULL);
|
||||
gdk_window_invalidate_maybe_recurse_full (window, region, CLEAR_BG_WINCLEARED,
|
||||
(gboolean (*) (GdkWindow *, gpointer))gdk_window_has_no_impl,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -6405,7 +6569,7 @@ gdk_window_show_internal (GdkWindow *window, gboolean raise)
|
||||
if (gdk_window_is_viewable (window))
|
||||
{
|
||||
_gdk_synthesize_crossing_events_for_geometry_change (window);
|
||||
gdk_window_invalidate_rect (window, NULL, TRUE);
|
||||
gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6469,7 +6633,7 @@ gdk_window_raise (GdkWindow *window)
|
||||
new_region = gdk_region_copy (private->clip_region);
|
||||
|
||||
gdk_region_subtract (new_region, old_region);
|
||||
gdk_window_invalidate_region (window, new_region, TRUE);
|
||||
gdk_window_invalidate_region_full (window, new_region, TRUE, CLEAR_BG_ALL);
|
||||
|
||||
gdk_region_destroy (old_region);
|
||||
gdk_region_destroy (new_region);
|
||||
@@ -6560,7 +6724,7 @@ gdk_window_invalidate_in_parent (GdkWindowObject *private)
|
||||
child.height = private->height;
|
||||
gdk_rectangle_intersect (&r, &child, &r);
|
||||
|
||||
gdk_window_invalidate_rect (GDK_WINDOW (private->parent), &r, TRUE);
|
||||
gdk_window_invalidate_rect_full (GDK_WINDOW (private->parent), &r, TRUE, CLEAR_BG_ALL);
|
||||
}
|
||||
|
||||
|
||||
@@ -6827,7 +6991,8 @@ gdk_window_hide (GdkWindow *window)
|
||||
}
|
||||
|
||||
/* Invalidate the rect */
|
||||
gdk_window_invalidate_in_parent (private);
|
||||
if (was_mapped)
|
||||
gdk_window_invalidate_in_parent (private);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6991,7 +7156,7 @@ gdk_window_move_resize_toplevel (GdkWindow *window,
|
||||
* roundtrip
|
||||
*/
|
||||
gdk_region_subtract (new_region, old_region);
|
||||
gdk_window_invalidate_region (window, new_region, TRUE);
|
||||
gdk_window_invalidate_region_full (window, new_region, TRUE, CLEAR_BG_WINCLEARED);
|
||||
|
||||
gdk_region_destroy (old_region);
|
||||
gdk_region_destroy (new_region);
|
||||
@@ -7240,6 +7405,7 @@ gdk_window_move_resize_internal (GdkWindow *window,
|
||||
native windows, as we can't read that data */
|
||||
gdk_region_offset (new_native_child_region, dx, dy);
|
||||
gdk_region_subtract (copy_area, new_native_child_region);
|
||||
gdk_region_offset (new_native_child_region, -dx, -dy);
|
||||
}
|
||||
|
||||
gdk_region_subtract (new_region, copy_area);
|
||||
@@ -7257,7 +7423,14 @@ gdk_window_move_resize_internal (GdkWindow *window,
|
||||
* We also invalidate any children in that area, which could include
|
||||
* this window if it still overlaps that area.
|
||||
*/
|
||||
gdk_window_invalidate_region (GDK_WINDOW (private->parent), new_region, TRUE);
|
||||
if (old_native_child_region)
|
||||
{
|
||||
/* No need to expose the region that the native window move copies */
|
||||
gdk_region_offset (old_native_child_region, dx, dy);
|
||||
gdk_region_intersect (old_native_child_region, new_native_child_region);
|
||||
gdk_region_subtract (new_region, old_native_child_region);
|
||||
}
|
||||
gdk_window_invalidate_region_full (GDK_WINDOW (private->parent), new_region, TRUE, CLEAR_BG_ALL);
|
||||
|
||||
gdk_region_destroy (old_region);
|
||||
gdk_region_destroy (new_region);
|
||||
@@ -7450,7 +7623,14 @@ gdk_window_scroll (GdkWindow *window,
|
||||
move_region_on_impl (impl_window, copy_area, dx, dy); /* takes ownership of copy_area */
|
||||
|
||||
/* Invalidate not copied regions */
|
||||
gdk_window_invalidate_region (window, noncopy_area, TRUE);
|
||||
if (old_native_child_region)
|
||||
{
|
||||
/* No need to expose the region that the native window move copies */
|
||||
gdk_region_offset (old_native_child_region, dx, dy);
|
||||
gdk_region_intersect (old_native_child_region, new_native_child_region);
|
||||
gdk_region_subtract (noncopy_area, old_native_child_region);
|
||||
}
|
||||
gdk_window_invalidate_region_full (window, noncopy_area, TRUE, CLEAR_BG_ALL);
|
||||
|
||||
gdk_region_destroy (noncopy_area);
|
||||
|
||||
@@ -7519,7 +7699,7 @@ gdk_window_move_region (GdkWindow *window,
|
||||
gdk_region_offset (copy_area, private->abs_x, private->abs_y);
|
||||
move_region_on_impl (impl_window, copy_area, dx, dy); /* Takes ownership of copy_area */
|
||||
|
||||
gdk_window_invalidate_region (window, nocopy_area, FALSE);
|
||||
gdk_window_invalidate_region_full (window, nocopy_area, FALSE, CLEAR_BG_ALL);
|
||||
gdk_region_destroy (nocopy_area);
|
||||
}
|
||||
|
||||
@@ -8052,7 +8232,7 @@ gdk_window_shape_combine_region (GdkWindow *window,
|
||||
diff = gdk_region_copy (new_region);
|
||||
gdk_region_subtract (diff, old_region);
|
||||
|
||||
gdk_window_invalidate_region (window, diff, TRUE);
|
||||
gdk_window_invalidate_region_full (window, diff, TRUE, CLEAR_BG_ALL);
|
||||
|
||||
gdk_region_destroy (diff);
|
||||
|
||||
@@ -8065,7 +8245,7 @@ gdk_window_shape_combine_region (GdkWindow *window,
|
||||
/* Adjust region to parent window coords */
|
||||
gdk_region_offset (diff, private->x, private->y);
|
||||
|
||||
gdk_window_invalidate_region (GDK_WINDOW (private->parent), diff, TRUE);
|
||||
gdk_window_invalidate_region_full (GDK_WINDOW (private->parent), diff, TRUE, CLEAR_BG_ALL);
|
||||
|
||||
gdk_region_destroy (diff);
|
||||
}
|
||||
|
||||
@@ -146,6 +146,7 @@ struct _GdkWindowImplIface
|
||||
void (* input_window_destroy) (GdkWindow *window);
|
||||
void (* input_window_crossing)(GdkWindow *window,
|
||||
gboolean enter);
|
||||
gboolean supports_native_bg;
|
||||
};
|
||||
|
||||
/* Interface Functions */
|
||||
|
||||
@@ -60,7 +60,8 @@
|
||||
GdkWindowObject *private = GDK_WINDOW_OBJECT (gdk_window);
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
|
||||
const NSRect *drawn_rects;
|
||||
int count, i;
|
||||
NSInteger count;
|
||||
int i;
|
||||
GdkRegion *region;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (gdk_window))
|
||||
|
||||
@@ -84,7 +84,7 @@ create_builtin_cursor (GdkCursorType cursor_type)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
NSBitmapImageRep *bitmap_rep;
|
||||
gint mask_width, mask_height;
|
||||
NSInteger mask_width, mask_height;
|
||||
gint src_width, src_height;
|
||||
gint dst_stride;
|
||||
const guchar *mask_start, *src_start;
|
||||
@@ -249,7 +249,7 @@ gdk_cursor_new_from_pixmap (GdkPixmap *source,
|
||||
NSImage *image;
|
||||
NSCursor *nscursor;
|
||||
GdkCursor *cursor;
|
||||
gint width, height;
|
||||
int width, height;
|
||||
gint tmp_x, tmp_y;
|
||||
guchar *dst_data, *mask_data, *src_data;
|
||||
guchar *mask_start, *src_start;
|
||||
@@ -265,7 +265,7 @@ gdk_cursor_new_from_pixmap (GdkPixmap *source,
|
||||
gdk_drawable_get_size (source, &width, &height);
|
||||
|
||||
bitmap_rep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL
|
||||
pixelsWide:width pixelsHigh:height
|
||||
pixelsWide:(NSInteger)width pixelsHigh:(NSInteger)height
|
||||
bitsPerSample:8 samplesPerPixel:4
|
||||
hasAlpha:YES isPlanar:NO colorSpaceName:NSDeviceRGBColorSpace
|
||||
bytesPerRow:0 bitsPerPixel:0];
|
||||
|
||||
@@ -213,7 +213,7 @@ get_time_from_ns_event (NSEvent *event)
|
||||
static int
|
||||
get_mouse_button_from_ns_event (NSEvent *event)
|
||||
{
|
||||
int button;
|
||||
NSInteger button;
|
||||
|
||||
button = [event buttonNumber];
|
||||
|
||||
|
||||
@@ -385,3 +385,9 @@ gdk_device_get_axis (GdkDevice *device, gdouble *axes, GdkAxisUse use, gdouble *
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_input_window_crossing (GdkWindow *window,
|
||||
gboolean enter)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -147,6 +147,9 @@ gint _gdk_input_disable_window (GdkWindow *window,
|
||||
GdkDevicePrivate *gdkdev);
|
||||
void _gdk_init_input_core (void);
|
||||
|
||||
void _gdk_input_window_crossing (GdkWindow *window,
|
||||
gboolean enter);
|
||||
|
||||
void _gdk_input_exit (void);
|
||||
|
||||
#endif /* __GDK_INPUTPRIVATE_H__ */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "gdk.h"
|
||||
#include "gdkwindowimpl.h"
|
||||
#include "gdkprivate-quartz.h"
|
||||
#include "gdkinputprivate.h"
|
||||
|
||||
static gpointer parent_class;
|
||||
|
||||
@@ -703,7 +704,7 @@ find_child_window_helper (GdkWindow *window,
|
||||
{
|
||||
NSRect frame = NSMakeRect (0, 0, 100, 100);
|
||||
NSRect content;
|
||||
int mask;
|
||||
NSUInteger mask;
|
||||
int titlebar_height;
|
||||
|
||||
mask = [child_impl->toplevel styleMask];
|
||||
@@ -944,7 +945,7 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
case GDK_WINDOW_TEMP:
|
||||
{
|
||||
NSRect content_rect;
|
||||
int style_mask;
|
||||
NSUInteger style_mask;
|
||||
const char *title;
|
||||
|
||||
content_rect = NSMakeRect (private->x,
|
||||
@@ -2535,7 +2536,7 @@ gdk_window_set_decorations (GdkWindow *window,
|
||||
GdkWMDecoration decorations)
|
||||
{
|
||||
GdkWindowImplQuartz *impl;
|
||||
int old_mask, new_mask;
|
||||
NSUInteger old_mask, new_mask;
|
||||
NSView *old_view;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
@@ -3035,4 +3036,6 @@ gdk_window_impl_iface_init (GdkWindowImplIface *iface)
|
||||
iface->queue_antiexpose = _gdk_quartz_window_queue_antiexpose;
|
||||
iface->queue_translation = _gdk_quartz_window_queue_translation;
|
||||
iface->destroy = _gdk_quartz_window_destroy;
|
||||
iface->input_window_destroy = _gdk_input_window_destroy;
|
||||
iface->input_window_crossing = _gdk_input_window_crossing;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,14 @@
|
||||
#import <gdk/quartz/GdkQuartzView.h>
|
||||
#import <gdk/quartz/GdkQuartzWindow.h>
|
||||
|
||||
/* NSInteger only exists in Leopard and newer. This check has to be
|
||||
* done after inclusion of the system headers. If NSInteger has not
|
||||
* been defined, we know for sure that we are on 32-bit.
|
||||
*/
|
||||
#ifndef NSINTEGER_DEFINED
|
||||
typedef int NSInteger;
|
||||
typedef unsigned int NSUInteger;
|
||||
#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
@@ -990,6 +990,7 @@ append_event (GdkEvent *event)
|
||||
fixup_event (event);
|
||||
#if 1
|
||||
link = _gdk_event_queue_append (_gdk_display, event);
|
||||
GDK_NOTE (EVENTS, print_event (event));
|
||||
/* event morphing, the passed in may not be valid afterwards */
|
||||
_gdk_windowing_got_event (_gdk_display, link, event, 0);
|
||||
#else
|
||||
|
||||
@@ -149,14 +149,12 @@ gdk_get_use_xshm (void)
|
||||
gint
|
||||
gdk_screen_get_width (GdkScreen *screen)
|
||||
{
|
||||
//return GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (_gdk_root)->impl)->width;
|
||||
return GDK_WINDOW_OBJECT (_gdk_root)->width;
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_screen_get_height (GdkScreen *screen)
|
||||
{
|
||||
//return GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (_gdk_root)->impl)->height;
|
||||
return GDK_WINDOW_OBJECT (_gdk_root)->height;
|
||||
}
|
||||
gint
|
||||
|
||||
@@ -810,7 +810,7 @@ gdk_selection_convert (GdkWindow *requestor,
|
||||
if (dropfiles_prop != NULL)
|
||||
{
|
||||
selection_property_store
|
||||
(requestor, selection, dropfiles_prop->format,
|
||||
(requestor, dropfiles_prop->type, dropfiles_prop->format,
|
||||
dropfiles_prop->data, dropfiles_prop->length);
|
||||
g_free (dropfiles_prop);
|
||||
dropfiles_prop = NULL;
|
||||
|
||||
+26
-156
@@ -277,8 +277,7 @@ _gdk_windowing_window_init (GdkScreen *screen)
|
||||
private->y = 0;
|
||||
private->abs_x = 0;
|
||||
private->abs_y = 0;
|
||||
private->width = GetSystemMetrics (SM_CXSCREEN);
|
||||
private->height = GetSystemMetrics (SM_CYSCREEN);
|
||||
/* width and height already initialised in _gdk_root_window_size_init() */
|
||||
private->viewable = TRUE;
|
||||
|
||||
gdk_win32_handle_table_insert ((HANDLE *) &draw_impl->handle, _gdk_root);
|
||||
@@ -489,12 +488,12 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
orig_parent = real_parent;
|
||||
|
||||
GDK_NOTE (MISC,
|
||||
g_print ("gdk_window_new_internal: %s\n",
|
||||
(attributes->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" :
|
||||
(attributes->window_type == GDK_WINDOW_CHILD ? "CHILD" :
|
||||
(attributes->window_type == GDK_WINDOW_DIALOG ? "DIALOG" :
|
||||
g_print ("_gdk_window_impl_new: %s\n",
|
||||
(attributes->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" :
|
||||
(attributes->window_type == GDK_WINDOW_CHILD ? "CHILD" :
|
||||
(attributes->window_type == GDK_WINDOW_DIALOG ? "DIALOG" :
|
||||
(attributes->window_type == GDK_WINDOW_TEMP ? "TEMP" :
|
||||
"???"))))));
|
||||
"???"))))));
|
||||
|
||||
hparent = GDK_WINDOW_HWND (real_parent);
|
||||
|
||||
@@ -518,13 +517,9 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
#endif
|
||||
impl->extension_events_selected = FALSE;
|
||||
|
||||
// XXX ?
|
||||
if (attributes->wclass == GDK_INPUT_OUTPUT)
|
||||
if (!private->input_only)
|
||||
{
|
||||
dwExStyle = 0;
|
||||
|
||||
private->input_only = FALSE;
|
||||
private->depth = visual->depth;
|
||||
|
||||
if (attributes_mask & GDK_WA_COLORMAP)
|
||||
{
|
||||
@@ -544,11 +539,9 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
* to work well enough for the actual use cases in gtk.
|
||||
*/
|
||||
dwExStyle = WS_EX_TRANSPARENT;
|
||||
private->depth = 0;
|
||||
private->input_only = TRUE;
|
||||
draw_impl->colormap = gdk_screen_get_system_colormap (_gdk_screen);
|
||||
g_object_ref (draw_impl->colormap);
|
||||
GDK_NOTE (MISC, g_print ("... GDK_INPUT_ONLY, system colormap"));
|
||||
GDK_NOTE (MISC, g_print ("... GDK_INPUT_ONLY, system colormap\n"));
|
||||
}
|
||||
|
||||
switch (private->window_type)
|
||||
@@ -618,8 +611,6 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
if (!title || !*title)
|
||||
title = "";
|
||||
|
||||
private->event_mask = GDK_STRUCTURE_MASK | attributes->event_mask;
|
||||
|
||||
if (attributes_mask & GDK_WA_TYPE_HINT)
|
||||
impl->type_hint = attributes->type_hint;
|
||||
else
|
||||
@@ -693,8 +684,8 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
return;
|
||||
}
|
||||
|
||||
// if (!from_set_skip_taskbar_hint && private->window_type == GDK_WINDOW_TEMP)
|
||||
// gdk_window_set_skip_taskbar_hint (window, TRUE);
|
||||
if (attributes_mask & GDK_WA_TYPE_HINT)
|
||||
gdk_window_set_type_hint (window, attributes->type_hint);
|
||||
|
||||
gdk_window_set_cursor (window, ((attributes_mask & GDK_WA_CURSOR) ?
|
||||
(attributes->cursor) :
|
||||
@@ -785,7 +776,7 @@ _gdk_win32_window_destroy (GdkWindow *window,
|
||||
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
GDK_NOTE (MISC, g_print ("_gdk_windowing_window_destroy: %p\n",
|
||||
GDK_NOTE (MISC, g_print ("_gdk_win32_window_destroy: %p\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
|
||||
if (private->extension_events != 0)
|
||||
@@ -1109,7 +1100,7 @@ gdk_win32_window_hide (GdkWindow *window)
|
||||
if (private->destroyed)
|
||||
return;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_hide: %p: %s\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_hide: %p: %s\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
_gdk_win32_window_state_to_string (private->state)));
|
||||
|
||||
@@ -1144,7 +1135,7 @@ gdk_win32_window_withdraw (GdkWindow *window)
|
||||
if (private->destroyed)
|
||||
return;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_withdraw: %p: %s\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_withdraw: %p: %s\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
_gdk_win32_window_state_to_string (private->state)));
|
||||
|
||||
@@ -1163,7 +1154,7 @@ gdk_win32_window_move (GdkWindow *window,
|
||||
if (GDK_WINDOW_DESTROYED (window))
|
||||
return;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_move: %p: %+d%+d\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_move: %p: %+d%+d\n",
|
||||
GDK_WINDOW_HWND (window), x, y));
|
||||
|
||||
impl = GDK_WINDOW_IMPL_WIN32 (private->impl);
|
||||
@@ -1215,7 +1206,7 @@ gdk_win32_window_resize (GdkWindow *window,
|
||||
if (height < 1)
|
||||
height = 1;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_resize: %p: %dx%d\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_resize: %p: %dx%d\n",
|
||||
GDK_WINDOW_HWND (window), width, height));
|
||||
|
||||
impl = GDK_WINDOW_IMPL_WIN32 (private->impl);
|
||||
@@ -1274,7 +1265,7 @@ gdk_win32_window_move_resize_internal (GdkWindow *window,
|
||||
if (private->state & GDK_WINDOW_STATE_FULLSCREEN)
|
||||
return;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_move_resize: %p: %dx%d@%+d%+d\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_move_resize: %p: %dx%d@%+d%+d\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
width, height, x, y));
|
||||
|
||||
@@ -1351,7 +1342,7 @@ gdk_win32_window_reparent (GdkWindow *window,
|
||||
parent_private = (GdkWindowObject*) new_parent;
|
||||
impl = GDK_WINDOW_IMPL_WIN32 (window_private->impl);
|
||||
|
||||
GDK_NOTE (MISC, g_print ("_gdk_window_reparent: %p: %p\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_reparent: %p: %p\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
GDK_WINDOW_HWND (new_parent)));
|
||||
|
||||
@@ -1428,7 +1419,7 @@ gdk_win32_window_raise (GdkWindow *window)
|
||||
{
|
||||
if (!GDK_WINDOW_DESTROYED (window))
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_raise: %p\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_raise: %p\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
|
||||
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TEMP)
|
||||
@@ -1449,7 +1440,7 @@ gdk_win32_window_lower (GdkWindow *window)
|
||||
{
|
||||
if (!GDK_WINDOW_DESTROYED (window))
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_lower: %p\n"
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_lower: %p\n"
|
||||
"... SetWindowPos(%p,HWND_BOTTOM,0,0,0,0,"
|
||||
"NOACTIVATE|NOMOVE|NOSIZE)\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
@@ -1861,7 +1852,7 @@ gdk_win32_window_set_background (GdkWindow *window,
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject *)window;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_set_background: %p: %s\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_set_background: %p: %s\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
_gdk_win32_color_to_string (color)));
|
||||
|
||||
@@ -1872,8 +1863,6 @@ static void
|
||||
gdk_win32_window_set_back_pixmap (GdkWindow *window,
|
||||
GdkPixmap *pixmap)
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject *)window;
|
||||
|
||||
/* TODO_CSW? but win32 has no XSetWindowBackgroundPixmap */
|
||||
}
|
||||
|
||||
@@ -1898,7 +1887,7 @@ gdk_win32_window_set_cursor (GdkWindow *window,
|
||||
else
|
||||
hcursor = cursor_private->hcursor;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_set_cursor: %p: %p\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_set_cursor: %p: %p\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
hcursor));
|
||||
|
||||
@@ -2040,7 +2029,7 @@ gdk_win32_window_get_geometry (GdkWindow *window,
|
||||
if (depth)
|
||||
*depth = gdk_drawable_get_visual (window)->depth;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_get_geometry: %p: %ldx%ldx%d@%+ld%+ld\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_get_geometry: %p: %ldx%ldx%d@%+ld%+ld\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
rect.right - rect.left, rect.bottom - rect.top,
|
||||
gdk_drawable_get_visual (window)->depth,
|
||||
@@ -2070,10 +2059,10 @@ gdk_win32_window_get_root_coords (GdkWindow *window,
|
||||
if (root_y)
|
||||
*root_y = ty + _gdk_offset_y;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_get_root_coords: %p: %+d%+d %+d%+d\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_get_root_coords: %p: %+d%+d %+d%+d\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
x, y,
|
||||
tx, ty));
|
||||
tx + _gdk_offset_x, ty + _gdk_offset_y));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -2355,34 +2344,6 @@ do_shape_combine_region (GdkWindow *window,
|
||||
SetWindowRgn (GDK_WINDOW_HWND (window), hrgn, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_win32_window_shape_combine_mask (GdkWindow *window,
|
||||
GdkBitmap *mask,
|
||||
gint x, gint y)
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject *)window;
|
||||
|
||||
if (!mask)
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_shape_combine_mask: %p: none\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
SetWindowRgn (GDK_WINDOW_HWND (window), NULL, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
HRGN hrgn;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_shape_combine_mask: %p: %p\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
GDK_WINDOW_HWND (mask)));
|
||||
|
||||
/* Convert mask bitmap to region */
|
||||
hrgn = _gdk_win32_bitmap_to_hrgn (mask);
|
||||
|
||||
do_shape_combine_region (window, hrgn, x, y);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gdk_window_set_override_redirect (GdkWindow *window,
|
||||
gboolean override_redirect)
|
||||
@@ -2803,95 +2764,6 @@ _gdk_window_get_functions (GdkWindow *window,
|
||||
return (functions_set != NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
QueryTree (HWND hwnd,
|
||||
HWND **children,
|
||||
gint *nchildren)
|
||||
{
|
||||
guint i, n;
|
||||
HWND child = NULL;
|
||||
|
||||
n = 0;
|
||||
do {
|
||||
if (n == 0)
|
||||
child = GetWindow (hwnd, GW_CHILD);
|
||||
else
|
||||
child = GetWindow (child, GW_HWNDNEXT);
|
||||
if (child != NULL)
|
||||
n++;
|
||||
} while (child != NULL);
|
||||
|
||||
if (n > 0)
|
||||
{
|
||||
*children = g_new (HWND, n);
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
child = GetWindow (hwnd, GW_CHILD);
|
||||
else
|
||||
child = GetWindow (child, GW_HWNDNEXT);
|
||||
*children[i] = child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_propagate_shapes (HANDLE win,
|
||||
gboolean merge)
|
||||
{
|
||||
RECT emptyRect;
|
||||
HRGN region, childRegion;
|
||||
HWND *list = NULL;
|
||||
gint i, num;
|
||||
|
||||
SetRectEmpty (&emptyRect);
|
||||
region = CreateRectRgnIndirect (&emptyRect);
|
||||
if (merge)
|
||||
GetWindowRgn (win, region);
|
||||
|
||||
QueryTree (win, &list, &num);
|
||||
if (list != NULL)
|
||||
{
|
||||
WINDOWPLACEMENT placement;
|
||||
|
||||
placement.length = sizeof (WINDOWPLACEMENT);
|
||||
/* go through all child windows and combine regions */
|
||||
for (i = 0; i < num; i++)
|
||||
{
|
||||
GetWindowPlacement (list[i], &placement);
|
||||
if (placement.showCmd == SW_SHOWNORMAL)
|
||||
{
|
||||
childRegion = CreateRectRgnIndirect (&emptyRect);
|
||||
GetWindowRgn (list[i], childRegion);
|
||||
CombineRgn (region, region, childRegion, RGN_OR);
|
||||
DeleteObject (childRegion);
|
||||
}
|
||||
}
|
||||
SetWindowRgn (win, region, TRUE);
|
||||
g_free (list);
|
||||
}
|
||||
else
|
||||
DeleteObject (region);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_win32_window_set_child_shapes (GdkWindow *window)
|
||||
{
|
||||
if (GDK_WINDOW_DESTROYED (window))
|
||||
return;
|
||||
|
||||
gdk_propagate_shapes (GDK_WINDOW_HWND (window), FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_win32_window_merge_child_shapes (GdkWindow *window)
|
||||
{
|
||||
if (GDK_WINDOW_DESTROYED (window))
|
||||
return;
|
||||
|
||||
gdk_propagate_shapes (GDK_WINDOW_HWND (window), TRUE);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gdk_win32_window_set_static_gravities (GdkWindow *window,
|
||||
gboolean use_static)
|
||||
@@ -3422,14 +3294,12 @@ gdk_win32_window_shape_combine_region (GdkWindow *window,
|
||||
gint offset_x,
|
||||
gint offset_y)
|
||||
{
|
||||
GdkWindowObject *private = (GdkWindowObject *)window;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window))
|
||||
return;
|
||||
|
||||
if (!shape_region)
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_shape_combine_region: %p: none\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_shape_combine_region: %p: none\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
SetWindowRgn (GDK_WINDOW_HWND (window), NULL, TRUE);
|
||||
}
|
||||
@@ -3439,7 +3309,7 @@ gdk_win32_window_shape_combine_region (GdkWindow *window,
|
||||
|
||||
hrgn = _gdk_win32_gdkregion_to_hrgn (shape_region, 0, 0);
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_shape_combine_region: %p: %p\n",
|
||||
GDK_NOTE (MISC, g_print ("gdk_win32_window_shape_combine_region: %p: %p\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
hrgn));
|
||||
|
||||
|
||||
@@ -280,10 +280,10 @@ gdk_display_open (const gchar *display_name)
|
||||
display_x11->have_shapes = FALSE;
|
||||
display_x11->have_input_shapes = FALSE;
|
||||
|
||||
if (XShapeQueryExtension (GDK_DISPLAY_XDISPLAY (display), &ignore, &ignore))
|
||||
if (XShapeQueryExtension (GDK_DISPLAY_XDISPLAY (display), &display_x11->shape_event_base, &ignore))
|
||||
{
|
||||
display_x11->have_shapes = TRUE;
|
||||
#ifdef ShapeInput
|
||||
#ifdef ShapeInput
|
||||
if (XShapeQueryVersion (GDK_DISPLAY_XDISPLAY (display), &maj, &min))
|
||||
display_x11->have_input_shapes = (maj == 1 && min >= 1);
|
||||
#endif
|
||||
|
||||
@@ -147,6 +147,7 @@ struct _GdkDisplayX11
|
||||
|
||||
guint have_shapes : 1;
|
||||
guint have_input_shapes : 1;
|
||||
gint shape_event_base;
|
||||
|
||||
/* Alpha mask picture format */
|
||||
XRenderPictFormat *mask_format;
|
||||
|
||||
+140
-18
@@ -27,6 +27,8 @@
|
||||
#include "config.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "gdk.h" /* For gdk_flush() */
|
||||
@@ -53,6 +55,9 @@ typedef struct {
|
||||
guint32 xid;
|
||||
gint x, y, width, height;
|
||||
gboolean mapped;
|
||||
gboolean shape_selected;
|
||||
gboolean shape_valid;
|
||||
GdkRegion *shape;
|
||||
} GdkCacheChild;
|
||||
|
||||
typedef struct {
|
||||
@@ -304,6 +309,23 @@ precache_target_list (GdkDragContext *context)
|
||||
|
||||
/* Utility functions */
|
||||
|
||||
static void
|
||||
free_cache_child (GdkCacheChild *child,
|
||||
GdkDisplay *display)
|
||||
{
|
||||
if (child->shape)
|
||||
gdk_region_destroy (child->shape);
|
||||
|
||||
if (child->shape_selected && display)
|
||||
{
|
||||
GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display);
|
||||
|
||||
XShapeSelectInput (display_x11->xdisplay, child->xid, 0);
|
||||
}
|
||||
|
||||
g_free (child);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_cache_add (GdkWindowCache *cache,
|
||||
guint32 xid,
|
||||
@@ -318,12 +340,50 @@ gdk_window_cache_add (GdkWindowCache *cache,
|
||||
child->width = width;
|
||||
child->height = height;
|
||||
child->mapped = mapped;
|
||||
child->shape_selected = FALSE;
|
||||
child->shape_valid = FALSE;
|
||||
child->shape = NULL;
|
||||
|
||||
cache->children = g_list_prepend (cache->children, child);
|
||||
g_hash_table_insert (cache->child_hash, GUINT_TO_POINTER (xid),
|
||||
cache->children);
|
||||
}
|
||||
|
||||
static GdkFilterReturn
|
||||
gdk_window_cache_shape_filter (GdkXEvent *xev,
|
||||
GdkEvent *event,
|
||||
gpointer data)
|
||||
{
|
||||
XEvent *xevent = (XEvent *)xev;
|
||||
GdkWindowCache *cache = data;
|
||||
|
||||
GdkDisplayX11 *display = GDK_DISPLAY_X11 (gdk_screen_get_display (cache->screen));
|
||||
|
||||
if (display->have_shapes &&
|
||||
xevent->type == display->shape_event_base + ShapeNotify)
|
||||
{
|
||||
XShapeEvent *xse = (XShapeEvent*)xevent;
|
||||
GList *node;
|
||||
|
||||
node = g_hash_table_lookup (cache->child_hash,
|
||||
GUINT_TO_POINTER (xse->window));
|
||||
if (node)
|
||||
{
|
||||
GdkCacheChild *child = node->data;
|
||||
child->shape_valid = FALSE;
|
||||
if (child->shape)
|
||||
{
|
||||
gdk_region_destroy (child->shape);
|
||||
child->shape = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return GDK_FILTER_REMOVE;
|
||||
}
|
||||
|
||||
return GDK_FILTER_CONTINUE;
|
||||
}
|
||||
|
||||
static GdkFilterReturn
|
||||
gdk_window_cache_filter (GdkXEvent *xev,
|
||||
GdkEvent *event,
|
||||
@@ -399,10 +459,13 @@ gdk_window_cache_filter (GdkXEvent *xev,
|
||||
GUINT_TO_POINTER (xdwe->window));
|
||||
if (node)
|
||||
{
|
||||
GdkCacheChild *child = node->data;
|
||||
|
||||
g_hash_table_remove (cache->child_hash,
|
||||
GUINT_TO_POINTER (xdwe->window));
|
||||
cache->children = g_list_remove_link (cache->children, node);
|
||||
g_free (node->data);
|
||||
/* window is destroyed, no need to disable ShapeNotify */
|
||||
free_cache_child (child, NULL);
|
||||
g_list_free_1 (node);
|
||||
}
|
||||
break;
|
||||
@@ -430,7 +493,7 @@ gdk_window_cache_filter (GdkXEvent *xev,
|
||||
|
||||
node = g_hash_table_lookup (cache->child_hash,
|
||||
GUINT_TO_POINTER (xume->window));
|
||||
if (node)
|
||||
if (node)
|
||||
{
|
||||
GdkCacheChild *child = node->data;
|
||||
child->mapped = FALSE;
|
||||
@@ -482,6 +545,7 @@ gdk_window_cache_new (GdkScreen *screen)
|
||||
XSelectInput (xdisplay, GDK_WINDOW_XWINDOW (root_window),
|
||||
result->old_event_mask | SubstructureNotifyMask);
|
||||
gdk_window_add_filter (root_window, gdk_window_cache_filter, result);
|
||||
gdk_window_add_filter (NULL, gdk_window_cache_shape_filter, result);
|
||||
|
||||
if (!_gdk_x11_get_window_child_info (gdk_screen_get_display (screen),
|
||||
GDK_WINDOW_XWINDOW (root_window),
|
||||
@@ -505,19 +569,68 @@ static void
|
||||
gdk_window_cache_destroy (GdkWindowCache *cache)
|
||||
{
|
||||
GdkWindow *root_window = gdk_screen_get_root_window (cache->screen);
|
||||
|
||||
XSelectInput (GDK_WINDOW_XDISPLAY (root_window),
|
||||
|
||||
XSelectInput (GDK_WINDOW_XDISPLAY (root_window),
|
||||
GDK_WINDOW_XWINDOW (root_window),
|
||||
cache->old_event_mask);
|
||||
gdk_window_remove_filter (root_window, gdk_window_cache_filter, cache);
|
||||
gdk_window_remove_filter (NULL, gdk_window_cache_shape_filter, cache);
|
||||
|
||||
gdk_error_trap_push ();
|
||||
|
||||
g_list_foreach (cache->children, (GFunc)free_cache_child,
|
||||
gdk_screen_get_display (cache->screen));
|
||||
|
||||
gdk_flush ();
|
||||
gdk_error_trap_pop ();
|
||||
|
||||
g_list_foreach (cache->children, (GFunc)g_free, NULL);
|
||||
g_list_free (cache->children);
|
||||
g_hash_table_destroy (cache->child_hash);
|
||||
|
||||
g_free (cache);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_pointer_within_shape (GdkDisplay *display,
|
||||
GdkCacheChild *child,
|
||||
gint x_pos,
|
||||
gint y_pos)
|
||||
{
|
||||
if (!child->shape_selected)
|
||||
{
|
||||
GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display);
|
||||
|
||||
XShapeSelectInput (display_x11->xdisplay, child->xid, ShapeNotifyMask);
|
||||
child->shape_selected = TRUE;
|
||||
}
|
||||
if (!child->shape_valid)
|
||||
{
|
||||
GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display);
|
||||
GdkRegion *input_shape;
|
||||
|
||||
child->shape = _xwindow_get_shape (display_x11->xdisplay,
|
||||
child->xid, ShapeBounding);
|
||||
#ifdef ShapeInput
|
||||
input_shape = _xwindow_get_shape (display_x11->xdisplay,
|
||||
child->xid, ShapeInput);
|
||||
if (child->shape && input_shape)
|
||||
{
|
||||
gdk_region_intersect (child->shape, input_shape);
|
||||
gdk_region_destroy (input_shape);
|
||||
}
|
||||
else if (input_shape)
|
||||
{
|
||||
child->shape = input_shape;
|
||||
}
|
||||
#endif
|
||||
|
||||
child->shape_valid = TRUE;
|
||||
}
|
||||
|
||||
return child->shape == NULL ||
|
||||
gdk_region_point_in (child->shape, x_pos, y_pos);
|
||||
}
|
||||
|
||||
static Window
|
||||
get_client_window_at_coords_recurse (GdkDisplay *display,
|
||||
Window win,
|
||||
@@ -590,19 +703,28 @@ get_client_window_at_coords (GdkWindowCache *cache,
|
||||
GdkCacheChild *child = tmp_list->data;
|
||||
|
||||
if ((child->xid != ignore) && (child->mapped))
|
||||
{
|
||||
if ((x_root >= child->x) && (x_root < child->x + child->width) &&
|
||||
(y_root >= child->y) && (y_root < child->y + child->height))
|
||||
{
|
||||
retval = get_client_window_at_coords_recurse (gdk_screen_get_display (cache->screen),
|
||||
child->xid, TRUE,
|
||||
x_root - child->x,
|
||||
y_root - child->y);
|
||||
if (!retval)
|
||||
retval = child->xid;
|
||||
}
|
||||
|
||||
}
|
||||
{
|
||||
if ((x_root >= child->x) && (x_root < child->x + child->width) &&
|
||||
(y_root >= child->y) && (y_root < child->y + child->height))
|
||||
{
|
||||
GdkDisplay *display = gdk_screen_get_display (cache->screen);
|
||||
|
||||
if (!is_pointer_within_shape (display, child,
|
||||
x_root - child->x,
|
||||
y_root - child->y))
|
||||
{
|
||||
tmp_list = tmp_list->next;
|
||||
continue;
|
||||
}
|
||||
|
||||
retval = get_client_window_at_coords_recurse (display,
|
||||
child->xid, TRUE,
|
||||
x_root - child->x,
|
||||
y_root - child->y);
|
||||
if (!retval)
|
||||
retval = child->xid;
|
||||
}
|
||||
}
|
||||
tmp_list = tmp_list->next;
|
||||
}
|
||||
|
||||
|
||||
@@ -618,6 +618,7 @@ translate_key_event (GdkDisplay *display,
|
||||
GdkKeymap *keymap = gdk_keymap_get_for_display (display);
|
||||
gunichar c = 0;
|
||||
gchar buf[7];
|
||||
GdkModifierType consumed, state;
|
||||
|
||||
event->key.type = xevent->xany.type == KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
|
||||
event->key.time = xevent->xkey.time;
|
||||
@@ -633,9 +634,11 @@ translate_key_event (GdkDisplay *display,
|
||||
event->key.state,
|
||||
event->key.group,
|
||||
&event->key.keyval,
|
||||
NULL, NULL, NULL);
|
||||
NULL, NULL, &consumed);
|
||||
state = event->key.state & ~consumed;
|
||||
_gdk_keymap_add_virtual_modifiers (keymap, &state);
|
||||
event->key.state |= state;
|
||||
|
||||
_gdk_keymap_add_virtual_modifiers (keymap, &event->key.state);
|
||||
event->key.is_modifier = _gdk_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
|
||||
/* Fill in event->string crudely, since various programs
|
||||
|
||||
@@ -138,6 +138,10 @@ void _gdk_x11_window_queue_translation (GdkWindow *window,
|
||||
void _gdk_selection_window_destroyed (GdkWindow *window);
|
||||
gboolean _gdk_selection_filter_clear_event (XSelectionClearEvent *event);
|
||||
|
||||
GdkRegion* _xwindow_get_shape (Display *xdisplay,
|
||||
Window window,
|
||||
gint shape_type);
|
||||
|
||||
void _gdk_region_get_xrectangles (const GdkRegion *region,
|
||||
gint x_offset,
|
||||
gint y_offset,
|
||||
|
||||
@@ -701,8 +701,9 @@ gdk_property_change (GdkWindow *window,
|
||||
if (GDK_WINDOW_DESTROYED (window))
|
||||
return;
|
||||
|
||||
gdk_window_ensure_native (window);
|
||||
|
||||
display = gdk_drawable_get_display (window);
|
||||
|
||||
xproperty = gdk_x11_atom_to_xatom_for_display (display, property);
|
||||
xtype = gdk_x11_atom_to_xatom_for_display (display, type);
|
||||
xwindow = GDK_WINDOW_XID (window);
|
||||
|
||||
+56
-46
@@ -205,7 +205,7 @@ gdk_screen_get_height_mm (GdkScreen *screen)
|
||||
gint
|
||||
gdk_screen_get_number (GdkScreen *screen)
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
|
||||
|
||||
return GDK_SCREEN_X11 (screen)->screen_num;
|
||||
}
|
||||
@@ -338,42 +338,26 @@ gdk_screen_x11_finalize (GObject *object)
|
||||
|
||||
/**
|
||||
* gdk_screen_get_n_monitors:
|
||||
* @screen: a #GdkScreen.
|
||||
* @screen: a #GdkScreen
|
||||
*
|
||||
* Returns the number of monitors which @screen consists of.
|
||||
*
|
||||
* Returns: number of monitors which @screen consists of.
|
||||
* Returns: number of monitors which @screen consists of
|
||||
*
|
||||
* Since: 2.2
|
||||
**/
|
||||
gint
|
||||
*/
|
||||
gint
|
||||
gdk_screen_get_n_monitors (GdkScreen *screen)
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
|
||||
|
||||
|
||||
return GDK_SCREEN_X11 (screen)->n_monitors;
|
||||
}
|
||||
|
||||
static GdkX11Monitor *
|
||||
get_monitor (GdkScreen *screen,
|
||||
int monitor_num)
|
||||
{
|
||||
GdkScreenX11 *screen_x11;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
|
||||
|
||||
screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
|
||||
g_return_val_if_fail (monitor_num < screen_x11->n_monitors, NULL);
|
||||
g_return_val_if_fail (monitor_num >= 0, NULL);
|
||||
|
||||
return &(screen_x11->monitors[monitor_num]);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_screen_get_monitor_width_mm:
|
||||
* @screen: a #GdkScreen
|
||||
* @monitor_num: number of the monitor
|
||||
* @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)
|
||||
*
|
||||
* Gets the width in millimeters of the specified monitor, if available.
|
||||
*
|
||||
@@ -385,15 +369,21 @@ gint
|
||||
gdk_screen_get_monitor_width_mm (GdkScreen *screen,
|
||||
gint monitor_num)
|
||||
{
|
||||
return get_monitor (screen, monitor_num)->width_mm;
|
||||
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), -1);
|
||||
g_return_val_if_fail (monitor_num >= 0, -1);
|
||||
g_return_val_if_fail (monitor_num < screen_x11->n_monitors, -1);
|
||||
|
||||
return screen_x11->monitors[monitor_num].width_mm;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_screen_get_monitor_height_mm:
|
||||
* @screen: a #GdkScreen
|
||||
* @monitor_num: number of the monitor
|
||||
* @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)
|
||||
*
|
||||
* Gets the height in millimeters of the specified monitor.
|
||||
* Gets the height in millimeters of the specified monitor.
|
||||
*
|
||||
* Returns: the height of the monitor, or -1 if not available
|
||||
*
|
||||
@@ -403,18 +393,24 @@ gint
|
||||
gdk_screen_get_monitor_height_mm (GdkScreen *screen,
|
||||
gint monitor_num)
|
||||
{
|
||||
return get_monitor (screen, monitor_num)->height_mm;
|
||||
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), -1);
|
||||
g_return_val_if_fail (monitor_num >= 0, -1);
|
||||
g_return_val_if_fail (monitor_num < screen_x11->n_monitors, -1);
|
||||
|
||||
return screen_x11->monitors[monitor_num].height_mm;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_screen_get_monitor_plug_name:
|
||||
* @screen: a #GdkScreen
|
||||
* @monitor_num: number of the monitor
|
||||
* @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)
|
||||
*
|
||||
* Returns the output name of the specified monitor.
|
||||
* Returns the output name of the specified monitor.
|
||||
* Usually something like VGA, DVI, or TV, not the actual
|
||||
* product name of the display device.
|
||||
*
|
||||
*
|
||||
* Returns: a newly-allocated string containing the name of the monitor,
|
||||
* or %NULL if the name cannot be determined
|
||||
*
|
||||
@@ -424,16 +420,22 @@ gchar *
|
||||
gdk_screen_get_monitor_plug_name (GdkScreen *screen,
|
||||
gint monitor_num)
|
||||
{
|
||||
return g_strdup (get_monitor (screen, monitor_num)->output_name);
|
||||
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
|
||||
g_return_val_if_fail (monitor_num >= 0, NULL);
|
||||
g_return_val_if_fail (monitor_num < screen_x11->n_monitors, NULL);
|
||||
|
||||
return g_strdup (screen_x11->monitors[monitor_num].output_name);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_x11_screen_get_monitor_output:
|
||||
* @screen: a #GdkScreen
|
||||
* @monitor_num: number of the monitor
|
||||
* @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen)
|
||||
*
|
||||
* Gets the XID of the specified output/monitor.
|
||||
* If the X server does not support version 1.2 of the RANDR
|
||||
* If the X server does not support version 1.2 of the RANDR
|
||||
* extension, 0 is returned.
|
||||
*
|
||||
* Returns: the XID of the monitor
|
||||
@@ -444,34 +446,42 @@ XID
|
||||
gdk_x11_screen_get_monitor_output (GdkScreen *screen,
|
||||
gint monitor_num)
|
||||
{
|
||||
return get_monitor (screen, monitor_num)->output;
|
||||
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), None);
|
||||
g_return_val_if_fail (monitor_num >= 0, None);
|
||||
g_return_val_if_fail (monitor_num < screen_x11->n_monitors, None);
|
||||
|
||||
return screen_x11->monitors[monitor_num].output;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_screen_get_monitor_geometry:
|
||||
* @screen : a #GdkScreen.
|
||||
* @monitor_num: the monitor number.
|
||||
* @screen : a #GdkScreen
|
||||
* @monitor_num: the monitor number, between 0 and gdk_screen_get_n_monitors (screen)
|
||||
* @dest : a #GdkRectangle to be filled with the monitor geometry
|
||||
*
|
||||
* Retrieves the #GdkRectangle representing the size and position of
|
||||
* Retrieves the #GdkRectangle representing the size and position of
|
||||
* the individual monitor within the entire screen area.
|
||||
*
|
||||
* Note that the size of the entire screen area can be retrieved via
|
||||
*
|
||||
* Note that the size of the entire screen area can be retrieved via
|
||||
* gdk_screen_get_width() and gdk_screen_get_height().
|
||||
*
|
||||
* Since: 2.2
|
||||
**/
|
||||
void
|
||||
*/
|
||||
void
|
||||
gdk_screen_get_monitor_geometry (GdkScreen *screen,
|
||||
gint monitor_num,
|
||||
GdkRectangle *dest)
|
||||
{
|
||||
if (dest)
|
||||
{
|
||||
GdkX11Monitor *monitor = get_monitor (screen, monitor_num);
|
||||
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
|
||||
*dest = monitor->geometry;
|
||||
}
|
||||
g_return_if_fail (GDK_IS_SCREEN (screen));
|
||||
g_return_if_fail (monitor_num >= 0);
|
||||
g_return_if_fail (monitor_num < screen_x11->n_monitors);
|
||||
|
||||
if (dest)
|
||||
*dest = screen_x11->monitors[monitor_num].geometry;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+32
-26
@@ -2920,6 +2920,7 @@ gdk_window_get_frame_extents (GdkWindow *window,
|
||||
{
|
||||
GdkDisplay *display;
|
||||
GdkWindowObject *private;
|
||||
GdkWindowImplX11 *impl;
|
||||
Window xwindow;
|
||||
Window xparent;
|
||||
Window root;
|
||||
@@ -2955,7 +2956,8 @@ gdk_window_get_frame_extents (GdkWindow *window,
|
||||
rect->y = private->y;
|
||||
gdk_drawable_get_size ((GdkDrawable *)private, &rect->width, &rect->height);
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (private))
|
||||
impl = GDK_WINDOW_IMPL_X11 (private->impl);
|
||||
if (GDK_WINDOW_DESTROYED (private) || impl->override_redirect)
|
||||
return;
|
||||
|
||||
nvroots = 0;
|
||||
@@ -3254,7 +3256,7 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display,
|
||||
xwindow_last = xwindow;
|
||||
XQueryPointer (xdisplay, xwindow,
|
||||
&root, &xwindow, &rootx, &rooty, &winx, &winy, &xmask);
|
||||
if (get_toplevel &&
|
||||
if (get_toplevel && xwindow_last != root &&
|
||||
(window = gdk_window_lookup_for_display (display, xwindow_last)) != NULL &&
|
||||
GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
|
||||
{
|
||||
@@ -3324,7 +3326,7 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display,
|
||||
gdk_flush ();
|
||||
if (gdk_error_trap_pop ())
|
||||
break;
|
||||
if (get_toplevel &&
|
||||
if (get_toplevel && xwindow_last != root &&
|
||||
(window = gdk_window_lookup_for_display (display, xwindow_last)) != NULL &&
|
||||
GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
|
||||
break;
|
||||
@@ -3909,7 +3911,7 @@ gdk_window_set_icon_name (GdkWindow *window,
|
||||
GdkDisplay *display;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
WINDOW_IS_TOPLEVEL_OR_FOREIGN (window))
|
||||
!WINDOW_IS_TOPLEVEL_OR_FOREIGN (window))
|
||||
return;
|
||||
|
||||
display = gdk_drawable_get_display (window);
|
||||
@@ -4593,10 +4595,10 @@ gdk_window_set_functions (GdkWindow *window,
|
||||
gdk_window_set_mwm_hints (window, &hints);
|
||||
}
|
||||
|
||||
static GdkRegion *
|
||||
xwindow_get_shape (Display *xdisplay,
|
||||
Window window,
|
||||
gint shape_type)
|
||||
GdkRegion *
|
||||
_xwindow_get_shape (Display *xdisplay,
|
||||
Window window,
|
||||
gint shape_type)
|
||||
{
|
||||
GdkRegion *shape;
|
||||
GdkRectangle *rl;
|
||||
@@ -4604,14 +4606,18 @@ xwindow_get_shape (Display *xdisplay,
|
||||
gint rn, ord, i;
|
||||
|
||||
shape = NULL;
|
||||
|
||||
rn = 0;
|
||||
|
||||
xrl = XShapeGetRectangles (xdisplay,
|
||||
window,
|
||||
shape_type, &rn, &ord);
|
||||
|
||||
|
||||
if (xrl == NULL)
|
||||
return NULL; /* XShape not supported */
|
||||
|
||||
if (rn == 0)
|
||||
return gdk_region_new (); /* Empty */
|
||||
|
||||
|
||||
if (ord != YXBanded)
|
||||
{
|
||||
/* This really shouldn't happen with any xserver, as they
|
||||
@@ -4648,21 +4654,20 @@ _gdk_windowing_get_shape_for_mask (GdkBitmap *mask)
|
||||
display = gdk_drawable_get_display (GDK_DRAWABLE (mask));
|
||||
|
||||
window = XCreateSimpleWindow (GDK_DISPLAY_XDISPLAY (display),
|
||||
GDK_SCREEN_XROOTWIN (gdk_display_get_default_screen (display)),
|
||||
-1, -1, 1, 1, 0,
|
||||
0, 0);
|
||||
GDK_SCREEN_XROOTWIN (gdk_display_get_default_screen (display)),
|
||||
-1, -1, 1, 1, 0,
|
||||
0, 0);
|
||||
XShapeCombineMask (GDK_DISPLAY_XDISPLAY (display),
|
||||
window,
|
||||
ShapeBounding,
|
||||
0, 0,
|
||||
GDK_PIXMAP_XID (mask),
|
||||
ShapeSet);
|
||||
|
||||
region = xwindow_get_shape (GDK_DISPLAY_XDISPLAY (display),
|
||||
window, ShapeBounding);
|
||||
window,
|
||||
ShapeBounding,
|
||||
0, 0,
|
||||
GDK_PIXMAP_XID (mask),
|
||||
ShapeSet);
|
||||
|
||||
XDestroyWindow (GDK_DISPLAY_XDISPLAY (display),
|
||||
window);
|
||||
region = _xwindow_get_shape (GDK_DISPLAY_XDISPLAY (display),
|
||||
window, ShapeBounding);
|
||||
|
||||
XDestroyWindow (GDK_DISPLAY_XDISPLAY (display), window);
|
||||
|
||||
return region;
|
||||
}
|
||||
@@ -4672,7 +4677,7 @@ _gdk_windowing_window_get_shape (GdkWindow *window)
|
||||
{
|
||||
if (!GDK_WINDOW_DESTROYED (window) &&
|
||||
gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window)))
|
||||
return xwindow_get_shape (GDK_WINDOW_XDISPLAY (window),
|
||||
return _xwindow_get_shape (GDK_WINDOW_XDISPLAY (window),
|
||||
GDK_WINDOW_XID (window), ShapeBounding);
|
||||
|
||||
return NULL;
|
||||
@@ -4684,7 +4689,7 @@ _gdk_windowing_window_get_input_shape (GdkWindow *window)
|
||||
#if defined(ShapeInput)
|
||||
if (!GDK_WINDOW_DESTROYED (window) &&
|
||||
gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window)))
|
||||
return xwindow_get_shape (GDK_WINDOW_XDISPLAY (window),
|
||||
return _xwindow_get_shape (GDK_WINDOW_XDISPLAY (window),
|
||||
GDK_WINDOW_XID (window),
|
||||
ShapeInput);
|
||||
#endif
|
||||
@@ -5606,6 +5611,7 @@ gdk_window_impl_iface_init (GdkWindowImplIface *iface)
|
||||
iface->destroy = _gdk_x11_window_destroy;
|
||||
iface->input_window_destroy = _gdk_input_window_destroy;
|
||||
iface->input_window_crossing = _gdk_input_crossing_event;
|
||||
iface->supports_native_bg = TRUE;
|
||||
}
|
||||
|
||||
#define __GDK_WINDOW_X11_C__
|
||||
|
||||
+41
-3
@@ -939,7 +939,8 @@ TEST_DEPS = $(DEPS) gtk.immodules
|
||||
LDADDS = \
|
||||
$(gtktargetlib) \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib)
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
#
|
||||
# Installed tools
|
||||
@@ -947,14 +948,51 @@ LDADDS = \
|
||||
bin_PROGRAMS = \
|
||||
gtk-query-immodules-2.0 \
|
||||
gtk-update-icon-cache
|
||||
|
||||
bin_SCRIPTS = gtk-builder-convert
|
||||
|
||||
if OS_WIN32
|
||||
|
||||
# Workaround for UAC silliness: programs with "update" in their name
|
||||
# are believed to be installers and require elevated privileges to be
|
||||
# used... Use a manifest file to tell Windows that
|
||||
# gtk-update-icon-cache.exe doesn't require any special privileges.
|
||||
|
||||
GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
|
||||
|
||||
bin_SCRIPTS += \
|
||||
$(GTK_UPDATE_ICON_CACHE_MANIFEST)
|
||||
|
||||
gtk-update-icon-cache.exe.manifest:
|
||||
(echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
|
||||
echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
|
||||
echo ' <assemblyIdentity version="1.0.0.0"' ; \
|
||||
echo ' processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
|
||||
echo ' name="gtk-update-icon-cache.exe"' ; \
|
||||
echo ' type="win32"/>' ; \
|
||||
echo ' <!-- Identify the application security requirements. -->' ; \
|
||||
echo ' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
|
||||
echo ' <security>' ; \
|
||||
echo ' <requestedPrivileges>' ; \
|
||||
echo ' <requestedExecutionLevel' ; \
|
||||
echo ' level="asInvoker"' ; \
|
||||
echo ' uiAccess="false"/>' ; \
|
||||
echo ' </requestedPrivileges>' ; \
|
||||
echo ' </security>' ; \
|
||||
echo ' </trustInfo>' ; \
|
||||
echo '</assembly>' ) >$@
|
||||
|
||||
endif
|
||||
|
||||
gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
|
||||
gtk_query_immodules_2_0_LDADD = $(LDADDS)
|
||||
|
||||
gtk_query_immodules_2_0_SOURCES = queryimmodules.c
|
||||
|
||||
gtk_update_icon_cache_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
|
||||
gtk_update_icon_cache_LDADD = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(GDK_PIXBUF_DEP_LIBS)
|
||||
|
||||
|
||||
gtk_update_icon_cache_SOURCES = \
|
||||
updateiconcache.c
|
||||
@@ -1267,7 +1305,7 @@ gtk_update_icon_cache_program = \
|
||||
endif
|
||||
|
||||
gtkbuiltincache.h: @REBUILD@ stamp-icons
|
||||
$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
|
||||
$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
|
||||
$(gtk_update_icon_cache_program) --force --ignore-theme-index \
|
||||
--source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
|
||||
mv gtkbuiltincache.h.tmp gtkbuiltincache.h
|
||||
|
||||
+39
-8
@@ -425,30 +425,61 @@ except:
|
||||
""" Look if there is a lookaside (supplementary) compose file in the current
|
||||
directory, and if so, open, then merge with upstream Compose file.
|
||||
"""
|
||||
xorg_compose_sequences_raw = []
|
||||
for seq in composefile.readlines():
|
||||
xorg_compose_sequences_raw.append(seq)
|
||||
|
||||
try:
|
||||
composefile_lookaside = open(FILENAME_COMPOSE_SUPPLEMENTARY, 'r')
|
||||
for seq in composefile_lookaside.readlines():
|
||||
xorg_compose_sequences_raw.append(seq)
|
||||
except IOError, (errno, strerror):
|
||||
if not opt_quiet:
|
||||
if opt_verbose:
|
||||
print "I/O error(%s): %s" % (errno, strerror)
|
||||
print "Did not find lookaside compose file. Continuing..."
|
||||
except:
|
||||
print "Unexpected error: ", sys.exc_info()[0]
|
||||
sys.exit(-1)
|
||||
|
||||
xorg_compose_sequences_raw = []
|
||||
for seq in composefile.readlines():
|
||||
xorg_compose_sequences_raw.append(seq)
|
||||
for seq in composefile_lookaside.readlines():
|
||||
xorg_compose_sequences_raw.append(seq)
|
||||
|
||||
""" Parse the compose file in xorg_compose_sequences"""
|
||||
xorg_compose_sequences = []
|
||||
xorg_compose_sequences_algorithmic = []
|
||||
linenum_compose = 0
|
||||
comment_nest_depth = 0
|
||||
for line in xorg_compose_sequences_raw:
|
||||
linenum_compose += 1
|
||||
line = line.strip()
|
||||
if line is "" or match("^XCOMM", line) or match("^#", line):
|
||||
if match("^XCOMM", line) or match("^#", line):
|
||||
continue
|
||||
|
||||
line = sub(r"\/\*([^\*]*|[\*][^/])\*\/", "", line)
|
||||
|
||||
comment_start = line.find("/*")
|
||||
|
||||
if comment_start >= 0:
|
||||
if comment_nest_depth == 0:
|
||||
line = line[:comment_start]
|
||||
else:
|
||||
line = ""
|
||||
|
||||
comment_nest_depth += 1
|
||||
else:
|
||||
comment_end = line.find("*/")
|
||||
|
||||
if comment_end >= 0:
|
||||
comment_nest_depth -= 1
|
||||
|
||||
if comment_nest_depth < 0:
|
||||
print "Invalid comment %(linenum_compose)d in %(filename)s: \
|
||||
Closing '*/' without opening '/*'" % { "linenum_compose": linenum_compose, "filename": filename_compose }
|
||||
exit(-1)
|
||||
|
||||
if comment_nest_depth > 0:
|
||||
line = ""
|
||||
else:
|
||||
line = line[comment_end + 2:]
|
||||
|
||||
if line is "":
|
||||
continue
|
||||
|
||||
#line = line[:-1]
|
||||
|
||||
+8
-1
@@ -3001,7 +3001,6 @@ gtk_print_job_get_settings
|
||||
gtk_print_job_get_printer
|
||||
gtk_print_job_get_title
|
||||
gtk_print_job_get_status
|
||||
gtk_print_job_set_status
|
||||
gtk_print_job_set_source_file
|
||||
gtk_print_job_get_surface
|
||||
gtk_print_job_send
|
||||
@@ -3011,6 +3010,14 @@ gtk_print_job_get_track_print_status
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if IN_HEADER(__GTK_PRINTER_PRIVATE_H__)
|
||||
#if IN_FILE(__GTK_PRINT_JOB_C__)
|
||||
#ifdef G_OS_UNIX
|
||||
gtk_print_job_set_status
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if IN_HEADER(__GTK_PRINT_OPERATION_H__)
|
||||
#if IN_FILE(__GTK_PRINT_OPERATION_C__)
|
||||
gtk_print_error_quark
|
||||
|
||||
+46
-15
@@ -80,7 +80,6 @@ struct _GtkAboutDialogPrivate
|
||||
GtkWidget *name_label;
|
||||
GtkWidget *comments_label;
|
||||
GtkWidget *copyright_label;
|
||||
GtkWidget *website_button;
|
||||
GtkWidget *website_label;
|
||||
|
||||
GtkWidget *credits_button;
|
||||
@@ -460,6 +459,30 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
|
||||
g_type_class_add_private (object_class, sizeof (GtkAboutDialogPrivate));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
website_clicked (GtkLabel *label,
|
||||
const gchar *uri,
|
||||
GtkAboutDialog *about)
|
||||
{
|
||||
GtkAboutDialogActivateLinkFunc url_hook;
|
||||
gpointer url_hook_data;
|
||||
|
||||
if (activate_url_hook_set)
|
||||
{
|
||||
url_hook = activate_url_hook;
|
||||
url_hook_data = activate_url_hook_data;
|
||||
}
|
||||
else
|
||||
{
|
||||
url_hook = default_url_hook;
|
||||
url_hook_data = NULL;
|
||||
}
|
||||
|
||||
url_hook (about, uri, url_hook_data);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_about_dialog_init (GtkAboutDialog *about)
|
||||
{
|
||||
@@ -522,15 +545,13 @@ gtk_about_dialog_init (GtkAboutDialog *about)
|
||||
hbox = gtk_hbox_new (TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, FALSE, 0);
|
||||
|
||||
priv->website_button = button = gtk_link_button_new ("");
|
||||
gtk_widget_set_no_show_all (button, TRUE);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
|
||||
priv->website_label = button = gtk_label_new ("");
|
||||
gtk_widget_set_no_show_all (button, TRUE);
|
||||
gtk_label_set_selectable (GTK_LABEL (button), TRUE);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
|
||||
g_signal_connect (button, "activate-link",
|
||||
G_CALLBACK (website_clicked), about);
|
||||
|
||||
gtk_widget_show (vbox);
|
||||
gtk_widget_show (priv->logo_image);
|
||||
gtk_widget_show (priv->name_label);
|
||||
@@ -741,22 +762,32 @@ update_website (GtkAboutDialog *about)
|
||||
{
|
||||
GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data;
|
||||
|
||||
gtk_widget_show (priv->website_label);
|
||||
|
||||
if (priv->website_url && (!activate_url_hook_set || activate_url_hook != NULL))
|
||||
{
|
||||
gtk_widget_show (priv->website_button);
|
||||
gtk_widget_hide (priv->website_label);
|
||||
gchar *markup;
|
||||
|
||||
gtk_link_button_set_uri (GTK_LINK_BUTTON (priv->website_button), priv->website_url);
|
||||
if (priv->website_text)
|
||||
gtk_button_set_label (GTK_BUTTON (priv->website_button), priv->website_text);
|
||||
else
|
||||
gtk_button_set_label (GTK_BUTTON (priv->website_button), priv->website_url);
|
||||
{
|
||||
gchar *escaped;
|
||||
|
||||
escaped = g_markup_escape_text (priv->website_text, -1);
|
||||
markup = g_strdup_printf ("<a href=\"%s\">%s</a>",
|
||||
priv->website_url, escaped);
|
||||
g_free (escaped);
|
||||
}
|
||||
else
|
||||
{
|
||||
markup = g_strdup_printf ("<a href=\"%s\">%s</a>",
|
||||
priv->website_url, priv->website_url);
|
||||
}
|
||||
|
||||
gtk_label_set_markup (priv->website_label, markup);
|
||||
g_free (markup);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_show (priv->website_label);
|
||||
gtk_widget_hide (priv->website_button);
|
||||
|
||||
if (priv->website_url)
|
||||
gtk_label_set_text (GTK_LABEL (priv->website_label), priv->website_url);
|
||||
else if (priv->website_text)
|
||||
|
||||
+6
-2
@@ -1551,7 +1551,7 @@ gtk_assistant_set_current_page (GtkAssistant *assistant,
|
||||
if (page_num >= 0)
|
||||
page = (GtkAssistantPage *) g_list_nth_data (priv->pages, page_num);
|
||||
else
|
||||
page = (GtkAssistantPage *) g_list_last (priv->pages);
|
||||
page = (GtkAssistantPage *) g_list_last (priv->pages)->data;
|
||||
|
||||
g_return_if_fail (page != NULL);
|
||||
|
||||
@@ -1612,10 +1612,14 @@ gtk_assistant_get_nth_page (GtkAssistant *assistant,
|
||||
GList *elem;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), NULL);
|
||||
g_return_val_if_fail (page_num >= -1, NULL);
|
||||
|
||||
priv = assistant->priv;
|
||||
|
||||
elem = g_list_nth (priv->pages, page_num);
|
||||
if (page_num == -1)
|
||||
elem = g_list_last (priv->pages);
|
||||
else
|
||||
elem = g_list_nth (priv->pages, page_num);
|
||||
|
||||
if (!elem)
|
||||
return NULL;
|
||||
|
||||
+4
-4
@@ -1679,6 +1679,9 @@ gtk_calendar_get_detail (GtkCalendar *calendar,
|
||||
GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar);
|
||||
gint year, month;
|
||||
|
||||
if (priv->detail_func == NULL)
|
||||
return NULL;
|
||||
|
||||
year = calendar->year;
|
||||
month = calendar->month + calendar->day_month[row][column] - MONTH_CURRENT;
|
||||
|
||||
@@ -2494,10 +2497,7 @@ calendar_paint_day (GtkCalendar *calendar,
|
||||
|
||||
/* Get extra information to show, if any: */
|
||||
|
||||
if (priv->detail_func)
|
||||
detail = gtk_calendar_get_detail (calendar, row, col);
|
||||
else
|
||||
detail = NULL;
|
||||
detail = gtk_calendar_get_detail (calendar, row, col);
|
||||
|
||||
layout = gtk_widget_create_pango_layout (widget, buffer);
|
||||
pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
|
||||
|
||||
+9
-12
@@ -309,20 +309,17 @@ gtk_clipboard_get_for_display (GdkDisplay *display,
|
||||
|
||||
|
||||
/**
|
||||
* gtk_clipboard_get():
|
||||
* @selection: a #GdkAtom which identifies the clipboard
|
||||
* to use.
|
||||
*
|
||||
* gtk_clipboard_get:
|
||||
* @selection: a #GdkAtom which identifies the clipboard to use
|
||||
*
|
||||
* Returns the clipboard object for the given selection.
|
||||
* See gtk_clipboard_get_for_display() for complete details.
|
||||
*
|
||||
* Return value: the appropriate clipboard object. If no
|
||||
* clipboard already exists, a new one will
|
||||
* be created. Once a clipboard object has
|
||||
* been created, it is persistent and, since
|
||||
* it is owned by GTK+, must not be freed or
|
||||
* unrefd.
|
||||
**/
|
||||
*
|
||||
* Return value: the appropriate clipboard object.
|
||||
* If no clipboard already exists, a new one will becreated.
|
||||
* Once a clipboard object has been created, it is persistent
|
||||
* and, since it is owned by GTK+, must not be freed or unreffed.
|
||||
*/
|
||||
GtkClipboard *
|
||||
gtk_clipboard_get (GdkAtom selection)
|
||||
{
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
#include "gtkcustompaperunixdialog.h"
|
||||
#include "gtkprintbackend.h"
|
||||
#include "gtkprintutils.h"
|
||||
#include "gtkprinter-private.h"
|
||||
#include "gtkalias.h"
|
||||
|
||||
#define CUSTOM_PAPER_FILENAME ".gtk-custom-papers"
|
||||
|
||||
+3
-4
@@ -414,12 +414,11 @@ gtk_dialog_map (GtkWidget *widget)
|
||||
if (first_focus == NULL)
|
||||
first_focus = window->focus_widget;
|
||||
else if (first_focus == window->focus_widget)
|
||||
break;
|
||||
|
||||
break;
|
||||
if (!GTK_IS_LABEL (window->focus_widget))
|
||||
break;
|
||||
else
|
||||
gtk_label_select_region (GTK_LABEL (window->focus_widget), 0, 0);
|
||||
if (!gtk_label_get_current_uri (GTK_LABEL (window->focus_widget)))
|
||||
gtk_label_select_region (GTK_LABEL (window->focus_widget), 0, 0);
|
||||
}
|
||||
while (TRUE);
|
||||
|
||||
|
||||
@@ -1319,8 +1319,22 @@ gtk_drag_dest_set_proxy (GtkWidget *widget,
|
||||
void
|
||||
gtk_drag_dest_unset (GtkWidget *widget)
|
||||
{
|
||||
GtkDragDestSite *old_site;
|
||||
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
|
||||
old_site = g_object_get_data (G_OBJECT (widget),
|
||||
"gtk-drag-dest");
|
||||
if (old_site)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (widget,
|
||||
gtk_drag_dest_realized,
|
||||
old_site);
|
||||
g_signal_handlers_disconnect_by_func (widget,
|
||||
gtk_drag_dest_hierarchy_changed,
|
||||
old_site);
|
||||
}
|
||||
|
||||
g_object_set_data (G_OBJECT (widget), I_("gtk-drag-dest"), NULL);
|
||||
}
|
||||
|
||||
|
||||
+12
-6
@@ -2425,12 +2425,20 @@ static void
|
||||
gtk_entry_dispose (GObject *object)
|
||||
{
|
||||
GtkEntry *entry = GTK_ENTRY (object);
|
||||
GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
|
||||
|
||||
gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
|
||||
gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
|
||||
gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_SECONDARY, NULL);
|
||||
gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_SECONDARY, NULL);
|
||||
|
||||
if (priv->buffer)
|
||||
{
|
||||
buffer_disconnect_signals (entry);
|
||||
g_object_unref (priv->buffer);
|
||||
priv->buffer = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (gtk_entry_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
@@ -2472,11 +2480,6 @@ gtk_entry_finalize (GObject *object)
|
||||
|
||||
g_free (priv->im_module);
|
||||
|
||||
/* COMPAT: entry->text is a deprecated field, and the allocation
|
||||
is owned by the buffer. */
|
||||
|
||||
gtk_entry_set_buffer (entry, NULL);
|
||||
|
||||
G_OBJECT_CLASS (gtk_entry_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
@@ -4523,7 +4526,7 @@ gtk_entry_real_insert_text (GtkEditable *editable,
|
||||
* following signal handlers: buffer_inserted_text(), buffer_notify_display_text(),
|
||||
* buffer_notify_text(), buffer_notify_length()
|
||||
*/
|
||||
n_inserted = gtk_entry_buffer_insert_text (GTK_ENTRY_GET_PRIVATE (editable)->buffer, *position, new_text, n_chars);
|
||||
n_inserted = gtk_entry_buffer_insert_text (get_buffer (GTK_ENTRY (editable)), *position, new_text, n_chars);
|
||||
|
||||
if (n_inserted != n_chars)
|
||||
gtk_widget_error_bell (GTK_WIDGET (editable));
|
||||
@@ -6664,6 +6667,9 @@ gtk_entry_set_buffer (GtkEntry *entry,
|
||||
g_object_notify (obj, "invisible-char");
|
||||
g_object_notify (obj, "invisible-char-set");
|
||||
g_object_thaw_notify (obj);
|
||||
|
||||
gtk_editable_set_position (GTK_EDITABLE (entry), 0);
|
||||
gtk_entry_recompute (entry);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -866,6 +866,7 @@ gtk_file_chooser_button_get_property (GObject *object,
|
||||
case GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE:
|
||||
case GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN:
|
||||
case GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION:
|
||||
case GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS:
|
||||
g_object_get_property (G_OBJECT (priv->dialog), pspec->name, value);
|
||||
break;
|
||||
|
||||
@@ -2302,6 +2303,12 @@ update_label_and_image (GtkFileChooserButton *button)
|
||||
label_text = NULL;
|
||||
pixbuf = NULL;
|
||||
|
||||
if (priv->update_button_cancellable)
|
||||
{
|
||||
g_cancellable_cancel (priv->update_button_cancellable);
|
||||
priv->update_button_cancellable = NULL;
|
||||
}
|
||||
|
||||
if (files && files->data)
|
||||
{
|
||||
GFile *file;
|
||||
@@ -2333,12 +2340,6 @@ update_label_and_image (GtkFileChooserButton *button)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (priv->update_button_cancellable)
|
||||
{
|
||||
g_cancellable_cancel (priv->update_button_cancellable);
|
||||
priv->update_button_cancellable = NULL;
|
||||
}
|
||||
|
||||
if (g_file_is_native (file))
|
||||
{
|
||||
priv->update_button_cancellable =
|
||||
|
||||
@@ -6793,7 +6793,7 @@ show_and_select_files (GtkFileChooserDefault *impl,
|
||||
|
||||
impl->show_and_select_files_cancellable =
|
||||
_gtk_file_system_get_folder (impl->file_system, parent_file,
|
||||
"standard::is-hidden,standard::is-backup,standard::type,standard::name,standard::content-type",
|
||||
"standard::is-hidden,standard::is-backup,standard::type,standard::name,standard::display-name,standard::content-type",
|
||||
show_and_select_files_get_folder_cb, info);
|
||||
|
||||
profile_end ("end", NULL);
|
||||
@@ -7571,6 +7571,12 @@ gtk_file_chooser_default_unselect_all (GtkFileChooser *chooser)
|
||||
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
|
||||
GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
|
||||
|
||||
if (impl->show_and_select_files_cancellable)
|
||||
{
|
||||
g_cancellable_cancel (impl->show_and_select_files_cancellable);
|
||||
impl->show_and_select_files_cancellable = NULL;
|
||||
}
|
||||
|
||||
gtk_tree_selection_unselect_all (selection);
|
||||
pending_select_files_free (impl);
|
||||
}
|
||||
|
||||
+15
-10
@@ -1545,6 +1545,11 @@ gtk_icon_view_expose (GtkWidget *widget,
|
||||
if (expose->window != icon_view->priv->bin_window)
|
||||
return FALSE;
|
||||
|
||||
/* If a layout has been scheduled, do it now so that all
|
||||
* cell view items have valid sizes before we proceed. */
|
||||
if (icon_view->priv->layout_idle_id != 0)
|
||||
gtk_icon_view_layout (icon_view);
|
||||
|
||||
cr = gdk_cairo_create (icon_view->priv->bin_window);
|
||||
cairo_set_line_width (cr, 1.);
|
||||
|
||||
@@ -6267,19 +6272,19 @@ gtk_icon_view_get_margin (GtkIconView *icon_view)
|
||||
/**
|
||||
* gtk_icon_view_set_item_padding:
|
||||
* @icon_view: a #GtkIconView
|
||||
* @column_spacing: the item padding
|
||||
*
|
||||
* Sets the ::item-padding property which specifies the padding
|
||||
* @item_padding: the item padding
|
||||
*
|
||||
* Sets the #GtkIconView:item-padding property which specifies the padding
|
||||
* around each of the icon view's items.
|
||||
*
|
||||
* Since: 2.18
|
||||
*/
|
||||
void
|
||||
void
|
||||
gtk_icon_view_set_item_padding (GtkIconView *icon_view,
|
||||
gint item_padding)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
|
||||
|
||||
|
||||
if (icon_view->priv->item_padding != item_padding)
|
||||
{
|
||||
icon_view->priv->item_padding = item_padding;
|
||||
@@ -6287,17 +6292,17 @@ gtk_icon_view_set_item_padding (GtkIconView *icon_view,
|
||||
gtk_icon_view_stop_editing (icon_view, TRUE);
|
||||
gtk_icon_view_invalidate_sizes (icon_view);
|
||||
gtk_icon_view_queue_layout (icon_view);
|
||||
|
||||
|
||||
g_object_notify (G_OBJECT (icon_view), "item-padding");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_view_get_item_padding:
|
||||
* @icon_view: a #GtkIconView
|
||||
*
|
||||
* Returns the value of the ::item-padding property.
|
||||
*
|
||||
*
|
||||
* Returns the value of the #GtkIconView:item-padding property.
|
||||
*
|
||||
* Return value: the padding around items
|
||||
*
|
||||
* Since: 2.18
|
||||
|
||||
+22
-5
@@ -45,6 +45,7 @@ struct _GtkImagePrivate
|
||||
gchar *filename;
|
||||
|
||||
gint pixel_size;
|
||||
guint need_calc_size : 1;
|
||||
};
|
||||
|
||||
#define GTK_IMAGE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_IMAGE, GtkImagePrivate))
|
||||
@@ -360,8 +361,12 @@ gtk_image_set_property (GObject *object,
|
||||
gtk_image_set_from_icon_name (image,
|
||||
image->data.name.icon_name,
|
||||
g_value_get_int (value));
|
||||
else if (image->storage_type == GTK_IMAGE_GICON)
|
||||
gtk_image_set_from_gicon (image,
|
||||
image->data.gicon.icon,
|
||||
g_value_get_int (value));
|
||||
else
|
||||
/* Save to be used when STOCK or ICON_SET property comes in */
|
||||
/* Save to be used when STOCK, ICON_SET, ICON_NAME or GICON property comes in */
|
||||
image->icon_size = g_value_get_int (value);
|
||||
break;
|
||||
case PROP_PIXEL_SIZE:
|
||||
@@ -1710,6 +1715,7 @@ gtk_image_expose (GtkWidget *widget,
|
||||
{
|
||||
GtkImage *image;
|
||||
GtkMisc *misc;
|
||||
GtkImagePrivate *priv;
|
||||
GdkRectangle area, image_bound;
|
||||
gfloat xalign;
|
||||
gint x, y, mask_x, mask_y;
|
||||
@@ -1719,6 +1725,7 @@ gtk_image_expose (GtkWidget *widget,
|
||||
|
||||
image = GTK_IMAGE (widget);
|
||||
misc = GTK_MISC (widget);
|
||||
priv = GTK_IMAGE_GET_PRIVATE (image);
|
||||
|
||||
area = event->area;
|
||||
|
||||
@@ -1727,7 +1734,7 @@ gtk_image_expose (GtkWidget *widget,
|
||||
* and size_request() if something explicitely forces
|
||||
* a redraw.
|
||||
*/
|
||||
if (widget->requisition.width == 0 && widget->requisition.height == 0)
|
||||
if (priv->need_calc_size)
|
||||
gtk_image_calc_size (image);
|
||||
|
||||
if (!gdk_rectangle_intersect (&area, &widget->allocation, &area))
|
||||
@@ -1737,7 +1744,7 @@ gtk_image_expose (GtkWidget *widget,
|
||||
xalign = misc->xalign;
|
||||
else
|
||||
xalign = 1.0 - misc->xalign;
|
||||
|
||||
|
||||
x = floor (widget->allocation.x + misc->xpad
|
||||
+ ((widget->allocation.width - widget->requisition.width) * xalign));
|
||||
y = floor (widget->allocation.y + misc->ypad
|
||||
@@ -2149,8 +2156,13 @@ gtk_image_reset (GtkImage *image)
|
||||
void
|
||||
gtk_image_clear (GtkImage *image)
|
||||
{
|
||||
gtk_image_reset (image);
|
||||
GtkImagePrivate *priv;
|
||||
|
||||
priv = GTK_IMAGE_GET_PRIVATE (image);
|
||||
|
||||
priv->need_calc_size = 1;
|
||||
|
||||
gtk_image_reset (image);
|
||||
gtk_image_update_size (image, 0, 0);
|
||||
}
|
||||
|
||||
@@ -2159,7 +2171,12 @@ gtk_image_calc_size (GtkImage *image)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (image);
|
||||
GdkPixbuf *pixbuf = NULL;
|
||||
|
||||
GtkImagePrivate *priv;
|
||||
|
||||
priv = GTK_IMAGE_GET_PRIVATE (image);
|
||||
|
||||
priv->need_calc_size = 0;
|
||||
|
||||
/* We update stock/icon set on every size request, because
|
||||
* the theme could have affected the size; for other kinds of
|
||||
* image, we just update the requisition when the image data
|
||||
|
||||
@@ -61,7 +61,7 @@ struct _GtkComposeTableCompact
|
||||
static const GtkComposeTableCompact gtk_compose_table_compact = {
|
||||
gtk_compose_seqs_compact,
|
||||
5,
|
||||
23,
|
||||
24,
|
||||
6
|
||||
};
|
||||
|
||||
@@ -858,8 +858,11 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
|
||||
hex_keyval = canonical_hex_keyval (event);
|
||||
|
||||
/* If we are already in a non-hex sequence, or
|
||||
* this keystroke is not hex modifiers + hex digit, don't filter
|
||||
* key events with accelerator modifiers held down.
|
||||
* this keystroke is not hex modifiers + hex digit, don't filter
|
||||
* key events with accelerator modifiers held down. We only treat
|
||||
* Control and Alt as accel modifiers here, since Super, Hyper and
|
||||
* Meta are often co-located with Mode_Switch, Multi_Key or
|
||||
* ISO_Level3_Switch.
|
||||
*/
|
||||
if (!have_hex_mods ||
|
||||
(n_compose > 0 && !context_simple->in_hex_sequence) ||
|
||||
@@ -867,7 +870,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
|
||||
(context_simple->in_hex_sequence && !hex_keyval &&
|
||||
!is_hex_start && !is_hex_end && !is_escape && !is_backspace))
|
||||
{
|
||||
if (event->state & (gtk_accelerator_get_default_mod_mask () & ~GDK_SHIFT_MASK) ||
|
||||
if (event->state & (GDK_MOD1_MASK | GDK_CONTROL_MASK) ||
|
||||
(context_simple->in_hex_sequence && context_simple->modifiers_dropped &&
|
||||
(event->keyval == GDK_Return ||
|
||||
event->keyval == GDK_ISO_Enter ||
|
||||
|
||||
@@ -18,10 +18,9 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* File auto-generated from script found at gtk/compose-parse.py, with the --gtk parameter,
|
||||
* File auto-generated from script found at http://bugzilla.gnome.org/show_bug.cgi?id=321896
|
||||
* using the input files
|
||||
* Input : http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain;f=nls/en_US.UTF-8/Compose.pre
|
||||
* Input : http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtk-compose-lookaside.txt
|
||||
* Input : http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt
|
||||
* Input : http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
|
||||
*
|
||||
@@ -68,29 +67,30 @@
|
||||
*/
|
||||
|
||||
static const guint16 gtk_compose_seqs_compact[] = {
|
||||
GDK_dead_stroke, 138, 226, 235, 235, 235,
|
||||
GDK_Greek_accentdieresis, 235, 239, 239, 239, 239,
|
||||
GDK_dead_grave, 239, 299, 386, 598, 598,
|
||||
GDK_dead_acute, 598, 664, 760, 1036, 1036,
|
||||
GDK_dead_circumflex, 1036, 1176, 1176, 1376, 1376,
|
||||
GDK_dead_tilde, 1376, 1458, 1521, 1661, 1661,
|
||||
GDK_dead_macron, 1661, 1707, 1707, 1779, 1779,
|
||||
GDK_dead_breve, 1779, 1833, 1833, 1857, 1857,
|
||||
GDK_dead_abovedot, 1857, 1887, 1890, 1922, 1922,
|
||||
GDK_dead_diaeresis, 1922, 2010, 2019, 2043, 2043,
|
||||
GDK_dead_abovering, 2043, 2053, 2053, 2053, 2053,
|
||||
GDK_dead_doubleacute, 2053, 2063, 2063, 2063, 2063,
|
||||
GDK_dead_caron, 2063, 2089, 2089, 2097, 2097,
|
||||
GDK_dead_cedilla, 2097, 2111, 2111, 2111, 2111,
|
||||
GDK_dead_ogonek, 2111, 2121, 2121, 2121, 2121,
|
||||
GDK_dead_iota, 2121, 2143, 2242, 2674, 3334,
|
||||
GDK_dead_voiced_sound, 3334, 3380, 3380, 3380, 3380,
|
||||
GDK_dead_semivoiced_sound, 3380, 3390, 3390, 3390, 3390,
|
||||
GDK_dead_belowdot, 3390, 3400, 3400, 3416, 3416,
|
||||
GDK_dead_hook, 3416, 3494, 3494, 3550, 3550,
|
||||
GDK_dead_psili, 3550, 3578, 3578, 3578, 3578,
|
||||
GDK_dead_dasia, 3578, 3610, 3610, 3610, 3610,
|
||||
GDK_Multi_key, 3610, 3610, 9589, 13297, 15157,
|
||||
GDK_dead_stroke, 144, 232, 241, 241, 241,
|
||||
GDK_Greek_accentdieresis, 241, 245, 245, 245, 245,
|
||||
GDK_dead_grave, 245, 307, 394, 606, 606,
|
||||
GDK_dead_acute, 606, 674, 770, 1046, 1046,
|
||||
GDK_dead_circumflex, 1046, 1186, 1186, 1386, 1386,
|
||||
GDK_dead_tilde, 1386, 1470, 1533, 1673, 1673,
|
||||
GDK_dead_macron, 1673, 1719, 1719, 1791, 1791,
|
||||
GDK_dead_breve, 1791, 1845, 1845, 1869, 1869,
|
||||
GDK_dead_abovedot, 1869, 1899, 1902, 1934, 1934,
|
||||
GDK_dead_diaeresis, 1934, 2022, 2031, 2055, 2055,
|
||||
GDK_dead_abovering, 2055, 2065, 2065, 2065, 2065,
|
||||
GDK_dead_doubleacute, 2065, 2075, 2075, 2075, 2075,
|
||||
GDK_dead_caron, 2075, 2121, 2121, 2129, 2129,
|
||||
GDK_dead_cedilla, 2129, 2143, 2143, 2143, 2143,
|
||||
GDK_dead_ogonek, 2143, 2153, 2153, 2153, 2153,
|
||||
GDK_dead_iota, 2153, 2175, 2274, 2706, 3366,
|
||||
GDK_dead_voiced_sound, 3366, 3412, 3412, 3412, 3412,
|
||||
GDK_dead_semivoiced_sound, 3412, 3422, 3422, 3422, 3422,
|
||||
GDK_dead_belowdot, 3422, 3438, 3438, 3454, 3454,
|
||||
GDK_dead_hook, 3454, 3532, 3532, 3588, 3588,
|
||||
GDK_dead_horn, 3588, 3598, 3598, 3598, 3598,
|
||||
GDK_dead_psili, 3598, 3626, 3626, 3626, 3626,
|
||||
GDK_dead_dasia, 3626, 3658, 3658, 3658, 3658,
|
||||
GDK_Multi_key, 3658, 3658, 9658, 13366, 15231,
|
||||
GDK_space, 0x002F,
|
||||
GDK_2, 0x01BB,
|
||||
GDK_A, 0x023A,
|
||||
@@ -143,6 +143,7 @@ GDK_Greek_upsilon, 0x03B0,
|
||||
GDK_space, 0x0060,
|
||||
GDK_V, 0x01DB,
|
||||
GDK_v, 0x01DC,
|
||||
GDK_nobreakspace, 0x0300,
|
||||
GDK_Abreve, 0x1EB0,
|
||||
GDK_abreve, 0x1EB1,
|
||||
GDK_Emacron, 0x1E14,
|
||||
@@ -255,6 +256,7 @@ GDK_Multi_key, GDK_macron, GDK_o, 0x1E51,
|
||||
GDK_space, 0x0027,
|
||||
GDK_V, 0x01D7,
|
||||
GDK_v, 0x01D8,
|
||||
GDK_nobreakspace, 0x0301,
|
||||
GDK_Abreve, 0x1EAE,
|
||||
GDK_abreve, 0x1EAF,
|
||||
GDK_Emacron, 0x1E16,
|
||||
@@ -510,6 +512,7 @@ GDK_space, 0x007E,
|
||||
GDK_less, 0x2272,
|
||||
GDK_equal, 0x2243,
|
||||
GDK_greater, 0x2273,
|
||||
GDK_nobreakspace, 0x0303,
|
||||
GDK_Oacute, 0x1E4C,
|
||||
GDK_Odiaeresis, 0x1E4E,
|
||||
GDK_Uacute, 0x1E78,
|
||||
@@ -769,6 +772,16 @@ GDK_parenleft, 0x208D,
|
||||
GDK_parenright, 0x208E,
|
||||
GDK_plus, 0x208A,
|
||||
GDK_minus, 0x208B,
|
||||
GDK_0, 0x2080,
|
||||
GDK_1, 0x2081,
|
||||
GDK_2, 0x2082,
|
||||
GDK_3, 0x2083,
|
||||
GDK_4, 0x2084,
|
||||
GDK_5, 0x2085,
|
||||
GDK_6, 0x2086,
|
||||
GDK_7, 0x2087,
|
||||
GDK_8, 0x2088,
|
||||
GDK_9, 0x2088,
|
||||
GDK_equal, 0x208C,
|
||||
GDK_V, 0x01D9,
|
||||
GDK_v, 0x01DA,
|
||||
@@ -1103,11 +1116,14 @@ GDK_kana_HI, 0x30D4,
|
||||
GDK_kana_FU, 0x30D7,
|
||||
GDK_kana_HE, 0x30DA,
|
||||
GDK_kana_HO, 0x30DD,
|
||||
GDK_space, 0x0323,
|
||||
GDK_plus, 0x2A25,
|
||||
GDK_minus, 0x2A2A,
|
||||
GDK_equal, 0x2A66,
|
||||
GDK_nobreakspace, 0x0323,
|
||||
GDK_Abreve, 0x1EB6,
|
||||
GDK_abreve, 0x1EB7,
|
||||
GDK_dead_belowdot, 0x0323,
|
||||
GDK_Multi_key, GDK_plus, GDK_O, 0x1EE2,
|
||||
GDK_Multi_key, GDK_plus, GDK_U, 0x1EF0,
|
||||
GDK_Multi_key, GDK_plus, GDK_o, 0x1EE3,
|
||||
@@ -1165,6 +1181,11 @@ GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC3,
|
||||
GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED5,
|
||||
GDK_Multi_key, GDK_b, GDK_A, 0x1EB2,
|
||||
GDK_Multi_key, GDK_b, GDK_a, 0x1EB3,
|
||||
GDK_space, 0x031B,
|
||||
GDK_nobreakspace, 0x031B,
|
||||
GDK_Utilde, 0x1EEE,
|
||||
GDK_utilde, 0x1EEF,
|
||||
GDK_dead_horn, 0x031B,
|
||||
GDK_Greek_ALPHA, 0x1F08,
|
||||
GDK_Greek_EPSILON, 0x1F18,
|
||||
GDK_Greek_ETA, 0x1F28,
|
||||
@@ -1368,7 +1389,7 @@ GDK_apostrophe, GDK_Idiaeresis, 0x1E2E,
|
||||
GDK_apostrophe, GDK_Ocircumflex, 0x1ED0,
|
||||
GDK_apostrophe, GDK_Otilde, 0x1E4C,
|
||||
GDK_apostrophe, GDK_Ooblique, 0x01FE,
|
||||
GDK_apostrophe, 0x00DC, 0x01D7,
|
||||
GDK_apostrophe, GDK_Udiaeresis, 0x01D7,
|
||||
GDK_apostrophe, GDK_acircumflex, 0x1EA5,
|
||||
GDK_apostrophe, GDK_aring, 0x01FB,
|
||||
GDK_apostrophe, GDK_ae, 0x01FD,
|
||||
@@ -1529,6 +1550,7 @@ GDK_minus, GDK_parenright, 0x007D,
|
||||
GDK_minus, GDK_plus, 0x00B1,
|
||||
GDK_minus, GDK_comma, 0x00AC,
|
||||
GDK_minus, GDK_colon, 0x00F7,
|
||||
GDK_minus, GDK_greater, 0x2192,
|
||||
GDK_minus, GDK_A, 0x00C3,
|
||||
GDK_minus, GDK_D, 0x0110,
|
||||
GDK_minus, GDK_E, 0x0112,
|
||||
@@ -1603,6 +1625,7 @@ GDK_period, 0x1E62, 0x1E68,
|
||||
GDK_period, 0x1E63, 0x1E69,
|
||||
GDK_slash, GDK_slash, 0x005C,
|
||||
GDK_slash, GDK_less, 0x005C,
|
||||
GDK_slash, GDK_equal, 0x2260,
|
||||
GDK_slash, GDK_C, 0x00A2,
|
||||
GDK_slash, GDK_D, 0x0110,
|
||||
GDK_slash, GDK_G, 0x01E4,
|
||||
@@ -1682,8 +1705,11 @@ GDK_semicolon, GDK_u, 0x0173,
|
||||
GDK_less, GDK_space, 0x02C7,
|
||||
GDK_less, GDK_quotedbl, 0x201C,
|
||||
GDK_less, GDK_apostrophe, 0x2018,
|
||||
GDK_less, GDK_minus, 0x2190,
|
||||
GDK_less, GDK_slash, 0x005C,
|
||||
GDK_less, GDK_3, 0x2665,
|
||||
GDK_less, GDK_less, 0x00AB,
|
||||
GDK_less, GDK_equal, 0x2264,
|
||||
GDK_less, GDK_C, 0x010C,
|
||||
GDK_less, GDK_D, 0x010E,
|
||||
GDK_less, GDK_E, 0x011A,
|
||||
@@ -1703,6 +1729,7 @@ GDK_less, GDK_s, 0x0161,
|
||||
GDK_less, GDK_t, 0x0165,
|
||||
GDK_less, GDK_z, 0x017E,
|
||||
GDK_less, 0x0338, 0x226E,
|
||||
GDK_equal, GDK_slash, 0x2260,
|
||||
GDK_equal, GDK_C, 0x20AC,
|
||||
GDK_equal, GDK_E, 0x20AC,
|
||||
GDK_equal, GDK_L, 0x00A3,
|
||||
@@ -1725,6 +1752,7 @@ GDK_equal, GDK_Cyrillic_U, 0x04F2,
|
||||
GDK_greater, GDK_space, 0x005E,
|
||||
GDK_greater, GDK_quotedbl, 0x201D,
|
||||
GDK_greater, GDK_apostrophe, 0x2019,
|
||||
GDK_greater, GDK_equal, 0x2265,
|
||||
GDK_greater, GDK_greater, 0x00BB,
|
||||
GDK_greater, GDK_A, 0x00C2,
|
||||
GDK_greater, GDK_E, 0x00CA,
|
||||
@@ -2068,7 +2096,7 @@ GDK_underscore, GDK_Adiaeresis, 0x01DE,
|
||||
GDK_underscore, GDK_AE, 0x01E2,
|
||||
GDK_underscore, GDK_Otilde, 0x022C,
|
||||
GDK_underscore, GDK_Odiaeresis, 0x022A,
|
||||
GDK_underscore, 0x00DC, 0x01D5,
|
||||
GDK_underscore, GDK_Udiaeresis, 0x01D5,
|
||||
GDK_underscore, GDK_adiaeresis, 0x01DF,
|
||||
GDK_underscore, GDK_ae, 0x01E3,
|
||||
GDK_underscore, GDK_otilde, 0x022D,
|
||||
@@ -2128,7 +2156,7 @@ GDK_grave, GDK_y, 0x1EF3,
|
||||
GDK_grave, GDK_Acircumflex, 0x1EA6,
|
||||
GDK_grave, GDK_Ecircumflex, 0x1EC0,
|
||||
GDK_grave, GDK_Ocircumflex, 0x1ED2,
|
||||
GDK_grave, 0x00DC, 0x01DB,
|
||||
GDK_grave, GDK_Udiaeresis, 0x01DB,
|
||||
GDK_grave, GDK_acircumflex, 0x1EA7,
|
||||
GDK_grave, GDK_ecircumflex, 0x1EC1,
|
||||
GDK_grave, GDK_ocircumflex, 0x1ED3,
|
||||
@@ -2279,7 +2307,7 @@ GDK_c, GDK_t, 0x0165,
|
||||
GDK_c, GDK_u, 0x01D4,
|
||||
GDK_c, GDK_z, 0x017E,
|
||||
GDK_c, GDK_bar, 0x00A2,
|
||||
GDK_c, 0x00DC, 0x01D9,
|
||||
GDK_c, GDK_Udiaeresis, 0x01D9,
|
||||
GDK_c, GDK_udiaeresis, 0x01DA,
|
||||
GDK_c, 0x01B7, 0x01EE,
|
||||
GDK_c, 0x0292, 0x01EF,
|
||||
@@ -2517,7 +2545,7 @@ GDK_macron, GDK_Adiaeresis, 0x01DE,
|
||||
GDK_macron, GDK_AE, 0x01E2,
|
||||
GDK_macron, GDK_Otilde, 0x022C,
|
||||
GDK_macron, GDK_Odiaeresis, 0x022A,
|
||||
GDK_macron, 0x00DC, 0x01D5,
|
||||
GDK_macron, GDK_Udiaeresis, 0x01D5,
|
||||
GDK_macron, GDK_adiaeresis, 0x01DF,
|
||||
GDK_macron, GDK_ae, 0x01E3,
|
||||
GDK_macron, GDK_otilde, 0x022D,
|
||||
@@ -2586,7 +2614,7 @@ GDK_acute, GDK_Idiaeresis, 0x1E2E,
|
||||
GDK_acute, GDK_Ocircumflex, 0x1ED0,
|
||||
GDK_acute, GDK_Otilde, 0x1E4C,
|
||||
GDK_acute, GDK_Ooblique, 0x01FE,
|
||||
GDK_acute, 0x00DC, 0x01D7,
|
||||
GDK_acute, GDK_Udiaeresis, 0x01D7,
|
||||
GDK_acute, GDK_acircumflex, 0x1EA5,
|
||||
GDK_acute, GDK_aring, 0x01FB,
|
||||
GDK_acute, GDK_ae, 0x01FD,
|
||||
@@ -4320,6 +4348,7 @@ GDK_parenleft, GDK_KP_4, GDK_KP_7, GDK_parenright, 0x32BC,
|
||||
GDK_parenleft, GDK_KP_4, GDK_KP_8, GDK_parenright, 0x32BD,
|
||||
GDK_parenleft, GDK_KP_4, GDK_KP_9, GDK_parenright, 0x32BE,
|
||||
GDK_parenleft, GDK_KP_5, GDK_KP_0, GDK_parenright, 0x32BF,
|
||||
GDK_C, GDK_C, GDK_C, GDK_P, 0x262D,
|
||||
GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D,
|
||||
GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F9D,
|
||||
GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD,
|
||||
|
||||
@@ -951,6 +951,9 @@ gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,
|
||||
* the given response_id as the default widget for the dialog.
|
||||
* Pressing "Enter" normally activates the default widget.
|
||||
*
|
||||
* Note that this function currently requires @info_bar to
|
||||
* be added to a widget hierarchy.
|
||||
*
|
||||
* Since: 2.18
|
||||
*/
|
||||
void
|
||||
|
||||
+27
-26
@@ -1750,17 +1750,20 @@ gtk_label_compose_effective_attrs (GtkLabel *label)
|
||||
if (label->effective_attrs)
|
||||
{
|
||||
if ((iter = pango_attr_list_get_iterator (label->attrs)))
|
||||
do
|
||||
{
|
||||
iter_attrs = pango_attr_iterator_get_attrs (iter);
|
||||
for (l = iter_attrs; l; l = l->next)
|
||||
{
|
||||
attr = l->data;
|
||||
pango_attr_list_insert (label->effective_attrs, attr);
|
||||
}
|
||||
g_slist_free (iter_attrs);
|
||||
}
|
||||
while (pango_attr_iterator_next (iter));
|
||||
{
|
||||
do
|
||||
{
|
||||
iter_attrs = pango_attr_iterator_get_attrs (iter);
|
||||
for (l = iter_attrs; l; l = l->next)
|
||||
{
|
||||
attr = l->data;
|
||||
pango_attr_list_insert (label->effective_attrs, attr);
|
||||
}
|
||||
g_slist_free (iter_attrs);
|
||||
}
|
||||
while (pango_attr_iterator_next (iter));
|
||||
pango_attr_iterator_destroy (iter);
|
||||
}
|
||||
}
|
||||
else
|
||||
label->effective_attrs =
|
||||
@@ -3841,6 +3844,7 @@ get_layout_index (GtkLabel *label,
|
||||
gint trailing = 0;
|
||||
const gchar *cluster;
|
||||
const gchar *cluster_end;
|
||||
gboolean inside;
|
||||
|
||||
*index = 0;
|
||||
|
||||
@@ -3851,24 +3855,21 @@ get_layout_index (GtkLabel *label,
|
||||
x *= PANGO_SCALE;
|
||||
y *= PANGO_SCALE;
|
||||
|
||||
if (pango_layout_xy_to_index (label->layout,
|
||||
x, y,
|
||||
index, &trailing))
|
||||
inside = pango_layout_xy_to_index (label->layout,
|
||||
x, y,
|
||||
index, &trailing);
|
||||
|
||||
cluster = label->text + *index;
|
||||
cluster_end = cluster;
|
||||
while (trailing)
|
||||
{
|
||||
cluster = label->text + *index;
|
||||
cluster_end = cluster;
|
||||
while (trailing)
|
||||
{
|
||||
cluster_end = g_utf8_next_char (cluster_end);
|
||||
--trailing;
|
||||
}
|
||||
|
||||
*index += (cluster_end - cluster);
|
||||
|
||||
return TRUE;
|
||||
cluster_end = g_utf8_next_char (cluster_end);
|
||||
--trailing;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
*index += (cluster_end - cluster);
|
||||
|
||||
return inside;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -686,7 +686,9 @@ do_post_parse_initialization (int *argc,
|
||||
|
||||
gettext_initialization ();
|
||||
|
||||
#ifdef SIGPIPE
|
||||
signal (SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
|
||||
if (g_fatal_warnings)
|
||||
{
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
#include "gtkpagesetupunixdialog.h"
|
||||
#include "gtkcustompaperunixdialog.h"
|
||||
#include "gtkprintbackend.h"
|
||||
#include "gtkprinter-private.h"
|
||||
#include "gtkpapersize.h"
|
||||
#include "gtkprintutils.h"
|
||||
#include "gtkalias.h"
|
||||
|
||||
@@ -1495,6 +1495,9 @@ gtk_paned_set_position (GtkPaned *paned,
|
||||
|
||||
g_return_if_fail (GTK_IS_PANED (paned));
|
||||
|
||||
if (paned->child1_size == position)
|
||||
return;
|
||||
|
||||
object = G_OBJECT (paned);
|
||||
|
||||
if (position >= 0)
|
||||
|
||||
+26
-18
@@ -171,8 +171,7 @@ gtk_plug_class_init (GtkPlugClass *class)
|
||||
* GtkPlug::embedded:
|
||||
* @plug: the object on which the signal was emitted
|
||||
*
|
||||
* Gets emitted when the plug becomes embedded in a socket
|
||||
* and when the embedding ends.
|
||||
* Gets emitted when the plug becomes embedded in a socket.
|
||||
*/
|
||||
plug_signals[EMBEDDED] =
|
||||
g_signal_new (I_("embedded"),
|
||||
@@ -325,6 +324,9 @@ _gtk_plug_add_to_socket (GtkPlug *plug,
|
||||
socket_->plug_widget = widget;
|
||||
|
||||
plug->socket_window = GTK_WIDGET (socket_)->window;
|
||||
g_object_ref (plug->socket_window);
|
||||
g_signal_emit (plug, plug_signals[EMBEDDED], 0);
|
||||
g_object_notify (G_OBJECT (plug), "embedded");
|
||||
|
||||
if (GTK_WIDGET_REALIZED (widget))
|
||||
{
|
||||
@@ -410,10 +412,13 @@ _gtk_plug_remove_from_socket (GtkPlug *plug,
|
||||
socket_->same_app = FALSE;
|
||||
|
||||
plug->same_app = FALSE;
|
||||
plug->socket_window = NULL;
|
||||
|
||||
if (plug->socket_window != NULL)
|
||||
{
|
||||
g_object_unref (plug->socket_window);
|
||||
plug->socket_window = NULL;
|
||||
}
|
||||
gtk_plug_set_is_child (plug, FALSE);
|
||||
|
||||
|
||||
g_signal_emit_by_name (socket_, "plug-removed", &result);
|
||||
if (!result)
|
||||
gtk_widget_destroy (GTK_WIDGET (socket_));
|
||||
@@ -467,22 +472,25 @@ gtk_plug_construct_for_display (GtkPlug *plug,
|
||||
gpointer user_data = NULL;
|
||||
|
||||
plug->socket_window = gdk_window_lookup_for_display (display, socket_id);
|
||||
|
||||
if (plug->socket_window)
|
||||
gdk_window_get_user_data (plug->socket_window, &user_data);
|
||||
{
|
||||
gdk_window_get_user_data (plug->socket_window, &user_data);
|
||||
|
||||
if (user_data)
|
||||
{
|
||||
if (GTK_IS_SOCKET (user_data))
|
||||
_gtk_plug_add_to_socket (plug, user_data);
|
||||
else
|
||||
{
|
||||
g_warning (G_STRLOC "Can't create GtkPlug as child of non-GtkSocket");
|
||||
plug->socket_window = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
g_object_ref (plug->socket_window);
|
||||
}
|
||||
else
|
||||
plug->socket_window = gdk_window_foreign_new_for_display (display, socket_id);
|
||||
|
||||
if (user_data)
|
||||
{
|
||||
if (GTK_IS_SOCKET (user_data))
|
||||
_gtk_plug_add_to_socket (plug, user_data);
|
||||
else
|
||||
{
|
||||
g_warning (G_STRLOC "Can't create GtkPlug as child of non-GtkSocket");
|
||||
plug->socket_window = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (plug->socket_window) {
|
||||
g_signal_emit (plug, plug_signals[EMBEDDED], 0);
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gtkprivate.h"
|
||||
#include "gtkprintbackend.h"
|
||||
#include "gtkprinter-private.h"
|
||||
#include "gtkalias.h"
|
||||
|
||||
#define GTK_PRINT_BACKEND_GET_PRIVATE(o) \
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "gtkpagesetupunixdialog.h"
|
||||
#include "gtkprintbackend.h"
|
||||
#include "gtkprinter.h"
|
||||
#include "gtkprinter-private.h"
|
||||
#include "gtkprintjob.h"
|
||||
#include "gtklabel.h"
|
||||
#include "gtkintl.h"
|
||||
|
||||
@@ -72,7 +72,7 @@ static void win32_poll_status (GtkPrintOperation *op);
|
||||
|
||||
static const GUID myIID_IPrintDialogCallback = {0x5852a2c3,0x6530,0x11d1,{0xb6,0xa3,0x0,0x0,0xf8,0x75,0x7b,0xf9}};
|
||||
|
||||
#if !defined (_MSC_VER) && !defined (MINGW64) && !defined (__MINGW64)
|
||||
#if !defined (_MSC_VER) && !defined (MINGW64) && !defined (__MINGW64__)
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IPrintDialogCallback
|
||||
DECLARE_INTERFACE_ (IPrintDialogCallback, IUnknown)
|
||||
@@ -444,6 +444,7 @@ win32_start_page (GtkPrintOperation *op,
|
||||
GtkPrintOperationWin32 *op_win32 = op->priv->platform_data;
|
||||
LPDEVMODEW devmode;
|
||||
GtkPaperSize *paper_size;
|
||||
double x_off, y_off;
|
||||
|
||||
devmode = GlobalLock (op_win32->devmode);
|
||||
|
||||
@@ -468,6 +469,10 @@ win32_start_page (GtkPrintOperation *op,
|
||||
ResetDCW (op_win32->hdc, devmode);
|
||||
|
||||
GlobalUnlock (op_win32->devmode);
|
||||
|
||||
x_off = GetDeviceCaps (op_win32->hdc, PHYSICALOFFSETX);
|
||||
y_off = GetDeviceCaps (op_win32->hdc, PHYSICALOFFSETY);
|
||||
cairo_surface_set_device_offset (op_win32->surface, -x_off, -y_off);
|
||||
|
||||
StartPage (op_win32->hdc);
|
||||
}
|
||||
|
||||
+27
-12
@@ -3077,21 +3077,32 @@ update_number_up_layout (GtkPrintUnixDialog *dialog)
|
||||
{
|
||||
option = priv->number_up_layout_2_option;
|
||||
|
||||
if (layout == GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM ||
|
||||
layout == GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT)
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM);
|
||||
switch (layout)
|
||||
{
|
||||
case GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM:
|
||||
case GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT:
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM);
|
||||
break;
|
||||
|
||||
if (layout == GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP ||
|
||||
layout == GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT)
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP);
|
||||
case GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP:
|
||||
case GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT:
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP);
|
||||
break;
|
||||
|
||||
if (layout == GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM ||
|
||||
layout == GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT)
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM);
|
||||
case GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM:
|
||||
case GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT:
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM);
|
||||
break;
|
||||
|
||||
if (layout == GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP ||
|
||||
layout == GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT)
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP);
|
||||
case GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP:
|
||||
case GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT:
|
||||
enum_value = g_enum_get_value (enum_class, GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP);
|
||||
break;
|
||||
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
enum_value = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3779,12 +3790,16 @@ populate_dialog (GtkPrintUnixDialog *print_dialog)
|
||||
create_main_page (print_dialog);
|
||||
create_page_setup_page (print_dialog);
|
||||
create_job_page (print_dialog);
|
||||
/* Translators: this will appear as tab label in print dialog. */
|
||||
create_optional_page (print_dialog, _("Image Quality"),
|
||||
&priv->image_quality_table,
|
||||
&priv->image_quality_page);
|
||||
/* Translators: this will appear as tab label in print dialog. */
|
||||
create_optional_page (print_dialog, _("Color"),
|
||||
&priv->color_table,
|
||||
&priv->color_page);
|
||||
/* Translators: this will appear as tab label in print dialog. */
|
||||
/* It's a typographical term, as in "Binding and finishing" */
|
||||
create_optional_page (print_dialog, _("Finishing"),
|
||||
&priv->finishing_table,
|
||||
&priv->finishing_page);
|
||||
|
||||
+11
-5
@@ -659,11 +659,15 @@ gtk_rc_color_hash_changed (GtkSettings *settings,
|
||||
GParamSpec *pspec,
|
||||
GtkRcContext *context)
|
||||
{
|
||||
if (context->color_hash)
|
||||
g_hash_table_unref (context->color_hash);
|
||||
|
||||
GHashTable *old_hash;
|
||||
|
||||
old_hash = context->color_hash;
|
||||
|
||||
g_object_get (settings, "color-hash", &context->color_hash, NULL);
|
||||
|
||||
if (old_hash)
|
||||
g_hash_table_unref (old_hash);
|
||||
|
||||
gtk_rc_reparse_all_for_settings (settings, TRUE);
|
||||
}
|
||||
|
||||
@@ -3148,8 +3152,10 @@ gtk_rc_parse_style (GtkRcContext *context,
|
||||
break;
|
||||
case GTK_RC_TOKEN_COLOR:
|
||||
if (our_hash == NULL)
|
||||
gtk_rc_style_prepend_empty_color_hash (rc_style);
|
||||
our_hash = rc_priv->color_hashes->data;
|
||||
{
|
||||
gtk_rc_style_prepend_empty_color_hash (rc_style);
|
||||
our_hash = rc_priv->color_hashes->data;
|
||||
}
|
||||
token = gtk_rc_parse_logical_color (scanner, rc_style, our_hash);
|
||||
break;
|
||||
case G_TOKEN_IDENTIFIER:
|
||||
|
||||
+81
-10
@@ -925,6 +925,27 @@ gtk_scale_size_request (GtkWidget *widget,
|
||||
}
|
||||
}
|
||||
|
||||
static gint
|
||||
find_next_pos (GtkWidget *widget,
|
||||
GSList *list,
|
||||
gint *marks,
|
||||
GtkPositionType pos,
|
||||
gint match)
|
||||
{
|
||||
GSList *m;
|
||||
gint i;
|
||||
|
||||
for (m = list->next, i = 1; m; m = m->next, i++)
|
||||
{
|
||||
GtkScaleMark *mark = m->data;
|
||||
|
||||
if (match == (mark->position == pos))
|
||||
return marks[i];
|
||||
}
|
||||
|
||||
return widget->allocation.width;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gtk_scale_expose (GtkWidget *widget,
|
||||
GdkEventExpose *event)
|
||||
@@ -938,6 +959,7 @@ gtk_scale_expose (GtkWidget *widget,
|
||||
gint focus_padding;
|
||||
gint slider_width;
|
||||
gint value_spacing;
|
||||
gint min_sep = 4;
|
||||
|
||||
gtk_widget_style_get (widget,
|
||||
"focus-padding", &focus_padding,
|
||||
@@ -961,10 +983,16 @@ gtk_scale_expose (GtkWidget *widget,
|
||||
PangoLayout *layout;
|
||||
PangoRectangle logical_rect;
|
||||
GSList *m;
|
||||
gint min_pos_before, min_pos_after;
|
||||
gint min_pos, max_pos;
|
||||
|
||||
n_marks = _gtk_range_get_stop_positions (range, &marks);
|
||||
layout = gtk_widget_create_pango_layout (widget, NULL);
|
||||
|
||||
if (range->orientation == GTK_ORIENTATION_HORIZONTAL)
|
||||
min_pos_before = min_pos_after = widget->allocation.x;
|
||||
else
|
||||
min_pos_before = min_pos_after = widget->allocation.y;
|
||||
for (m = priv->marks, i = 0; m; m = m->next, i++)
|
||||
{
|
||||
GtkScaleMark *mark = m->data;
|
||||
@@ -976,11 +1004,15 @@ gtk_scale_expose (GtkWidget *widget,
|
||||
{
|
||||
y1 = widget->allocation.y + range->range_rect.y;
|
||||
y2 = y1 - slider_width / 2;
|
||||
min_pos = min_pos_before;
|
||||
max_pos = widget->allocation.x + find_next_pos (widget, m, marks + i, GTK_POS_TOP, 1) - min_sep;
|
||||
}
|
||||
else
|
||||
{
|
||||
y1 = widget->allocation.y + range->range_rect.y + range->range_rect.height;
|
||||
y2 = y1 + slider_width / 2;
|
||||
min_pos = min_pos_after;
|
||||
max_pos = widget->allocation.x + find_next_pos (widget, m, marks + i, GTK_POS_TOP, 0) - min_sep;
|
||||
}
|
||||
|
||||
gtk_paint_vline (widget->style, widget->window, state_type,
|
||||
@@ -990,15 +1022,27 @@ gtk_scale_expose (GtkWidget *widget,
|
||||
{
|
||||
pango_layout_set_markup (layout, mark->markup, -1);
|
||||
pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
|
||||
|
||||
|
||||
x3 = x1 - logical_rect.width / 2;
|
||||
if (x3 < min_pos)
|
||||
x3 = min_pos;
|
||||
if (x3 + logical_rect.width > max_pos)
|
||||
x3 = max_pos - logical_rect.width;
|
||||
if (x3 < widget->allocation.x)
|
||||
x3 = widget->allocation.x;
|
||||
if (mark->position == GTK_POS_TOP)
|
||||
y3 = y2 - value_spacing - logical_rect.height;
|
||||
{
|
||||
y3 = y2 - value_spacing - logical_rect.height;
|
||||
min_pos_before = x3 + logical_rect.width + min_sep;
|
||||
}
|
||||
else
|
||||
y3 = y2 + value_spacing;
|
||||
{
|
||||
y3 = y2 + value_spacing;
|
||||
min_pos_after = x3 + logical_rect.width + min_sep;
|
||||
}
|
||||
|
||||
gtk_paint_layout (widget->style, widget->window, state_type,
|
||||
FALSE, NULL, widget, "scale-mark",
|
||||
FALSE, NULL, widget, "scale-mark",
|
||||
x3, y3, layout);
|
||||
}
|
||||
}
|
||||
@@ -1008,11 +1052,15 @@ gtk_scale_expose (GtkWidget *widget,
|
||||
{
|
||||
x1 = widget->allocation.x + range->range_rect.x;
|
||||
x2 = widget->allocation.x + range->range_rect.x - slider_width / 2;
|
||||
min_pos = min_pos_before;
|
||||
max_pos = widget->allocation.y + find_next_pos (widget, m, marks + i, GTK_POS_LEFT, 1) - min_sep;
|
||||
}
|
||||
else
|
||||
{
|
||||
x1 = widget->allocation.x + range->range_rect.x + range->range_rect.width;
|
||||
x2 = widget->allocation.x + range->range_rect.x + range->range_rect.width + slider_width / 2;
|
||||
min_pos = min_pos_after;
|
||||
max_pos = widget->allocation.y + find_next_pos (widget, m, marks + i, GTK_POS_LEFT, 0) - min_sep;
|
||||
}
|
||||
y1 = widget->allocation.y + marks[i];
|
||||
|
||||
@@ -1024,14 +1072,26 @@ gtk_scale_expose (GtkWidget *widget,
|
||||
pango_layout_set_markup (layout, mark->markup, -1);
|
||||
pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
|
||||
|
||||
if (mark->position == GTK_POS_LEFT)
|
||||
x3 = x2 - value_spacing - logical_rect.width;
|
||||
else
|
||||
x3 = x2 + value_spacing;
|
||||
y3 = y1 - logical_rect.height / 2;
|
||||
if (y3 < min_pos)
|
||||
y3 = min_pos;
|
||||
if (y3 + logical_rect.height > max_pos)
|
||||
y3 = max_pos - logical_rect.height;
|
||||
if (y3 < widget->allocation.y)
|
||||
y3 = widget->allocation.y;
|
||||
if (mark->position == GTK_POS_LEFT)
|
||||
{
|
||||
x3 = x2 - value_spacing - logical_rect.width;
|
||||
min_pos_before = y3 + logical_rect.height + min_sep;
|
||||
}
|
||||
else
|
||||
{
|
||||
x3 = x2 + value_spacing;
|
||||
min_pos_after = y3 + logical_rect.height + min_sep;
|
||||
}
|
||||
|
||||
gtk_paint_layout (widget->style, widget->window, state_type,
|
||||
FALSE, NULL, widget, "scale-mark",
|
||||
FALSE, NULL, widget, "scale-mark",
|
||||
x3, y3, layout);
|
||||
}
|
||||
}
|
||||
@@ -1315,6 +1375,16 @@ gtk_scale_clear_marks (GtkScale *scale)
|
||||
gtk_widget_queue_resize (GTK_WIDGET (scale));
|
||||
}
|
||||
|
||||
static gint
|
||||
compare_marks (gpointer a, gpointer b)
|
||||
{
|
||||
GtkScaleMark *ma, *mb;
|
||||
|
||||
ma = a; mb = b;
|
||||
|
||||
return (gint) (ma->value - mb->value);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_scale_add_mark:
|
||||
* @scale: a #GtkScale
|
||||
@@ -1356,7 +1426,8 @@ gtk_scale_add_mark (GtkScale *scale,
|
||||
mark->markup = g_strdup (markup);
|
||||
mark->position = position;
|
||||
|
||||
priv->marks = g_slist_prepend (priv->marks, mark);
|
||||
priv->marks = g_slist_insert_sorted (priv->marks, mark,
|
||||
(GCompareFunc) compare_marks);
|
||||
|
||||
n = g_slist_length (priv->marks);
|
||||
values = g_new (gdouble, n);
|
||||
|
||||
@@ -852,6 +852,9 @@ gtk_scrolled_window_destroy (GtkObject *object)
|
||||
|
||||
if (scrolled_window->hscrollbar)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
|
||||
gtk_scrolled_window_adjustment_changed,
|
||||
scrolled_window);
|
||||
gtk_widget_unparent (scrolled_window->hscrollbar);
|
||||
gtk_widget_destroy (scrolled_window->hscrollbar);
|
||||
g_object_unref (scrolled_window->hscrollbar);
|
||||
@@ -859,6 +862,9 @@ gtk_scrolled_window_destroy (GtkObject *object)
|
||||
}
|
||||
if (scrolled_window->vscrollbar)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar)),
|
||||
gtk_scrolled_window_adjustment_changed,
|
||||
scrolled_window);
|
||||
gtk_widget_unparent (scrolled_window->vscrollbar);
|
||||
gtk_widget_destroy (scrolled_window->vscrollbar);
|
||||
g_object_unref (scrolled_window->vscrollbar);
|
||||
|
||||
+1
-4
@@ -1815,12 +1815,9 @@ gtk_selection_data_get_targets (GtkSelectionData *selection_data,
|
||||
{
|
||||
g_return_val_if_fail (selection_data != NULL, FALSE);
|
||||
|
||||
/* As usual, java gets it wrong and sets the type to TARGETS, not ATOM
|
||||
*/
|
||||
if (selection_data->length >= 0 &&
|
||||
selection_data->format == 32 &&
|
||||
(selection_data->type == GDK_SELECTION_TYPE_ATOM ||
|
||||
selection_data->type == gtk_selection_atoms[TARGETS]))
|
||||
selection_data->type == GDK_SELECTION_TYPE_ATOM)
|
||||
{
|
||||
if (targets)
|
||||
*targets = g_memdup (selection_data->data, selection_data->length);
|
||||
|
||||
+33
-16
@@ -2190,8 +2190,8 @@ settings_update_color_scheme (GtkSettings *settings)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
add_color_to_hash (gchar *name,
|
||||
GdkColor *color,
|
||||
add_color_to_hash (gchar *name,
|
||||
GdkColor *color,
|
||||
GHashTable *target)
|
||||
{
|
||||
GdkColor *old;
|
||||
@@ -2200,7 +2200,7 @@ add_color_to_hash (gchar *name,
|
||||
if (!old || !gdk_color_equal (old, color))
|
||||
{
|
||||
g_hash_table_insert (target, g_strdup (name), gdk_color_copy (color));
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -2208,7 +2208,7 @@ add_color_to_hash (gchar *name,
|
||||
}
|
||||
|
||||
static gboolean
|
||||
add_colors_to_hash_from_string (GHashTable *hash,
|
||||
add_colors_to_hash_from_string (GHashTable *hash,
|
||||
const gchar *colors)
|
||||
{
|
||||
gchar *s, *p, *name;
|
||||
@@ -2256,24 +2256,27 @@ add_colors_to_hash_from_string (GHashTable *hash,
|
||||
|
||||
static gboolean
|
||||
update_color_hash (ColorSchemeData *data,
|
||||
const gchar *str,
|
||||
const gchar *str,
|
||||
GtkSettingsSource source)
|
||||
{
|
||||
gboolean changed = FALSE;
|
||||
gint i;
|
||||
GHashTable *old_hash;
|
||||
GHashTableIter iter;
|
||||
gchar *name;
|
||||
GdkColor *color;
|
||||
|
||||
if ((str == NULL || *str == '\0') &&
|
||||
if ((str == NULL || *str == '\0') &&
|
||||
(data->lastentry[source] == NULL || data->lastentry[source][0] == '\0'))
|
||||
return FALSE;
|
||||
|
||||
if (str && data->lastentry[source] && strcmp (str, data->lastentry[source]) == 0)
|
||||
return FALSE;
|
||||
|
||||
/* For the RC_FILE source we merge the values rather than over-writing
|
||||
/* For the RC_FILE source we merge the values rather than over-writing
|
||||
* them, since multiple rc files might define independent sets of colors
|
||||
*/
|
||||
if ((source != GTK_SETTINGS_SOURCE_RC_FILE) &&
|
||||
if ((source != GTK_SETTINGS_SOURCE_RC_FILE) &&
|
||||
data->tables[source] && g_hash_table_size (data->tables[source]) > 0)
|
||||
{
|
||||
g_hash_table_unref (data->tables[source]);
|
||||
@@ -2282,22 +2285,36 @@ update_color_hash (ColorSchemeData *data,
|
||||
}
|
||||
|
||||
if (data->tables[source] == NULL)
|
||||
data->tables[source] = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
data->tables[source] = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
g_free,
|
||||
(GDestroyNotify) gdk_color_free);
|
||||
|
||||
g_free (data->lastentry[source]);
|
||||
data->lastentry[source] = g_strdup (str);
|
||||
|
||||
|
||||
changed |= add_colors_to_hash_from_string (data->tables[source], str);
|
||||
|
||||
if (!changed)
|
||||
return FALSE;
|
||||
|
||||
|
||||
/* Rebuild the merged hash table. */
|
||||
old_hash = data->color_hash;
|
||||
data->color_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
|
||||
(GDestroyNotify) gdk_color_free);
|
||||
if (data->color_hash)
|
||||
{
|
||||
old_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
|
||||
(GDestroyNotify) gdk_color_free);
|
||||
|
||||
g_hash_table_iter_init (&iter, data->color_hash);
|
||||
while (g_hash_table_iter_next (&iter, &name, &color))
|
||||
{
|
||||
g_hash_table_insert (old_hash, name, color);
|
||||
g_hash_table_iter_steal (&iter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
old_hash = NULL;
|
||||
}
|
||||
|
||||
for (i = 0; i <= GTK_SETTINGS_SOURCE_APPLICATION; i++)
|
||||
{
|
||||
if (data->tables[i])
|
||||
@@ -2324,13 +2341,13 @@ update_color_hash (ColorSchemeData *data,
|
||||
{
|
||||
changed = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
g_hash_table_unref (old_hash);
|
||||
}
|
||||
else
|
||||
else
|
||||
changed = TRUE;
|
||||
|
||||
return changed;
|
||||
|
||||
+18
-1
@@ -620,7 +620,24 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent,
|
||||
|
||||
return_val = GDK_FILTER_REMOVE;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if (socket->plug_window && xre->window == GDK_WINDOW_XWINDOW (socket->plug_window) && xre->parent != GDK_WINDOW_XWINDOW (widget->window))
|
||||
{
|
||||
gboolean result;
|
||||
|
||||
_gtk_socket_end_embedding (socket);
|
||||
|
||||
g_object_ref (widget);
|
||||
g_signal_emit_by_name (widget, "plug-removed", &result);
|
||||
if (!result)
|
||||
gtk_widget_destroy (widget);
|
||||
g_object_unref (widget);
|
||||
|
||||
return_val = GDK_FILTER_REMOVE;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case UnmapNotify:
|
||||
|
||||
+1
-1
@@ -1352,7 +1352,7 @@ find_icon_size (GtkWidget *widget,
|
||||
dist = G_MAXINT;
|
||||
size = GTK_ICON_SIZE_MENU;
|
||||
|
||||
for (s = GTK_ICON_SIZE_MENU; s < GTK_ICON_SIZE_DIALOG; s++)
|
||||
for (s = GTK_ICON_SIZE_MENU; s <= GTK_ICON_SIZE_DIALOG; s++)
|
||||
{
|
||||
if (gtk_icon_size_lookup_for_settings (settings, s, &w, &h) &&
|
||||
w <= pixel_size && h <= pixel_size)
|
||||
|
||||
@@ -4016,9 +4016,7 @@ void
|
||||
gtk_text_buffer_copy_clipboard (GtkTextBuffer *buffer,
|
||||
GtkClipboard *clipboard)
|
||||
{
|
||||
gtk_text_buffer_begin_user_action (buffer);
|
||||
cut_or_copy (buffer, clipboard, FALSE, TRUE, TRUE);
|
||||
gtk_text_buffer_end_user_action (buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+67
-10
@@ -109,6 +109,7 @@ struct _GtkTextViewPrivate
|
||||
guint blink_time; /* time in msec the cursor has blinked since last user event */
|
||||
guint im_spot_idle;
|
||||
gchar *im_module;
|
||||
guint scroll_after_paste : 1;
|
||||
};
|
||||
|
||||
|
||||
@@ -337,6 +338,7 @@ static void gtk_text_view_paste_done_handler (GtkTextBuffer *buffer,
|
||||
static void gtk_text_view_get_cursor_location (GtkTextView *text_view,
|
||||
GdkRectangle *pos);
|
||||
static void gtk_text_view_get_virtual_cursor_pos (GtkTextView *text_view,
|
||||
GtkTextIter *cursor,
|
||||
gint *x,
|
||||
gint *y);
|
||||
static void gtk_text_view_set_virtual_cursor_pos (GtkTextView *text_view,
|
||||
@@ -1264,6 +1266,9 @@ gtk_text_view_init (GtkTextView *text_view)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (text_view);
|
||||
GtkTargetList *target_list;
|
||||
GtkTextViewPrivate *priv;
|
||||
|
||||
priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
|
||||
|
||||
GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
|
||||
|
||||
@@ -1279,6 +1284,8 @@ gtk_text_view_init (GtkTextView *text_view)
|
||||
text_view->tabs = NULL;
|
||||
text_view->editable = TRUE;
|
||||
|
||||
priv->scroll_after_paste = TRUE;
|
||||
|
||||
gtk_drag_dest_set (widget, 0, NULL, 0,
|
||||
GDK_ACTION_COPY | GDK_ACTION_MOVE);
|
||||
|
||||
@@ -4347,6 +4354,12 @@ gtk_text_view_button_press_event (GtkWidget *widget, GdkEventButton *event)
|
||||
else if (event->button == 2)
|
||||
{
|
||||
GtkTextIter iter;
|
||||
GtkTextViewPrivate *priv;
|
||||
|
||||
/* We do not want to scroll back to the insert iter when we paste
|
||||
with the middle button */
|
||||
priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
|
||||
priv->scroll_after_paste = FALSE;
|
||||
|
||||
gtk_text_layout_get_iter_at_pixel (text_view->layout,
|
||||
&iter,
|
||||
@@ -5031,6 +5044,7 @@ gtk_text_view_move_cursor_internal (GtkTextView *text_view,
|
||||
{
|
||||
GtkTextIter insert;
|
||||
GtkTextIter newplace;
|
||||
gboolean cancel_selection = FALSE;
|
||||
gint cursor_x_pos = 0;
|
||||
GtkDirectionType leave_direction = -1;
|
||||
|
||||
@@ -5107,20 +5121,46 @@ gtk_text_view_move_cursor_internal (GtkTextView *text_view,
|
||||
|
||||
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &insert,
|
||||
gtk_text_buffer_get_insert (get_buffer (text_view)));
|
||||
|
||||
if (! extend_selection)
|
||||
{
|
||||
GtkTextIter sel_bound;
|
||||
|
||||
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &sel_bound,
|
||||
gtk_text_buffer_get_selection_bound (get_buffer (text_view)));
|
||||
|
||||
/* if we move forward, assume the cursor is at the end of the selection;
|
||||
* if we move backward, assume the cursor is at the start
|
||||
*/
|
||||
if (count > 0)
|
||||
gtk_text_iter_order (&sel_bound, &insert);
|
||||
else
|
||||
gtk_text_iter_order (&insert, &sel_bound);
|
||||
|
||||
/* if we actually have a selection, just move *to* the beginning/end
|
||||
* of the selection and not *from* there on LOGICAL_POSITIONS
|
||||
* and VISUAL_POSITIONS movement
|
||||
*/
|
||||
if (! gtk_text_iter_equal (&sel_bound, &insert))
|
||||
cancel_selection = TRUE;
|
||||
}
|
||||
|
||||
newplace = insert;
|
||||
|
||||
if (step == GTK_MOVEMENT_DISPLAY_LINES)
|
||||
gtk_text_view_get_virtual_cursor_pos (text_view, &cursor_x_pos, NULL);
|
||||
gtk_text_view_get_virtual_cursor_pos (text_view, &insert, &cursor_x_pos, NULL);
|
||||
|
||||
switch (step)
|
||||
{
|
||||
case GTK_MOVEMENT_LOGICAL_POSITIONS:
|
||||
gtk_text_iter_forward_visible_cursor_positions (&newplace, count);
|
||||
if (! cancel_selection)
|
||||
gtk_text_iter_forward_visible_cursor_positions (&newplace, count);
|
||||
break;
|
||||
|
||||
case GTK_MOVEMENT_VISUAL_POSITIONS:
|
||||
gtk_text_layout_move_iter_visually (text_view->layout,
|
||||
&newplace, count);
|
||||
if (! cancel_selection)
|
||||
gtk_text_layout_move_iter_visually (text_view->layout,
|
||||
&newplace, count);
|
||||
break;
|
||||
|
||||
case GTK_MOVEMENT_WORDS:
|
||||
@@ -5229,7 +5269,7 @@ gtk_text_view_move_cursor_internal (GtkTextView *text_view,
|
||||
g_signal_emit_by_name (text_view, "move-focus", leave_direction);
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (! cancel_selection)
|
||||
{
|
||||
gtk_widget_error_bell (GTK_WIDGET (text_view));
|
||||
}
|
||||
@@ -5382,7 +5422,7 @@ gtk_text_view_scroll_pages (GtkTextView *text_view,
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_text_view_get_virtual_cursor_pos (text_view, &cursor_x_pos, &cursor_y_pos);
|
||||
gtk_text_view_get_virtual_cursor_pos (text_view, NULL, &cursor_x_pos, &cursor_y_pos);
|
||||
|
||||
oldval = adj->value;
|
||||
newval = adj->value;
|
||||
@@ -5463,7 +5503,7 @@ gtk_text_view_scroll_hpages (GtkTextView *text_view,
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_text_view_get_virtual_cursor_pos (text_view, &cursor_x_pos, &cursor_y_pos);
|
||||
gtk_text_view_get_virtual_cursor_pos (text_view, NULL, &cursor_x_pos, &cursor_y_pos);
|
||||
|
||||
oldval = adj->value;
|
||||
newval = adj->value;
|
||||
@@ -5753,8 +5793,17 @@ gtk_text_view_paste_done_handler (GtkTextBuffer *buffer,
|
||||
gpointer data)
|
||||
{
|
||||
GtkTextView *text_view = data;
|
||||
DV(g_print (G_STRLOC": scrolling onscreen\n"));
|
||||
gtk_text_view_scroll_mark_onscreen (text_view, gtk_text_buffer_get_insert (buffer));
|
||||
GtkTextViewPrivate *priv;
|
||||
|
||||
priv = GTK_TEXT_VIEW_GET_PRIVATE (text_view);
|
||||
|
||||
if (priv->scroll_after_paste)
|
||||
{
|
||||
DV(g_print (G_STRLOC": scrolling onscreen\n"));
|
||||
gtk_text_view_scroll_mark_onscreen (text_view, gtk_text_buffer_get_insert (buffer));
|
||||
}
|
||||
|
||||
priv->scroll_after_paste = TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -7480,14 +7529,22 @@ gtk_text_view_get_cursor_location (GtkTextView *text_view,
|
||||
|
||||
static void
|
||||
gtk_text_view_get_virtual_cursor_pos (GtkTextView *text_view,
|
||||
GtkTextIter *cursor,
|
||||
gint *x,
|
||||
gint *y)
|
||||
{
|
||||
GtkTextIter insert;
|
||||
GdkRectangle pos;
|
||||
|
||||
if (cursor)
|
||||
insert = *cursor;
|
||||
else
|
||||
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &insert,
|
||||
gtk_text_buffer_get_insert (get_buffer (text_view)));
|
||||
|
||||
if ((x && text_view->virtual_cursor_x == -1) ||
|
||||
(y && text_view->virtual_cursor_y == -1))
|
||||
gtk_text_view_get_cursor_location (text_view, &pos);
|
||||
gtk_text_layout_get_cursor_locations (text_view->layout, &insert, &pos, NULL);
|
||||
|
||||
if (x)
|
||||
{
|
||||
|
||||
+17
-1
@@ -262,7 +262,7 @@ gtk_tool_button_class_init (GtkToolButtonClass *klass)
|
||||
P_("Spacing in pixels between the icon and label"),
|
||||
0,
|
||||
G_MAXINT,
|
||||
0,
|
||||
3,
|
||||
GTK_PARAM_READWRITE));
|
||||
|
||||
/**
|
||||
@@ -595,6 +595,12 @@ clone_image_menu_size (GtkImage *image, GtkSettings *settings)
|
||||
gtk_image_get_stock (image, &stock_id, NULL);
|
||||
return gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_MENU);
|
||||
}
|
||||
else if (storage_type == GTK_IMAGE_ICON_NAME)
|
||||
{
|
||||
const gchar *icon_name;
|
||||
gtk_image_get_icon_name (image, &icon_name, NULL);
|
||||
return gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
|
||||
}
|
||||
else if (storage_type == GTK_IMAGE_ICON_SET)
|
||||
{
|
||||
GtkIconSet *icon_set;
|
||||
@@ -906,6 +912,8 @@ gtk_tool_button_set_label (GtkToolButton *button,
|
||||
const gchar *label)
|
||||
{
|
||||
gchar *old_label;
|
||||
gchar *elided_label;
|
||||
AtkObject *accessible;
|
||||
|
||||
g_return_if_fail (GTK_IS_TOOL_BUTTON (button));
|
||||
|
||||
@@ -914,6 +922,14 @@ gtk_tool_button_set_label (GtkToolButton *button,
|
||||
button->priv->label_text = g_strdup (label);
|
||||
button->priv->contents_invalid = TRUE;
|
||||
|
||||
if (label)
|
||||
{
|
||||
elided_label = _gtk_toolbar_elide_underscores (label);
|
||||
accessible = gtk_widget_get_accessible (GTK_WIDGET (button->priv->button));
|
||||
atk_object_set_name (accessible, elided_label);
|
||||
g_free (elided_label);
|
||||
}
|
||||
|
||||
g_free (old_label);
|
||||
|
||||
g_object_notify (G_OBJECT (button), "label");
|
||||
|
||||
+10
-10
@@ -1277,25 +1277,25 @@ gtk_tool_item_get_proxy_menu_item (GtkToolItem *tool_item,
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_tool_item_rebuild_menu()
|
||||
* gtk_tool_item_rebuild_menu:
|
||||
* @tool_item: a #GtkToolItem
|
||||
*
|
||||
*
|
||||
* Calling this function signals to the toolbar that the
|
||||
* overflow menu item for @tool_item has changed. If the
|
||||
* overflow menu is visible when this function it called,
|
||||
* the menu will be rebuilt.
|
||||
*
|
||||
* The function must be called when the tool item
|
||||
* changes what it will do in response to the "create_menu_proxy"
|
||||
* signal.
|
||||
*
|
||||
* changes what it will do in response to the
|
||||
* #GtkToolItem::create-menu-proxy signal.
|
||||
*
|
||||
* Since: 2.6
|
||||
**/
|
||||
*/
|
||||
void
|
||||
gtk_tool_item_rebuild_menu (GtkToolItem *tool_item)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
|
||||
|
||||
g_return_if_fail (GTK_IS_TOOL_ITEM (tool_item));
|
||||
|
||||
widget = GTK_WIDGET (tool_item);
|
||||
@@ -1309,13 +1309,13 @@ gtk_tool_item_rebuild_menu (GtkToolItem *tool_item)
|
||||
* @tool_item: a #GtkToolItem
|
||||
* @menu_item_id: a string used to identify @menu_item
|
||||
* @menu_item: a #GtkMenuItem to be used in the overflow menu
|
||||
*
|
||||
*
|
||||
* Sets the #GtkMenuItem used in the toolbar overflow menu. The
|
||||
* @menu_item_id is used to identify the caller of this function and
|
||||
* should also be used with gtk_tool_item_get_proxy_menu_item().
|
||||
*
|
||||
*
|
||||
* Since: 2.4
|
||||
**/
|
||||
*/
|
||||
void
|
||||
gtk_tool_item_set_proxy_menu_item (GtkToolItem *tool_item,
|
||||
const gchar *menu_item_id,
|
||||
|
||||
@@ -475,6 +475,8 @@ gtk_tooltip_window_style_set (GtkTooltip *tooltip)
|
||||
tooltip->window->style->ythickness,
|
||||
tooltip->window->style->xthickness,
|
||||
tooltip->window->style->xthickness);
|
||||
gtk_box_set_spacing (GTK_BOX (tooltip->box),
|
||||
tooltip->window->style->xthickness);
|
||||
|
||||
gtk_widget_queue_draw (tooltip->window);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ G_BEGIN_DECLS
|
||||
#define GTK_TREE_MODEL_FILTER_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass))
|
||||
#define GTK_IS_TREE_MODEL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL_FILTER))
|
||||
#define GTK_IS_TREE_MODEL_FILTER_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_TREE_MODEL_FILTER))
|
||||
#define GTK_TREE_MODEL_FILTER_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass))
|
||||
#define GTK_TREE_MODEL_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass))
|
||||
|
||||
typedef gboolean (* GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model,
|
||||
GtkTreeIter *iter,
|
||||
|
||||
+1
-2
@@ -6412,8 +6412,7 @@ gtk_tree_view_dy_to_top_row (GtkTreeView *tree_view)
|
||||
|
||||
if (tree == NULL)
|
||||
{
|
||||
tree_view->priv->top_row = NULL;
|
||||
tree_view->priv->top_row_dy = 0;
|
||||
gtk_tree_view_set_top_row (tree_view, NULL, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+38
-9
@@ -31,6 +31,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <string.h>
|
||||
#include "gtkaccellabel.h"
|
||||
#include "gtkactivatable.h"
|
||||
#include "gtkbuildable.h"
|
||||
#include "gtkintl.h"
|
||||
@@ -939,6 +940,23 @@ gtk_ui_manager_get_action (GtkUIManager *self,
|
||||
return GTK_UI_MANAGER_GET_CLASS (self)->get_action (self, path);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
node_is_dead (GNode *node)
|
||||
{
|
||||
GNode *child;
|
||||
|
||||
if (NODE_INFO (node)->uifiles != NULL)
|
||||
return FALSE;
|
||||
|
||||
for (child = node->children; child != NULL; child = child->next)
|
||||
{
|
||||
if (!node_is_dead (child))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static GNode *
|
||||
get_child_node (GtkUIManager *self,
|
||||
GNode *parent,
|
||||
@@ -973,7 +991,17 @@ get_child_node (GtkUIManager *self,
|
||||
node_type,
|
||||
NODE_INFO (child)->name,
|
||||
NODE_INFO (child)->type);
|
||||
|
||||
|
||||
if (node_is_dead (child))
|
||||
{
|
||||
/* This node was removed but is still dirty so
|
||||
it was not removed yet. We want to treat this
|
||||
as if it didn't exist, which means we move it
|
||||
to the position it would have been created at */
|
||||
g_node_unlink (child);
|
||||
goto insert_child;
|
||||
}
|
||||
|
||||
return child;
|
||||
}
|
||||
}
|
||||
@@ -986,21 +1014,21 @@ get_child_node (GtkUIManager *self,
|
||||
mnode->type = node_type;
|
||||
mnode->name = g_strndup (childname, childname_length);
|
||||
|
||||
child = g_node_new (mnode);
|
||||
insert_child:
|
||||
if (sibling)
|
||||
{
|
||||
if (top)
|
||||
child = g_node_insert_before (parent, sibling,
|
||||
g_node_new (mnode));
|
||||
g_node_insert_before (parent, sibling, child);
|
||||
else
|
||||
child = g_node_insert_after (parent, sibling,
|
||||
g_node_new (mnode));
|
||||
g_node_insert_after (parent, sibling, child);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (top)
|
||||
child = g_node_prepend_data (parent, mnode);
|
||||
g_node_prepend (parent, child);
|
||||
else
|
||||
child = g_node_append_data (parent, mnode);
|
||||
g_node_append (parent, child);
|
||||
}
|
||||
|
||||
mark_node_dirty (child);
|
||||
@@ -2598,8 +2626,9 @@ update_node (GtkUIManager *self,
|
||||
if (in_popup && !popup_accels)
|
||||
{
|
||||
/* don't show accels in popups */
|
||||
GtkWidget *label = GTK_BIN (info->proxy)->child;
|
||||
g_object_set (label, "accel-closure", NULL, NULL);
|
||||
GtkWidget *child = gtk_bin_get_child (GTK_BIN (info->proxy));
|
||||
if (GTK_IS_ACCEL_LABEL (child))
|
||||
g_object_set (child, "accel-closure", NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ G_BEGIN_DECLS
|
||||
|
||||
#define GTK_TYPE_VOLUME_BUTTON (gtk_volume_button_get_type ())
|
||||
#define GTK_VOLUME_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VOLUME_BUTTON, GtkVolumeButton))
|
||||
#define GTK_VOLUME_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_VOLUME_BUTTON, GtkVolumeeButtonClass))
|
||||
#define GTK_VOLUME_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_VOLUME_BUTTON, GtkVolumeButtonClass))
|
||||
#define GTK_IS_VOLUME_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VOLUME_BUTTON))
|
||||
#define GTK_IS_VOLUME_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VOLUME_BUTTON))
|
||||
#define GTK_VOLUME_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_VOLUME_BUTTON, GtkVolumeButtonClass))
|
||||
|
||||
+2
-1
@@ -174,9 +174,10 @@ static const PaperInfo standard_names[] = {
|
||||
{"prc_32k", "97x151mm", N_("prc 32k"), "PRC32K"},
|
||||
{"prc_4", "110x208mm", N_("prc4 Envelope"), "EnvPRC4"},
|
||||
{"prc_5", "110x220mm", N_("prc5 Envelope"), "EnvPRC5"},
|
||||
{"prc_6", "120x320mm", N_("prc6 Envelope"), "EnvPRC6"},
|
||||
{"prc_6", "120x230mm", N_("prc6 Envelope"), "EnvPRC6"},
|
||||
{"prc_7", "160x230mm", N_("prc7 Envelope"), "EnvPRC7"},
|
||||
{"prc_8", "120x309mm", N_("prc8 Envelope"), "EnvPRC8"},
|
||||
{"prc_9", "229x324mm", N_("prc9 Envelope"), "EnvPRC9"},
|
||||
{"roc_16k", "7.75x10.75in", N_("ROC 16k")},
|
||||
{"roc_8k", "10.75x15.5in", N_("ROC 8k")},
|
||||
};
|
||||
|
||||
+174
-4
@@ -1,169 +1,335 @@
|
||||
/* Generated by gen-paper-names */
|
||||
|
||||
#if 0
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "asme_f")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A0x2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A0")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A0x3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A1")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A10")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A1x3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A1x4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A2x3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A2x4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A2x5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3 Extra")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3x3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3x4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3x5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3x6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A3x7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4 Extra")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4 Tab")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x8")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A4x9")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A5 Extra")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A8")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "A9")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B0")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B1")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B10")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B5 Extra")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B6/C4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B8")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "B9")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C0")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C1")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C10")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C6/C5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C7/C6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C8")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "C9")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "DL Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "RA0")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "RA1")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "RA2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "SRA0")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "SRA1")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "SRA2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB0")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB1")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB10")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB2")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB3")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB4")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB6")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB8")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "JB9")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "jis exec")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Choukei 2 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Choukei 3 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Choukei 4 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "hagaki (postcard)")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "kahu Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "kaku2 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "oufuku (reply postcard)")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "you4 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "10x11")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "10x13")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "10x14")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "10x15")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "10x15")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "11x12")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "11x15")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "12x19")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "5x7")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "6x9 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "7x9 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "9x11 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "a2 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Arch A")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Arch B")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Arch C")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Arch D")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Arch E")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "b-plus")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "c")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "c5 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "d")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "e")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "edp")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "European edp")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Executive")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "f")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "FanFold European")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "FanFold US")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "FanFold German Legal")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Government Legal")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Government Letter")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Index 3x5")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Index 4x6 (postcard)")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Index 4x6 ext")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Index 5x8")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Invoice")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Tabloid")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "US Legal")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "US Legal Extra")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "US Letter")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "US Letter Extra")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "US Letter Plus")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Monarch Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "#10 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "#11 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "#12 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "#14 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "#9 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Personal Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Quarto")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Super A")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Super B")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Wide Format")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Dai-pa-kai")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Folio")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Folio sp")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Invite Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Italian Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "juuro-ku-kai")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "pa-kai")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Postfix Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "Small Photo")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc1 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc10 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc 16k")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc2 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc3 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc 32k")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc4 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc5 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc6 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc7 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc8 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "prc9 Envelope")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "ROC 16k")
|
||||
/* translators, strip everything up to the first | */
|
||||
NC_("paper size", "ROC 8k")
|
||||
#endif
|
||||
|
||||
@@ -517,6 +683,9 @@ static const char paper_names[] =
|
||||
"prc_8\0"
|
||||
"prc8 Envelope\0"
|
||||
"EnvPRC8\0"
|
||||
"prc_9\0"
|
||||
"prc9 Envelope\0"
|
||||
"EnvPRC9\0"
|
||||
"roc_16k\0"
|
||||
"ROC 16k\0"
|
||||
"roc_8k\0"
|
||||
@@ -691,11 +860,12 @@ static const PaperInfo standard_names_offsets[] = {
|
||||
{ 2959, 97, 151, 2967, 2975 },
|
||||
{ 2982, 110, 208, 2988, 3002 },
|
||||
{ 3010, 110, 220, 3016, 3030 },
|
||||
{ 3038, 120, 320, 3044, 3058 },
|
||||
{ 3038, 120, 230, 3044, 3058 },
|
||||
{ 3066, 160, 230, 3072, 3086 },
|
||||
{ 3094, 120, 309, 3100, 3114 },
|
||||
{ 3122, 196.85, 273.05, 3130, -1 },
|
||||
{ 3138, 273.05, 393.7, 3145, -1 },
|
||||
{ 3122, 229, 324, 3128, 3142 },
|
||||
{ 3150, 196.85, 273.05, 3158, -1 },
|
||||
{ 3166, 273.05, 393.7, 3173, -1 },
|
||||
};
|
||||
|
||||
static const struct {
|
||||
@@ -705,7 +875,7 @@ static const struct {
|
||||
{ 634, 743 },
|
||||
{ 766, 756 },
|
||||
{ 779, 769 },
|
||||
{ 3152, 2309 },
|
||||
{ 3180, 2309 },
|
||||
{ 880, 858 },
|
||||
{ 2301, 2270 },
|
||||
};
|
||||
|
||||
@@ -17,7 +17,8 @@ DEPS = \
|
||||
progs_ldadd = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib)
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
noinst_PROGRAMS = $(TEST_PROGS)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ INCLUDES = \
|
||||
noinst_PROGRAMS = decompose-bits
|
||||
|
||||
decompose_bits_SOURCES = decompose-bits.c
|
||||
decompose_bits_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
|
||||
decompose_bits_LDADD = $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(GLIB_LIBS)
|
||||
|
||||
EXTRA_DIST += check-13.png check-13-inconsistent.png radio-13.png radio-13-inconsistent.png
|
||||
|
||||
|
||||
@@ -698,8 +698,8 @@ setup_msw_rc_style (void)
|
||||
GdkColor text_prelight;
|
||||
|
||||
/* Prelight */
|
||||
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT,
|
||||
get_windows_version () == VISTA_VERSION ? COLOR_MENUTEXT : COLOR_HIGHLIGHTTEXT,
|
||||
sys_color_to_gtk_color (get_windows_version () >= VISTA_VERSION ? XP_THEME_CLASS_MENU : XP_THEME_CLASS_TEXT,
|
||||
get_windows_version () >= VISTA_VERSION ? COLOR_MENUTEXT : COLOR_HIGHLIGHTTEXT,
|
||||
&fg_prelight);
|
||||
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT, COLOR_HIGHLIGHT, &bg_prelight);
|
||||
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT, COLOR_HIGHLIGHT,
|
||||
|
||||
@@ -919,6 +919,9 @@ xp_theme_draw (GdkWindow *win, XpThemeElement element, GtkStyle *style,
|
||||
gboolean
|
||||
xp_theme_is_active (void)
|
||||
{
|
||||
/* Workaround for bug #598299 */
|
||||
return FALSE;
|
||||
|
||||
return use_xp_theme;
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ bilinear_gradient (GdkPixbuf *src,
|
||||
|
||||
if (src_x == 0 || src_y == 0)
|
||||
{
|
||||
g_warning ("invalid source position for bilinear gradient\n");
|
||||
g_warning ("invalid source position for bilinear gradient");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -56,6 +56,13 @@ bilinear_gradient (GdkPixbuf *src,
|
||||
|
||||
result = gdk_pixbuf_new (GDK_COLORSPACE_RGB, n_channels == 4, 8,
|
||||
width, height);
|
||||
|
||||
if (result == NULL)
|
||||
{
|
||||
g_warning ("failed to create a %dx%d pixbuf", width, height);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dest_rowstride = gdk_pixbuf_get_rowstride (result);
|
||||
dest_pixels = gdk_pixbuf_get_pixels (result);
|
||||
|
||||
@@ -104,12 +111,19 @@ horizontal_gradient (GdkPixbuf *src,
|
||||
|
||||
if (src_x == 0)
|
||||
{
|
||||
g_warning ("invalid source position for horizontal gradient\n");
|
||||
g_warning ("invalid source position for horizontal gradient");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
result = gdk_pixbuf_new (GDK_COLORSPACE_RGB, n_channels == 4, 8,
|
||||
width, height);
|
||||
|
||||
if (result == NULL)
|
||||
{
|
||||
g_warning ("failed to create a %dx%d pixbuf", width, height);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dest_rowstride = gdk_pixbuf_get_rowstride (result);
|
||||
dest_pixels = gdk_pixbuf_get_pixels (result);
|
||||
|
||||
@@ -159,7 +173,7 @@ vertical_gradient (GdkPixbuf *src,
|
||||
|
||||
if (src_y == 0)
|
||||
{
|
||||
g_warning ("invalid source position for vertical gradient\n");
|
||||
g_warning ("invalid source position for vertical gradient");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -168,6 +182,13 @@ vertical_gradient (GdkPixbuf *src,
|
||||
|
||||
result = gdk_pixbuf_new (GDK_COLORSPACE_RGB, n_channels == 4, 8,
|
||||
width, height);
|
||||
|
||||
if (result == NULL)
|
||||
{
|
||||
g_warning ("failed to create a %dx%d pixbuf", width, height);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dest_rowstride = gdk_pixbuf_get_rowstride (result);
|
||||
dest_pixels = gdk_pixbuf_get_pixels (result);
|
||||
|
||||
@@ -209,6 +230,13 @@ replicate_single (GdkPixbuf *src,
|
||||
|
||||
result = gdk_pixbuf_new (GDK_COLORSPACE_RGB, n_channels == 4, 8,
|
||||
width, height);
|
||||
|
||||
if (result == NULL)
|
||||
{
|
||||
g_warning ("failed to create a %dx%d pixbuf", width, height);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dest_rowstride = gdk_pixbuf_get_rowstride (result);
|
||||
dest_pixels = gdk_pixbuf_get_pixels (result);
|
||||
|
||||
@@ -247,6 +275,13 @@ replicate_rows (GdkPixbuf *src,
|
||||
|
||||
result = gdk_pixbuf_new (GDK_COLORSPACE_RGB, n_channels == 4, 8,
|
||||
width, height);
|
||||
|
||||
if (result == NULL)
|
||||
{
|
||||
g_warning ("failed to create a %dx%d pixbuf", width, height);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dest_rowstride = gdk_pixbuf_get_rowstride (result);
|
||||
dest_pixels = gdk_pixbuf_get_pixels (result);
|
||||
|
||||
@@ -273,6 +308,13 @@ replicate_cols (GdkPixbuf *src,
|
||||
|
||||
result = gdk_pixbuf_new (GDK_COLORSPACE_RGB, n_channels == 4, 8,
|
||||
width, height);
|
||||
|
||||
if (result == NULL)
|
||||
{
|
||||
g_warning ("failed to create a %dx%d pixbuf", width, height);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dest_rowstride = gdk_pixbuf_get_rowstride (result);
|
||||
dest_pixels = gdk_pixbuf_get_pixels (result);
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ static gboolean gail_boolean_cell_update_cache (GailRendererCell *ce
|
||||
gchar *gail_boolean_cell_property_list[] = {
|
||||
"active",
|
||||
"radio",
|
||||
"sensitive",
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -73,6 +74,7 @@ gail_boolean_cell_new (void)
|
||||
cell->renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_object_ref_sink (cell->renderer);
|
||||
boolean_cell->cell_value = FALSE;
|
||||
boolean_cell->cell_sensitive = TRUE;
|
||||
return atk_object;
|
||||
}
|
||||
|
||||
@@ -83,8 +85,10 @@ gail_boolean_cell_update_cache (GailRendererCell *cell,
|
||||
GailBooleanCell *boolean_cell = GAIL_BOOLEAN_CELL (cell);
|
||||
gboolean rv = FALSE;
|
||||
gboolean new_boolean;
|
||||
gboolean new_sensitive;
|
||||
|
||||
g_object_get (G_OBJECT(cell->renderer), "active", &new_boolean, NULL);
|
||||
g_object_get (G_OBJECT(cell->renderer), "active", &new_boolean,
|
||||
"sensitive", &new_sensitive, NULL);
|
||||
|
||||
if (boolean_cell->cell_value != new_boolean)
|
||||
{
|
||||
@@ -99,5 +103,18 @@ gail_boolean_cell_update_cache (GailRendererCell *cell,
|
||||
gail_cell_remove_state (GAIL_CELL (cell), ATK_STATE_CHECKED, emit_change_signal);
|
||||
}
|
||||
|
||||
if (boolean_cell->cell_sensitive != new_sensitive)
|
||||
{
|
||||
rv = TRUE;
|
||||
boolean_cell->cell_sensitive = !(boolean_cell->cell_sensitive);
|
||||
|
||||
/* Update cell's state */
|
||||
|
||||
if (new_sensitive)
|
||||
gail_cell_add_state (GAIL_CELL (cell), ATK_STATE_SENSITIVE, emit_change_signal);
|
||||
else
|
||||
gail_cell_remove_state (GAIL_CELL (cell), ATK_STATE_SENSITIVE, emit_change_signal);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ struct _GailBooleanCell
|
||||
{
|
||||
GailRendererCell parent;
|
||||
gboolean cell_value;
|
||||
gboolean cell_sensitive;
|
||||
};
|
||||
|
||||
GType gail_boolean_cell_get_type (void);
|
||||
|
||||
@@ -888,6 +888,7 @@ gail_entry_insert_text (AtkEditableText *text,
|
||||
return;
|
||||
|
||||
gtk_editable_insert_text (editable, string, length, position);
|
||||
gtk_editable_set_position (editable, *position);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -229,20 +229,16 @@ gail_image_get_image_size (AtkImage *image,
|
||||
break;
|
||||
}
|
||||
case GTK_IMAGE_STOCK:
|
||||
{
|
||||
GtkIconSize size;
|
||||
GtkSettings *settings;
|
||||
settings = gtk_settings_get_for_screen (gtk_widget_get_screen (widget));
|
||||
gtk_image_get_stock(gtk_image, NULL, &size);
|
||||
gtk_icon_size_lookup_for_settings (settings, size, width, height);
|
||||
break;
|
||||
}
|
||||
case GTK_IMAGE_ICON_SET:
|
||||
case GTK_IMAGE_ICON_NAME:
|
||||
case GTK_IMAGE_GICON:
|
||||
{
|
||||
GtkIconSize size;
|
||||
GtkSettings *settings;
|
||||
|
||||
settings = gtk_settings_get_for_screen (gtk_widget_get_screen (widget));
|
||||
gtk_image_get_icon_set(gtk_image, NULL, &size);
|
||||
|
||||
g_object_get (gtk_image, "icon-size", &size, NULL);
|
||||
gtk_icon_size_lookup_for_settings (settings, size, width, height);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -193,8 +193,8 @@ static void gail_tree_view_changed_gtk (GtkTreeSelection
|
||||
static void columns_changed (GtkTreeView *tree_view);
|
||||
static void cursor_changed (GtkTreeView *tree_view);
|
||||
static gint idle_cursor_changed (gpointer data);
|
||||
static void focus_in (GtkWidget *widget);
|
||||
static void focus_out (GtkWidget *widget);
|
||||
static gboolean focus_in (GtkWidget *widget);
|
||||
static gboolean focus_out (GtkWidget *widget);
|
||||
|
||||
static void model_row_changed (GtkTreeModel *tree_model,
|
||||
GtkTreePath *path,
|
||||
@@ -2658,7 +2658,7 @@ idle_cursor_changed (gpointer data)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
focus_in (GtkWidget *widget)
|
||||
{
|
||||
GtkTreeView *tree_view;
|
||||
@@ -2690,9 +2690,10 @@ focus_in (GtkWidget *widget)
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
focus_out (GtkWidget *widget)
|
||||
{
|
||||
GailTreeView *gail_tree_view;
|
||||
@@ -2705,6 +2706,7 @@ focus_out (GtkWidget *widget)
|
||||
g_object_unref (gail_tree_view->focus_cell);
|
||||
gail_tree_view->focus_cell = NULL;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
+2
-1
@@ -18,7 +18,8 @@ DEPS = \
|
||||
LDADDS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib)
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
noinst_PROGRAMS = \
|
||||
testperf
|
||||
|
||||
+90
-90
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+-properties 2.6-branch\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-10-05 17:17-0400\n"
|
||||
"POT-Creation-Date: 2010-03-17 10:54-0400\n"
|
||||
"PO-Revision-Date: 2004-03-30 17:02+0200\n"
|
||||
"Last-Translator: Zuza Software Foundation <info@translate.org.za>\n"
|
||||
"Language-Team: Afrikaans <translate-discuss-af@lists.sourceforge.net>\n"
|
||||
@@ -130,126 +130,126 @@ msgstr "Fontpunte"
|
||||
msgid "The resolution for fonts on the screen"
|
||||
msgstr "Hoe die strekking op die skerm moet bygewerk word"
|
||||
|
||||
#: gdk/gdkwindow.c:472 gdk/gdkwindow.c:473
|
||||
#: gdk/gdkwindow.c:487 gdk/gdkwindow.c:488
|
||||
#, fuzzy
|
||||
msgid "Cursor"
|
||||
msgstr "Wyserflonker"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
#: gtk/gtkaboutdialog.c:238
|
||||
#, fuzzy
|
||||
msgid "Program name"
|
||||
msgstr "Merkernaam"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:240
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
msgid ""
|
||||
"The name of the program. If this is not set, it defaults to "
|
||||
"g_get_application_name()"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
#: gtk/gtkaboutdialog.c:253
|
||||
msgid "Program version"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:255
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
#, fuzzy
|
||||
msgid "The version of the program"
|
||||
msgstr "Die oriëntering van die nutsbalk"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
#: gtk/gtkaboutdialog.c:268
|
||||
msgid "Copyright string"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:270
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
msgid "Copyright information for the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
#: gtk/gtkaboutdialog.c:286
|
||||
#, fuzzy
|
||||
msgid "Comments string"
|
||||
msgstr "Kolomspasiëring"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:288
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
msgid "Comments about the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
#: gtk/gtkaboutdialog.c:321
|
||||
msgid "Website URL"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:323
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
msgid "The URL for the link to the website of the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
#: gtk/gtkaboutdialog.c:338
|
||||
#, fuzzy
|
||||
msgid "Website label"
|
||||
msgstr "Gebruik grootte in etiket"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:340
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
msgid ""
|
||||
"The label for the link to the website of the program. If this is not set, it "
|
||||
"defaults to the URL"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
#: gtk/gtkaboutdialog.c:355
|
||||
msgid "Authors"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:357
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
#, fuzzy
|
||||
msgid "List of authors of the program"
|
||||
msgstr "Die oriëntering van die nutsbalk"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
#: gtk/gtkaboutdialog.c:372
|
||||
msgid "Documenters"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:374
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
msgid "List of people documenting the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
#: gtk/gtkaboutdialog.c:389
|
||||
msgid "Artists"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:391
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
msgid "List of people who have contributed artwork to the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
#: gtk/gtkaboutdialog.c:407
|
||||
msgid "Translator credits"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:409
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
msgid ""
|
||||
"Credits to the translators. This string should be marked as translatable"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
#: gtk/gtkaboutdialog.c:423
|
||||
msgid "Logo"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:425
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
msgid ""
|
||||
"A logo for the about box. If this is not set, it defaults to "
|
||||
"gtk_window_get_default_icon_list()"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
#: gtk/gtkaboutdialog.c:439
|
||||
#, fuzzy
|
||||
msgid "Logo Icon Name"
|
||||
msgstr "Fontnaam"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:441
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
msgid "A named icon to use as the logo for the about box."
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
#: gtk/gtkaboutdialog.c:453
|
||||
#, fuzzy
|
||||
msgid "Wrap license"
|
||||
msgstr "Omvoumodusstel"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:455
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
#, fuzzy
|
||||
msgid "Whether to wrap the license text."
|
||||
msgstr "Of die teks deurgehaal moet word"
|
||||
@@ -319,19 +319,19 @@ msgstr "Die stapelikon vertoon in dingesies wat hierdie aksie verteenwoordig."
|
||||
msgid "GIcon"
|
||||
msgstr "Ikon"
|
||||
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:248
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:249
|
||||
#: gtk/gtkstatusicon.c:254
|
||||
#, fuzzy
|
||||
msgid "The GIcon being displayed"
|
||||
msgstr "Ikonstel wat vertoon moet word"
|
||||
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:230
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:231
|
||||
#: gtk/gtkprinter.c:172 gtk/gtkstatusicon.c:237 gtk/gtkwindow.c:606
|
||||
#, fuzzy
|
||||
msgid "Icon Name"
|
||||
msgstr "Fontnaam"
|
||||
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:231
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:232
|
||||
#: gtk/gtkstatusicon.c:238
|
||||
#, fuzzy
|
||||
msgid "The name of the icon from the icon theme"
|
||||
@@ -1289,7 +1289,7 @@ msgstr "Pixbuf-uitvouer geslote"
|
||||
msgid "Pixbuf for closed expander"
|
||||
msgstr "Pixbuf vir geslote uitvouer"
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:172 gtk/gtkstatusicon.c:229
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:173 gtk/gtkstatusicon.c:229
|
||||
msgid "Stock ID"
|
||||
msgstr "Stapel-ID"
|
||||
|
||||
@@ -1323,7 +1323,7 @@ msgstr ""
|
||||
msgid "Whether the rendered pixbuf should be colorized according to the state"
|
||||
msgstr "Of die grens vertoon moet word of nie"
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:247 gtk/gtkwindow.c:590
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:248 gtk/gtkwindow.c:590
|
||||
msgid "Icon"
|
||||
msgstr "Ikon"
|
||||
|
||||
@@ -1472,11 +1472,11 @@ msgid "Foreground color as a GdkColor"
|
||||
msgstr "Voorgrondkleur as 'n GdkColor"
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:261 gtk/gtkentry.c:656 gtk/gtktexttag.c:251
|
||||
#: gtk/gtktextview.c:574
|
||||
#: gtk/gtktextview.c:576
|
||||
msgid "Editable"
|
||||
msgstr "Redigeerbaar"
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:575
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:577
|
||||
msgid "Whether the text can be modified by the user"
|
||||
msgstr "Of die teks deur die gebruiker gewysig kan word"
|
||||
|
||||
@@ -2041,7 +2041,7 @@ msgstr "Aktiewe item"
|
||||
msgid "The item which is currently active"
|
||||
msgstr "Die item wat tans aktief is"
|
||||
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:222
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:223
|
||||
msgid "Add tearoffs to menus"
|
||||
msgstr "Voeg afskeuritems by die kieslyste"
|
||||
|
||||
@@ -2362,7 +2362,7 @@ msgstr "Of meervoudige lêers geselekteer mag word"
|
||||
msgid "Which kind of shadow to draw around the entry when has-frame is set"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:654
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:656
|
||||
msgid "Overwrite mode"
|
||||
msgstr "Oorheenskryfmodus"
|
||||
|
||||
@@ -2584,12 +2584,12 @@ msgstr "Fontnaam"
|
||||
msgid "Secondary icon tooltip markup"
|
||||
msgstr "Sekondêre"
|
||||
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:682
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:684
|
||||
#, fuzzy
|
||||
msgid "IM module"
|
||||
msgstr "Verstekwydte"
|
||||
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:683
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:685
|
||||
#, fuzzy
|
||||
msgid "Which IM module should be used"
|
||||
msgstr "Of 'n palet gebruik moet word"
|
||||
@@ -2918,7 +2918,7 @@ msgstr "Die titel van die fontkies-dialoog"
|
||||
msgid "The desired width of the button widget, in characters."
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:163 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:164 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkstatusicon.c:221
|
||||
msgid "Filename"
|
||||
msgstr "Lêernaam"
|
||||
@@ -3242,86 +3242,86 @@ msgstr "Seleksiegrens"
|
||||
msgid "Opacity of the selection box"
|
||||
msgstr "Die titel van die fontkies-dialoog"
|
||||
|
||||
#: gtk/gtkimage.c:131 gtk/gtkstatusicon.c:213
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:213
|
||||
msgid "Pixbuf"
|
||||
msgstr "Pixbuf"
|
||||
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:214
|
||||
#: gtk/gtkimage.c:133 gtk/gtkstatusicon.c:214
|
||||
msgid "A GdkPixbuf to display"
|
||||
msgstr "'n GdkPixbuf om te vertoon"
|
||||
|
||||
#: gtk/gtkimage.c:139
|
||||
#: gtk/gtkimage.c:140
|
||||
msgid "Pixmap"
|
||||
msgstr "Pixmap"
|
||||
|
||||
#: gtk/gtkimage.c:140
|
||||
#: gtk/gtkimage.c:141
|
||||
msgid "A GdkPixmap to display"
|
||||
msgstr "'n GdkPixmap om te vertoon"
|
||||
|
||||
#: gtk/gtkimage.c:147 gtk/gtkmessagedialog.c:215
|
||||
#: gtk/gtkimage.c:148 gtk/gtkmessagedialog.c:215
|
||||
msgid "Image"
|
||||
msgstr "Image"
|
||||
|
||||
#: gtk/gtkimage.c:148
|
||||
#: gtk/gtkimage.c:149
|
||||
msgid "A GdkImage to display"
|
||||
msgstr "'n GdkImage om te vertoon"
|
||||
|
||||
#: gtk/gtkimage.c:155
|
||||
#: gtk/gtkimage.c:156
|
||||
msgid "Mask"
|
||||
msgstr "Masker"
|
||||
|
||||
#: gtk/gtkimage.c:156
|
||||
#: gtk/gtkimage.c:157
|
||||
msgid "Mask bitmap to use with GdkImage or GdkPixmap"
|
||||
msgstr "Maskerbismatriks om met GdkImage of GdkPixmap te gebruik"
|
||||
|
||||
#: gtk/gtkimage.c:164 gtk/gtkstatusicon.c:222
|
||||
#: gtk/gtkimage.c:165 gtk/gtkstatusicon.c:222
|
||||
msgid "Filename to load and display"
|
||||
msgstr "Lêernaam wat gelaai en vertoon moet word"
|
||||
|
||||
#: gtk/gtkimage.c:173 gtk/gtkstatusicon.c:230
|
||||
#: gtk/gtkimage.c:174 gtk/gtkstatusicon.c:230
|
||||
msgid "Stock ID for a stock image to display"
|
||||
msgstr "Stapel-ID vir 'n stapelbeeld wat vertoon moet word"
|
||||
|
||||
#: gtk/gtkimage.c:180
|
||||
#: gtk/gtkimage.c:181
|
||||
msgid "Icon set"
|
||||
msgstr "Ikonstel"
|
||||
|
||||
#: gtk/gtkimage.c:181
|
||||
#: gtk/gtkimage.c:182
|
||||
msgid "Icon set to display"
|
||||
msgstr "Ikonstel wat vertoon moet word"
|
||||
|
||||
#: gtk/gtkimage.c:188 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
#: gtk/gtkimage.c:189 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
msgid "Icon size"
|
||||
msgstr "Ikongrootte"
|
||||
|
||||
#: gtk/gtkimage.c:189
|
||||
#: gtk/gtkimage.c:190
|
||||
#, fuzzy
|
||||
msgid "Symbolic size to use for stock icon, icon set or named icon"
|
||||
msgstr "Grootte wat vir stapelikon of ikonstel gebruik moet word"
|
||||
|
||||
#: gtk/gtkimage.c:205
|
||||
#: gtk/gtkimage.c:206
|
||||
#, fuzzy
|
||||
msgid "Pixel size"
|
||||
msgstr "Pixels"
|
||||
|
||||
#: gtk/gtkimage.c:206
|
||||
#: gtk/gtkimage.c:207
|
||||
#, fuzzy
|
||||
msgid "Pixel size to use for named icon"
|
||||
msgstr "Grootte wat vir stapelikon of ikonstel gebruik moet word"
|
||||
|
||||
#: gtk/gtkimage.c:214
|
||||
#: gtk/gtkimage.c:215
|
||||
msgid "Animation"
|
||||
msgstr "Animasie"
|
||||
|
||||
#: gtk/gtkimage.c:215
|
||||
#: gtk/gtkimage.c:216
|
||||
msgid "GdkPixbufAnimation to display"
|
||||
msgstr "GdkPixbufAnimation om te vertoon"
|
||||
|
||||
#: gtk/gtkimage.c:255 gtk/gtkstatusicon.c:261
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:261
|
||||
msgid "Storage type"
|
||||
msgstr "Bergsoort"
|
||||
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:262
|
||||
#: gtk/gtkimage.c:257 gtk/gtkstatusicon.c:262
|
||||
msgid "The representation being used for image data"
|
||||
msgstr "Die voorstelling wat vir die beelddata gebruik word"
|
||||
|
||||
@@ -3396,7 +3396,7 @@ msgstr "Die teks van die etiket"
|
||||
msgid "A list of style attributes to apply to the text of the label"
|
||||
msgstr "'n Lys stylattribute om op die teks van die etiket toe te pas"
|
||||
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:591
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:593
|
||||
msgid "Justification"
|
||||
msgstr "Alkantbelyning"
|
||||
|
||||
@@ -6248,7 +6248,7 @@ msgstr ""
|
||||
"eienskap pas behoorlik by temaveranderinge aan, en word dus aanbeveel. Pango "
|
||||
"stel sommige skale vooraf vas, soos PANGO_SCALE_X_LARGE"
|
||||
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:592
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:594
|
||||
msgid "Left, right, or center justification"
|
||||
msgstr "Links-, regs- of middelbelyning"
|
||||
|
||||
@@ -6266,7 +6266,7 @@ msgstr ""
|
||||
msgid "Left margin"
|
||||
msgstr "Linkergrens"
|
||||
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:601
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:603
|
||||
msgid "Width of the left margin in pixels"
|
||||
msgstr "Wydte van die linkergrens in pixels"
|
||||
|
||||
@@ -6274,15 +6274,15 @@ msgstr "Wydte van die linkergrens in pixels"
|
||||
msgid "Right margin"
|
||||
msgstr "Regtergrens"
|
||||
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:611
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:613
|
||||
msgid "Width of the right margin in pixels"
|
||||
msgstr "Wydte van die regtergrens in pixels"
|
||||
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:620
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:622
|
||||
msgid "Indent"
|
||||
msgstr "Keep"
|
||||
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:621
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:623
|
||||
msgid "Amount to indent the paragraph, in pixels"
|
||||
msgstr "Hoeveel die paragraaf ingekeep moet word, in pixels"
|
||||
|
||||
@@ -6299,7 +6299,7 @@ msgstr ""
|
||||
msgid "Pixels above lines"
|
||||
msgstr "Pixels bo reëls"
|
||||
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:545
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:547
|
||||
msgid "Pixels of blank space above paragraphs"
|
||||
msgstr "Pixels leë spasie bokant paragrawe"
|
||||
|
||||
@@ -6307,7 +6307,7 @@ msgstr "Pixels leë spasie bokant paragrawe"
|
||||
msgid "Pixels below lines"
|
||||
msgstr "Pixels onder reëls"
|
||||
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:555
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:557
|
||||
msgid "Pixels of blank space below paragraphs"
|
||||
msgstr "Pixels leë spasie onder paragrawe"
|
||||
|
||||
@@ -6315,22 +6315,22 @@ msgstr "Pixels leë spasie onder paragrawe"
|
||||
msgid "Pixels inside wrap"
|
||||
msgstr "Pixels binne omvou"
|
||||
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:565
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:567
|
||||
msgid "Pixels of blank space between wrapped lines in a paragraph"
|
||||
msgstr "Pixels leë spasie tussen omgevoude reëls in 'n paragraaf"
|
||||
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:583
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:585
|
||||
msgid ""
|
||||
"Whether to wrap lines never, at word boundaries, or at character boundaries"
|
||||
msgstr ""
|
||||
"Of reëls nooit nie, volgens woordgrens of volgens karaktergrens omgevou moet "
|
||||
"word"
|
||||
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:630
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:632
|
||||
msgid "Tabs"
|
||||
msgstr "Kepe"
|
||||
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:631
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:633
|
||||
msgid "Custom tabs for this text"
|
||||
msgstr "Doelmaak kepe vir hierdie teks"
|
||||
|
||||
@@ -6483,64 +6483,64 @@ msgstr "Selagtergrondstel"
|
||||
msgid "Whether this tag affects the paragraph background color"
|
||||
msgstr "Of hierdie merker 'n uitwerking op die agtergrondkleur het"
|
||||
|
||||
#: gtk/gtktextview.c:544
|
||||
#: gtk/gtktextview.c:546
|
||||
msgid "Pixels Above Lines"
|
||||
msgstr "Pixels bo reëls"
|
||||
|
||||
#: gtk/gtktextview.c:554
|
||||
#: gtk/gtktextview.c:556
|
||||
msgid "Pixels Below Lines"
|
||||
msgstr "Pixels onder reëls"
|
||||
|
||||
#: gtk/gtktextview.c:564
|
||||
#: gtk/gtktextview.c:566
|
||||
msgid "Pixels Inside Wrap"
|
||||
msgstr "Pixels binne omvou"
|
||||
|
||||
#: gtk/gtktextview.c:582
|
||||
#: gtk/gtktextview.c:584
|
||||
msgid "Wrap Mode"
|
||||
msgstr "Omvou-modus"
|
||||
|
||||
#: gtk/gtktextview.c:600
|
||||
#: gtk/gtktextview.c:602
|
||||
msgid "Left Margin"
|
||||
msgstr "Linkergrens"
|
||||
|
||||
#: gtk/gtktextview.c:610
|
||||
#: gtk/gtktextview.c:612
|
||||
msgid "Right Margin"
|
||||
msgstr "Regtergrens"
|
||||
|
||||
#: gtk/gtktextview.c:638
|
||||
#: gtk/gtktextview.c:640
|
||||
msgid "Cursor Visible"
|
||||
msgstr "Wyser sigbaar"
|
||||
|
||||
#: gtk/gtktextview.c:639
|
||||
#: gtk/gtktextview.c:641
|
||||
msgid "If the insertion cursor is shown"
|
||||
msgstr "Of die invoegwyser vertoon word"
|
||||
|
||||
#: gtk/gtktextview.c:646
|
||||
#: gtk/gtktextview.c:648
|
||||
msgid "Buffer"
|
||||
msgstr "Buffer"
|
||||
|
||||
#: gtk/gtktextview.c:647
|
||||
#: gtk/gtktextview.c:649
|
||||
msgid "The buffer which is displayed"
|
||||
msgstr "Die buffer wat vertoon word"
|
||||
|
||||
#: gtk/gtktextview.c:655
|
||||
#: gtk/gtktextview.c:657
|
||||
msgid "Whether entered text overwrites existing contents"
|
||||
msgstr "Of teks wat ingetik word, bestaande teks oorheenskryf"
|
||||
|
||||
#: gtk/gtktextview.c:662
|
||||
#: gtk/gtktextview.c:664
|
||||
msgid "Accepts tab"
|
||||
msgstr "Aanvaar keep"
|
||||
|
||||
#: gtk/gtktextview.c:663
|
||||
#: gtk/gtktextview.c:665
|
||||
msgid "Whether Tab will result in a tab character being entered"
|
||||
msgstr "Of Tab 'n keepkarakter sal intik"
|
||||
|
||||
#: gtk/gtktextview.c:692
|
||||
#: gtk/gtktextview.c:694
|
||||
#, fuzzy
|
||||
msgid "Error underline color"
|
||||
msgstr "Voorgrondkleur"
|
||||
|
||||
#: gtk/gtktextview.c:693
|
||||
#: gtk/gtktextview.c:695
|
||||
#, fuzzy
|
||||
msgid "Color with which to draw error-indication underlines"
|
||||
msgstr "Kleure waarmee die invoegwyser geteken moet word"
|
||||
@@ -7104,15 +7104,15 @@ msgstr "Tekskolom"
|
||||
msgid "Logical sort column ID this column sorts on when selected for sorting"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:223
|
||||
#: gtk/gtkuimanager.c:224
|
||||
msgid "Whether tearoff menu items should be added to menus"
|
||||
msgstr "Of afskeurkieslysitems by kieslyste gevoeg moet word"
|
||||
|
||||
#: gtk/gtkuimanager.c:230
|
||||
#: gtk/gtkuimanager.c:231
|
||||
msgid "Merged UI definition"
|
||||
msgstr "Definisie van saamgesmelte UI"
|
||||
|
||||
#: gtk/gtkuimanager.c:231
|
||||
#: gtk/gtkuimanager.c:232
|
||||
msgid "An XML string describing the merged UI"
|
||||
msgstr "'n XML-string wat die saamgesmelte UI beskryf"
|
||||
|
||||
|
||||
+90
-90
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+ 2.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-10-05 17:17-0400\n"
|
||||
"POT-Creation-Date: 2010-03-17 10:54-0400\n"
|
||||
"PO-Revision-Date: 2003-01-14 11:02+EDT\n"
|
||||
"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
|
||||
"Language-Team: Amharic <locales@geez.org>\n"
|
||||
@@ -124,122 +124,122 @@ msgstr ""
|
||||
msgid "The resolution for fonts on the screen"
|
||||
msgstr ""
|
||||
|
||||
#: gdk/gdkwindow.c:472 gdk/gdkwindow.c:473
|
||||
#: gdk/gdkwindow.c:487 gdk/gdkwindow.c:488
|
||||
#, fuzzy
|
||||
msgid "Cursor"
|
||||
msgstr "የመጠቆሚያዋ አበራርና አጠፋፍ"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
#: gtk/gtkaboutdialog.c:238
|
||||
msgid "Program name"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:240
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
msgid ""
|
||||
"The name of the program. If this is not set, it defaults to "
|
||||
"g_get_application_name()"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
#: gtk/gtkaboutdialog.c:253
|
||||
msgid "Program version"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:255
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
#, fuzzy
|
||||
msgid "The version of the program"
|
||||
msgstr "የጽሑፉ መለያ"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
#: gtk/gtkaboutdialog.c:268
|
||||
msgid "Copyright string"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:270
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
msgid "Copyright information for the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
#: gtk/gtkaboutdialog.c:286
|
||||
msgid "Comments string"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:288
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
msgid "Comments about the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
#: gtk/gtkaboutdialog.c:321
|
||||
msgid "Website URL"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:323
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
msgid "The URL for the link to the website of the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
#: gtk/gtkaboutdialog.c:338
|
||||
msgid "Website label"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:340
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
msgid ""
|
||||
"The label for the link to the website of the program. If this is not set, it "
|
||||
"defaults to the URL"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
#: gtk/gtkaboutdialog.c:355
|
||||
msgid "Authors"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:357
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
#, fuzzy
|
||||
msgid "List of authors of the program"
|
||||
msgstr "የጽሑፉ መለያ"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
#: gtk/gtkaboutdialog.c:372
|
||||
msgid "Documenters"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:374
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
msgid "List of people documenting the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
#: gtk/gtkaboutdialog.c:389
|
||||
msgid "Artists"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:391
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
msgid "List of people who have contributed artwork to the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
#: gtk/gtkaboutdialog.c:407
|
||||
msgid "Translator credits"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:409
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
msgid ""
|
||||
"Credits to the translators. This string should be marked as translatable"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
#: gtk/gtkaboutdialog.c:423
|
||||
msgid "Logo"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:425
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
msgid ""
|
||||
"A logo for the about box. If this is not set, it defaults to "
|
||||
"gtk_window_get_default_icon_list()"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
#: gtk/gtkaboutdialog.c:439
|
||||
#, fuzzy
|
||||
msgid "Logo Icon Name"
|
||||
msgstr "የፊደሉ ቅርጽ ስም"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:441
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
msgid "A named icon to use as the logo for the about box."
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
#: gtk/gtkaboutdialog.c:453
|
||||
msgid "Wrap license"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:455
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
msgid "Whether to wrap the license text."
|
||||
msgstr ""
|
||||
|
||||
@@ -309,18 +309,18 @@ msgstr ""
|
||||
msgid "GIcon"
|
||||
msgstr "ምልክት"
|
||||
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:248
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:249
|
||||
#: gtk/gtkstatusicon.c:254
|
||||
msgid "The GIcon being displayed"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:230
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:231
|
||||
#: gtk/gtkprinter.c:172 gtk/gtkstatusicon.c:237 gtk/gtkwindow.c:606
|
||||
#, fuzzy
|
||||
msgid "Icon Name"
|
||||
msgstr "የፊደሉ ቅርጽ ስም"
|
||||
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:231
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:232
|
||||
#: gtk/gtkstatusicon.c:238
|
||||
#, fuzzy
|
||||
msgid "The name of the icon from the icon theme"
|
||||
@@ -1244,7 +1244,7 @@ msgstr ""
|
||||
msgid "Pixbuf for closed expander"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:172 gtk/gtkstatusicon.c:229
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:173 gtk/gtkstatusicon.c:229
|
||||
msgid "Stock ID"
|
||||
msgstr ""
|
||||
|
||||
@@ -1277,7 +1277,7 @@ msgstr ""
|
||||
msgid "Whether the rendered pixbuf should be colorized according to the state"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:247 gtk/gtkwindow.c:590
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:248 gtk/gtkwindow.c:590
|
||||
msgid "Icon"
|
||||
msgstr "ምልክት"
|
||||
|
||||
@@ -1420,11 +1420,11 @@ msgid "Foreground color as a GdkColor"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:261 gtk/gtkentry.c:656 gtk/gtktexttag.c:251
|
||||
#: gtk/gtktextview.c:574
|
||||
#: gtk/gtktextview.c:576
|
||||
msgid "Editable"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:575
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:577
|
||||
msgid "Whether the text can be modified by the user"
|
||||
msgstr ""
|
||||
|
||||
@@ -1970,7 +1970,7 @@ msgstr ""
|
||||
msgid "The item which is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:222
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:223
|
||||
msgid "Add tearoffs to menus"
|
||||
msgstr ""
|
||||
|
||||
@@ -2264,7 +2264,7 @@ msgstr ""
|
||||
msgid "Which kind of shadow to draw around the entry when has-frame is set"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:654
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:656
|
||||
msgid "Overwrite mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -2462,12 +2462,12 @@ msgstr "የፊደሉ ቅርጽ ስም"
|
||||
msgid "Secondary icon tooltip markup"
|
||||
msgstr "የመደቡ ቀለም ስም"
|
||||
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:682
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:684
|
||||
#, fuzzy
|
||||
msgid "IM module"
|
||||
msgstr "የነበረው ስፋት"
|
||||
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:683
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:685
|
||||
msgid "Which IM module should be used"
|
||||
msgstr ""
|
||||
|
||||
@@ -2786,7 +2786,7 @@ msgstr "የመስኮቱ አርእስት"
|
||||
msgid "The desired width of the button widget, in characters."
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:163 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:164 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkstatusicon.c:221
|
||||
msgid "Filename"
|
||||
msgstr "የፋይል ስም"
|
||||
@@ -3101,84 +3101,84 @@ msgstr ""
|
||||
msgid "Opacity of the selection box"
|
||||
msgstr "የመስኮቱ አርእስት"
|
||||
|
||||
#: gtk/gtkimage.c:131 gtk/gtkstatusicon.c:213
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:213
|
||||
msgid "Pixbuf"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:214
|
||||
#: gtk/gtkimage.c:133 gtk/gtkstatusicon.c:214
|
||||
msgid "A GdkPixbuf to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:139
|
||||
#: gtk/gtkimage.c:140
|
||||
msgid "Pixmap"
|
||||
msgstr "Pixmap"
|
||||
|
||||
#: gtk/gtkimage.c:140
|
||||
#: gtk/gtkimage.c:141
|
||||
msgid "A GdkPixmap to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:147 gtk/gtkmessagedialog.c:215
|
||||
#: gtk/gtkimage.c:148 gtk/gtkmessagedialog.c:215
|
||||
msgid "Image"
|
||||
msgstr "ምስል"
|
||||
|
||||
#: gtk/gtkimage.c:148
|
||||
#: gtk/gtkimage.c:149
|
||||
msgid "A GdkImage to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:155
|
||||
#: gtk/gtkimage.c:156
|
||||
msgid "Mask"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:156
|
||||
#: gtk/gtkimage.c:157
|
||||
msgid "Mask bitmap to use with GdkImage or GdkPixmap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:164 gtk/gtkstatusicon.c:222
|
||||
#: gtk/gtkimage.c:165 gtk/gtkstatusicon.c:222
|
||||
msgid "Filename to load and display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:173 gtk/gtkstatusicon.c:230
|
||||
#: gtk/gtkimage.c:174 gtk/gtkstatusicon.c:230
|
||||
msgid "Stock ID for a stock image to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:180
|
||||
#: gtk/gtkimage.c:181
|
||||
msgid "Icon set"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:181
|
||||
#: gtk/gtkimage.c:182
|
||||
msgid "Icon set to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:188 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
#: gtk/gtkimage.c:189 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
msgid "Icon size"
|
||||
msgstr "የምልክት መጠን"
|
||||
|
||||
#: gtk/gtkimage.c:189
|
||||
#: gtk/gtkimage.c:190
|
||||
msgid "Symbolic size to use for stock icon, icon set or named icon"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:205
|
||||
#: gtk/gtkimage.c:206
|
||||
#, fuzzy
|
||||
msgid "Pixel size"
|
||||
msgstr "መጠን"
|
||||
|
||||
#: gtk/gtkimage.c:206
|
||||
#: gtk/gtkimage.c:207
|
||||
msgid "Pixel size to use for named icon"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:214
|
||||
#: gtk/gtkimage.c:215
|
||||
msgid "Animation"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:215
|
||||
#: gtk/gtkimage.c:216
|
||||
msgid "GdkPixbufAnimation to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:255 gtk/gtkstatusicon.c:261
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:261
|
||||
msgid "Storage type"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:262
|
||||
#: gtk/gtkimage.c:257 gtk/gtkstatusicon.c:262
|
||||
msgid "The representation being used for image data"
|
||||
msgstr ""
|
||||
|
||||
@@ -3250,7 +3250,7 @@ msgstr "የጽሑፉ መለያ"
|
||||
msgid "A list of style attributes to apply to the text of the label"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:591
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:593
|
||||
msgid "Justification"
|
||||
msgstr ""
|
||||
|
||||
@@ -5894,7 +5894,7 @@ msgid ""
|
||||
"such as PANGO_SCALE_X_LARGE"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:592
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:594
|
||||
msgid "Left, right, or center justification"
|
||||
msgstr ""
|
||||
|
||||
@@ -5908,7 +5908,7 @@ msgstr ""
|
||||
msgid "Left margin"
|
||||
msgstr "የግራ ህዳግ"
|
||||
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:601
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:603
|
||||
msgid "Width of the left margin in pixels"
|
||||
msgstr ""
|
||||
|
||||
@@ -5916,15 +5916,15 @@ msgstr ""
|
||||
msgid "Right margin"
|
||||
msgstr "የቀኝ ህዳግ"
|
||||
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:611
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:613
|
||||
msgid "Width of the right margin in pixels"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:620
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:622
|
||||
msgid "Indent"
|
||||
msgstr "አዲስ አንቀጽ"
|
||||
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:621
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:623
|
||||
msgid "Amount to indent the paragraph, in pixels"
|
||||
msgstr ""
|
||||
|
||||
@@ -5938,7 +5938,7 @@ msgstr ""
|
||||
msgid "Pixels above lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:545
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:547
|
||||
msgid "Pixels of blank space above paragraphs"
|
||||
msgstr ""
|
||||
|
||||
@@ -5946,7 +5946,7 @@ msgstr ""
|
||||
msgid "Pixels below lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:555
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:557
|
||||
msgid "Pixels of blank space below paragraphs"
|
||||
msgstr ""
|
||||
|
||||
@@ -5954,20 +5954,20 @@ msgstr ""
|
||||
msgid "Pixels inside wrap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:565
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:567
|
||||
msgid "Pixels of blank space between wrapped lines in a paragraph"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:583
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:585
|
||||
msgid ""
|
||||
"Whether to wrap lines never, at word boundaries, or at character boundaries"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:630
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:632
|
||||
msgid "Tabs"
|
||||
msgstr "መክፈቻዎች"
|
||||
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:631
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:633
|
||||
msgid "Custom tabs for this text"
|
||||
msgstr ""
|
||||
|
||||
@@ -6115,64 +6115,64 @@ msgstr ""
|
||||
msgid "Whether this tag affects the paragraph background color"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:544
|
||||
#: gtk/gtktextview.c:546
|
||||
msgid "Pixels Above Lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:554
|
||||
#: gtk/gtktextview.c:556
|
||||
msgid "Pixels Below Lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:564
|
||||
#: gtk/gtktextview.c:566
|
||||
msgid "Pixels Inside Wrap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:582
|
||||
#: gtk/gtktextview.c:584
|
||||
msgid "Wrap Mode"
|
||||
msgstr "የመሸፈኛ ዘዴ"
|
||||
|
||||
#: gtk/gtktextview.c:600
|
||||
#: gtk/gtktextview.c:602
|
||||
msgid "Left Margin"
|
||||
msgstr "የግራ ህዳግ"
|
||||
|
||||
#: gtk/gtktextview.c:610
|
||||
#: gtk/gtktextview.c:612
|
||||
msgid "Right Margin"
|
||||
msgstr "የቀኝ ህዳግ"
|
||||
|
||||
#: gtk/gtktextview.c:638
|
||||
#: gtk/gtktextview.c:640
|
||||
msgid "Cursor Visible"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:639
|
||||
#: gtk/gtktextview.c:641
|
||||
msgid "If the insertion cursor is shown"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:646
|
||||
#: gtk/gtktextview.c:648
|
||||
msgid "Buffer"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:647
|
||||
#: gtk/gtktextview.c:649
|
||||
msgid "The buffer which is displayed"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:655
|
||||
#: gtk/gtktextview.c:657
|
||||
msgid "Whether entered text overwrites existing contents"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:662
|
||||
#: gtk/gtktextview.c:664
|
||||
msgid "Accepts tab"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:663
|
||||
#: gtk/gtktextview.c:665
|
||||
msgid "Whether Tab will result in a tab character being entered"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:692
|
||||
#: gtk/gtktextview.c:694
|
||||
#, fuzzy
|
||||
msgid "Error underline color"
|
||||
msgstr "የፊት ለፊቱ ቀለም"
|
||||
|
||||
#: gtk/gtktextview.c:693
|
||||
#: gtk/gtktextview.c:695
|
||||
msgid "Color with which to draw error-indication underlines"
|
||||
msgstr ""
|
||||
|
||||
@@ -6705,15 +6705,15 @@ msgstr "ዐምዶች"
|
||||
msgid "Logical sort column ID this column sorts on when selected for sorting"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:223
|
||||
#: gtk/gtkuimanager.c:224
|
||||
msgid "Whether tearoff menu items should be added to menus"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:230
|
||||
#: gtk/gtkuimanager.c:231
|
||||
msgid "Merged UI definition"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:231
|
||||
#: gtk/gtkuimanager.c:232
|
||||
msgid "An XML string describing the merged UI"
|
||||
msgstr ""
|
||||
|
||||
|
||||
+90
-90
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+-properties OE\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-10-05 17:17-0400\n"
|
||||
"POT-Creation-Date: 2010-03-17 10:54-0400\n"
|
||||
"PO-Revision-Date: 2004-08-26 16:32-0600\n"
|
||||
"Last-Translator: James Johnson <modean52@comcast.net>\n"
|
||||
"Language-Team: Old English <modean52@comcast.net>\n"
|
||||
@@ -121,118 +121,118 @@ msgstr ""
|
||||
msgid "The resolution for fonts on the screen"
|
||||
msgstr ""
|
||||
|
||||
#: gdk/gdkwindow.c:472 gdk/gdkwindow.c:473
|
||||
#: gdk/gdkwindow.c:487 gdk/gdkwindow.c:488
|
||||
msgid "Cursor"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
#: gtk/gtkaboutdialog.c:238
|
||||
msgid "Program name"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:240
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
msgid ""
|
||||
"The name of the program. If this is not set, it defaults to "
|
||||
"g_get_application_name()"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
#: gtk/gtkaboutdialog.c:253
|
||||
msgid "Program version"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:255
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
msgid "The version of the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
#: gtk/gtkaboutdialog.c:268
|
||||
msgid "Copyright string"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:270
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
msgid "Copyright information for the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
#: gtk/gtkaboutdialog.c:286
|
||||
msgid "Comments string"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:288
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
msgid "Comments about the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
#: gtk/gtkaboutdialog.c:321
|
||||
msgid "Website URL"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:323
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
msgid "The URL for the link to the website of the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
#: gtk/gtkaboutdialog.c:338
|
||||
msgid "Website label"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:340
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
msgid ""
|
||||
"The label for the link to the website of the program. If this is not set, it "
|
||||
"defaults to the URL"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
#: gtk/gtkaboutdialog.c:355
|
||||
msgid "Authors"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:357
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
msgid "List of authors of the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
#: gtk/gtkaboutdialog.c:372
|
||||
msgid "Documenters"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:374
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
msgid "List of people documenting the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
#: gtk/gtkaboutdialog.c:389
|
||||
msgid "Artists"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:391
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
msgid "List of people who have contributed artwork to the program"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
#: gtk/gtkaboutdialog.c:407
|
||||
msgid "Translator credits"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:409
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
msgid ""
|
||||
"Credits to the translators. This string should be marked as translatable"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
#: gtk/gtkaboutdialog.c:423
|
||||
msgid "Logo"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:425
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
msgid ""
|
||||
"A logo for the about box. If this is not set, it defaults to "
|
||||
"gtk_window_get_default_icon_list()"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
#: gtk/gtkaboutdialog.c:439
|
||||
msgid "Logo Icon Name"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:441
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
msgid "A named icon to use as the logo for the about box."
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
#: gtk/gtkaboutdialog.c:453
|
||||
msgid "Wrap license"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaboutdialog.c:455
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
msgid "Whether to wrap the license text."
|
||||
msgstr ""
|
||||
|
||||
@@ -300,18 +300,18 @@ msgstr ""
|
||||
msgid "GIcon"
|
||||
msgstr "Segn"
|
||||
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:248
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:249
|
||||
#: gtk/gtkstatusicon.c:254
|
||||
msgid "The GIcon being displayed"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:230
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:231
|
||||
#: gtk/gtkprinter.c:172 gtk/gtkstatusicon.c:237 gtk/gtkwindow.c:606
|
||||
#, fuzzy
|
||||
msgid "Icon Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:231
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:232
|
||||
#: gtk/gtkstatusicon.c:238
|
||||
msgid "The name of the icon from the icon theme"
|
||||
msgstr ""
|
||||
@@ -1198,7 +1198,7 @@ msgstr ""
|
||||
msgid "Pixbuf for closed expander"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:172 gtk/gtkstatusicon.c:229
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:173 gtk/gtkstatusicon.c:229
|
||||
msgid "Stock ID"
|
||||
msgstr ""
|
||||
|
||||
@@ -1231,7 +1231,7 @@ msgstr ""
|
||||
msgid "Whether the rendered pixbuf should be colorized according to the state"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:247 gtk/gtkwindow.c:590
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:248 gtk/gtkwindow.c:590
|
||||
msgid "Icon"
|
||||
msgstr "Segn"
|
||||
|
||||
@@ -1373,11 +1373,11 @@ msgid "Foreground color as a GdkColor"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:261 gtk/gtkentry.c:656 gtk/gtktexttag.c:251
|
||||
#: gtk/gtktextview.c:574
|
||||
#: gtk/gtktextview.c:576
|
||||
msgid "Editable"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:575
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:577
|
||||
msgid "Whether the text can be modified by the user"
|
||||
msgstr ""
|
||||
|
||||
@@ -1915,7 +1915,7 @@ msgstr ""
|
||||
msgid "The item which is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:222
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:223
|
||||
msgid "Add tearoffs to menus"
|
||||
msgstr ""
|
||||
|
||||
@@ -2207,7 +2207,7 @@ msgstr ""
|
||||
msgid "Which kind of shadow to draw around the entry when has-frame is set"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:654
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:656
|
||||
msgid "Overwrite mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -2399,11 +2399,11 @@ msgstr "Segn"
|
||||
msgid "Secondary icon tooltip markup"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:682
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:684
|
||||
msgid "IM module"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:683
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:685
|
||||
msgid "Which IM module should be used"
|
||||
msgstr ""
|
||||
|
||||
@@ -2706,7 +2706,7 @@ msgstr ""
|
||||
msgid "The desired width of the button widget, in characters."
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:163 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:164 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkstatusicon.c:221
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
@@ -3009,83 +3009,83 @@ msgstr ""
|
||||
msgid "Opacity of the selection box"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:131 gtk/gtkstatusicon.c:213
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:213
|
||||
msgid "Pixbuf"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:214
|
||||
#: gtk/gtkimage.c:133 gtk/gtkstatusicon.c:214
|
||||
msgid "A GdkPixbuf to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:139
|
||||
#: gtk/gtkimage.c:140
|
||||
msgid "Pixmap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:140
|
||||
#: gtk/gtkimage.c:141
|
||||
msgid "A GdkPixmap to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:147 gtk/gtkmessagedialog.c:215
|
||||
#: gtk/gtkimage.c:148 gtk/gtkmessagedialog.c:215
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:148
|
||||
#: gtk/gtkimage.c:149
|
||||
msgid "A GdkImage to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:155
|
||||
#: gtk/gtkimage.c:156
|
||||
msgid "Mask"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:156
|
||||
#: gtk/gtkimage.c:157
|
||||
msgid "Mask bitmap to use with GdkImage or GdkPixmap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:164 gtk/gtkstatusicon.c:222
|
||||
#: gtk/gtkimage.c:165 gtk/gtkstatusicon.c:222
|
||||
msgid "Filename to load and display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:173 gtk/gtkstatusicon.c:230
|
||||
#: gtk/gtkimage.c:174 gtk/gtkstatusicon.c:230
|
||||
msgid "Stock ID for a stock image to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:180
|
||||
#: gtk/gtkimage.c:181
|
||||
msgid "Icon set"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:181
|
||||
#: gtk/gtkimage.c:182
|
||||
msgid "Icon set to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:188 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
#: gtk/gtkimage.c:189 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
msgid "Icon size"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:189
|
||||
#: gtk/gtkimage.c:190
|
||||
msgid "Symbolic size to use for stock icon, icon set or named icon"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:205
|
||||
#: gtk/gtkimage.c:206
|
||||
msgid "Pixel size"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:206
|
||||
#: gtk/gtkimage.c:207
|
||||
msgid "Pixel size to use for named icon"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:214
|
||||
#: gtk/gtkimage.c:215
|
||||
msgid "Animation"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:215
|
||||
#: gtk/gtkimage.c:216
|
||||
msgid "GdkPixbufAnimation to display"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:255 gtk/gtkstatusicon.c:261
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:261
|
||||
msgid "Storage type"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:262
|
||||
#: gtk/gtkimage.c:257 gtk/gtkstatusicon.c:262
|
||||
msgid "The representation being used for image data"
|
||||
msgstr ""
|
||||
|
||||
@@ -3153,7 +3153,7 @@ msgstr ""
|
||||
msgid "A list of style attributes to apply to the text of the label"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:591
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:593
|
||||
msgid "Justification"
|
||||
msgstr ""
|
||||
|
||||
@@ -5726,7 +5726,7 @@ msgid ""
|
||||
"such as PANGO_SCALE_X_LARGE"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:592
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:594
|
||||
msgid "Left, right, or center justification"
|
||||
msgstr ""
|
||||
|
||||
@@ -5740,7 +5740,7 @@ msgstr ""
|
||||
msgid "Left margin"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:601
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:603
|
||||
msgid "Width of the left margin in pixels"
|
||||
msgstr ""
|
||||
|
||||
@@ -5748,15 +5748,15 @@ msgstr ""
|
||||
msgid "Right margin"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:611
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:613
|
||||
msgid "Width of the right margin in pixels"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:620
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:622
|
||||
msgid "Indent"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:621
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:623
|
||||
msgid "Amount to indent the paragraph, in pixels"
|
||||
msgstr ""
|
||||
|
||||
@@ -5770,7 +5770,7 @@ msgstr ""
|
||||
msgid "Pixels above lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:545
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:547
|
||||
msgid "Pixels of blank space above paragraphs"
|
||||
msgstr ""
|
||||
|
||||
@@ -5778,7 +5778,7 @@ msgstr ""
|
||||
msgid "Pixels below lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:555
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:557
|
||||
msgid "Pixels of blank space below paragraphs"
|
||||
msgstr ""
|
||||
|
||||
@@ -5786,20 +5786,20 @@ msgstr ""
|
||||
msgid "Pixels inside wrap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:565
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:567
|
||||
msgid "Pixels of blank space between wrapped lines in a paragraph"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:583
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:585
|
||||
msgid ""
|
||||
"Whether to wrap lines never, at word boundaries, or at character boundaries"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:630
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:632
|
||||
msgid "Tabs"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:631
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:633
|
||||
msgid "Custom tabs for this text"
|
||||
msgstr ""
|
||||
|
||||
@@ -5943,63 +5943,63 @@ msgstr ""
|
||||
msgid "Whether this tag affects the paragraph background color"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:544
|
||||
#: gtk/gtktextview.c:546
|
||||
msgid "Pixels Above Lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:554
|
||||
#: gtk/gtktextview.c:556
|
||||
msgid "Pixels Below Lines"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:564
|
||||
#: gtk/gtktextview.c:566
|
||||
msgid "Pixels Inside Wrap"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:582
|
||||
#: gtk/gtktextview.c:584
|
||||
msgid "Wrap Mode"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:600
|
||||
#: gtk/gtktextview.c:602
|
||||
msgid "Left Margin"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:610
|
||||
#: gtk/gtktextview.c:612
|
||||
msgid "Right Margin"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:638
|
||||
#: gtk/gtktextview.c:640
|
||||
msgid "Cursor Visible"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:639
|
||||
#: gtk/gtktextview.c:641
|
||||
msgid "If the insertion cursor is shown"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:646
|
||||
#: gtk/gtktextview.c:648
|
||||
msgid "Buffer"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:647
|
||||
#: gtk/gtktextview.c:649
|
||||
msgid "The buffer which is displayed"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:655
|
||||
#: gtk/gtktextview.c:657
|
||||
msgid "Whether entered text overwrites existing contents"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:662
|
||||
#: gtk/gtktextview.c:664
|
||||
msgid "Accepts tab"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:663
|
||||
#: gtk/gtktextview.c:665
|
||||
msgid "Whether Tab will result in a tab character being entered"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:692
|
||||
#: gtk/gtktextview.c:694
|
||||
msgid "Error underline color"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtktextview.c:693
|
||||
#: gtk/gtktextview.c:695
|
||||
msgid "Color with which to draw error-indication underlines"
|
||||
msgstr ""
|
||||
|
||||
@@ -6526,15 +6526,15 @@ msgstr ""
|
||||
msgid "Logical sort column ID this column sorts on when selected for sorting"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:223
|
||||
#: gtk/gtkuimanager.c:224
|
||||
msgid "Whether tearoff menu items should be added to menus"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:230
|
||||
#: gtk/gtkuimanager.c:231
|
||||
msgid "Merged UI definition"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:231
|
||||
#: gtk/gtkuimanager.c:232
|
||||
msgid "An XML string describing the merged UI"
|
||||
msgstr ""
|
||||
|
||||
|
||||
+90
-90
@@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+-properties.HEAD.ar\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-10-05 17:17-0400\n"
|
||||
"POT-Creation-Date: 2010-03-17 10:54-0400\n"
|
||||
"PO-Revision-Date: 2008-09-18 02:19+0300\n"
|
||||
"Last-Translator: Anas Afif Emad <anas.e87@gmail.com>\n"
|
||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
|
||||
@@ -131,101 +131,101 @@ msgstr "ميز الخط"
|
||||
msgid "The resolution for fonts on the screen"
|
||||
msgstr "ميز الخطوط على الشاشة"
|
||||
|
||||
#: gdk/gdkwindow.c:472 gdk/gdkwindow.c:473
|
||||
#: gdk/gdkwindow.c:487 gdk/gdkwindow.c:488
|
||||
#, fuzzy
|
||||
msgid "Cursor"
|
||||
msgstr "وميض المؤشر"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
#: gtk/gtkaboutdialog.c:238
|
||||
msgid "Program name"
|
||||
msgstr "اسم البرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:240
|
||||
#: gtk/gtkaboutdialog.c:239
|
||||
msgid ""
|
||||
"The name of the program. If this is not set, it defaults to "
|
||||
"g_get_application_name()"
|
||||
msgstr "اسم البرنامج. اذا لم يحدد ، الإفتراضي هو g_get_application_name()"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
#: gtk/gtkaboutdialog.c:253
|
||||
msgid "Program version"
|
||||
msgstr "نسخة البرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:255
|
||||
#: gtk/gtkaboutdialog.c:254
|
||||
msgid "The version of the program"
|
||||
msgstr "نسخة البرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
#: gtk/gtkaboutdialog.c:268
|
||||
msgid "Copyright string"
|
||||
msgstr "نصّ حقوق النسخ"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:270
|
||||
#: gtk/gtkaboutdialog.c:269
|
||||
msgid "Copyright information for the program"
|
||||
msgstr "معلومات حقوق نسخ للبرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
#: gtk/gtkaboutdialog.c:286
|
||||
msgid "Comments string"
|
||||
msgstr "نصّ التعليقات"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:288
|
||||
#: gtk/gtkaboutdialog.c:287
|
||||
msgid "Comments about the program"
|
||||
msgstr "تعليقات عن البرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
#: gtk/gtkaboutdialog.c:321
|
||||
msgid "Website URL"
|
||||
msgstr "موقع الانترنت"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:323
|
||||
#: gtk/gtkaboutdialog.c:322
|
||||
msgid "The URL for the link to the website of the program"
|
||||
msgstr "وصلة موقع البرنامج."
|
||||
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
#: gtk/gtkaboutdialog.c:338
|
||||
msgid "Website label"
|
||||
msgstr "عنوان موقع الويب"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:340
|
||||
#: gtk/gtkaboutdialog.c:339
|
||||
msgid ""
|
||||
"The label for the link to the website of the program. If this is not set, it "
|
||||
"defaults to the URL"
|
||||
msgstr "تسمية الوصلة الى موقع البرنامج. إذا لم تكن محدّدة، الإفتراضي هو العنوان"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
#: gtk/gtkaboutdialog.c:355
|
||||
msgid "Authors"
|
||||
msgstr "المؤلفين"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:357
|
||||
#: gtk/gtkaboutdialog.c:356
|
||||
msgid "List of authors of the program"
|
||||
msgstr "قائمة بمؤلفي البرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
#: gtk/gtkaboutdialog.c:372
|
||||
msgid "Documenters"
|
||||
msgstr "الموثّقون"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:374
|
||||
#: gtk/gtkaboutdialog.c:373
|
||||
msgid "List of people documenting the program"
|
||||
msgstr "قائمة بموثّقي البرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
#: gtk/gtkaboutdialog.c:389
|
||||
msgid "Artists"
|
||||
msgstr "الفنانين"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:391
|
||||
#: gtk/gtkaboutdialog.c:390
|
||||
msgid "List of people who have contributed artwork to the program"
|
||||
msgstr "قائمة بالأشخاص الذي شاركوا بأعمال فنية للبرنامج"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
#: gtk/gtkaboutdialog.c:407
|
||||
msgid "Translator credits"
|
||||
msgstr "شكر للمترجمين"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:409
|
||||
#: gtk/gtkaboutdialog.c:408
|
||||
msgid ""
|
||||
"Credits to the translators. This string should be marked as translatable"
|
||||
msgstr "شكر للمترجمين. يجب تعليم هذا النصّ على انه قابل للترجمة"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
#: gtk/gtkaboutdialog.c:423
|
||||
msgid "Logo"
|
||||
msgstr "الشعار"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:425
|
||||
#: gtk/gtkaboutdialog.c:424
|
||||
msgid ""
|
||||
"A logo for the about box. If this is not set, it defaults to "
|
||||
"gtk_window_get_default_icon_list()"
|
||||
@@ -233,19 +233,19 @@ msgstr ""
|
||||
"شعار لصندوق حوْل. لو لم يحدد سيستخدم الإفتراضي "
|
||||
"gtk_window_get_default_icon_list()"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
#: gtk/gtkaboutdialog.c:439
|
||||
msgid "Logo Icon Name"
|
||||
msgstr "اسم أيقونة الشعار"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:441
|
||||
#: gtk/gtkaboutdialog.c:440
|
||||
msgid "A named icon to use as the logo for the about box."
|
||||
msgstr "أيقونة مسماة لتستخدم كشعار في صندوق حوْل."
|
||||
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
#: gtk/gtkaboutdialog.c:453
|
||||
msgid "Wrap license"
|
||||
msgstr "لف الرخصة"
|
||||
|
||||
#: gtk/gtkaboutdialog.c:455
|
||||
#: gtk/gtkaboutdialog.c:454
|
||||
msgid "Whether to wrap the license text."
|
||||
msgstr "اذا كان يتم لف الرخصة"
|
||||
|
||||
@@ -312,17 +312,17 @@ msgstr "أيقونة المخزون المعروضة في ودجات تمثل
|
||||
msgid "GIcon"
|
||||
msgstr "أيقونة ج"
|
||||
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:248
|
||||
#: gtk/gtkaction.c:262 gtk/gtkcellrendererpixbuf.c:206 gtk/gtkimage.c:249
|
||||
#: gtk/gtkstatusicon.c:254
|
||||
msgid "The GIcon being displayed"
|
||||
msgstr "تم عرض GIcon"
|
||||
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:230
|
||||
#: gtk/gtkaction.c:282 gtk/gtkcellrendererpixbuf.c:171 gtk/gtkimage.c:231
|
||||
#: gtk/gtkprinter.c:172 gtk/gtkstatusicon.c:237 gtk/gtkwindow.c:606
|
||||
msgid "Icon Name"
|
||||
msgstr "اسم الأيقونة"
|
||||
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:231
|
||||
#: gtk/gtkaction.c:283 gtk/gtkcellrendererpixbuf.c:172 gtk/gtkimage.c:232
|
||||
#: gtk/gtkstatusicon.c:238
|
||||
msgid "The name of the icon from the icon theme"
|
||||
msgstr "اسم الايقونه من ايقونات النسق"
|
||||
@@ -1226,7 +1226,7 @@ msgstr "موسع·مغلق·للبيكسبف"
|
||||
msgid "Pixbuf for closed expander"
|
||||
msgstr "بيكسبف الموسع المغلق."
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:172 gtk/gtkstatusicon.c:229
|
||||
#: gtk/gtkcellrendererpixbuf.c:135 gtk/gtkimage.c:173 gtk/gtkstatusicon.c:229
|
||||
msgid "Stock ID"
|
||||
msgstr "هوية المخزون"
|
||||
|
||||
@@ -1259,7 +1259,7 @@ msgstr "اتبع الحالة"
|
||||
msgid "Whether the rendered pixbuf should be colorized according to the state"
|
||||
msgstr "فيما إذا كان يتم تلوين pixbuf المرسوم حسب الحالة"
|
||||
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:247 gtk/gtkwindow.c:590
|
||||
#: gtk/gtkcellrendererpixbuf.c:205 gtk/gtkimage.c:248 gtk/gtkwindow.c:590
|
||||
msgid "Icon"
|
||||
msgstr "أيقونة"
|
||||
|
||||
@@ -1401,11 +1401,11 @@ msgid "Foreground color as a GdkColor"
|
||||
msgstr "لون الواجهة الأمامية كـ GdkColor"
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:261 gtk/gtkentry.c:656 gtk/gtktexttag.c:251
|
||||
#: gtk/gtktextview.c:574
|
||||
#: gtk/gtktextview.c:576
|
||||
msgid "Editable"
|
||||
msgstr "قابل للتحرير"
|
||||
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:575
|
||||
#: gtk/gtkcellrenderertext.c:262 gtk/gtktexttag.c:252 gtk/gtktextview.c:577
|
||||
msgid "Whether the text can be modified by the user"
|
||||
msgstr "فيما إذا يمكن تعديل النص عن طريق المستخدم"
|
||||
|
||||
@@ -1944,7 +1944,7 @@ msgstr "العنصر النشط"
|
||||
msgid "The item which is currently active"
|
||||
msgstr "العنصر النشط حاليا"
|
||||
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:222
|
||||
#: gtk/gtkcombobox.c:767 gtk/gtkuimanager.c:223
|
||||
msgid "Add tearoffs to menus"
|
||||
msgstr "إضافة قاطفات للقوائم"
|
||||
|
||||
@@ -2243,7 +2243,7 @@ msgstr "ما إذا سيتم قطع نص ملصوق متعدد السطور إل
|
||||
msgid "Which kind of shadow to draw around the entry when has-frame is set"
|
||||
msgstr "أي نوع من الظل المرسوم حول المدخل عند تحديد has-frame"
|
||||
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:654
|
||||
#: gtk/gtkentry.c:797 gtk/gtktextview.c:656
|
||||
msgid "Overwrite mode"
|
||||
msgstr "نسق التنميق"
|
||||
|
||||
@@ -2461,12 +2461,12 @@ msgstr "قائمة أسماء الإيقونات"
|
||||
msgid "Secondary icon tooltip markup"
|
||||
msgstr "النص الثانوي"
|
||||
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:682
|
||||
#: gtk/gtkentry.c:1213 gtk/gtktextview.c:684
|
||||
#, fuzzy
|
||||
msgid "IM module"
|
||||
msgstr "وحدة IM الإفتراضية"
|
||||
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:683
|
||||
#: gtk/gtkentry.c:1214 gtk/gtktextview.c:685
|
||||
#, fuzzy
|
||||
msgid "Which IM module should be used"
|
||||
msgstr "وحدة IM الإفتراضية"
|
||||
@@ -2786,7 +2786,7 @@ msgstr "عنوان لحوار تصفّح الملفات."
|
||||
msgid "The desired width of the button widget, in characters."
|
||||
msgstr "العرض المطلوب لودجة الزر، بالمحارف"
|
||||
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:163 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkfilesel.c:526 gtk/gtkimage.c:164 gtk/gtkrecentmanager.c:214
|
||||
#: gtk/gtkstatusicon.c:221
|
||||
msgid "Filename"
|
||||
msgstr "اسم الملف"
|
||||
@@ -3087,83 +3087,83 @@ msgstr "ألفا علبة الإختيار"
|
||||
msgid "Opacity of the selection box"
|
||||
msgstr "شفافية علبة الإختيار"
|
||||
|
||||
#: gtk/gtkimage.c:131 gtk/gtkstatusicon.c:213
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:213
|
||||
msgid "Pixbuf"
|
||||
msgstr "بكسبف"
|
||||
|
||||
#: gtk/gtkimage.c:132 gtk/gtkstatusicon.c:214
|
||||
#: gtk/gtkimage.c:133 gtk/gtkstatusicon.c:214
|
||||
msgid "A GdkPixbuf to display"
|
||||
msgstr "GdkPixbuf لعرضه"
|
||||
|
||||
#: gtk/gtkimage.c:139
|
||||
#: gtk/gtkimage.c:140
|
||||
msgid "Pixmap"
|
||||
msgstr "بكسماب"
|
||||
|
||||
#: gtk/gtkimage.c:140
|
||||
#: gtk/gtkimage.c:141
|
||||
msgid "A GdkPixmap to display"
|
||||
msgstr "GdkPixmap لعرضها"
|
||||
|
||||
#: gtk/gtkimage.c:147 gtk/gtkmessagedialog.c:215
|
||||
#: gtk/gtkimage.c:148 gtk/gtkmessagedialog.c:215
|
||||
msgid "Image"
|
||||
msgstr "صورة"
|
||||
|
||||
#: gtk/gtkimage.c:148
|
||||
#: gtk/gtkimage.c:149
|
||||
msgid "A GdkImage to display"
|
||||
msgstr "GdkImage لعرضها"
|
||||
|
||||
#: gtk/gtkimage.c:155
|
||||
#: gtk/gtkimage.c:156
|
||||
msgid "Mask"
|
||||
msgstr "غلاف"
|
||||
|
||||
#: gtk/gtkimage.c:156
|
||||
#: gtk/gtkimage.c:157
|
||||
msgid "Mask bitmap to use with GdkImage or GdkPixmap"
|
||||
msgstr "بيتماب الغلاف لاستخدامه مع GdkImage أو GdkPixmap"
|
||||
|
||||
#: gtk/gtkimage.c:164 gtk/gtkstatusicon.c:222
|
||||
#: gtk/gtkimage.c:165 gtk/gtkstatusicon.c:222
|
||||
msgid "Filename to load and display"
|
||||
msgstr "اسم الملف للتحميل و العرض"
|
||||
|
||||
#: gtk/gtkimage.c:173 gtk/gtkstatusicon.c:230
|
||||
#: gtk/gtkimage.c:174 gtk/gtkstatusicon.c:230
|
||||
msgid "Stock ID for a stock image to display"
|
||||
msgstr "هوية المخزون لصورة مخزون للعرض"
|
||||
|
||||
#: gtk/gtkimage.c:180
|
||||
#: gtk/gtkimage.c:181
|
||||
msgid "Icon set"
|
||||
msgstr "مجموعة الأيقونات"
|
||||
|
||||
#: gtk/gtkimage.c:181
|
||||
#: gtk/gtkimage.c:182
|
||||
msgid "Icon set to display"
|
||||
msgstr "مجموعة الأيقونات للعرض"
|
||||
|
||||
#: gtk/gtkimage.c:188 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
#: gtk/gtkimage.c:189 gtk/gtkscalebutton.c:216 gtk/gtktoolbar.c:540
|
||||
msgid "Icon size"
|
||||
msgstr "حجم الأيقونة"
|
||||
|
||||
#: gtk/gtkimage.c:189
|
||||
#: gtk/gtkimage.c:190
|
||||
msgid "Symbolic size to use for stock icon, icon set or named icon"
|
||||
msgstr "الحجم الرمزي للأيقونة, مجموعة الأيقونات أو الأيقون المسمى"
|
||||
|
||||
#: gtk/gtkimage.c:205
|
||||
#: gtk/gtkimage.c:206
|
||||
msgid "Pixel size"
|
||||
msgstr "حجم البكسل"
|
||||
|
||||
#: gtk/gtkimage.c:206
|
||||
#: gtk/gtkimage.c:207
|
||||
msgid "Pixel size to use for named icon"
|
||||
msgstr "حجم البكسل المستعمل للأيقونة المسماة"
|
||||
|
||||
#: gtk/gtkimage.c:214
|
||||
#: gtk/gtkimage.c:215
|
||||
msgid "Animation"
|
||||
msgstr "رسوم متحركة"
|
||||
|
||||
#: gtk/gtkimage.c:215
|
||||
#: gtk/gtkimage.c:216
|
||||
msgid "GdkPixbufAnimation to display"
|
||||
msgstr "GdkPixbufAnimation لعرضها"
|
||||
|
||||
#: gtk/gtkimage.c:255 gtk/gtkstatusicon.c:261
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:261
|
||||
msgid "Storage type"
|
||||
msgstr "نوع التخزين"
|
||||
|
||||
#: gtk/gtkimage.c:256 gtk/gtkstatusicon.c:262
|
||||
#: gtk/gtkimage.c:257 gtk/gtkstatusicon.c:262
|
||||
msgid "The representation being used for image data"
|
||||
msgstr "التقديم المستعمل لبيانات الرسوم"
|
||||
|
||||
@@ -3237,7 +3237,7 @@ msgstr "نص الشارة"
|
||||
msgid "A list of style attributes to apply to the text of the label"
|
||||
msgstr "قائمة لصفات الأساليب لتطبيقها على نص العلامة"
|
||||
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:591
|
||||
#: gtk/gtklabel.c:525 gtk/gtktexttag.c:359 gtk/gtktextview.c:593
|
||||
msgid "Justification"
|
||||
msgstr "ضبط"
|
||||
|
||||
@@ -5847,7 +5847,7 @@ msgstr ""
|
||||
"التيمات الخ مما يجعله موصى به. يحدّد بانكو بعض المقاييس مثل "
|
||||
"PANGO_SCALE_X_LARGE"
|
||||
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:592
|
||||
#: gtk/gtktexttag.c:360 gtk/gtktextview.c:594
|
||||
msgid "Left, right, or center justification"
|
||||
msgstr "ضبط لليسار أو لليمين أو للوسط"
|
||||
|
||||
@@ -5863,7 +5863,7 @@ msgstr ""
|
||||
msgid "Left margin"
|
||||
msgstr "الهامش ا?يسر"
|
||||
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:601
|
||||
#: gtk/gtktexttag.c:387 gtk/gtktextview.c:603
|
||||
msgid "Width of the left margin in pixels"
|
||||
msgstr "عرض الهامش ا?يسر بالبكسل"
|
||||
|
||||
@@ -5871,15 +5871,15 @@ msgstr "عرض الهامش ا?يسر بالبكسل"
|
||||
msgid "Right margin"
|
||||
msgstr "الهامش ا?يمن"
|
||||
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:611
|
||||
#: gtk/gtktexttag.c:397 gtk/gtktextview.c:613
|
||||
msgid "Width of the right margin in pixels"
|
||||
msgstr "عرض الهامش ا?يمن بالبكسل"
|
||||
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:620
|
||||
#: gtk/gtktexttag.c:407 gtk/gtktextview.c:622
|
||||
msgid "Indent"
|
||||
msgstr "إزاحة"
|
||||
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:621
|
||||
#: gtk/gtktexttag.c:408 gtk/gtktextview.c:623
|
||||
msgid "Amount to indent the paragraph, in pixels"
|
||||
msgstr "مقدار إزاحة الفقرات، بالبكسل"
|
||||
|
||||
@@ -5895,7 +5895,7 @@ msgstr ""
|
||||
msgid "Pixels above lines"
|
||||
msgstr "بكسلات أعلى ا?سطر"
|
||||
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:545
|
||||
#: gtk/gtktexttag.c:429 gtk/gtktextview.c:547
|
||||
msgid "Pixels of blank space above paragraphs"
|
||||
msgstr "بكسلات من المسافات الفارغة أعلى الفقرات"
|
||||
|
||||
@@ -5903,7 +5903,7 @@ msgstr "بكسلات من المسافات الفارغة أعلى الفقرا
|
||||
msgid "Pixels below lines"
|
||||
msgstr "بكسلات أسفل ا?سطر"
|
||||
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:555
|
||||
#: gtk/gtktexttag.c:439 gtk/gtktextview.c:557
|
||||
msgid "Pixels of blank space below paragraphs"
|
||||
msgstr "بكسلات من المسافات الفارغة أسفل الفقرات"
|
||||
|
||||
@@ -5911,20 +5911,20 @@ msgstr "بكسلات من المسافات الفارغة أسفل الفقرا
|
||||
msgid "Pixels inside wrap"
|
||||
msgstr "بكسلات داخل الالتواء"
|
||||
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:565
|
||||
#: gtk/gtktexttag.c:449 gtk/gtktextview.c:567
|
||||
msgid "Pixels of blank space between wrapped lines in a paragraph"
|
||||
msgstr "بكسلات من المسافات الفارغة بين ا?سطر الملتوية في فقرة"
|
||||
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:583
|
||||
#: gtk/gtktexttag.c:476 gtk/gtktextview.c:585
|
||||
msgid ""
|
||||
"Whether to wrap lines never, at word boundaries, or at character boundaries"
|
||||
msgstr "ما إذا لن يتم التواء الأسطر عند حدود الكلمات أو الرموز"
|
||||
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:630
|
||||
#: gtk/gtktexttag.c:485 gtk/gtktextview.c:632
|
||||
msgid "Tabs"
|
||||
msgstr "الأشرطة"
|
||||
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:631
|
||||
#: gtk/gtktexttag.c:486 gtk/gtktextview.c:633
|
||||
msgid "Custom tabs for this text"
|
||||
msgstr "أشرطة مخصصة لهذا النص"
|
||||
|
||||
@@ -6068,63 +6068,63 @@ msgstr "لون خلفية محدّد"
|
||||
msgid "Whether this tag affects the paragraph background color"
|
||||
msgstr "فيما إذا كانت هذه الشارة تؤثر في لون خلفية الفقرة"
|
||||
|
||||
#: gtk/gtktextview.c:544
|
||||
#: gtk/gtktextview.c:546
|
||||
msgid "Pixels Above Lines"
|
||||
msgstr "بكسلات فوق ا?سطر"
|
||||
|
||||
#: gtk/gtktextview.c:554
|
||||
#: gtk/gtktextview.c:556
|
||||
msgid "Pixels Below Lines"
|
||||
msgstr "بكسلات تحت ا?سطر"
|
||||
|
||||
#: gtk/gtktextview.c:564
|
||||
#: gtk/gtktextview.c:566
|
||||
msgid "Pixels Inside Wrap"
|
||||
msgstr "بكسلات داخل الالتواء"
|
||||
|
||||
#: gtk/gtktextview.c:582
|
||||
#: gtk/gtktextview.c:584
|
||||
msgid "Wrap Mode"
|
||||
msgstr "نظام الالتواء"
|
||||
|
||||
#: gtk/gtktextview.c:600
|
||||
#: gtk/gtktextview.c:602
|
||||
msgid "Left Margin"
|
||||
msgstr "الهامش الأيسر"
|
||||
|
||||
#: gtk/gtktextview.c:610
|
||||
#: gtk/gtktextview.c:612
|
||||
msgid "Right Margin"
|
||||
msgstr "الهامش الأيمن"
|
||||
|
||||
#: gtk/gtktextview.c:638
|
||||
#: gtk/gtktextview.c:640
|
||||
msgid "Cursor Visible"
|
||||
msgstr "المؤشر مرئي"
|
||||
|
||||
#: gtk/gtktextview.c:639
|
||||
#: gtk/gtktextview.c:641
|
||||
msgid "If the insertion cursor is shown"
|
||||
msgstr "ما إذا كان مؤشر ا?دخال سيتم عرضه"
|
||||
|
||||
#: gtk/gtktextview.c:646
|
||||
#: gtk/gtktextview.c:648
|
||||
msgid "Buffer"
|
||||
msgstr "ذاكرة وسيطة"
|
||||
|
||||
#: gtk/gtktextview.c:647
|
||||
#: gtk/gtktextview.c:649
|
||||
msgid "The buffer which is displayed"
|
||||
msgstr "الذاكرة الوسيطة المعروضة"
|
||||
|
||||
#: gtk/gtktextview.c:655
|
||||
#: gtk/gtktextview.c:657
|
||||
msgid "Whether entered text overwrites existing contents"
|
||||
msgstr "فيما إذا سينمّق النص المدخل المحتويات الموجودة"
|
||||
|
||||
#: gtk/gtktextview.c:662
|
||||
#: gtk/gtktextview.c:664
|
||||
msgid "Accepts tab"
|
||||
msgstr "تقبل الألسنة"
|
||||
|
||||
#: gtk/gtktextview.c:663
|
||||
#: gtk/gtktextview.c:665
|
||||
msgid "Whether Tab will result in a tab character being entered"
|
||||
msgstr "فيما سينتج عن اللسان إدخال رمز لسان"
|
||||
|
||||
#: gtk/gtktextview.c:692
|
||||
#: gtk/gtktextview.c:694
|
||||
msgid "Error underline color"
|
||||
msgstr "خطأ في لون التسطير"
|
||||
|
||||
#: gtk/gtktextview.c:693
|
||||
#: gtk/gtktextview.c:695
|
||||
msgid "Color with which to draw error-indication underlines"
|
||||
msgstr "اللون الذي يتم به رسم التسطيرات المؤشرة للأخطاء"
|
||||
|
||||
@@ -6656,15 +6656,15 @@ msgstr "عمود النص"
|
||||
msgid "Logical sort column ID this column sorts on when selected for sorting"
|
||||
msgstr ""
|
||||
|
||||
#: gtk/gtkuimanager.c:223
|
||||
#: gtk/gtkuimanager.c:224
|
||||
msgid "Whether tearoff menu items should be added to menus"
|
||||
msgstr "فيما إذا ستضاف عناصر القوائم القابلة للقطف للقوائم"
|
||||
|
||||
#: gtk/gtkuimanager.c:230
|
||||
#: gtk/gtkuimanager.c:231
|
||||
msgid "Merged UI definition"
|
||||
msgstr "تعريف واجهة مستخدم مدمجة"
|
||||
|
||||
#: gtk/gtkuimanager.c:231
|
||||
#: gtk/gtkuimanager.c:232
|
||||
msgid "An XML string describing the merged UI"
|
||||
msgstr "سلسلة XML تصف واجهة المستخدم المدمجة"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user