Compare commits

...

206 Commits

Author SHA1 Message Date
Balázs Úr 4f7cebf41d Updated Hungarian translation 2012-12-27 20:01:28 +01:00
YunQiang Su cc298ccaed fix an typo in zh_CN translation 2012-08-18 11:23:01 +08:00
Sweta Kothari 1dd2078bb5 Updated Gujarati Translations 2010-09-22 17:02:21 +05:30
IWAI, Masaharu 3987540139 Updated Japanese translation. 2010-09-12 18:29:05 +09:00
krishnababu k 228d1f76fd Corrected string occurrence calendar 2010-08-19 21:41:34 +05:30
Sandeep Shedmake 537b89e72c fixed incorrect spelling of 'calender'; corrected to 'calendar' 2010-08-19 21:18:33 +05:30
Bert Broekhuizen cac87b0a16 Fix: GtkFileChooserButton unsets filter after first use of dialog
Added standard::display-name attribute to _gtk_file_system_get_folder
call in show_and_select_file to make the get_is_file_filtered call
in show_and_select_files_finished_loading work as intended.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=553211

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-05-02 21:21:17 +02:00
Carles Ferrando 11ec210863 Updated Catalan (Valencian) translation 2010-04-23 00:12:57 +02:00
Carles Ferrando f462d7fd84 Updated Catalan (Valencian) translation 2010-04-23 00:06:00 +02:00
Inaki Larranaga Murgoitio 0a522241af Updated Basque language 2010-03-31 17:33:39 +02:00
Inaki Larranaga Murgoitio 6555129374 Updated Basque language 2010-03-31 12:19:53 +02:00
Runa Bhattacharjee d02b33fbb4 Updated Bengali India Translations 2010-03-30 12:48:30 +05:30
Inaki Larranaga Murgoitio 9a942bb44e Updated Basque language 2010-03-22 14:33:42 +01:00
Inaki Larranaga Murgoitio 6970479580 Updated Basque language 2010-03-22 14:28:05 +01:00
Sweta Kothari 65792edc93 Updated Gujarati Translations 2010-03-22 13:06:20 +05:30
Sweta Kothari b65ff5a9dd Updated Gujarati Translations 2010-03-22 12:48:17 +05:30
Matthias Clasen 0fff51eab6 Avoid spurious notifications from GtkEntry
Using gtk_entry_set_buffer() in dispose() causes problematic
notifications, so just get rid of the buffer manually. See bug 613241.
(cherry picked from commit 5f29a679f8)
2010-03-19 23:34:53 -04:00
Matthias Clasen 598210133d Bump version 2010-03-17 12:17:51 -04:00
Matthias Clasen 3d994b98c9 2.18.9 2010-03-17 12:08:38 -04:00
Matthias Clasen 6840090389 Updates 2010-03-17 09:51:07 -04:00
Matthias Clasen a66aa434f9 Don't crash in DND when the X server doesn't support SHAPE
Reported in bug 612768
(cherry picked from commit 996541d096)
2010-03-17 09:48:52 -04:00
Tristan Van Berkom 4b529ade7b Refixed patch for bug 612505.
New patch makes sure to update the display even when
the GtkEntry's buffer is set to NULL, it also breaks the
reference to the buffer in ->dispose() instead of ->finalize().
2010-03-17 09:44:13 -04:00
Matthias Clasen 8b0095a563 bump version 2010-03-15 19:31:03 -04:00
Matthias Clasen 91673dafc2 2.18.8, third try 2010-03-15 19:26:48 -04:00
Matthias Clasen 4aa7bf6195 Updates 2010-03-15 18:36:16 -04:00
Matthias Clasen 132e224c70 Recompute label contents when the buffer changes
Also reset cursor positions to avoid assertions.
This fixes bug 612505, patch by Tristan Van Berkom.
(cherry picked from commit 233281fd39)
2010-03-15 18:36:16 -04:00
Matthias Clasen bf3b7bd40b Fix the tests 2010-03-15 18:36:16 -04:00
Jorge González 8bdf95758f Updated Spanish translation 2010-03-14 23:19:10 +01:00
Kristian Rietveld c8e5dbd4de Fix compile warning in gdk_cursor_new_from_pixmap
(cherry picked from commit f3a5bf48d4)
2010-03-14 11:02:39 +01:00
Kristian Rietveld df3e8ec019 Start using NSInteger and NSUInteger
These have been introduced in Leopard and default to int and unsigned int.
In 64-bit Snow Leopard they are long and unsigned long.  This caused issues
with the getRectsBeingDrawn message which needs a pointer to a NSInteger
(long on 64-bit!) but we passed in an integer.  Surprisingly this problem
was visible when compiling with -O0 (segfault), but *not* when compiling
with -O1.  Other messages were NSInteger is now needed have also been
adapted.

Since NSInteger and NSUInteger are not available on Tiger, a define
has been added to add typedefs for these when they have not been defined
by the system headers.

(cherry picked from commit b2b70e5a8d)
2010-03-14 10:55:42 +01:00
Khaled Hosny 69101a9bec Updated Arabic translation 2010-03-13 23:56:11 +02:00
Daniel Nylander 21dfdd0475 Updated Swedish translation 2010-03-13 22:06:56 +01:00
Gil Forcada 8ff7f16945 Updated Catalan translation 2010-03-13 16:13:41 +01:00
Matej Urbančič 8325ece590 Updated Slovenian translation 2010-03-13 10:06:25 +01:00
Claude Paroz 92e9be5bcf Updated French translation 2010-03-13 09:55:47 +01:00
Mario Blättermann c837564640 Updated German translation 2010-03-13 01:34:25 +01:00
Kristian Rietveld 2f66220326 Bug 598881 - Unimplemented GdkWindowImplIface methods crash gimp on OSX
Add dummy for _gdk_input_window_crossing ().  Set both input_window_destroy
and input_window_crossing pointers in the Impl struct.

Reported by John Ralls.
(cherry picked from commit 42ac226877)
2010-03-12 18:47:01 -05:00
Matthias Clasen dd64c7a2b9 Recompute label contents when the buffer changes
Also reset cursor positions to avoid assertions.
This fixes bug 612505, patch by Tristan Van Berkom.
(cherry picked from commit 233281fd39)
2010-03-12 18:00:11 -05:00
Matthias Clasen 6bf6324626 Fix gdk_window_set_icon_name
A typo kept this from working on toplevel windows.
Reported in bug 612346.
(cherry picked from commit f73f9d802c)
2010-03-12 18:00:03 -05:00
Christian Dywan 6834ec00b0 Fix definition of GTK_VOLUME_BUTTON_CLASS cast
There is an extra 'e' there.
(cherry picked from commit f90abc4eed)
2010-03-12 17:59:47 -05:00
Matthias Clasen 68b278bf34 Don't scroll to insert after middle-click paste
Patch by Ignacio Casal Quinteiro, bug 612119.
(cherry picked from commit d84a831423)
2010-03-12 17:57:46 -05:00
Michael Natterer 121607ae04 gtk: remove begin-user-action/end-user-action around copying
Copying to the clipboard is not a buffer mutation, so calling
gtk_text_buffer_begin_user_action() and _end_user_action() is only
confusing apps which connect to these signals in order to build undo
stacks or otherwise track buffer changes. Most likely, these apps
either didn't notice the bugus undo step or simply work around it.
(cherry picked from commit 0a49865ec4)
2010-03-12 17:57:34 -05:00
Joanmarie Diggs f687aafe58 Add/Remove ATK_STATE_SENSITIVE according to cells' state.
Bug #569042.
(cherry picked from commit 4759da2634)
2010-03-12 17:57:19 -05:00
Li Yuan 8ba7712b4e Return FALSE in signal handlers to make the signals be propagated
Bug #611686.
(cherry picked from commit 8c30affb6e)
2010-03-12 17:57:08 -05:00
Matthias Clasen d3374dbc00 Protect against X errors when clearing the DND cache
This was reported as a problem in bug 609952.
(cherry picked from commit 325cbef27e)
2010-03-12 17:55:05 -05:00
Matthias Clasen 4623a485c7 Prevent a crash in the TGA loader
Reported in bug 609744.
(cherry picked from commit 33330ab332)
2010-03-12 17:54:49 -05:00
Matthias Clasen 9268b23522 Handle out-of-bounds parameters in gtk_assistant_get_nth_page
Better do what the docs say...fix by Tadej Borovšak, bug 610141.
(cherry picked from commit 06d02578f8)
2010-03-12 17:54:37 -05:00
Matthias Clasen c94513e44b Fix a segfault in gtk_assistant_set_current_page
Reported by Tadej Borovšak in bug 610184
(cherry picked from commit ddcc305f4e)
2010-03-12 17:54:29 -05:00
Matthias Clasen 35938479ca Clarify the docs for gtk_info_bar_set_default_response
According to bug 610632
(cherry picked from commit c3f0cdcfcf)
2010-03-12 17:54:20 -05:00
Matthias Clasen 203d6d7a1e Add some padding in tool buttons
The default value of the icon-spacing style property was 0, which
is just not good. Themes are of course free to change this anyway.
Bug 610381.
(cherry picked from commit 9ce6db1297)
2010-03-12 17:54:04 -05:00
Carlos Garcia Campos aa883e0295 [docs] Fix GtkPlug::embedded signal documentation
See bug #609650.
(cherry picked from commit 62758ff5ef)
2010-03-12 17:53:43 -05:00
Carlos Garcia Campos 1a5d7d968f Emit GtkPlug::embedded signal when plug/socket are in the same process too
Fixes bug #609650.
(cherry picked from commit e5fc3dcf64)
2010-03-12 17:53:30 -05:00
Tor Lillqvist 15b1dbdfcb Check for __MINGW64__ and not __MINGW64
Should fix bug #612308.
2010-03-12 11:44:32 +02:00
Matthias Clasen 39039a3500 Fix an infinite loop in gtk_dialog_map()
The new focus handling with links in labels tripped up the code
that tries to avoid focussing labels. Bug 612066
2010-03-08 18:27:37 +01:00
Piotr Drąg bcc963d337 Updated Polish translation 2010-02-25 14:31:28 +01:00
Nils-Christoph Fiedler de8f5fe394 Updated LowGerman translation 2010-02-25 13:02:31 +01:00
Nils-Christoph Fiedler 4059254f6b Updated LowGerman translation 2010-02-25 12:54:43 +01:00
Runa Bhattacharjee 623cd82d68 Updated Bengali India Translation 2010-02-19 16:24:47 +05:30
Manoj Kumar Giri 4473b45ded Updated Oriya Translation 2010-02-17 21:16:37 +05:30
Matthias Clasen d53099bc38 Bump version 2010-02-12 21:15:35 -05:00
Matthias Clasen a4dd814db7 2.18.7 2010-02-12 21:13:30 -05:00
Matthias Clasen 8fba4358fc Updates 2010-02-12 19:51:13 -05:00
Matthias Clasen 9149577e1a Avoid overlap of scale marks
This was reported to be a problem in bug 608807.
(cherry picked from commit 893408352d)
2010-02-12 19:31:24 -05:00
Matthias Clasen dd9db7bd3d Avoid a crash when setting a tooltip on a GtkCalendar
The details code was assuming that it controls ::has-tooltip.
Reported by Bill Nottingham, bug 607344.
(cherry picked from commit 412beb4444)
2010-02-12 19:30:43 -05:00
Matthias Clasen a14c8aba5d Fix a refcounting issues in GtkPlug
When the foreign window already has a GdkWindow, we forget to take
an extra references, leading to crashes later on. Patch by
Karl Tomlinson, bug 607061.
(cherry picked from commit beddf67e56)
2010-02-12 19:30:35 -05:00
Christian Persch 015476b770 Correctly clone the toolbutton's icon-name image widget
Bug #608162.
(cherry picked from commit 9497a198f7)
2010-02-12 19:30:21 -05:00
Matthias Clasen da03774c48 Make DND work better with shaped windows
If mouse clicks go through, drag-and-drop should too...
Fixes bug 608615.
(cherry picked from commit 69aa7a6392)
2010-02-12 19:28:51 -05:00
Cody Russell 6c5c48bae2 Remove existing signal connections in gtk_drag_dest_unset().
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=608370
(cherry picked from commit 2147e57f46)
2010-02-12 19:28:27 -05:00
Christian Dywan 7ec1a0ac71 Do not update paned position if it's already at the given value
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=561816
(cherry picked from commit a23f581c5d)
2010-02-12 19:28:13 -05:00
Li Yuan 8c9844d255 Bug #608410. Set cursor position after inserting text.
(cherry picked from commit 899d425e50)
2010-02-12 19:27:22 -05:00
Matthias Clasen 1d4c18e9c4 Fix declaration of gtk_print_job_set_status
The problem was reported in bug 606698.
(cherry picked from commit 5e7801a304)
2010-02-12 19:22:26 -05:00
Steffen Macke ae55f8a835 Fix menu bar problem in ms-windows theme engine on Windows 7
Patch from bug #591186. It won't have any effect in this branch as the
whole XP-and-later theming code is broken and disabled, but when/if
that is fixed, then this patch should help.
2010-02-09 12:27:10 +02:00
Tor Lillqvist 8b2c243af6 Use correct processorArchitecture for x86_64 in manifest file 2010-02-09 12:22:13 +02:00
Henrique P. Machado 9ca9d6c590 Updated Brazilian Portuguese Translation 2010-02-04 16:46:08 -03:00
Claudio Saavedra a6a56e785c GtkTreeView: plug a leaking GtkTreeRowReference
This is exposed by overshooting in a HildonPannableArea. Leaking
a GtkTreeRowReference also means leaking the whole model, since
the GtkTreeModel reference count is increased for each row
reference.

Fixes bug #607770 - Leak in GtkTreeView with HildonPannableArea
(cherry picked from commit 52acceef56)
2010-01-22 18:01:10 +02:00
Alexander Larsson bb63c9537b Avoid integer overflow in gdk_rectangle_intersect
If e.g. the right edge of the leftmost rectangle is near MIN_INT, and
the left edge of the rightmost rectangle is large then subtracting these
can lead to an integer overflow, making the resultant "width" falsely
positive, thus returning a very wide result instead of the expected
no-intersection result.

We avoid the overflow by not doing the subtraction unless we know the
result will be positive. There are still risks for overflow if x + width
or y + width is larger than MAXINT, but we won't ever overflow for valid
rects now.

This may fix #607687
(cherry picked from commit 3c618f2f1f)
2010-01-22 11:31:27 +01:00
Alexander Larsson d867026219 When native window requests button presses request other button related events
We need to do this because otherwise the implicit button grab for this
(native) window will not deliver the button events not selected for
by this window. This is a problem because non-native child windows may
select using a wider event mask, and we can't emulate these events if we
don't get the native events.

Fixes bug #607508
(cherry picked from commit 3d9d002bed)
2010-01-20 15:41:58 +01:00
Alexander Larsson 9967831b8d Drop outstanding cairo surfaces when window is made native
Any old cairo_surface referencing the old impl window will be wrong
when we make a window native, so drop it.

This fixes bug #599511
(cherry picked from commit e31a6d1fea)
2010-01-19 16:47:23 +01:00
Alexander Larsson 1c5b9ffb2b Move common gdkwindow.c code into function gdk_window_drop_cairo_surface
This code is duplicated in several places, and more to come, so put
it all in one place.
(cherry picked from commit 46d25437a1)
2010-01-19 16:47:21 +01:00
Alexander Larsson ed7db8ea55 Track direct window cairo access and avoid tricks when used
When a cairo surface is requested for direct window access (i.e. not
when double-buffering) we can't really track when the actual drawing happens
as cairo drawing is not virtualized. This means we can't properly flush
any outstanding window moves or implicit paints.

This actually causes problems with e.g. abiword (bug #606009) where they
draw without double-buffering. If you press down it scrolls the window
and then draws the caret, but the caret drawing does not flush the
outstanding move from the scroll, so the caret gets drawn on the wrong
screen.

We fix this by never allowing either implicit paints or outstanding window
moves on impl-windows where any windows related to it has an outstanding
direct cairo surface. Luckily this is not very common so in practice this
doesn't matter much.
(cherry picked from commit 841fa47715)
2010-01-19 15:41:45 +01:00
Russell Kyaw 68ccf1a0e9 Added Burmese translation for gtk+ properties 2010-01-19 16:31:59 +02:00
Russell Kyaw ef0280dd2b Updated Burmese translation 2010-01-19 16:31:04 +02:00
Russell Kyaw bbd83c60a9 Added Burmese translation 2010-01-19 16:21:15 +02:00
Simos Xenitellis 13edaa0d81 Added Burmese (my) to po/LINGUAS 2010-01-19 16:19:57 +02:00
Jorge González 75468514b0 Updated Spanish translation 2010-01-18 06:21:41 +01:00
Gil Forcada 782f00360c Minor update to Catalan translation 2010-01-17 23:50:43 +01:00
Matej Urbančič cfd8f35ea7 Updated Slovenian translation 2010-01-15 19:42:49 +01:00
Alexander Larsson f2fffaad71 Avoid drawing implicit paints to destroyed windows
It may happen that a window gets destroyed during painting, if so
we should not draw the implicit paint double-buffered pixmap to it
as that will cause a BadDrawable X error.

This fixes bug 600865
(cherry picked from commit f96e51db46)
2010-01-15 16:21:48 +01:00
Daniel Nylander 5fcae34f27 Updated Swedish translation 2010-01-13 08:08:53 +01:00
Mario Blättermann 2f68354008 Updated German translation 2010-01-12 21:27:48 +01:00
Matthias Clasen 280f191a75 Correct PRC6 and PRC9 envelope sizes
See bug 603144 for the full story.
(cherry picked from commit b6ff1abc93)
2010-01-12 01:11:33 -05:00
Matthias Clasen 2276e1e6db Bump version 2010-01-11 17:57:09 -05:00
Matthias Clasen 49c72dc016 2.18.6 2010-01-11 17:52:45 -05:00
Matthias Clasen 314fede98a Doc fixes 2010-01-11 17:16:54 -05:00
Matthias Clasen f25813eaeb Updates 2010-01-11 16:10:11 -05:00
Matthias Clasen 0e17e8daa5 Plug a pixmap leak
We were getting our refcounts tangled up when setting drawable clips on
GCs with CSW, leading to a pretty bad pixmap leak. See bug 606143.
(cherry picked from commit d32b061895)
2010-01-11 10:27:17 -05:00
Matthias Clasen 30b4352d62 Try a little harder to survive close to OOM
(cherry picked from commit d85735a337)
2010-01-08 13:30:10 -05:00
Matthias Clasen ee17312399 Avoid an FPE for ludicrous scale values
...just bail out early.
(cherry picked from commit 1d4c6ebe5f)
2010-01-08 13:30:02 -05:00
Matthias Clasen e956191163 Setup libjpeg error handlers early enough
See bug 606068 for details.
(cherry picked from commit 9fc436d810)
2010-01-07 15:56:48 -05:00
Matthias Clasen 1eb83b8a69 Improve selection/arrow key behaviour in GtkTextView
This patch makes the text view behave more similar to entries.
Patch by Michael Natterer, see bug 50942
(cherry picked from commit c0d8b71bc5)
2010-01-07 15:54:57 -05:00
Benjamin Otte f07fced38c Build adds not-yet-built libgtk-x11-2.0.la into the linker flags
Commit 9e7c91bf83 added a bit too many
LDFLAGS to the build of gtk-update-icon-cache, revert it to only use the
required ones. Bug 605036
(cherry picked from commit 3921834b96)
2010-01-07 15:54:23 -05:00
Matthias Clasen aaad805038 Handle reading the create-folders property
(cherry picked from commit 4116baef32)
2010-01-07 15:53:23 -05:00
Matthias Clasen b0225e7f09 Properly free damage events
This was reported in bug 605008
(cherry picked from commit 9d999fb89f)
2010-01-07 15:52:06 -05:00
Benjamin Otte 3f935d85d3 Fix up linker flags
This adds LDFLAGS everywhere where they were previously pulled in via
other libraries. This is however unsupported by modern linkers.
You can trigger these failures by building with gold (or, I'm told, with
very new ld).
(cherry picked from commit 9e7c91bf83)
2010-01-07 15:51:56 -05:00
Benjamin Otte 71cef6c8a0 Disconnect signal handlers on adjustment in destroy handler
Not removing the signal handler caused crashes if the adjustment
survived longer than the scrolled window and still emitted signals. This
could happen inside WebKit.
(cherry picked from commit ff1343a594)
2010-01-07 15:51:42 -05:00
Jean Brefort af0f6dc778 fix critical in gtk_editable_insert_text 2010-01-07 16:45:20 +01:00
Shankar Prasad 5eba1d0675 Made couple of translation changes in kn.po 2010-01-07 14:06:23 +05:30
Amitakhya Phukan 6a135bf810 Updated Assamese translations. 2010-01-07 13:23:46 +05:30
Inaki Larranaga Murgoitio 4f59e4427d Updated Basque language 2010-01-05 13:20:02 +01:00
Jonh Wendell eeaeb01590 Fix a memory leak in gtk_label_compose_effective_attrs() 2009-12-22 11:18:05 -03:00
Matthias Clasen 9ac1b6830c Fix a think in the CSW input extension handling
This was causing stack overflow due to an obvious infinite recursion.
See e.g. RH #548849.
(cherry picked from commit d2ce67734a)
2009-12-21 15:29:58 -05:00
Matthias Clasen 0d15334671 Fix a thinko in computing damage for segments
The code was not taking the endpoint of the first segment into account.
This was reported in bug 604747.
(cherry picked from commit aadb190b77)
2009-12-18 19:20:07 -05:00
Matthias Clasen d97a72a22b Ensure native windows in gdk_property_change
Using X properties on non-toplevel windows is somewhat exotic,
but some people seem to do it, so better to keep it working.
See bug 604787.
(cherry picked from commit 7a9a3077e4)
2009-12-18 18:46:08 -05:00
Alexander Larsson 321c7d16c3 Actually send exposes from gdk_window_clear_area_e
(cherry picked from commit 7e9d89b555)
2009-12-18 15:38:22 +01:00
Philip Withnall 3470ef274d Updated British English translation 2009-12-15 17:33:25 +00:00
Sven Herzberg 19a95139ff Revert "let the close button reflect the page_complete status of SUMMARY pages"
This reverts commit da3b33f1a8.

This was accidentally commited and intended for master only.
2009-12-10 22:08:30 +01:00
Sven Herzberg da3b33f1a8 let the close button reflect the page_complete status of SUMMARY pages
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=604289
In order to respect this properly, we have to restore the original
behavior by watching a flag to check if the user has already set this.

* gtk/gtkassistant.c: fix the bug by introducing a flag to check for
  non-automatic value setting
* tests/testassistant.c: updated the "generous assistant" to permit
  quick manual testing of this feature
2009-12-10 21:57:51 +01:00
Danielle Madeley 69bd84917c Fix GTK_TREE_MODEL_FILTER_GET_CLASS macro 2009-12-10 09:38:43 +11:00
Matthias Clasen 8ed0520df0 Bump version 2009-12-08 11:06:08 -05:00
Matthias Clasen 4483e2ee3b 2.18.5 2009-12-08 11:02:45 -05:00
Matthias Clasen 1d1132d02b Updates 2009-12-08 10:18:31 -05:00
Matthias Clasen f0111dba73 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.

May fix bug 598476 and 603652.
2009-12-08 10:13:06 -05:00
Matthias Clasen 141716164a Set colormap of offscreen pixmaps
This fixes problems in clutter-gtk. See bug 603619.
2009-12-08 10:03:19 -05:00
Alexander Larsson d71364f386 Fix up last commit
(cherry picked from commit 22d1d0d507)
2009-12-08 12:29:44 +01:00
Alexander Larsson 98f044cf41 Handle input extension events when making a window native
It may happen when turning a client side window into a native window
that the window, or some of its children with the same native parent
have extension events enabled, and thus have an input window enabled
for the native parent which needs to change as the window is made
native.

We fix this by temporarily disabling extension events on all the affected
windows while we create the native window, and then reenable them afterwards.

This fixes: https://bugzilla.redhat.com/show_bug.cgi?id=544624
(cherry picked from commit 159214173d)
2009-12-08 12:24:07 +01:00
Alexander Larsson 229b44b875 Fix damage report for lines drawn on offscreen windows
All kinds of lines (lines, segments, arcs, etc) need to take into
account the line properties (width, miter limit, joins, caps, etc)
to get proper damage extents.

This is not really possible to do, but we can make it likely to work
with some ad-hoc estimates.

Fixes bug 603904.
(cherry picked from commit 98a9c5c69a)
2009-12-07 10:52:53 +01:00
Alexander Larsson 141366a040 Fix mouse pointer handling on multiple screens
The fix in 786b589d95 for the
"Cannot click buttons more than once without moving the mouse cursor"
did not correctly handle setups with multiple screens in one display.

We need to handle the case where the first XQueryPointer returns
a different root window than the default one.

This fixes bug 597386 (agaion)
(cherry picked from commit 48fc0f36c2)
2009-12-07 10:52:48 +01:00
Alexander Larsson 4a92edd10a Don't filter out BUTTON_MOTION event masks
We don't really need to filter these out, it was just a leftover
safety check to not override the GDK_POINTER_MOTION_MASK.

Furthermore when we changed behaviour to not always select for native
pointer motion it is actually wrong. We'll still get normal motion
events for the toplevel which we will emulate as button motion on the
child, but the button motion mask will not be inherited by implicit
grabs which makes us not get any motion events during grabs.

This fixes bug 601473
(cherry picked from commit b509f28559)
2009-12-02 11:34:39 +01:00
Matthias Clasen b1861ddc6a Bump version 2009-12-01 00:02:53 -05:00
Matthias Clasen 516918e5ca 2.18.3 2009-12-01 00:00:32 -05:00
Matthias Clasen 12061ca351 Updates 2009-11-30 23:06:54 -05:00
Javier Jardón 54d1804267 [gdk/directfb] Made dfb_events_dispatch() thread save
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=591438
(cherry picked from commit ee2c797e70)
2009-11-30 22:39:29 -05:00
Matthias Clasen 42b5eb6246 Use a url label instead of a link button
This looks nicer, and allows us to make the url-hook work again
for the website url. Fixes bug 603201.
(cherry picked from commit 478ca88ae5)
2009-11-30 22:39:16 -05:00
Matthias Clasen 9df22c15ad Allow holding compose key while entering a sequence
This broke when we started allowing Super, Hyper and Meta as
accel modifiers. See bug 601959.
(cherry picked from commit c08ed56f13)
2009-11-30 22:39:06 -05:00
Matthew Barnes def9343ce0 Bug 601869 - GtkUIManager assumes too much about popup menus
Check that the child of a popup menu item is actually a GtkAccelLabel
before setting its "accel-closure" property.
(cherry picked from commit 25a8c7316d)
2009-11-30 22:38:44 -05:00
Matthias Clasen 92289a5b43 Rework a broken workaround for a Java bug
This was committed to fix bug 568263, but it is not correct, as
pointed out in 601611.
(cherry picked from commit 6dfb21e616)
2009-11-30 22:38:33 -05:00
Matthias Clasen b1dfeb6fca Handle reparenting out of a socket
Although it isnt' allowed by the XEMBED protocol, its possible
that the plug window will be reparented out of the socket without
the socket having done so. See bug 123569. Patch by David Jander.
(cherry picked from commit 84254039f2)
2009-11-30 22:38:20 -05:00
Matthias Clasen 066c3c42dd Allocate a large-enough and mask
We came up short when the image width is not a multiple of 8.
Bug 585383, fix by Felix Riemann.
(cherry picked from commit 869ee7f232)
2009-11-30 22:38:11 -05:00
Matthias Clasen caded18ecf Be a bit more forgiving about invalid monitor number
By moving the g_return_if_fail() checks into individual monitor functions.
See bug 561130.
2009-11-30 22:38:01 -05:00
Matthias Clasen b6138cc8c0 Short-circuit get_frame_extents for override-redirect windows
There's no reason to do our expensive round-trips for an override-redirect
window; just use local information. See bug 581145. Patch by Owen Taylor.
2009-11-30 22:37:53 -05:00
Christian Persch 7ef6a12b58 Implement gail_image_get_image_size for storage GICON and ICON_NAME
Bug #602724.
(cherry picked from commit 7abd4d1359)
2009-11-30 22:37:43 -05:00
Matthias Clasen 43ee7aade9 Remove misleading text about invisible text
Invisible text has been working reasonably well since 2.8.
(cherry picked from commit b72c2143b0)
2009-11-30 22:37:02 -05:00
Matthias Clasen b796473068 Make level3 keys work again
We were not paying attention to consumed modifiers when adding
virtual modifiers. This fixes RH bug 537567.
2009-11-30 22:36:49 -05:00
Christian Persch 79f1257732 Make setting the icon-size property on GTK_IMAGE_GICON images work
Bug #602725.
(cherry picked from commit ba218a7789)
2009-11-30 22:36:37 -05:00
Michael Emmel f9df0250d1 Fix for position bug
https://bugzilla.gnome.org/show_bug.cgi?id=590800
(cherry picked from commit 04d7d81056)
2009-11-30 22:28:02 -05:00
Alexander Larsson f17f4cace4 Position new ui nodes correctly when existing dirty dead nodes exist
If you add a new ui node that was recently removed it will still be
in the tree, but marked dirty. In this case we previously just used
the old node, which meant it wouldn't get the same position as if
the dirty nodes had been processed first (and deleted) before the
new node was added.

We handle this by detecting this case and reposition the node as if
it was new.

https://bugzilla.gnome.org/show_bug.cgi?id=603128
(cherry picked from commit 7b19640d8f579da5d802d2a6f72128a6f29a5f33)
2009-11-30 14:21:21 +01:00
Nils-Christoph Fiedler d7feac3cc2 Updated Low German translation 2009-11-28 13:39:27 +01:00
Nishibori Kiyotaka 5f9eb1a3a3 Updated Japanese translation 2009-11-26 23:03:07 +09:00
Matthias Clasen c412fc78d0 Set scale_num only once
This modifies the previous commit to be according the upstream libjpeg
maintainers recommendations. See bug 588740.
2009-11-25 23:41:48 -05:00
Nils-Christoph Fiedler f2807b7b7f Updated Low German translation 2009-11-22 20:53:06 +01:00
Tor Lillqvist 40fae81227 Restore optional debugging printout of normal events 2009-11-20 20:39:29 +02:00
Nils-Christoph Fiedler a3ccd6bfee Updated Low German translation 2009-11-16 19:03:11 +01:00
Nils-Christoph Fiedler 092d2578ff Added Low German translation 2009-11-15 18:03:34 +01:00
Mario Blättermann 8c86703517 Added dummy Low German translation 2009-11-15 18:01:41 +01:00
Hans Breuer 5bd532e3e6 Fix _gdk_window_impl_new() for win32
The previous implementation was modifying the passed in window ("private") rather than deriving information from it. Also the type hints are now forwarded like in the X11 implementation instead of ignored.

The effect of the unfinished client-side-window porting was e.g. a crash with Dia's navigation window which happened to create a window with an apparent depth of zero.
2009-11-08 18:23:24 +01:00
Christian Dywan 248854947e Only set the accesible label if it is non-empty
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599446
2009-11-06 10:21:32 +01:00
Matthias Clasen 547ce20360 Fix loading scaled-down jpegs
The assumption that scale_num will be automatically be 1 is no longer
with libjpeg7. So set it explicitly. Bug #588740.
2009-11-05 10:35:17 -05:00
Alexander Larsson 76cadc9d3a Don't unnecessarily clear windows with no exposure mask set
When we just invalidate some area from the app we don't need to clear
windows with no exposure mask, because that wouldn't have happened pre-csw
anyway. Additionally we can avoid such clearing for native windows in cases
where the xserver already did the clearing like on exposes or when resizing
toplevels.

This means we don't fully redraw a GtkSocket when it resizes, thus
avoiding flicker in gnome-mplayer as reported in this bug:
https://bugzilla.gnome.org/show_bug.cgi?id=598050
(cherry picked from commit 9e51c10edc)
2009-11-05 13:58:35 +01:00
Alexander Larsson ace51e1426 Document clears_as_native and make the name more descriptive
(cherry picked from commit 9ae0d9a44f)
2009-11-05 13:58:30 +01:00
Alexander Larsson 92efb23b4b Add supports_native_bg to GdkWindowImpl
Backends that support native window background setting (and that clears
new window areas to this color/pixmap) should set this to true.

Currently only X11 supports this.
(cherry picked from commit 39993f147f)
2009-11-05 13:58:24 +01:00
Alexander Larsson db8a34f16a Don't unnecessarily expose areas copied by native windowing system
When moving or scrolling a window with native children, there is no
need to expose the areas that are copied by the windowing system
as part of moving/resizing the native windows anyway.
(cherry picked from commit 4cd5c98942)
2009-11-05 13:58:08 +01:00
Alexander Larsson 8954a7daf5 Only send exposes on unmap if window really was unmapped
Exposing when you hide a hidden window is just a waste of time.
(cherry picked from commit a299797883)
2009-11-05 13:58:04 +01:00
Alexander Larsson a68e02b7c7 Flush outstanding stuff when clearing directly on a window
Clearing will directly modify the contents of the window, so we need
to flush any outstanding moves or double-buffering.
(cherry picked from commit 8c1ea38d84)
2009-11-05 13:57:59 +01:00
Adrian Johnson 9d43f0fff0 Take printer margins into account on Windows
Fixes bug #381371.
2009-10-27 12:29:37 +02:00
Dumitru Mișu Moldovan a21ab9d169 Updated Romanian translation 2009-10-26 22:48:18 +02:00
Dumitru Mișu Moldovan 51a3630acb Updated Romanian translation 2009-10-26 22:28:45 +02:00
Matthias Clasen 90f7a1ccfd Fix issues with symbolic colors in rc file parsing
Don't recreate the settings color hash every time, repopulate it
instead. This avoids invalidating the references held by RcContexts.
2009-10-25 23:53:50 -04:00
Matthias Clasen d56f5a843d Fixes for the compose-parse.py script
Several fixes by Ray Strode and Peter Hutterer to make compose-parse.py
work with the current X.org Compose file.
2009-10-25 23:53:41 -04:00
Matthias Clasen 69a93aaf9c Update compose sequences
This patch includes additions to the X.org Compose file from the
last year. Patch by Peter Hutterer
2009-10-25 23:53:28 -04:00
Matthew Barnes e3b14b6652 Bug 581150 - GtkIconView tries to paint items with invalid sizes
Run gtk_icon_view_layout() if necessary before attempting to paint the
icon view items during an expose event.  This ensures all the items have
valid sizes, as some themes don't take kindly to negative dimensions.
2009-10-23 19:56:21 -04:00
Tor Lillqvist c3bc476174 Use correct type text/uri-list for the dropped files selection
Fixes bug #599321.
2009-10-23 13:43:18 +03:00
Luca Ferretti 23eaeaf922 Add translators comments for tab labels (closes 599118) 2009-10-21 22:06:14 +02:00
Luca Ferretti 624619cba8 Minor fixes 2009-10-21 22:04:56 +02:00
Federico Mena Quintero e7e58a5301 bgo#563010 - Fix clearing the selection in GtkFileChooserButton
Previously the filename would get re-set on the button if one cleared the selection,
as an async cancellable was not getting canceled in that case.  Patch with
contributions from Milan Crha <mcrha@redhat.com>

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-21 12:31:25 -05:00
Matej Urbančič 69b525c6ff Updated Slovenian translation 2009-10-21 13:54:04 +02:00
Marek Kasik ac6f5d27e6 A small correction of previous commit
Correct of a typo.
2009-10-19 22:28:40 +02:00
Leonid Kanter f822714f98 Updated Russian translation 2009-10-19 19:35:13 +03:00
Leonid Kanter 15cdac8725 Updated Russian translation 2009-10-19 19:33:41 +03:00
Leonid Kanter 38f07a7a22 Updated Russian translation 2009-10-19 19:33:23 +03:00
Matthias Clasen ebcffee813 Correct a small oversight
When changing themes, we also need to update the box spacing of
tooltips.
2009-10-18 20:39:43 -04:00
Tor Lillqvist b3c11e8cf0 Use correct size for root window with multiple monitors
The root window width and height have already been correctly
initialised in _gdk_root_window_size_init() to cover all monitors, so
don't incorrectly re-initialise using GetSystemMetrics(SM_C[XY]SCREEN)
which only gives the size of the primary monitor anyway. (See MSDN.)

This fixes at least gdk_screen_get_{width,height}() which indirectly
affects at least the positioning of combo box pop-up menus on multiple
monitors.
2009-10-18 14:43:06 +03:00
Tor Lillqvist 975f101095 Delete a couple of leftover commented-out lines 2009-10-18 14:42:54 +03:00
Tor Lillqvist 28520601d5 Add missing newline to debugging output 2009-10-18 14:42:36 +03:00
Tor Lillqvist 880bec1717 Delete unused leftover static function 2009-10-18 12:11:49 +03:00
Tor Lillqvist e341a8c5f9 More meaningful debugging output in gdk_win32_window_get_root_coords 2009-10-18 12:11:26 +03:00
Tor Lillqvist 1516e6205b Remove unused variables and static functions 2009-10-18 11:53:27 +03:00
Tor Lillqvist 6e6c4813b2 Correct function names in debugging output 2009-10-18 11:53:03 +03:00
Matthias Clasen ff765f478d Don't omit GTK_ICON_SIZE_DIALOG 2009-10-18 02:09:08 -04:00
Matthias Clasen a30b59229f Fix a problem in GtkImage size allocation
When GtkMisc padding is set on an image, the optimization for only
recalculating size after a clear() breaks, since the requisition is
not (0, 0). We need a separate 'need_calc' flag.
2009-10-18 01:39:22 -04:00
Matthias Clasen e47847baac Bump version 2009-10-17 00:54:44 -04:00
Matthias Clasen a8b26a8e87 2.18.3 2009-10-17 00:52:44 -04:00
Matthias Clasen 54856967db Updates 2009-10-16 21:52:07 -04:00
Rodrigo L. M. Flores d5d2e34b2f Updated Brazilian Portuguese translation 2009-10-16 17:33:54 -03:00
Eitan Isaacson 1f91789951 Explicitly set the accessible name of GtkToolButton.
GAIL is not able to retrieve the correct button name alone, so it must be set in gtktoolbutton.c

https://bugzilla.gnome.org/show_bug.cgi?id=597596
2009-10-16 10:38:56 -04:00
Ivar Smolin 6c18744be1 Updating Estonian translation 2009-10-16 11:46:02 +03:00
Ivar Smolin 579d725947 Updating Estonian translation 2009-10-16 11:42:53 +03:00
David Planella 8ae3b32538 Updated Catalan translation from the master branch 2009-10-15 20:39:49 +02:00
David Planella 5b3929efda Updated Catalan translation 2009-10-15 20:39:11 +02:00
David Planella 8b9a272949 Updated Catalan translation from the master branch 2009-10-15 20:36:49 +02:00
David Planella 75933df105 Updated Catalan translation 2009-10-15 20:35:58 +02:00
Tor Lillqvist 97e9ee336b Don't use XP themes until they work 2009-10-13 21:32:04 +03:00
Tor Lillqvist 07e073bd7f Don't include gdkwin32.h when testing Objective-C++
Fixes bug #594644. If somebody actually some day needs to include
gdkwin32.h from an Objective-C++ program something needs to be done.
2009-10-09 14:34:41 +03:00
Matthias Clasen b7be3e521a Make selecting the last character work again
This broke when I added link support. git bisect helped to track it
down.
2009-10-09 07:12:01 +02:00
Tor Lillqvist d3eaae3a35 Create and install gtk-update-icon-cache.exe.manifest to avoid UAC 2009-10-08 15:40:45 +03:00
Tor Lillqvist 0ba0899b10 Don't ignore SIGPIPE unless it exists 2009-10-08 15:15:35 +03:00
Tor Lillqvist 70f6d0d4cc Fix the GDI+ gdk-pixbuf loader
Should fix bug #552678. Patch by Dominic Lachowicz, based on a clueful
response from Jason Copenhaver on Albeto Ruiz's blog
http://aruiz.typepad.com/siliconisland/2009/08/dear-lazyweb-gtk-need-gdi-help.html
2009-10-08 13:15:56 +03:00
306 changed files with 99083 additions and 52400 deletions
+157
View File
@@ -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
View File
@@ -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
View File
@@ -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 \
+2 -1
View File
@@ -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
-1
View File
@@ -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
+2 -2
View File
@@ -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 ##### -->
+2 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+8 -7
View File
@@ -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
View File
@@ -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) {
+13 -4
View File
@@ -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;
+4
View File
@@ -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
+5 -4
View File
@@ -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
+2
View File
@@ -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;
+1
View File
@@ -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)
{
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
}
+1
View File
@@ -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 */
+2 -1
View File
@@ -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))
+3 -3
View File
@@ -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];
+1 -1
View File
@@ -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];
+6
View File
@@ -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)
{
}
+3
View File
@@ -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__ */
+6 -3
View File
@@ -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;
}
+8
View File
@@ -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
+1
View File
@@ -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
-2
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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));
+2 -2
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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;
}
+5 -2
View File
@@ -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
+4
View File
@@ -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,
+2 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
{
-1
View File
@@ -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
View File
@@ -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);
+14
View File
@@ -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
View File
@@ -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);
}
+7 -6
View File
@@ -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 =
+7 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+7 -4
View File
@@ -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 ||
+60 -31
View File
@@ -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,
+3
View File
@@ -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
View File
@@ -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
+2
View File
@@ -686,7 +686,9 @@ do_post_parse_initialization (int *argc,
gettext_initialization ();
#ifdef SIGPIPE
signal (SIGPIPE, SIG_IGN);
#endif
if (g_fatal_warnings)
{
-1
View File
@@ -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"
+3
View File
@@ -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
View File
@@ -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);
-1
View File
@@ -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) \
-1
View File
@@ -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"
+6 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+6
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
-2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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,
+2
View File
@@ -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);
}
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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);
}
}
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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 },
};
+2 -1
View File
@@ -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)
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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,
+3
View File
@@ -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 -3
View File
@@ -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);
+18 -1
View File
@@ -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;
}
+1
View File
@@ -39,6 +39,7 @@ struct _GailBooleanCell
{
GailRendererCell parent;
gboolean cell_value;
gboolean cell_sensitive;
};
GType gail_boolean_cell_get_type (void);
+1
View File
@@ -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
+5 -9
View File
@@ -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;
}
+6 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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