Compare commits

...

923 Commits

Author SHA1 Message Date
Matthias Clasen
7e36ea7010 2.20.0 2010-03-23 10:18:29 -04:00
Miloš Popović
f31e6568fa Updated Serbian translations 2010-03-23 10:39:34 +01:00
Matthias Clasen
c02fe1ff28 Bump required version of glib in INSTALL.in, too 2010-03-23 00:21:24 -04:00
Matthias Clasen
909fe7f933 Set version to 2.20.0 2010-03-22 23:30:00 -04:00
Matthias Clasen
3ed737e5fc Another small doc cleanup 2010-03-22 23:15:52 -04:00
Matthias Clasen
f5c6712002 Minor doc cleanup 2010-03-22 23:10:38 -04:00
Matthias Clasen
fb262f51c6 Updates 2010-03-22 18:25:49 -04:00
Wouter Bolsterlee
e46240063e Dutch translation updated by Tino Meinen 2010-03-22 19:34:29 +01:00
Sjoerd Simons
a957d4593e Prevent the destruction of the menu label on page removal
In certain cases the menu label of a notebook page will be reused after the
page was removed from the notebook, for instance when a page is dragged from
one notebook to another. For such cases make sure that the menu label isn't
destroyed as part of destroying the menu item it was in.
2010-03-22 14:11:05 -04:00
Matthias Clasen
3c7b29098c Add a dependency for Gtk-2.0.gir on Gdk-2.0.gir
Another parallel build fix, see bug 610946.
2010-03-22 13:02:24 -04:00
Damien Lespiau
0a0e0a868a introspection: Fix parallel builds
One needs to add an explicit dependency between the gir files and the
.la libtool wrapper as this dependency is not added automatically by
Makefile.introspection. Not adding these breaks parallel builds as make
does not wait for the .la to be generated before launching g-ir-scanner.
2010-03-22 12:53:18 -04:00
Inaki Larranaga Murgoitio
086b952267 Updated Basque language 2010-03-22 14:22:35 +01:00
Clytie
cf491292cc Updated Vietnamese translation 2010-03-22 23:18:44 +10:30
Clytie
b5e9579d49 Updated Vietnamese translation 2010-03-22 23:18:03 +10:30
Inaki Larranaga Murgoitio
095dfd783f Updated Basque language 2010-03-22 13:08:52 +01:00
Sweta Kothari
8b6abfd320 Updated Gujarati translations 2010-03-22 13:04:22 +05:30
Sweta Kothari
01f3dfc2b5 Updated Gujarati Translations 2010-03-22 12:31:13 +05:30
Daniel Nylander
910e68502b Updated Swedish translation 2010-03-21 21:12:28 +01:00
Daniel Nylander
beb3d24a22 Updated Swedish translation 2010-03-21 12:29:31 +01:00
Daniel Nylander
e1114f60b5 Updated Swedish translation 2010-03-21 12:29:31 +01:00
Tommi Vainikainen
e309bec6ea Updated Finnish translation 2010-03-20 21:56:13 +02:00
Chao-Hsiung Liao
782dda6c21 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2010-03-20 20:11:07 +08:00
Matthias Clasen
5f29a679f8 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.
2010-03-19 23:24:33 -04:00
Tomas Bzatek
8dc4a4f954 search: update for tracker 0.8 API
Tracker 0.8 series (and late 0.7.xx) introduces new API based on SPARQL
query language. The queries here use fulltext search, just like with
with previous tracker versions. Old tracker 0.6 support is still maintained.
2010-03-19 14:40:11 +01:00
Fabrício Godoy
d2642e7ae3 Updated Brazilian Portuguese Translation 2010-03-18 23:46:13 -03:00
A S Alam
f242258f37 Completed Punjabi Translation by A S Alam 2010-03-19 08:07:20 +05:30
Dumitru Mișu Moldovan
b3112949bd Updated Romanian translation 2010-03-18 22:33:16 +02:00
Mattias Põldaru
0e4dc91e32 Estonian translation updated 2010-03-18 16:27:02 +02:00
Matthias Clasen
6ad8909e3c Make menu scrolling work with auto mnemonics
The menu scrolling code is not robust against menu repositioning so
we have avoid causing unnecessary recalculations of labels in parent
menuitems.
2010-03-17 21:18:31 -04:00
Hiroyuki Ikezoe
3a65f554c5 Fix a tiny documentation typo 2010-03-17 13:10:17 -04:00
Marek Kasik
59e5e2dd5b Define httpGetHostname() for CUPS 1.1 and lower
Function httpGetHostname() is in CUPS since version 1.2, that is why we need
its equivalent for lower versions of CUPS (#610176).
2010-03-17 10:14:24 +01:00
Javier Jardón
14c9a3a596 More uses of g_strcmp0 2010-03-16 19:16:31 +01:00
Rafal Luzynski
839c88fd73 Use g_strcmp0 where it makes sense 2010-03-16 19:01:25 +01:00
Hiroyuki Ikezoe
590ceded96 Don't get settings unless we need them
Pointed out in bug 613028.
2010-03-16 13:01:18 -04:00
Matthias Clasen
996541d096 Don't crash in DND when the X server doesn't support SHAPE
Reported in bug 612768
2010-03-16 12:35:13 -04:00
Matthias Clasen
e9b4d7c69b Require a new-enough glib 2010-03-15 22:30:57 -04:00
Jan Arne Petersen
63c21edab7 Fix notify::label emmision in GtkMenuItem
Emit notify::label in GtkMenuItem also when label is changed through GtkAction.

Refactor GtkMenuItem and remove duplicated code for GtkLabel creation. Reset
the accel-widget back to the GtkMenuItem itself when there is no action related
to the GtkMenuItem anymore.

Add test for notify::label emmisions.

Fixes bug 612574 - GtkMenuItem does not emit notify::label when label is
changed through GtkAction.
2010-03-15 20:50:07 +01:00
Tristan Van Berkom
e8c0920494 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-14 16:29:42 -04:00
Matthias Clasen
a085bb1f0b Improve the behaviour of automatic mnemonics
With this change, key events continue to go to an open menu even
when the pointer is moved over a non-selectable menuitem. The mnemonics
are shown and hidden accordingly.
2010-03-14 16:11:48 -04:00
Matthias Clasen
f3f44d6650 Update release notes
Add a warning about the change in GtkBuilders id/name handling.
2010-03-14 16:08:51 -04:00
Colin Walters
55feb804f0 [startup notification] Set APPLICATION_ID
http://lists.freedesktop.org/archives/xdg/2010-February/011321.html

In addition to ICON, BINARY_NAME etc., it's very helpful if launcher
programs include the name of the .desktop file they're launching.
This is APPLICATION_ID.

https://bugzilla.gnome.org/show_bug.cgi?id=611118
2010-03-14 15:13:26 -04:00
Fran Diéguez
ab650a1bef Update Galician translation 2010-03-13 21:04:38 +01:00
Luca Ferretti
d7796a4b7a Updated Italian translation 2010-03-13 15:42:07 +01:00
Matthias Clasen
c55e0fc372 Fix tests 2010-03-13 00:49:10 -05:00
Luca Ferretti
11649e4ca7 Updated Italian translation 2010-03-12 22:52:01 +01:00
Matthias Clasen
233281fd39 Recompute label contents when the buffer changes
Also reset cursor positions to avoid assertions.
This fixes bug 612505, patch by Tristan Van Berkom.
2010-03-12 15:59:59 -05:00
Matthias Clasen
f73f9d802c Fix gdk_window_set_icon_name
A typo kept this from working on toplevel windows.
Reported in bug 612346.
2010-03-12 15:59:59 -05:00
Matthias Clasen
f868a6efb4 updates 2010-03-12 15:59:59 -05:00
Christian Dywan
652df93594 Remove most G_OBJECT casts in the tutorial
This fixes bug 605333.
2010-03-12 21:05:33 +01:00
Christian Dywan
072673c612 Reword explanation of delete-event and destroy 2010-03-12 21:03:35 +01:00
Christian Dywan
325c86f83c Spell delete-event with hyphen and don't cast to G_OBJECT 2010-03-12 21:02:42 +01:00
Christian Dywan
c1a3a0fd9b Improve docs of gtk_notebook_set_tab_label_packing
Use the term tab label rather than bookmark and point out
that packing type is deprecated.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=612575
2010-03-12 17:56:21 +01:00
Tor Lillqvist
a46d2e68c6 Check for __MINGW64__ and not __MINGW64
Should fix bug #612308.
2010-03-12 11:47:15 +02:00
Javier Jardón
2c043d33c2 Improve GTK_WIDGET_FLAGS() deprecation documentation
Also, use GTK_OBJECT_FLAGS() instead.
Note that some internal code still uses GTK_WIDGET_FLAGS().

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-12 06:46:34 +01:00
Christian Dywan
f90abc4eed Fix definition of GTK_VOLUME_BUTTON_CLASS cast
There is an extra 'e' there.
2010-03-11 15:27:34 +01:00
Alan Knowles
8b6e1b4de2 Fix introspection on return value transfer for gtk_clipboard_get*
ownership transfer set to none for clipboard get methods
2010-03-10 22:21:52 +08:00
Alan Knowles
96acf8d46d Fix gtk_text_tag_table_lookup transfer introspection notes
transfer should be none for return value of gtk_text_tag_table_lookup
2010-03-10 22:13:53 +08:00
Jorge González
d0094e3d03 Updated Spanish translation 2010-03-10 08:59:18 +01:00
Jorge González
a20eb8df22 Updated Spanish translation 2010-03-10 08:55:17 +01:00
David Planella
375b28f079 Updated Catalan translation 2010-03-09 20:13:02 +01:00
Matthias Clasen
975c84ff79 Bump version 2010-03-09 13:56:16 -05:00
Matthias Clasen
3737c34b44 2.19.7 2010-03-09 13:52:34 -05:00
Matthias Clasen
0eb89bf378 Updates 2010-03-09 12:07:35 -05:00
Javier Jardón
6a513f2289 Fix compilation warning: use entry var correctly initilized
The warning was added in
commit c744594b20
2010-03-09 17:15:53 +01:00
Matthias Clasen
718bf77712 Remove conflicting legacy compose sequences in favour of X.org sequences
Patch by Jeroen Hoek. See bug 557420 for a prolonged discussion.
Quick summary of the removed sequences:

<Multi_key> <asciicircum> <0>
Consistency. <Multi_key> <asciicircum> [1..9] gives the superscript digit,
legacy sequence for zero is inconsistent.

<Multi_key> <c> <o>
<Multi_key> <c> <O>
Consistency. <Multi_key> <c> [:letter:] already gives vowel plus caron, legacy
sequence for c is inconsistent.

<Multi_key> <comma> <e>
<Multi_key> <comma> <E>
Consistency. <Multi_key> <comma> [:letter:] is for letter with cedilla,
<Multi_key> <semicolon> [:letter:] is for letter with ogolek

<Multi_key> <C> <slash>
<Multi_key> <slash> <C>
Unintuitive. ¢ is visually a vertical bar through a lowercase c, not a slash
through an uppercase C. ₡ has no alternatives, whilst ¢ can be typed as
<Multi_key> <bar> <c>.

<Multi_key> <d> <minus>
đ can be input through <Multi_key> <minus> <d>. <Multi_key> <d> <minus> is used
for ₫.

<Multi_key> <equal> <L>
<Multi_key> <L> <equal>
Unintuitive. ₤ has two dashes, £ one; therefore L + = > ₤, and L + - = £.

<Multi_key> <exclam> <s>
<Multi_key> <exclam> <S>
Consistency. <Multi_key> <exclam> [:letter:] is used for letter with dot below.
§ can be input using <Multi_key> <o> <s>.

<Multi_key> <period> <period>
Might need an alternative for ˙, but … (upstream) has no alternative either.

<Multi_key> <underscore> <a>
<Multi_key> <underscore> <A>
<Multi_key> <underscore> <o>
<Multi_key> <underscore> <O>
Consistency. <Multi_key> <underscore> [:vowel:] gives vowel with macron for ȳ ū
ī ē too.

<Multi_key> <minus> <d>
<Multi_key> <minus> <D>
<Multi_key> <o> <e>
<Multi_key> <O> <E>
Redundant. In upstream as is.
2010-03-09 02:26:51 -05:00
Matthias Clasen
0ffc31d762 Regenerated compose tables
Now without non-BMP keysyms.
2010-03-09 02:15:20 -05:00
Matthias Clasen
a152f7360d Updates to the compose-parse.py script
Get gdkkeysyms.h from git, instead of the outdated copy from svn.
Get Unicode 5.2.0 data. Fix a few issues with missing keysyms in
keysyms.txt. Make the filtering of non-BMP keysyms work.
2010-03-09 02:12:33 -05:00
Matthias Clasen
0fca5a3cca Add some keysyms missing from keysyms.txt 2010-03-09 00:54:08 -05:00
Matthias Clasen
6ab9b85159 fix file permissions 2010-03-09 00:52:26 -05:00
Matthias Clasen
09b64dab0d Add some more annotation to the DND api 2010-03-09 00:12:57 -05:00
Matthias Clasen
bf88eee131 Fix file chooser refcounting issues
This was reported in bug 600992.
2010-03-08 23:56:43 -05:00
Matthias Clasen
2036d9262e Add missing colons 2010-03-08 21:34:17 -05:00
Christian Dywan
bc284541a9 Document the use of NULL in gtk_window_set_transient_for
This fixes bug 611319.
2010-03-08 21:22:54 -05:00
Matthias Clasen
9c8dbc292f Minor doc clarification for gdk_drag_begin
Mention that targets is a list of atoms. Bug 611317.
2010-03-08 21:01:30 -05:00
Javier Jardón
32b9aeaadd Don't use GTK_WIDGET_STATE in internal code anymore
Use gtk_widget_get/set_state() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-09 02:40:17 +01:00
Matthias Clasen
b61fe50640 Remove obsolete translator comments
Reported in bug 611217
2010-03-08 20:14:37 -05:00
Matthias Clasen
c744594b20 Add accessible alternatives to entry icon functionality
Inspired by the complaint in bug 611051.
2010-03-08 19:59:24 -05:00
Matthias Clasen
ac6525b27c Add introspection annotations to gtk_drag_(source|dest)_set
Also move docs inline at the same time. Bug 610905.
2010-03-08 19:21:32 -05:00
Ryan Lortie
fcc43e7b6d Update release HOWTO
- 'cvs' -> 'git'
- gnome-hackers is now closed.  Reply-to: desktop-devel-list instead.
2010-03-08 12:14:19 -05:00
Matthias Clasen
d84a831423 Don't scroll to insert after middle-click paste
Patch by Ignacio Casal Quinteiro, bug 612119.
2010-03-08 11:25:26 -05:00
Matthias Clasen
87f48634f4 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 10:36:11 -05:00
Nils-Christoph Fiedler
e629a9c7a8 Updated LowGerman translation 2010-03-08 11:41:52 +01:00
Nils-Christoph Fiedler
770ebc707b Updated LowGerman translation 2010-03-08 11:38:51 +01:00
Nils-Christoph Fiedler
8d78ae44da Updated LowGerman translation 2010-03-08 11:38:50 +01:00
Alexander Shopov
f32d4c104f Updated Bulgarian translation 2010-03-08 07:02:00 +02:00
Michael Natterer
0a49865ec4 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.
2010-03-07 12:15:33 +01:00
Jennie Petoumenou
85611bedcd Updated Greek translation. 2010-03-07 06:56:23 +01:00
Jennie Petoumenou
7253ed5dd4 Updated Greek translation. 2010-03-07 00:07:43 +01:00
Claude Paroz
dbda10d03e Updated French translation 2010-03-06 15:22:12 +01:00
Javier Jardón
72948f46bd Don't use GTK_WIDGET_SET_FLAGS() in gtk_widget_init() 2010-03-06 13:17:56 +01:00
Javier Jardón
691c13c424 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_PARENT_SENSITIVE)
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 13:13:01 +01:00
Javier Jardón
a7efb2eaa0 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_RC_STYLE)
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 13:01:58 +01:00
Javier Jardón
24491f8224 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_APP_PAINTABLE)
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 12:29:26 +01:00
Javier Jardón
74ed719fa4 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_MAPPED)
Use new API instead: gtk_widget_set_mapped ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 12:02:21 +01:00
Javier Jardón
1934de4b65 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_REALIZED)
Use new API instead: gtk_widget_set_realized ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 11:51:33 +01:00
Javier Jardón
24bafd8693 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_NO_WINDOW)
Use new API instead: gtk_widget_set_has_window ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 11:37:06 +01:00
Daniel Nylander
2d4b7b2630 Updated Swedish translation 2010-03-06 00:26:05 +01:00
Daniel Nylander
44a8c5f3ff Updated Swedish translation 2010-03-06 00:24:37 +01:00
Joanmarie Diggs
4759da2634 Add/Remove ATK_STATE_SENSITIVE according to cells' state.
Bug #569042.
2010-03-05 14:48:23 +08:00
Patrick Bernaud
7ab2155aef Move documentation to inline comments: GtkPlug
https://bugzilla.gnome.org/show_bug.cgi?id=611707

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-03-05 05:37:16 +01:00
Steven Harms
3f579a7a93 Move documentation to inline comments: GtkVBox
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611831
2010-03-05 05:25:07 +01:00
Fran Diéguez
a5e496cf87 Update Galician translation 2010-03-05 00:25:31 +01:00
Friedel Wolff
01593516f1 Update Afrikaans translation 2010-03-04 11:35:33 +01:00
Li Yuan
8c30affb6e Return FALSE in signal handlers to make the signals be propagated
Bug #611686.
2010-03-04 16:30:00 +08:00
Steven Harms
15d1d8bb3b Move documentation to inline comments: GtkVSeparator
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611662
2010-03-04 02:33:56 +01:00
Steven Harms
f0f3b01876 Move documentation to inline comments: GtkVScrollbar
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611658
2010-03-04 02:33:50 +01:00
Gabor Kelemen
244ae204da Updated Hungarian translation 2010-03-04 00:34:29 +01:00
Steven Harms
69279262bc Update gtkvscale documentation for in code comments. Removed template document 2010-03-03 23:46:15 +01:00
Inaki Larranaga Murgoitio
24ba8f315e Updated Basque language 2010-03-03 23:20:00 +01:00
Javier Jardón
62a829dd30 Add version info about the deprecation of GTK_WIDGET_SENSITIVE
This completes the patch of
commit 64f526d34e
2010-03-03 23:05:40 +01:00
Inaki Larranaga Murgoitio
f6d54ac7be Updated Basque language 2010-03-03 22:43:01 +01:00
Javier Jardón
16a59ad912 Deprecate widget flag: GTK_WIDGET_REALIZED
Use gtk_widget_get_realized() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:41:05 +01:00
Javier Jardón
1fe7d3cefd Deprecate widget flag: GTK_WIDGET_MAPPED
Use gtk_widget_get_mapped() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:19:03 +01:00
Nils-Christoph Fiedler
f4d9c7be2b Updated LowGerman translation 2010-03-03 15:51:31 +01:00
Nils-Christoph Fiedler
42f1789c1e Updated Low German translation 2010-03-03 15:24:51 +01:00
Nils-Christoph Fiedler
fc82769a88 Updated Low German translation 2010-03-03 15:22:58 +01:00
Kjartan Maraas
6520046f03 Updated Norwegian bokmål translation 2010-03-03 13:51:43 +01:00
Javier Jardón
32d043535b Fix gtk_widget_is_sensitive() function. Second try
Use GTK_PARENT_SENSITIVE flag instead
gtk_widget_get_sensitive(widget->parent)
2010-03-03 02:39:25 +01:00
Gabor Kelemen
f61016f554 Updated Hungarian translation 2010-03-03 00:56:00 +01:00
Javier Jardón
491ed58420 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_NO_SHOW_ALL) 2010-03-02 18:24:21 +01:00
Javier Jardón
f8fb228752 Fix gtk_widget_is_sensitive() function
The bug was introduced in
commit a27d5a2c9e
2010-03-02 17:54:16 +01:00
Javier Jardón
e8e95d4c5e Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_DEFAULT)
Use new API instead: gtk_widget_set_can_default ()
2010-03-02 07:58:05 +01:00
Javier Jardón
483a5a9e1a Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_FOCUS)
Use new API instead: gtk_widget_set_can_focus ()
2010-03-02 04:42:54 +01:00
Gabor Kelemen
f19dc0bd4b Updated Hungarian translation 2010-03-02 00:29:40 +01:00
Petr Kovar
1ec18b9258 Update Czech translation 2010-03-01 20:12:54 +01:00
Javier Jardón
c3d09e5627 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_SENSITIVE) 2010-03-01 18:24:28 +01:00
Javier Jardón
27b64f50e6 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_DOUBLE_BUFFERED)
Use new API instead: gtk_widget_set_double_buffered ()
2010-03-01 18:14:05 +01:00
Javier Jardón
b909abaa62 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_RECEIVES_DEFAULT)
Use new API instead: gtk_widget_set_receives_default ()
2010-03-01 18:03:19 +01:00
Javier Jardón
b4b95d07f8 Deprecate widget flag: GTK_WIDGET_PARENT_SENSITIVE
Use gtk_widget_get_sensitive() on the parent widget instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 07:57:27 +01:00
Javier Jardón
214a023e91 Deprecate widget flag: GTK_WIDGET_VISIBLE
Use gtk_widget_get_visible() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 07:52:07 +01:00
Javier Jardón
4232115e22 Deprecate widget flag: GTK_WIDGET_HAS_FOCUS
Use gtk_widget_has_focus() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 06:11:01 +01:00
Javier Jardón
64f526d34e Deprecate widget flag: GTK_WIDGET_SENSITIVE
Use gtk_widget_get_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 05:59:23 +01:00
Javier Jardón
f5bde06e82 Don't use GTK_WIDGET_NO_WINDOW in internal code anymore
Use gtk_widget_get_has_window() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 05:44:19 +01:00
Javier Jardón
a27d5a2c9e Deprecate widget flag: GTK_WIDGET_IS_SENSITIVE
Use gtk_widget_is_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 05:32:51 +01:00
Javier Jardón
4f78f70b15 Deprecate widget flag: GTK_WIDGET_DRAWABLE
Use gtk_widget_is_drawable() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 04:55:55 +01:00
Mario Blättermann
6a9d4d8203 Updated German translation 2010-02-27 20:33:02 +01:00
Nils-Christoph Fiedler
8864b81903 Updated LowGerman translation 2010-02-26 13:56:29 +01:00
Nils-Christoph Fiedler
a9e0010ff8 Updated LowGerman translation 2010-02-26 13:42:38 +01:00
Florian Müllner
c4a3a7bdfd Add introspection annotation for gtk_builder_get_object 2010-02-25 21:33:15 +01:00
Nils-Christoph Fiedler
ab3d86d44d Updated LowGerman translation 2010-02-25 19:30:59 +01:00
Piotr Drąg
93ed6885a1 Updated Polish translation 2010-02-25 14:32:38 +01:00
Piotr Drąg
0807dd6512 Updated Polish translation 2010-02-25 13:50:21 +01:00
Leonid Kanter
973dbbf634 Update Russian translation 2010-02-25 13:59:46 +02:00
Leonid Kanter
31abb05273 Update Russian translation 2010-02-25 13:59:46 +02:00
Nils-Christoph Fiedler
707bec3ec2 Updated LowGerman translation 2010-02-25 12:47:55 +01:00
Duarte Loreto
211c174580 Updated Portuguese translation 2010-02-25 02:43:25 +00:00
Duarte Loreto
8d475898ab Updated Portuguese translation 2010-02-25 02:30:32 +00:00
Khaled Hosny
4ba5e0e5d6 Updated Arabic translation 2010-02-24 21:18:37 +02:00
Bruce Cowan
868e1b07c3 Updated British English translation 2010-02-24 16:40:46 +00:00
Matej Urbančič
7d2f616bc6 Updated Slovenian translation 2010-02-24 15:32:09 +01:00
Nils-Christoph Fiedler
62954b2f48 Updated LowGerman translation 2010-02-24 12:47:20 +01:00
Nils-Christoph Fiedler
e173212e45 Updated LowGerman translation 2010-02-24 12:39:51 +01:00
Alexander Shopov
0305a39900 Updated Bulgarian translation 2010-02-24 07:18:26 +02:00
Gintautas Miliauskas
00a404c515 Updated Lithuanian translation. 2010-02-24 00:04:14 +02:00
Gintautas Miliauskas
49429b07a9 Updated Lithuanian translation. 2010-02-24 00:03:20 +02:00
Ask H. Larsen
e8e29861d3 Updated Danish translation 2010-02-23 22:17:20 +01:00
Ask H. Larsen
cc6e4d0450 Updated Danish translation 2010-02-23 22:14:45 +01:00
Matthias Clasen
e1ddcf8466 Bump version 2010-02-23 15:57:14 -05:00
Matthias Clasen
1364b49e67 2.19.6 2010-02-23 15:54:56 -05:00
Jorge González
980326a231 Updated Spanish translation 2010-02-23 21:51:30 +01:00
Matthias Clasen
18d065c109 Updates 2010-02-23 15:14:28 -05:00
Matthias Clasen
6b5034323a Some forgotten docs 2010-02-23 14:14:02 -05:00
Matthias Clasen
e69add1dad Add some missing docs 2010-02-23 14:14:02 -05:00
Matthias Clasen
e601f6c478 doc fixes 2010-02-23 14:14:02 -05:00
Jorge González
a6fc3b9109 Updated Spanish translation 2010-02-23 20:01:39 +01:00
Matthias Clasen
60017d2676 Add 2.20 index for gdk docs 2010-02-23 13:57:47 -05:00
Matthias Clasen
28760d992b Init gdk in the same order as other backends
Patch by Andre Draszik, bug 609172
2010-02-23 13:07:23 -05:00
Matthias Clasen
7f483dbd7b Fix a memory leak in gdk_display_open in the directfb backend
Patch by Andre Draszik, bug 609172
2010-02-23 13:06:44 -05:00
Matthias Clasen
2dc9298b41 Simplify the DirectFBInit call
Patch by Andre Draszik, bug 609172
2010-02-23 13:06:03 -05:00
Matthias Clasen
3d66034d7d Catch directfb errors in gdk_colormap_new
Patch by Andre Draszik, bug 609172.
2010-02-23 13:05:24 -05:00
Matthias Clasen
e06edf375a Fix a crash at startup in the directfb backend
Patch by André Draszik, bug 600789
2010-02-23 12:54:00 -05:00
Matthias Clasen
cb184bed8c Fix gdk_windowing_window_at_pointer in the directfb backend
Patch by Hiroyuki Ikezoe, see bug 604799.
2010-02-23 12:51:45 -05:00
Matthias Clasen
1e381138f3 Correct annotations for gtk_tree_view_get_path_at_pos
Patch by Alan Knowles, bug 609514.
2010-02-23 12:51:45 -05:00
Matthias Clasen
325cbef27e Protect against X errors when clearing the DND cache
This was reported as a problem in bug 609952.
2010-02-23 12:51:44 -05:00
Mario Blättermann
cc66fd5eae Updated German translation 2010-02-23 17:59:28 +01:00
Matthias Clasen
33330ab332 Prevent a crash in the TGA loader
Reported in bug 609744.
2010-02-23 11:50:25 -05:00
Matthias Clasen
06d02578f8 Handle out-of-bounds parameters in gtk_assistant_get_nth_page
Better do what the docs say...fix by Tadej Borovšak, bug 610141.
2010-02-23 11:23:10 -05:00
Matthias Clasen
ddcc305f4e Fix a segfault in gtk_assistant_set_current_page
Reported by Tadej Borovšak in bug 610184
2010-02-23 11:16:04 -05:00
Matthias Clasen
c3f0cdcfcf Clarify the docs for gtk_info_bar_set_default_response
According to bug 610632
2010-02-23 11:13:16 -05:00
Matthias Clasen
9ce6db1297 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.
2010-02-23 10:30:23 -05:00
Matthias Clasen
42e90521a9 Only look at x11 backend for gtk-doc comments for now
See followup discussion in bug 610701
2010-02-23 10:24:55 -05:00
Mario Blättermann
47fed7080e Updated German translation 2010-02-23 16:24:38 +01:00
Matej Urbančič
1e4a58fce6 Updated Slovenian translation 2010-02-23 16:00:19 +01:00
Alexander Shopov
3866b07aa2 Updated Bulgarian translation 2010-02-23 09:35:51 +02:00
Matthias Clasen
23450f4e74 Fix incorrect string
String change. See bug 610235.
2010-02-22 23:49:47 -05:00
Matthias Clasen
bcee7bda64 Add some missing introspection annotations 2010-02-22 23:47:24 -05:00
Johan Dahlin
f0ce4dcaa5 [build] Include all target source files
Include all target source files when buildin the gir

https://bugzilla.gnome.org/show_bug.cgi?id=610701
2010-02-22 17:26:24 -03:00
Matthias Clasen
c85e7ec6d8 Add a missing introspection annotation for gdk_screen_get_default_colormap 2010-02-22 14:15:45 -05:00
Rimas Kudelis
cb438725c7 Updated Lithuanian translation 2010-02-22 16:54:27 +02:00
Carlos Garcia Campos
62758ff5ef [docs] Fix GtkPlug::embedded signal documentation
See bug #609650.
2010-02-22 15:02:58 +01:00
Carlos Garcia Campos
e5fc3dcf64 Emit GtkPlug::embedded signal when plug/socket are in the same process too
Fixes bug #609650.
2010-02-22 15:02:19 +01:00
Masato Hashimoto
eaf2549be2 Updated Japanese translation.
Translator: Masato Hashimoto <cabezon.hashimoto@gmail.com>
Reviewed by: 	Nishibori Kiyotaka <ml.nishibori.kiyotaka@gmail.com>
2010-02-22 22:32:13 +09:00
Khaled Hosny
5b3ef8007b Updated Arabic translation 2010-02-22 14:03:59 +02:00
Alexander Shopov
51f7cedbd1 Updated Bulgarian translation 2010-02-22 08:36:18 +02:00
Lucian Adrian Grijincu
433892a20f Updated Romanian translation 2010-02-21 21:02:51 +02:00
Piotr Drąg
b38e60b7ed Updated Polish translation 2010-02-21 00:07:42 +01:00
Piotr Drąg
019f74ae39 Updated Polish translation 2010-02-20 22:07:29 +01:00
Jorge González
a067d58449 Updated Spanish translation 2010-02-20 16:56:43 +01:00
Viktor Pracht
ff28ee8e6b [Annotations] Add array length for GtkTreeStore
https://bugzilla.gnome.org/show_bug.cgi?id=603923
2010-02-19 18:58:01 -02:00
Johan Dahlin
592fd7a93b [annotations] Add allow-none for gtk_menu_popup 2010-02-19 18:52:19 -02:00
Johan Dahlin
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
Michael Natterer
347d406f80 Bug 548026 - No accessor for GtkWidget.requisition
Add gtk_widget_get_requisition().
2010-02-19 17:04:20 +01:00
Matej Urbančič
68a4847ac9 Updated Slovenian translation 2010-02-18 13:48:34 +01:00
Manoj Kumar Giri
ca0b29ff55 Updated Oriya Translation 2010-02-17 21:22:41 +05:30
Mattias Põldaru
8b11bdb27c Estonian translation updated 2010-02-17 13:30:33 +02:00
Mario Blättermann
45842ec58b Updated German translation 2010-02-17 09:16:18 +01:00
Javier Jardón
41ef40bec0 [gdk/x11] Change the name of the functions in the header file
_gdk_keymap_add_virtual_modifiers() changed to
_gdk_keymap_add_virtual_modifiers_compat() in
commit 13d69e552d
This patch change the header name too.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=610063
2010-02-16 20:59:22 +01:00
Changwoo Ryu
046b760127 Update Korean translation 2010-02-16 05:31:45 +09:00
Matej Urbančič
cf76627e93 Updated Slovenian translation 2010-02-15 18:45:14 +01:00
Matej Urbančič
e2a742dbd2 Updated Slovenian translation 2010-02-15 18:44:55 +01:00
Stefan Kost
5ff724ea95 widget: ensure boolean before comparing
Ensure boolean value like done elsewhere.
2010-02-15 10:14:50 +02:00
Stefan Kost
ad93f2bc3e widget: don't check before setting to avoid costly type checks
There are no side effect of setting these flags and we don't fire g_object
notifies also. Thus set/unset right away without costly check of current state.
2010-02-15 10:14:50 +02:00
Javier Jardón
c77678e037 Revert "Drop duplicate declarations"
The issue is already fixed in f9a3ce06cc

This reverts commit 6f566057e8.
2010-02-13 04:54:19 +01:00
Matthias Clasen
13d69e552d Fix a compatibility problem
It turns out that my attempt at handling Super, Hyper and Meta better
is causing problems, mostly because Alt and Meta are commonly colocated
in the modmap, and apps do a check for the Alt modifier regularly.

See e.g bug 607697.
2010-02-12 18:55:42 -05:00
Matthias Clasen
6f566057e8 Drop duplicate declarations 2010-02-12 18:55:42 -05:00
Christian Dywan
f9a3ce06cc Remove duplicate definitions of gtk_widget_set/get_realized/mapped 2010-02-12 18:10:17 +01:00
Michael Natterer
0231cff988 Allow calling gtk_widget_style_attach() only when realized 2010-02-11 09:27:05 +01:00
Petr Kovar
96d07cacb2 Update Czech translation 2010-02-11 02:26:16 +01:00
Javier Jardón
3cccae316e Fix compilation warning: return FALSE instead NULL 2010-02-11 01:11:17 +01:00
Javier Jardón
45987f44c4 Fix compilation warning: cast to GCompareFunc 2010-02-11 00:57:13 +01:00
Kjartan Maraas
aefec46936 Updated Norwegian bokmål translation 2010-02-10 19:53:37 +01:00
Jorge González
129637220d Updated Spanish translation 2010-02-10 07:56:11 +01:00
Matthias Clasen
ed9b8f3d3c bump version 2010-02-09 15:58:13 -05:00
Matthias Clasen
d034007df3 2.19.5 2010-02-09 15:53:41 -05:00
Matthias Clasen
da68b2e600 Updates 2010-02-09 14:12:54 -05:00
Matthias Clasen
e821eea4f0 Add some more goddamn accessors 2010-02-09 13:41:58 -05:00
Matthias Clasen
893408352d Avoid overlap of scale marks
This was reported to be a problem in bug 608807.
2010-02-09 13:41:58 -05:00
Matthias Clasen
412beb4444 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.
2010-02-09 13:41:58 -05:00
Matthias Clasen
beddf67e56 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.
2010-02-09 13:41:57 -05:00
Matthias Clasen
9fc642019e Allow running without any im context
Setting GtkSettings::im-module to gtk-im-context-none will make
GtkIMMultiContext just pass through.
2010-02-09 13:41:57 -05:00
Alan Knowles
b193be9003 Add introspection annotations for gtk_tree_model_get_path+gtk_tree_store_newv 2010-02-09 12:27:05 -05:00
Christian Persch
9497a198f7 Correctly clone the toolbutton's icon-name image widget
Bug #608162.
2010-02-09 15:08:56 +01:00
Alejandro Piñeiro
bc39d88b44 Solve a wrong reference on gdk_keymap_translate_keyboard_state
Solves https://bugzilla.gnome.org/show_bug.cgi?id=608345
2010-02-09 11:52:49 +01:00
Tor Lillqvist
d2b412af40 Use correct processorArchitecture for x86_64 in manifest file 2010-02-09 12:19:22 +02:00
Javier Jardón
2adef27d7b Move documentation to inline comments: GtkAccelLabel
https://bugzilla.gnome.org/show_bug.cgi?id=403485
2010-02-09 04:12:25 +01:00
Javier Jardón
db45d38b6f [tests] Not use GtkOptionMenu deprecate widget.
Replace GtkOptionMenu with GtkComboBox.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=606288
2010-02-08 16:57:02 +01:00
Theppitak Karoonboonyanan
d1d98ad97b Updated Thai translation. 2010-02-08 11:13:03 +07:00
André Draszik
12edc32d95 gdk/directfb: cursor size is artificially limited
Cursor sizes in DirectFB can be large (4095x4095), limit to 128x128
though, because the x11 backend has this limit, too - for max.
compatibility.

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

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-02-07 20:12:43 +01:00
André Draszik
7f8b96d9bc gdk/directfb: convert gdkgc-directfb to using G_DEFINE_TYPE
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=609199

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-02-07 20:10:53 +01:00
André Draszik
e1a83243e4 gdk/directfb: gdkdnd-directfb's private data is used uninitialized
Use G_TYPE_INSTANCE_GET_PRIVATE() instead

In the process, convert to using G_DEFINE_TYPE, too.

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

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-02-07 20:08:52 +01:00
André Draszik
bc36a15446 gdk/directfb: convert gdkcolor-directfb to using G_DEFINE_TYPE
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=609191

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-02-07 20:06:52 +01:00
André Draszik
e71d3c459a gdk/directfb: fix _gdk_windowing_pointer_grab()
Fix for bgo #609188

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-02-07 20:01:05 +01:00
Steffen Macke
f94d62aeab 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-07 11:15:47 +02:00
Christian Dywan
5adb75f26b [gtk] Deprecate GtkCurveType enum
It's only used by already deprecated GtkCurve and GtkGammaCurve

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

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-02-07 01:52:58 +01:00
Claude Paroz
e9d0bb5d58 Updated French translation 2010-02-06 23:00:16 +01:00
Michael Natterer
07dc2f6c35 gtk: fix crash in _gtk_rbtree_find_offset() called from update_prelight()
Move the check for tree_view->priv->tree being NULL into update_prelight()
so the function will never call _gtk_rbtree_find_offset() on a NULL rbtree.
2010-02-06 15:57:15 +01:00
Jonh Wendell
ee57066cac Updated Brazilian Portuguese translation 2010-02-05 15:20:03 -03:00
Jonh Wendell
42081e5f4a Updated Brazilian Portuguese translation 2010-02-05 11:30:41 -03:00
Matthias Clasen
69aa7a6392 Make DND work better with shaped windows
If mouse clicks go through, drag-and-drop should too...
Fixes bug 608615.
2010-02-04 19:18:22 -05:00
Cody Russell
0d94617935 Bug 554420 - Seal GtkTextTag
Seal GtkTextTag.
2010-02-04 15:35:15 -08:00
Petr Kovar
465dd9207c Update Czech properties translation 2010-02-04 23:39:36 +01:00
Petr Kovar
6c12219eb3 Update Czech translation 2010-02-04 22:45:51 +01:00
Michael Natterer
9d4c8f38d8 Bug 608993 - Add gtk_widget_style_attach()
As replacement for:
widget->style = gtk_style_attach (widget->style, widget->window);
2010-02-04 16:43:54 +01:00
Pavol Šimo
91c4184af6 Updated Slovak translation 2010-02-04 09:18:05 +01:00
Javier Jardón
11bd065adf [docs] Add anchor for keybinding signals 2010-02-02 20:57:58 +01:00
Mattias Põldaru
6a05e5edbf Updating Estonian translation 2010-02-01 17:09:06 +02:00
Mattias Põldaru
ac2df186aa Updating Estonian translation 2010-02-01 09:41:45 +02:00
Mattias Põldaru
4c3f32a632 Updating Estonian translation 2010-02-01 09:33:49 +02:00
Kjartan Maraas
dead9af3d4 Updated Norwegian bokmål translation 2010-01-31 20:03:30 +01:00
Jorge González
54b3340eee Updated Spanish translation 2010-01-31 13:31:26 +01:00
Kristian Rietveld
66207cf13e Improve enter/motion notify semantics
On X11 we receive enter notify and motion notify events for a window
regardless of its focus state.  On Mac OS X this is not the case.  This
commit improves the semantics to overcome this difference.  It improves
on my earlier patch that sent a motion notify event when a window became
main.

Instead of sending a motion notify when a window becomes main, we now
send one when a window becomes key, which comes closest to a window
getting focus in X11.  This motion notify is needed because Mac OS X does
not send motion events when an application is inactive (none of its
windows have focus), these events are sent in X11.  This dummy motion
notify event (with current coordinates of the mouse cursor) allows an
application to get its prelight and other state right when it gets focus
and thus user attention.

Another change is to send an enter notify event when updating the
tracking rectangle of a GdkQuartView and the mouse cursor is currently in
this rectangle.  This rectangle is at least updated on window creation.
This enter notify event is important for the case where a new window
appears right below the mouse cursor.  The window has to receive an enter
notify event for the subsequent events to be processed correctly.  Mac
OS X does not send one in this case, so we generate it ourselves.

Both of these synthesized events have to go through
_gdk_windowing_got_event() for updating statekeeping, etc.
append_event() has a boolean flag now to make this convenient.
2010-01-30 20:36:28 +01:00
Jorge González
15ef288b9b Updated Spanish translation 2010-01-30 20:03:42 +01:00
Jorge González
f0005fb96b Updated Spanish translation 2010-01-30 16:17:18 +01:00
Jorge González
a5d7a7a6a3 Updated Spanish translation 2010-01-30 16:17:14 +01:00
Andre Klapper
2d0cef0896 Add missing files to POTFILES.in to make l10n.gnome.org happy 2010-01-29 22:28:45 +01:00
Cody Russell
2147e57f46 Remove existing signal connections in gtk_drag_dest_unset().
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=608370
2010-01-29 11:10:16 -06:00
Christian Dywan
c9639c924b Implement gtk_paned_get_handle_window
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=607885
2010-01-29 16:49:12 +01:00
Christian Dywan
a23f581c5d Do not update paned position if it's already at the given value
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=561816
2010-01-29 16:43:15 +01:00
Theppitak Karoonboonyanan
da86b0bd3f Updated Thai translation. 2010-01-29 21:46:36 +07:00
Li Yuan
899d425e50 Bug #608410. Set cursor position after inserting text. 2010-01-29 14:16:24 +08:00
Jamil Ahmed
3a796a5158 Updated Bengali translation 2010-01-29 00:53:15 +06:00
Jamil Ahmed
7aa3414c41 Updated Bengali translation 2010-01-29 00:49:07 +06:00
Jamil Ahmed
6048c4b127 Updated Bengali translation 2010-01-29 00:44:43 +06:00
Javier Jardón
cc62ab3a0c [docs] Fix GtkOffscreenWindow documentation 2010-01-28 04:10:39 +01:00
Matthias Clasen
f5a8db1536 Bump version 2010-01-25 23:25:17 -05:00
Matthias Clasen
7ad6567d77 2.19.4 2010-01-25 23:23:51 -05:00
Matthias Clasen
aa81f217cc Doc additions 2010-01-25 22:35:02 -05:00
Matthias Clasen
f286c6281a Minor doc fix 2010-01-25 22:32:00 -05:00
Matthias Clasen
7092006aea Updates 2010-01-25 21:31:09 -05:00
Jamil Ahmed
d7c16f3607 Updated Bengali translation 2010-01-26 03:03:14 +06:00
Alexander Shopov
e06bd6ba92 Updated Bulgarian translation 2010-01-25 11:43:00 +02:00
Alexander Shopov
f544c72ba1 Updated Bulgarian translation 2010-01-25 11:42:36 +02:00
Christian Dywan
a7d57b622b Remove the destination file if trying to save a pixbuf failed
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=591102
2010-01-25 10:37:53 +01:00
Javier Jardón
f8f35363de [test] Fix some typos 2010-01-23 05:05:08 +01:00
Paul Davis
7767dae9cf Small memory fix 2010-01-22 21:09:10 +01:00
Michael Natterer
2f9c4be0a8 Bug 607778 - Add accessors for GtkEntry's windows
Add gtk_entry_get_text_window() and get_icon_window() so we can
distinguigh them in expose-event callbacks.
2010-01-22 17:20:01 +01:00
Michael Natterer
35a2b65328 Bug 607082 - Add accessors for sealed GtkRange members
Add accessors for range->range_rect, range->slider_range,
range->slider_size_fixed and range->min_slider_size. Didn't add
properties for any of them because thir purpose is mostly to enable
proper subclassing.
2010-01-22 16:52:56 +01:00
Claudio Saavedra
52acceef56 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
2010-01-22 16:53:33 +02:00
Alexander Larsson
3c618f2f1f 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
2010-01-22 09:41:17 +01:00
Matthias Clasen
97a1a28bcb Add a way to set wm_class on statusicons
Since the shell uses wm_class for sorting statusicons.
2010-01-20 12:25:24 -05:00
Alexander Larsson
3d9d002bed 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
2010-01-20 15:37:16 +01:00
Javier Jardón
5469695f29 Fix some compilation warnings
The warnings was introduced with the changes in commit
a491091e29
2010-01-19 17:01:10 +01:00
Alexander Larsson
e31a6d1fea 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
2010-01-19 16:40:59 +01:00
Alexander Larsson
46d25437a1 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.
2010-01-19 16:40:55 +01:00
Russell Kyaw
4fc8a11a9f Added Burmese translation for gtk+ properties 2010-01-19 16:36:15 +02:00
Russell Kyaw
bf17d48c08 Added Burmese translation 2010-01-19 16:36:15 +02:00
Simos Xenitellis
7e9acc01ad Added Burmese (my) to po/LINGUAS 2010-01-19 16:36:15 +02:00
Alexander Larsson
841fa47715 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.
2010-01-19 15:01:03 +01:00
Kjartan Maraas
269b0fe97f Updated Norwegian bokmål translation 2010-01-19 11:21:18 +01:00
Kjartan Maraas
18f33af2a0 Updated Norwegian bokmål translation 2010-01-19 11:20:18 +01:00
Kjartan Maraas
fa989128d4 Updated Norwegian bokmål translation 2010-01-19 11:20:18 +01:00
Murray Cumming
cf8b941807 GtkToolPalette: Fix a compiler warning introduced in my last commit. 2010-01-19 09:04:15 +01:00
Javier Jardón
6b808a7389 Add gtk_widget_has_rc_style() accessor
Add gtk_widget_has_rc_style() as accessor for sealed
GTK_WIDGET_RC_STYLE widget flag.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-19 00:20:52 +01:00
Matthias Clasen
833b9b42cc Fix a redraw problem with action widgets
Fixes bug 603245.
2010-01-18 17:06:48 -05:00
Kristian Rietveld
2f73fb76c1 Bug 607322 - Double-click doesn't work if the item is selected in...
Slight correction to fix for #596473.
2010-01-18 22:22:30 +01:00
Murray Cumming
a491091e29 GtkToolPalette: Change gtk_tool_palette_get_drop_group() return.
* gtk/gtktoolpalette.[h|cc]: gtk_tool_palette_get_drop_group():
  Change the return type from GtkWidget* to GtkToolItemGroup*,
  for consistency with other parts of GTK+, such as GtkToolbar.
2010-01-18 09:37:14 +01:00
Matthias Clasen
d253fb5140 Fix some issues with action widgets
We need to hide/show them depending on show_tabs, and we should
not grow the notebooks requisition unless we have to. Reported
in bug 601412.
2010-01-18 01:20:50 -05:00
Matthias Clasen
5e7801a304 Fix declaration of gtk_print_job_set_status
The problem was reported in bug 606698.
2010-01-17 23:47:20 -05:00
Matthias Clasen
b242c02e71 Reset effective_attrs when necessary
This fixes both bug 607217 and bug 607269.
2010-01-17 23:33:19 -05:00
Matthias Clasen
3fdcf3d3e2 Fix a few C99isms
Reported in bug 606761.
2010-01-17 22:47:14 -05:00
Daniel Nylander
81359376d7 Updated Swedish translation 2010-01-16 13:47:42 +01:00
Matej Urbančič
236b155822 Updated Slovenian translation 2010-01-15 19:39:32 +01:00
Alexander Larsson
f96e51db46 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
2010-01-15 16:08:18 +01:00
Xandru Armesto Fernandez
1e6df1dfc5 Updated asturian translation 2010-01-15 13:26:37 +01:00
Xandru Armesto Fernandez
637cdd5d38 Updated asturian translations 2010-01-15 13:21:50 +01:00
Xandru Armesto Fernandez
cefc04070b Updated asturian translations 2010-01-15 13:21:40 +01:00
Murray Cumming
122d2a3288 GtkToolPalette: Use GtkToolItemGroup* instead of GtkWidget* for setter parameters.
See Bug #567729
2010-01-14 10:26:49 +01:00
Michael Natterer
4b1299ab8f Some fixes in gtkoffscreenwindow.h
- use (void) not () for void functions
- disallow individual inclusion unconditionally
2010-01-13 22:23:03 +01:00
Inaki Larranaga Murgoitio
f804bff705 Updated Basque language 2010-01-13 17:36:18 +01:00
Inaki Larranaga Murgoitio
865249598f Updated Basque language 2010-01-13 16:32:02 +01:00
Javier Jardón
f1676cfb11 [docs] Use the correct GTK-doc syntax to refer to GTK+ properties 2010-01-12 21:00:30 +01:00
Jorge González
d5086dc379 Updated Spanish translation 2010-01-12 20:23:15 +01:00
Javier Jardón
291aa854df [docs] Use the correct GTK-doc syntax to refer to GTK+ property 2010-01-12 20:19:40 +01:00
Javier Jardón
fe0324d76a [docs] Remove GTK+ 1.2 tutorial from master
The tutorial it's still inside the gtk-1-2 branch if It's needed
2010-01-12 17:44:50 +01:00
Khaled Hosny
92e1e4d9e3 Updated Arabic translation 2010-01-12 18:42:26 +02:00
Javier Jardón
48f572822c [docs] Fix documentation build warnings
Fix issues when using GI annotations so the xslt does a
fallback if the local links do not exist.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604876
2010-01-12 15:47:00 +01:00
Matthias Clasen
b6ff1abc93 Correct PRC6 and PRC9 envelope sizes
See bug 603144 for the full story.
2010-01-12 01:10:13 -05:00
Matthias Clasen
1024b44df9 Bump version 2010-01-11 13:58:16 -05:00
Matthias Clasen
c54219da24 2.19.3 2010-01-11 13:57:21 -05:00
Matthias Clasen
76ae6a80ff Dco updates 2010-01-11 12:58:34 -05:00
Matthias Clasen
5adb6f2c20 Updates 2010-01-11 12:21:10 -05:00
Christian Persch
59ddde4c37 Implement property editor for GdkColor properties
Bug #606434.
2010-01-11 17:51:41 +01:00
Christian Dywan
2520d02be9 Limit GtkContainer::border-width to 65535
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=605199
2010-01-11 17:37:13 +01:00
Matthias Clasen
d32b061895 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.
2010-01-11 10:23:57 -05:00
Christian Dywan
90f72a0d8f Implement "preedit-changed" in GtkEntry and GtkTextView
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=602284
2010-01-11 10:59:26 +01:00
Christian Dywan
5bcc4e2e97 Use const gchar* in gtk_window_get_icon_name implementation
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=597100
2010-01-11 10:35:06 +01:00
Christian Dywan
3925408232 Document GtkWidget::state-changed signal properly
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=598383
2010-01-11 10:30:48 +01:00
Javier Jardón
ccf17a828b [docs] Add missing "Deprecated: 2.x" to the api doc comments 2010-01-11 06:25:59 +01:00
Daniel Nylander
1d2900bb27 Updated Swedish translation 2010-01-09 16:59:32 +01:00
Daniel Nylander
d907ef4f73 Updated Swedish translation 2010-01-09 16:54:54 +01:00
Christian Persch
e18ac2a617 Allow NULL iter in gtk_combo_box_set_active_iter to unset
Bug #606230.
2010-01-08 19:48:14 +01:00
Matthias Clasen
d85735a337 Try a little harder to survive close to OOM 2010-01-08 13:24:33 -05:00
Matthias Clasen
1d4c6ebe5f Avoid an FPE for ludicrous scale values
...just bail out early.
2010-01-08 13:24:33 -05:00
Javier Jardón
f5b21802bb Use g_strcmp0() instead custom safe_strcmp()
Reported by Rafal Luzynski in
https://bugzilla.gnome.org/show_bug.cgi?id=606415
2010-01-08 18:27:43 +01:00
Xandru Armesto Fernandez
fbd0db99e4 Updated asturian language 2010-01-08 17:55:32 +01:00
Javier Jardón
2a34285ad7 Fix links in GtkComboBox migration guide
Some link to GTK+ classes are not gererated because the ":" near
the class name; solution: "#GtkComboBox<!---->:"
Also, added some links to the proper signals

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=606291
2010-01-07 16:51:07 +01:00
Jean Brefort
808e698ea7 fix critical in gtk_editable_insert_text 2010-01-07 16:40:49 +01:00
Javier Jardón
56a893ca8c Deprecate widget flag: GTK_WIDGET_CAN_FOCUS
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-07 10:05:08 +01:00
Javier Jardón
51e0dd9a82 Deprecate some widget flags
Deprecate the following:
GTK_WIDGET_APP_PAINTABLE
GTK_WIDGET_CAN_DEFAULT
GTK_WIDGET_DOUBLE_BUFFERED
GTK_WIDGET_HAS_DEFAULT
GTK_WIDGET_HAS_GRAB
GTK_WIDGET_RECEIVES_DEFAULT

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-07 10:04:55 +01:00
Shankar Prasad
b9a96210ea Made couple of translation changes in kn.po 2010-01-07 13:40:17 +05:30
Matthias Clasen
9fc436d810 Setup libjpeg error handlers early enough
See bug 606068 for details.
2010-01-06 22:44:16 -05:00
Jorge González
e466b0e93e Updated Spanish translation 2010-01-06 14:33:14 +01:00
Timo Jyrinki
cec572dbf6 One-line fix to a noticiable translation bug. 2010-01-06 11:41:07 +02:00
Matej Urbančič
f28f71dbbd Updated Slovenian translation 2010-01-05 17:00:15 +01:00
Maxim V. Dziumanenko
8f79d833a2 Update Ukrainian translation 2010-01-05 17:03:04 +02:00
Kjartan Maraas
de72a5dc9e Updated Norwegian bokmål translation. 2010-01-05 13:48:13 +01:00
Inaki Larranaga Murgoitio
0d501df246 Updated Basque language 2010-01-05 12:54:33 +01:00
Javier Jardón
aa63be61d9 Fix compilation warning: use const *gchar variable
https://bugzilla.gnome.org/show_bug.cgi?id=605090
2010-01-04 11:47:40 +01:00
Javier Jardón
c1cddb2b24 Fix compilation warning: use the correct conversion specifier
Use G_GSIZE_FORMAT instead of %i

The warning was added in
commit ba651d4022
2010-01-04 10:43:32 +01:00
Christian Dywan
d8adf58d38 Don't use GTK_WIDGET_NO_WINDOW in GtkEventBox 2010-01-04 08:41:07 +01:00
Christian Dywan
5d675b9f11 No GTK_WIDGET_NO_WINDOW in GtkFixed and deprecate gtk_fixed_set_has_window 2010-01-04 08:39:24 +01:00
Christian Dywan
525cc3ada2 Don't use GTK_WIDGET_NO_WINDOW in GtkContainer 2010-01-04 08:26:50 +01:00
Christian Dywan
bb1824c131 Deprecate flag macros for toplevel, state, no window and composite child
Deprecate widget flag macros GTK_WIDGET_STATE, GTK_WIDGET_SAVED_STATE,
GTK_WIDGET_FLAGS, GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW and
GTK_WIDGET_COMPOSITE_CHILD.

Also deprecate the type macros GTK_WIDGET_TYPE, GTK_OBJECT_TYPE_NAME and
GTK_OBJECT_TYPE which have become redundant.

Instances of GTK_WIDGET_TOPLEVEL are replaced with gtk_widget_is_toplevel,
GTK_WIDGET_TYPE is replaced with G_OBJECT_TYPE, GTK_WIDGET_COMPOSITE_CHILD
is replaced with use of the "composite-child" property and uses of
GTK_WIDGET_NO_WINDOW are adjusted to use gtk_widget_get_has_window.

Uses of GTK_WIDGET_SAVED_STATE and GTK_WIDGET_FLAGS inside GtkWidget are
changed to direct flag usage.

Documentation is updated to refer to gtk_widget_set_has_window and
gtk_widget_get_has_window.

Gail and tests are updated as well.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-04 07:57:05 +01:00
Christian Dywan
ac26960e62 Fix missing GTK_WIDGET cast on printer option widget in construct_widgets 2010-01-04 07:30:57 +01:00
Christian Dywan
3a9633a9de Fix missing GTK_WINDOW cast in _gtk_menu_shell_update_mnemonics 2010-01-04 07:29:42 +01:00
Benjamin Otte
8f7c3729ef Document missing signal parameter 2010-01-03 23:12:24 +01:00
Javier Jardón
bef70bc5bf [docs] Add documentation for GdkWindow 'cursor' property
Reported by Rafal Luzynski here:
https://bugzilla.gnome.org/show_bug.cgi?id=604821
2010-01-03 21:14:06 +01:00
Theppitak Karoonboonyanan
9734b1f138 Updated Thai translation. 2010-01-03 22:25:17 +07:00
Hiroyuki Ikezoe
23042427f5 Use CAIRO_VERSION instead of CAIRO_VERSION_CODE
Cairo does not have CAIRO_VERSION_CODE macro.
Fix for bug #605472.
2010-01-03 18:22:55 +09:00
Matthias Clasen
23a5381cba Make mnemonic hiding work in all cases
Both gtk-enable-mnemonics and gtk-auto-mnemonis did not work with
gtk_label_set_markup_with_mnemonic(). Also, fix gtk_label_set_pattern().
2010-01-03 00:57:14 -05:00
Matthias Clasen
eb2879eba9 Update dependency information 2010-01-02 22:20:51 -05:00
Matthias Clasen
85b41aaffc Don't use string concatentation in translated strings
gettext can't handle it, and there is no real need to use G_GSIZE_FORMAT
here anyway.
2010-01-02 20:11:50 -05:00
Matej Urbančič
94ba3d86f3 Updated Slovenian translation 2010-01-02 09:59:16 +01:00
Matej Urbančič
1353e1f518 Updated Slovenian translation 2010-01-02 09:59:04 +01:00
Kristian Rietveld
5886e5cff2 Plug leaks in quartz implementation of gtk_drag_begin_idle() 2010-01-01 21:28:16 +01:00
Kristian Rietveld
c049c6a385 Rework a previous commit to not crash in addition to fixing leaks
The target list/entry to pasteboard entry conversions return a NSSet
now instead of NSArray.
2010-01-01 21:28:16 +01:00
Murray Cumming
6931245003 GtkToolPalette: docs: Minor English corrections. 2009-12-31 13:55:51 +01:00
Johan Dahlin
cdb13d233e Make sure Gdk-2.0.gir is installed
Fixes a variable name typo
2009-12-31 01:48:50 +01:00
Johan Dahlin
c212f680a4 Avoid warnings when introspetion is not available
-include is the same as include but will never warn if the
file is not available
2009-12-31 01:47:24 +01:00
Johan Dahlin
5955cfe37f Fix build with system install of introspection
Or redo it properly and remove previous hack by Matthias.
2009-12-31 01:19:38 +01:00
Kristian Rietveld
c37c57528c Fix compiler warning 2009-12-30 14:21:31 +01:00
Kristian Rietveld
f91907101d Fix memory management of types array
Also add autorelease pool to gtk_drag_begin_idle().
2009-12-30 14:18:33 +01:00
Kristian Rietveld
c12dbae0ac Do not leak the NSMutableSet 2009-12-30 14:16:55 +01:00
Kristian Rietveld
0912a113dd Release view after setting it as contentView
Fixes GdkQuartzView being leaked.
2009-12-30 14:14:21 +01:00
Kristian Rietveld
255c2739e2 Fix memleak in get_nsscreen_for_point()
One codepath did not go through GDK_QUARTZ_RELEASE_POOL, refactored
the code to fix this.
2009-12-30 14:12:42 +01:00
Kristian Rietveld
3887838244 Fix memory leak in GdkQuartzView
Should remove the tracking rect in dealloc.
2009-12-30 14:11:14 +01:00
Kristian Rietveld
ee62948b83 Use CGFLOAT_DEFINED, don't rely on NSINTEGER_DEFINED for this 2009-12-28 23:01:42 +01:00
Kristian Rietveld
436855210e Unset expander_column when expander column is removed from tree view 2009-12-28 21:34:17 +01:00
Kristian Rietveld
e22de4a88e Add gdk_keymap_map_virtual_modifiers() to Quartz backend 2009-12-28 21:18:57 +01:00
Kristian Rietveld
c8fef502e2 Start using CGFloat
Fixes a bunch of compiler warnings.  Since CGFloat does not exist on
Tiger and earlier, we have added a typedef likewise as was done for
NSInteger.
2009-12-28 21:18:57 +01:00
Kristian Rietveld
f3a5bf48d4 Fix compile warning in gdk_cursor_new_from_pixmap 2009-12-28 21:18:57 +01:00
Kristian Rietveld
dd415881be initWithContentRect: has a NSUInteger parameter now
The typedef in place for Tiger and earlier systems should change this
to unsigned int without problems.
2009-12-28 21:18:56 +01:00
Cody Russell
98a14e6067 Add GtkOffscreenWindow to gtk-sections.txt 2009-12-28 09:42:12 -06:00
Cody Russell
dd8e4d588f Documentation changes. 2009-12-28 09:33:42 -06:00
Cody Russell
4681f0b467 Add 'Since 2.20' documentation. 2009-12-28 09:33:42 -06:00
Cody Russell
09b25f9739 Add documentation note for GtkOffscreenWindow emission of damage-event. 2009-12-28 09:33:42 -06:00
Cody Russell
2158f59263 Add gtk-doc section for GtkOffscreenWindow 2009-12-28 09:33:42 -06:00
Cody Russell
309e48378e Add gtk_offscreen_window_get_{pixmap,pixbuf} to gtk.symbols 2009-12-28 09:33:42 -06:00
Cody Russell
06a53cc482 Add gtkoffscreenwindow.sgml 2009-12-28 09:33:42 -06:00
Cody Russell
1c92a54983 Add gtk_offscreen_window_get_pixmap() and gtk_offscreen_window_get_pixbuf(), some API docs. 2009-12-28 09:33:42 -06:00
Cody Russell
5e76656a65 Add headers 2009-12-28 09:33:42 -06:00
Cody Russell
2cd2e03721 Add offscreen window symbols to gtk.symbols 2009-12-28 09:33:41 -06:00
Cody Russell
7fed174194 Add gtk_offscreen_window_new() prototype to gtkoffscreenwindow.h 2009-12-28 09:33:41 -06:00
Cody Russell
8801d163a6 Add delete-event callback to window, use gtk_widget_queue_draw() instead of gtk_widget_draw() 2009-12-28 09:33:41 -06:00
Cody Russell
8a523393ac GtkOffscreenWindow implementation for #604901 2009-12-28 09:33:41 -06:00
Jorge González
74b8191f55 Updated Spanish translation 2009-12-28 02:09:35 +01:00
Kristian Rietveld
b2b70e5a8d 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.
2009-12-27 19:28:56 +01:00
Ivar Smolin
9d1e7b2146 Updating Estonian translation 2009-12-27 00:54:40 +02:00
Iestyn Pryce
07e8e4bc23 Updated Welsh translation 2009-12-24 23:47:44 +00:00
Iestyn Pryce
da3f12b965 Updated Welsh translation 2009-12-24 23:45:52 +00:00
Kristian Rietveld
acb6f4ff33 Fix call to update_prelight()
Seems like some minus signs sneaked in while diffing and reapplying...
Fixes regression noted in 480065.
2009-12-23 08:33:10 +01:00
Theppitak Karoonboonyanan
270dc0b582 Updated Thai translation. 2009-12-23 13:32:51 +07:00
Jonh Wendell
da113b8312 Fix a memory leak in gtk_label_compose_effective_attrs() 2009-12-22 11:46:08 -03:00
Matthias Clasen
bda55eaac7 Forgotten news 2009-12-21 22:51:08 -05:00
Matthias Clasen
277b5e5bd8 Bump version and add dist-bzip2 2009-12-21 22:26:43 -05:00
Matthias Clasen
53b9a41b47 2.19.2 2009-12-21 22:24:59 -05:00
Kristian Rietveld
f59294fd93 Correct problems with earlier fix for bug #480065
Initialize event_last_[xy] to out of range coordinates and also update
these values in enter and leave notify.  Fix up calls to
update_prelight() from size allocate.  Unconditionally doing these calls
caused problems with hover selection.  Now we only do this call when
the "width before the expander column" has changed.  (Which might be
awkward, but it is the best heuristic I could come up with so far).
2009-12-21 22:42:15 +01:00
Kristian Rietveld
f223577a88 Bug 480065 - wrong tree collapsed (or expanded) after having scrolled
Commit again after revert.

Store (x, y) of last motion event.  From
gtk_tree_view_adjustment_changed(), call prelight_or_select() so that
the prelight is recalculated.  We do the same from
gtk_tree_view_size_allocate() for the case that clicking on an expander
shows new rows that resize the column(s) left of the expander.  This
means that the expander is moved horizontally, in such a case the
prelight also has to be reconsidered.
2009-12-21 22:42:15 +01:00
Matthias Clasen
d5394b06e4 Updates 2009-12-21 16:11:26 -05:00
Tor Lillqvist
8daf770a73 Add gdk_keymap_map_virtual_modifiers() implementation 2009-12-21 22:43:44 +02:00
Matthias Clasen
d2ce67734a 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.
2009-12-21 15:27:46 -05:00
Matthias Clasen
1781696a4a Fix make check 2009-12-21 13:13:36 -05:00
Matthias Clasen
c0d8b71bc5 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
2009-12-21 11:29:12 -05:00
Matthias Clasen
c9875c6247 Add a release note about virtual modifiers 2009-12-21 11:26:11 -05:00
Matthias Clasen
03b179c5e8 Try harder to handle accelerators involving virtual modifiers
This patch changes GDK to add all matching virtual modifiers in
the state field of the key event. The corresponding GTK+ change makes
use of a new GdkKeymap function to map virtual modifiers back to
real modifiers and detect conflicts while doing so.

This should fix bug 603190 and bug 427409.
2009-12-21 11:15:28 -05:00
Richard Hughes
60e0183ac9 Add icc-profile option to gdk-pixbuf for the TIFF image format 2009-12-21 08:53:28 +00:00
Javier Jardón
25e3329215 Move documentation to inline comments: GtkMountOperation
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-12-21 06:34:43 +01:00
Javier Jardón
e62e7f76c9 Move documentation to inline comments: GtkImage
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-12-21 06:34:10 +01:00
Javier Jardón
016fba99e7 Move documentation to inline comments: GtkFileChooser
Also, use Gtk-Doc markup to improve documentation
cross-references.

https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-12-21 06:31:37 +01:00
Benjamin Otte
3921834b96 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
2009-12-21 02:51:59 +01:00
Matthias Clasen
5a88e689f3 Make mnemonic hiding work for printer option widgets
By making the widget itself insensitive.
2009-12-20 19:17:24 -05:00
Matthias Clasen
72e41b41f5 More auto-mnemonics tweaks
When auto-mnemonics are on, hide mnemonics with insensitive target.
2009-12-20 19:17:24 -05:00
Matthias Clasen
6f421d1450 Some improvements to the auto-mnemonics code 2009-12-20 19:17:24 -05:00
Matthias Clasen
4116baef32 Handle reading the create-folders property 2009-12-20 19:17:24 -05:00
Javier Jardón
134a8ffa19 Fix compilation warning: cast to GTK_WIDGET() 2009-12-21 00:40:03 +01:00
Javier Jardón
479c7b0476 Fix compilation warning: use the correct conversion specifier
Use G_GSIZE_FORMAT instead of %d
2009-12-21 00:39:19 +01:00
Jorge González
c939fdbfbc Updated Spanish translation 2009-12-20 13:37:45 +01:00
Matthias Clasen
c59f76fda2 Only show the mnemonic underline when pressing Alt
...and show them in menus when navigating the menu with the keyboard.
This is similar to what other platforms do, and reduces visual clutter.
There is a setting to control this. Most of the work on this patch was
done by Thomas Wood. See bug 588554.
2009-12-20 03:11:05 -05:00
Matthias Clasen
af268d5b07 Small documentation correction 2009-12-20 03:11:04 -05:00
Matthias Clasen
9d999fb89f Properly free damage events
This was reported in bug 605008
2009-12-20 03:11:04 -05:00
Benjamin Otte
9e7c91bf83 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).
2009-12-19 18:37:39 +01:00
Benjamin Otte
ff1343a594 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.
2009-12-19 13:50:39 +01:00
Jorge González
17f026e462 Updated Spanish translation 2009-12-19 13:31:19 +01:00
Carlos Garcia Campos
a4db99ff1e Fix a crash on print preview
There's no printer when doing print preview so it's not possible to get
its hard margins.
2009-12-19 12:28:46 +01:00
Dan Winship
0b4af241b6 Change GtkIconSize to int in params/return values
GtkIconSize is an extensible enumeration (via
gtk_icon_size_register()), so methods that claim to take/return a
GtkIconSize need to actually use "int" to work correctly with bindings
that are strict about enum values.

https://bugzilla.gnome.org/show_bug.cgi?id=604895
2009-12-19 10:32:35 +01:00
Dan Winship
6afa3b9507 Fix out/transfer annotations on GtkImage getters
https://bugzilla.gnome.org/show_bug.cgi?id=604895
2009-12-19 10:32:35 +01:00
Matthias Clasen
a5475e0ec2 Fix doc typos
Reported in bug 604902.
2009-12-18 21:48:18 -05:00
Javier Jardón
7e11475298 [docs] Cast to GFunc in gtk_tree_selection_get_selected_rows() example code
Reported by Diego Escalante Urrelo here:
https://bugzilla.gnome.org/show_bug.cgi?id=502266
2009-12-19 02:09:18 +01:00
Hiroyuki Ikezoe
702ee3b350 [gtk] GtkCellEditable::editing-cancelled should be writable
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604881

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2009-12-19 01:21:22 +01:00
Matthias Clasen
aadb190b77 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.
2009-12-18 19:17:04 -05:00
Matthias Clasen
7a9a3077e4 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.
2009-12-18 18:43:32 -05:00
Torsten Schoenfeld
0addda2028 [docs] Add some 'Since: 2.4' tags
This patch adds Since: 2.4 tags to gtk_bindings_activate_event,
gtk_window_propagate_key_event and gtk_window_activate_key.

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

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2009-12-18 21:00:10 +01:00
Hiroyuki Ikezoe
d3fab727ae Use g_value_dup_string instead.
g_value_get_string and g_strdup should be replaced by
g_value_dup_string.
2009-12-18 20:51:03 +01:00
Richard Hughes
ba651d4022 Add color management support to gdk_pixbuf_save
This patch adds an icc-profile option to a GdkPixbuf which can
be used to read or write an embedded ICC profile.

Add PNG support for now, but other image formats are awaiting
review.
2009-12-18 15:17:13 +00:00
Alexander Larsson
7e9d89b555 Actually send exposes from gdk_window_clear_area_e 2009-12-18 15:35:04 +01:00
Javier Jardón
674dd557e8 Add 'Since: 2.18' tag
Add missing 'Since:' tag in gdk_window_get_root_coords() and
gdk_window_is_destroyed()

Reported by Rafal Luzynski in
https://bugzilla.gnome.org/show_bug.cgi?id=604821
2009-12-18 10:53:01 +01:00
Nguyễn Thái Ngọc Duy
16ce0c76eb vi.po: Updated Vietnamese translation 2009-12-18 16:07:40 +07:00
Christian Dywan
99f63451e0 Use gtk_widget_get_tooltip_text for gtk_tooltips_data_get in Gail 2009-12-17 10:41:11 +01:00
Tor Lillqvist
435606a5bf Make the OLE2 DND code selectable at run-time instead of compile-time
(It still doesn't work, though.)
2009-12-17 01:51:51 +02:00
Johan Dahlin
a5dec477e2 Make sure dist check includes introspection 2009-12-16 17:30:53 -02:00
Johan Dahlin
957f50f5f0 Bump the required introspection version
Makefile.introspection was added in 0.6.7
2009-12-16 17:22:02 -02:00
Johan Dahlin
eadc7885da Use Makefile.introspection
Use the new fancy rules from the Makefile.introspection, it makes
the rules prettier and avoids quite a bit of duplication
2009-12-16 17:22:02 -02:00
Johan Dahlin
2ada5a9cb9 Update introspection.m4
This one includes the INTROSPECTION_MAKEFILE variable
which we will include in all Makefiles which are going
to build introspection girs/typelibs
2009-12-16 17:22:02 -02:00
Johan Dahlin
75c7d910ae Bump required introspection version to 0.6.6 2009-12-16 17:22:02 -02:00
Johan Dahlin
248d4b1622 Make sure dist check works with introspection
We need to prepend the srcdir to all variables
passed into the scanner as it runs with srcdir != builddir during
distcheck.
2009-12-16 17:22:02 -02:00
Johan Dahlin
09362d6e34 Re-add accidentially removed gtkintl header 2009-12-16 17:22:02 -02:00
Johan Dahlin
a945505246 Add no-portability option to automake
We require GNU Make and has done so for a while already
2009-12-16 17:22:02 -02:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Johan Dahlin
b3c48a4501 Bump the required version of autoconf to 2.62
It's need by the new introspection macro.
2009-12-16 17:22:01 -02:00
Johan Dahlin
80c7937d60 Separate private from public gdk headers
We don't want to parse the private gdk headers when
creating the GIR.
2009-12-16 17:22:01 -02:00
Johan Dahlin
945689548d Add an m4 directory and a introspection.m4
So we don't need the introspection.m4 file
to create a dist of gtk+
2009-12-16 17:22:01 -02:00
Tomeu Vizoso
c171d58640 Add a few more annotations to GtkIconTheme 2009-12-16 17:22:01 -02:00
Colin Walters
18dc96caf8 Merge in Gdk-custom.c introspection annotations
The Gdk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GDK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.

https://bugzilla.gnome.org/show_bug.cgi?id=592279
2009-12-16 17:22:01 -02:00
Colin Walters
78758d43ea Build introspection data for gdk-pixbuf, gdk, and gtk
Generate .gir and .typelib files for gdk-pixbuf, gdk, and gtk.

https://bugzilla.gnome.org/show_bug.cgi?id=592279
2009-12-16 17:22:00 -02:00
Tor Lillqvist
6e73be9d6c Add copyright note and comment for merged old code 2009-12-16 13:47:57 +02:00
Tor Lillqvist
eb21a7df29 Work on OLE2-based generic DND
Intermediate commit of work in progress on integrating the old code
for OLE2-based generic drag and drop from Arhaeopteryx Software, from
a long time ago in the GTK+ 1.3 timeframe. Does still not work and is
as before not compiled in unless OLE2_DND is defined in
gdkdnd-win32.c. (Thus, for inter-process DND, still only WM_DROPFILES
style dropping of files on GTK+ apps works.)

Related slight refactoring of other code that shouldn't change how it
works. Add more global variables for run-time constants (once
initialized) representing well-known GdkAtoms and registered Windows
clipboard formats, as they with the generic DND code will be needed in
several source files. Some improved debugging output.
2009-12-16 13:10:21 +02:00
Tor Lillqvist
c196ac2b63 Make more GdkAtom variables visible in all gdk/win32 files
Make the GdkAtoms for the image formats extern and usable from all
gdk/win32 files.
2009-12-16 13:10:20 +02:00
Tor Lillqvist
c1ddd8f9bc Make the gdk/win32 event debug printing function non-static
Make print_event() extern and rename it to _gdk_win32_print_event() so
it can be used from all gdk/win32 source files.
2009-12-16 13:10:19 +02:00
Tor Lillqvist
1bf9a2fa41 Remove unused functions and variables 2009-12-16 13:10:18 +02:00
Benjamin Otte
9647285441 Revert dd511e825a
The patch completely breaks entry completion - as can be seen when using
epiphany. Bug 480065 has been reopened.
2009-12-16 11:48:11 +01:00
Javier Jardón
44cadd2a48 Add info about single includes when compiling GTK+ apps
gtk.h, gdk.h, gdk-pixbuf.h. are the recommended includes.
But there are some exceptions: gdkkeysyms.h, gdkx.h and
gtkunixprint.h

https://bugzilla.gnome.org/show_bug.cgi?id=604117
2009-12-15 20:10:20 +01:00
Matthew Barnes
e8ed566898 Bug 602099 - Actions can be activatable too
Add a couple type checks in gtk_activatable_do_set_related_action() to
allow both GtkWidgets and GtkActions to implement GtkActivatable.  Bug
602099 describes a use case for this.

Also add a GObject prerequisite to the GtkActivatable interface.
2009-12-15 08:05:11 -05:00
Matthias Clasen
182108c68e Implement gdk_screen_get_primary_monitor in all GDK backends
The implementations are all trivial, just returning 0. At least
for Quartz, we could probably do better than that. Bug 604459.
2009-12-13 20:40:02 -05:00
Matthias Clasen
a9cd99c15f Fix gtk_tool_item_get_text_size_group return value
Reported by Kazuki Iwamoto in bug 604462.
2009-12-13 20:32:46 -05:00
Jorge González
3d74197f8c Updated Spanish translation 2009-12-13 09:55:01 +01:00
Christian Dywan
b20f2d26b4 Reset the pressed state of a button when the screen changes
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=599397
2009-12-11 17:17:38 +01:00
Nils-Christoph Fiedler
a515a01faa Updated LowGerman translation 2009-12-11 09:16:09 +01:00
Sven Herzberg
70440523e3 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 22:06:30 +01:00
Johan Dahlin
6879032113 Fix the builder tests 2009-12-10 12:33:55 -02:00
Cody Russell
53ab5c0b63 Add gdk_screen_get_primary_monitor to gdk.symbols 2009-12-09 23:20:30 -06:00
Danielle Madeley
15a5f153b1 Fix GTK_TREE_MODEL_FILTER_GET_CLASS macro 2009-12-09 15:48:58 +11:00
Cody Russell
662e69ad3e Add gdk_screen_get_primary_monitor(). This fixes bug #601712 2009-12-08 11:27:02 -06:00
Matthias Clasen
0748cf563d 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:09:04 -05:00
Matthias Clasen
105b007545 Set colormap of offscreen pixmaps
This fixes problems in clutter-gtk. See bug 603619.
2009-12-08 09:58:23 -05:00
Alexander Larsson
22d1d0d507 Fix up last commit 2009-12-08 12:28:44 +01:00
Alexander Larsson
159214173d 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
2009-12-08 12:22:59 +01:00
Ivar Smolin
ae2a33be2f Updating Estonian translation 2009-12-08 09:01:21 +02:00
David King
260b442462 [doc] Add error domains on functions taking a GError**
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=544706
2009-12-08 05:55:21 +01:00
Christian Dywan
ae057dcd12 [doc] Fix the documentation of GtkIconEntry
Cast to (GFunc) in example code

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=601383
2009-12-08 05:45:50 +01:00
Javier Jardón
0e3e20e705 [gtk/gtkaccessible] Seal the public member of GtkAccesible
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=544892
2009-12-08 02:08:35 +01:00
Alexander Larsson
98a9c5c69a 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.
2009-12-07 10:49:57 +01:00
Alexander Larsson
48fc0f36c2 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)
2009-12-07 10:49:57 +01:00
Yair Hershkovitz
3ea51bfec0 Updated Hebrew translation 2009-12-05 23:24:01 +02:00
Carlos Garcia Campos
a3fea3f241 Fix Since tag in gtk_printer_get_default_page_size() doc 2009-12-05 15:48:46 +01:00
Adrian Johnson
6e351f9214 Set win32 printer hard margins on print context 2009-12-05 13:51:37 +01:00
Adrian Johnson
7c5e1cb703 Set hard margins to 0 when printing n-up on unix printers 2009-12-05 13:50:34 +01:00
Adrian Johnson
05bb47cc3e Default to hard margins not available
unless the print backend explicitly provides them.
2009-12-05 13:47:31 +01:00
Adrian Johnson
48cf7d9e7e Set unix printer hard margins on print context 2009-12-05 13:45:55 +01:00
ecyrbe
be686e2bad Bring GtkPrintContext hard margin aware
See bug #468989.
2009-12-05 13:23:44 +01:00
Kjartan Maraas
db30c79dac Updated Norwegian bokmål translation. 2009-12-04 21:21:38 +01:00
Matej Urbančič
1e3719ba81 Updated Slovenian translation 2009-12-04 20:48:54 +01:00
Matej Urbančič
19d2beee53 Updated Slovenian translation 2009-12-04 20:48:44 +01:00
Javier Jardón
325bd9299a Use GtkCellEditable::editing-canceled
GtkCellEditable::editing-canceled property was added in 2.19 cycle,
so we should make the code that currently uses entry->editing_canceled
directly go through the property

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599213
2009-12-04 02:50:57 +01:00
Christian Dywan
46f5ee1d0c Store the buildable name in object data instead of the widget name
Widget names are used for theming which is why GtkBuilder should
use object data.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=591085
2009-12-03 13:10:02 +01:00
Khaled Hosny
7e7c23de19 Updated Arabic translation 2009-12-02 15:53:31 +02:00
Alexander Larsson
b509f28559 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
2009-12-02 11:19:21 +01:00
krishnababu k
6201a5d7ee Updated telugu translations 2009-12-02 15:04:25 +05:30
Javier Jardón
62bfbe91d8 [gtk/gtktextview] Use {} in empty if..else blocks 2009-12-02 09:38:08 +01:00
Javier Jardón
f35c581de4 [gtk/gtktreestore] Remove useless line 2009-12-02 09:36:58 +01:00
Javier Jardón
f332506804 Fix compilation warning: cast to GTK_LABEL()
This was introduced in commit 478ca88ae5
2009-12-02 02:11:59 +01:00
Matthias Clasen
a18b8cdc46 Fix strftime format translation
This was reported in RH bug 500067.
2009-12-01 17:07:28 -05:00
Christian Persch
33552c75b1 Revert "Set unix printer hard margins on print context"
This reverts commit 826d800b74.
2009-12-01 19:00:58 +01:00
Christian Persch
b2602a92b9 Revert "Default to hard margins not available"
This reverts commit a77f209f23.
2009-12-01 19:00:58 +01:00
Christian Persch
ab8e565740 Revert "Set hard margins to 0 when printing n-up on unix printers"
This reverts commit 215eb8c9f1.
2009-12-01 19:00:58 +01:00
Christian Persch
723c16d6cd Revert "Set win32 printer hard margins on print context"
This reverts commit a42107389f.
2009-12-01 19:00:58 +01:00
Christian Persch
88bcbf4866 Revert "Add comment explaining why we set the hard margins to 0 for n-up"
This reverts commit 394f698e4e.
2009-12-01 19:00:57 +01:00
Matthias Clasen
a31b5130ec Regenerate gtkimcontextsimpleseqs.h
Based on the changes in the previous commit; this also pulls in
some additions fixes from the current X.org Compose.pre file.
2009-12-01 12:47:44 -05:00
Matthias Clasen
25260f9867 Make Compose-vowel-minus combinations consistent
Change <Multi_key>a- and <Multi_key>o- to produce āō to be consistent
with eiu. See RH bug 510741.
2009-12-01 12:29:53 -05:00
Christian Persch
394f698e4e Add comment explaining why we set the hard margins to 0 for n-up
Bug #468989 comment 28.
2009-12-01 17:42:08 +01:00
Adrian Johnson
a42107389f Set win32 printer hard margins on print context 2009-12-01 17:40:16 +01:00
Adrian Johnson
215eb8c9f1 Set hard margins to 0 when printing n-up on unix printers 2009-12-01 17:40:09 +01:00
Adrian Johnson
a77f209f23 Default to hard margins not available
unless the print backend explicitly provides them.
2009-12-01 17:39:54 +01:00
Adrian Johnson
826d800b74 Set unix printer hard margins on print context 2009-12-01 17:39:26 +01:00
Christian Persch
efa90e4182 Allow getting the printer's hard margins
Adds a way to get the unprintable area of the printer. Bug #468989.
2009-12-01 17:39:01 +01:00
Matthias Clasen
e81dacb8e3 Bump version 2009-11-30 18:36:56 -05:00
Matthias Clasen
eb662b4b58 2.19.1 2009-11-30 17:23:48 -05:00
Matthias Clasen
1d6b7f6de8 Another make dist fix 2009-11-30 16:55:32 -05:00
Pablo Castellano
602e7e1910 Corrected typo in GtkIconTheme documentation 2009-11-30 22:41:18 +01:00
Matthias Clasen
671f117d24 Another update 2009-11-30 16:15:43 -05:00
Matthias Clasen
2c0dbe0a0a Doc fixes 2009-11-30 16:14:11 -05:00
Matthias Clasen
1587165c18 More updates 2009-11-30 16:14:11 -05:00
Javier Jardón
dd3d8c96d0 [gdk-pixbuf] Use G_STRLOC instead __LINE__ 2009-11-30 21:10:49 +01:00
Matthias Clasen
8ecd77ffd1 Add a release note about statusbar internal hierarchy changes 2009-11-30 14:06:57 -05:00
Matthias Clasen
ba1c9ae2bc Another make check fix 2009-11-30 13:50:39 -05:00
Matthias Clasen
9d6ddfdc51 Make dist fixes 2009-11-30 13:10:36 -05:00
Christian Dywan
e72435f9d0 Implement "compression" option in the TIFF pixbuf loader
This enables applications to read out the compression of a TIFF image
and also makes it possible to apply the same or a different
compression when saving.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=584700
2009-11-30 13:55:12 +01:00
Christian Dywan
6dfdf0fadf Fallback to gtk_show_uri for print preview if the command fails
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=601682
2009-11-30 13:20:43 +01:00
Christian Dywan
cb49a28f8c Mention exact property names in notebook tab packing deprecation
Follow-up for bug 596083.
2009-11-30 12:55:29 +01:00
Javier Jardón
ee2c797e70 [gdk/directfb] Made dfb_events_dispatch() thread save
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=591438
2009-11-30 06:02:49 +01:00
Matthias Clasen
d0083b5df3 Whitespace fixes 2009-11-29 19:48:16 -05:00
Matthias Clasen
478ca88ae5 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.
2009-11-29 19:00:28 -05:00
Matthias Clasen
6abb399ef4 Trivial doc typo fix 2009-11-29 19:00:10 -05:00
Matthias Clasen
324ff48edc Avoid a harmless warning
In labels with colored, underlined text, the link handling code
would spit out a warning, even if no links are around.
See 603302.
2009-11-29 17:19:58 -05:00
Jorge González
d0bbb86f1b Updated Spanish translation 2009-11-29 12:24:10 +01:00
Matthias Clasen
c08ed56f13 Allow holding compose key while entering a sequence
This broke when we started allowing Super, Hyper and Meta as
accel modifiers. See bug 601959.
2009-11-28 21:47:36 -05:00
Matthias Clasen
bbb4e4910b Make the toolbar-style and toolbar-size settings work
This broke when moving the setting from gtktoolbar.c to gtksettings.c.
Spotted by Christian Persch in bug 603271.
2009-11-28 21:43:59 -05:00
Matthias Clasen
d8dfad3eb9 Fix small documentation problems after the toolpalette merge
Several Since tags were wrong. Spotted by Christian Persch in
bug 603268.
2009-11-28 20:59:56 -05:00
Alexander Larsson
4e0b7bf6fe 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
2009-11-28 20:49:37 -05:00
Matthew Barnes
25a8c7316d 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.
2009-11-28 20:00:07 -05:00
Christian Persch
5bf30c2885 Make the action widgets internal children of GtkNotebook
So they're not included in the result of gtk_container_foreach() which
preserves it as a convenient way to get the list of all notebook content
widgets.

Bug #601409.
2009-11-28 18:05:09 +01:00
Matthias Clasen
6dfb21e616 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.
2009-11-28 10:29:35 -05:00
Nils-Christoph Fiedler
be86bc5c32 Updated Low German translation 2009-11-28 13:37:49 +01:00
Nils-Christoph Fiedler
dc98b24561 Updated Low German translation 2009-11-28 13:36:06 +01:00
Nils-Christoph Fiedler
d5395027e5 Updated Low German translation 2009-11-28 13:30:13 +01:00
Jorge González
cbf6c1b572 Updated Spanish translation 2009-11-28 10:53:59 +01:00
Matthias Clasen
53218f5c82 Improve docs of two style properties
See discussion in bug 561334. Based on a patch by Paul Bolle.
2009-11-28 02:17:40 -05:00
Matthias Clasen
84254039f2 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.
2009-11-27 23:49:04 -05:00
Javier Jardón
2040547d96 Move documentation to inline comments: GtkStock
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-11-28 03:05:09 +01:00
Matthias Clasen
869ee7f232 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.
2009-11-27 20:59:42 -05:00
Matthias Clasen
36ca3fd5e9 Add a missing include
memset() is used in gdk/x11/gdkinput-xfree.c but string.h is not included.
Patch by Vincent Untz, bug 597026.
2009-11-27 20:59:42 -05:00
Javier Jardón
0ef8f52567 Move documentation from templates to inline comments: GtkWidget
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-11-28 02:59:06 +01:00
Matthias Clasen
43a07af9b1 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-27 18:39:15 -05:00
Matthias Clasen
5bfab2b9d4 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-27 18:19:20 -05:00
Christian Persch
7abd4d1359 Implement gail_image_get_image_size for storage GICON and ICON_NAME
Bug #602724.
2009-11-27 19:17:23 +01:00
Christian Persch
65485cbc7c Add UI manager attribute to always show image in menu items
Add always-show-image="true|false" attribute to <menuitem> element in UI
manager markup. If present, it overrides the always-show-image property
on image menu items. Bug #589842.
2009-11-27 19:14:43 +01:00
Christian Persch
e571273d81 Add gtk_action_[sg]et_always_show_image()
Add a way to tell a GtkAction to have its menu item proxies always show
their image. Bug #589842.
2009-11-27 19:14:35 +01:00
Michael Natterer
1e476186cb Add missing single-include guards 2009-11-27 15:58:13 +01:00
Kristian Rietveld
2ef9b989bf Bug 596473 - Second double-click of GtkTreeView row doesn't emit...
Rework double click handling in GtkTreeView.  We cannot blindly use
the 2BUTTON_PRESS and 3BUTTON_PRESS events.  In case a user does two
fast double clicks, we receive a 3BUTTON_PRESS and BUTTON_PRESS.  We
cannot easily deduce two double clicks from this.

We have removed the bookkeeping using row references of the last paths
clicked.  Instead we monitor event time, (x, y) coordinates and compare
against double-click-time and double-click-distance ourselves.
2009-11-27 13:48:16 +01:00
Kristian Rietveld
dd511e825a Bug 480065 - wrong tree collapsed (or expanded) after having scrolled
Store (x, y) of last motion event.  From
gtk_tree_view_adjustment_changed(), call prelight_or_select() so that
the prelight is recalculated.  We do the same from
gtk_tree_view_size_allocate() for the case that clicking on an expander
shows new rows that resize the column(s) left of the expander.  This
means that the expander is moved horizontally, in such a case the
prelight also has to be reconsidered.
2009-11-27 13:48:16 +01:00
Kristian Rietveld
d3592dc22c Logically re-group fields in GtkTreePrivate structure
This should now cause much less of a headache than before.  Fields have
been properly reordered, each group has been given a comment.  Since the
GtkTreePrivate structure is private (as the name says), this should not
have any effect on ABI.
2009-11-27 13:48:16 +01:00
Matej Urbančič
2b810d1a22 Updated Slovenian translation 2009-11-27 13:38:19 +01:00
Matthias Clasen
4df3377446 Updates 2009-11-27 02:11:08 -05:00
Matthias Clasen
0567ea1c18 Add customary args to gtk_style_paint_spinner()
...and adjust all callers.
2009-11-27 01:23:55 -05:00
Matthias Clasen
c1dfd2f2f5 Remove duplicate entries 2009-11-27 00:47:03 -05:00
Matthias Clasen
14fb7dfb7e Fix a doc comment 2009-11-27 00:46:18 -05:00
Matthias Clasen
111dd859ba Fix a doc comment 2009-11-27 00:45:22 -05:00
Matthias Clasen
6255df0982 Fix a doc comment 2009-11-27 00:43:51 -05:00
Matthias Clasen
927aaa43f9 Remove duplicate doc comments.
These can only serve to confuse gtk-doc.
2009-11-27 00:42:54 -05:00
Matthias Clasen
3faf7d0214 Fix a doc comment 2009-11-27 00:39:26 -05:00
Matthias Clasen
7ad6bb3eb6 Un-doc-commentify a comment 2009-11-27 00:37:20 -05:00
Matthias Clasen
13d5d37bc7 Fix a doc comment 2009-11-27 00:37:03 -05:00
Matthias Clasen
104ee307c2 Update debug flag information 2009-11-27 00:32:14 -05:00
Matthias Clasen
1f8d468123 Adjust default value for GtkToolItemGroup::label 2009-11-27 00:14:37 -05:00
Matthias Clasen
4362400018 Exclude GtkToolItemGroup::label-widget from default value test 2009-11-27 00:11:59 -05:00
Matthias Clasen
37255486d4 Merge branch 'master' into toolpalette 2009-11-26 23:54:55 -05:00
Matthias Clasen
837775af7b Fix up docs, and set up the aliasing machinery 2009-11-26 23:52:20 -05:00
Matthias Clasen
7f9b55710a Some cleanups for the toolpalette demo 2009-11-26 19:41:38 -05:00
Matthias Clasen
7aa1d6fcaf Fix another doc typo 2009-11-26 18:56:25 -05:00
Nishibori Kiyotaka
9f1399e018 Updated Japanese translation 2009-11-26 23:13:38 +09:00
Matthias Clasen
044f168507 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:39:31 -05:00
Matthias Clasen
b72c2143b0 Remove misleading text about invisible text
Invisible text has been working reasonably well since 2.8.
2009-11-25 17:33:41 -05:00
Nils-Christoph Fiedler
85cb4e7a9c Updated LowGerman translation 2009-11-25 18:08:10 +01:00
Matthias Clasen
d4b92737ab Make level3 keys work again
We were not paying attention to consumed modifiers when adding
virtual modifiers. This fixes RH bug 537567.
2009-11-25 01:02:40 -05:00
Christian Persch
ba218a7789 Make setting the icon-size property on GTK_IMAGE_GICON images work
Bug #602725.
2009-11-23 17:03:55 +01:00
Ivar Smolin
f0923341bb Updating Estonian translation 2009-11-22 12:20:41 +02:00
Johannes Schmid
bffd43bd8f toolpalette: Don't call gdk_window_process_updates() in the animation callback
That does not seem to make any difference.
2009-11-18 10:38:45 +01:00
Johannes Schmid
3cc1478a29 toolpalette: Added dnd code to the gtk-demo 2009-11-18 10:32:37 +01:00
Matt Arsenault
ad2f04119f Fix missing documentation for GdkPixbufSimpleAnim.
It wasn't clear it was a GObject.
2009-11-15 13:11:22 -05:00
Mario Blättermann
81101c2271 Added dummy Low German translation 2009-11-15 17:58:59 +01:00
Nils-Christoph Fiedler
5cef58cfc3 Added Low German translation 2009-11-15 17:55:27 +01:00
Kristian Rietveld
cffddd2adc Document how Cocoa coordinate and monitor layout transforms to GDK work 2009-11-15 15:29:45 +01:00
Alberto Garcia
087348a55d Bug 601512 - Remove unnecessary check in GtkTreeModelFilter
gtk_tree_model_filter_set_visible_func() is checking for
priv->visible_func, but that is always going to be NULL since there's
no way to call this function twice.

Besides that the code itself is wrong, since it tries to call
priv->visible_destroy without making sure that it's not NULL
2009-11-15 13:42:36 +01:00
Tor Lillqvist
7fda8e6378 Awful hack for problem in dnd of images from Firefox on Windows
Bypassed with #if 0 because it is an awful hack and not really
acceptable from a privacy point of view for instance. It prevents
Firefox from deleting temporary files containing images being dragged,
so they stay on disk. Bug #561973.
2009-11-15 00:37:17 +02:00
Antón Méixome
ccf97385a7 Updated Galician Translation 2009-11-13 11:27:54 +01:00
Li Yuan
c10231f3e0 Require atk 1.29.2 for bug #569430. 2009-11-13 12:28:03 +08:00
Christian Dywan
0bc6680564 Implement gtk_statusbar_get_message_area and "message_area" child
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=594535
2009-11-12 18:57:37 +01:00
Kjartan Maraas
d03b53800e Fix typo 2009-11-11 21:39:32 +01:00
Kjartan Maraas
385c266a0f Updated Norwegian bokmål translation. 2009-11-11 21:39:32 +01:00
Christian Dywan
00d87c2563 [gtk/gtkwindow] Added accessor for GTK_WINDOW ()->type
There already is the "type" property, but an accessor
function for it would be intuitive: gtk_window_get_window_type()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=595498
2009-11-11 20:07:39 +01:00
Javier Jardón
ecc3065f76 Only use gdk_input_select_events() if XINPUT_NONE is defined
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=601337
2009-11-11 17:42:20 +01:00
Marek Kasik
c32c2882b2 Rotate figures on landscape icons in page setup dialog
Rotate figures on landscape and reverse landscape icons
to match output of print (#599402).
2009-11-11 14:21:11 +01:00
Johannes Schmid
ffce5223fc toolpalette: Fixed inconsistent spacing 2009-11-11 10:02:36 +01:00
Johannes Schmid
0e2a5509f6 toolpalette: fixed trailing whitespaces 2009-11-11 09:42:49 +01:00
Johannes Schmid
0886416f26 toolpalette: Fixed documentation 2009-11-11 09:38:32 +01:00
Johannes Schmid
fe216c9367 toolpalette: allow to reset same adjustment 2009-11-11 09:33:49 +01:00
Johannes Schmid
3b2ae9dc3e toolpalettte: Fixed some style issues 2009-11-11 09:32:15 +01:00
Johannes Schmid
e8b640104e toolpalette: Always show text horizontally 2009-11-11 09:27:00 +01:00
Javier Jardón
c366d5c89e Fix incorrect GtkMovementStep description
Reported by James Campos here:
https://bugzilla.gnome.org/show_bug.cgi?id=601432
2009-11-10 20:42:13 +01:00
Javier Jardón
e8e82802a4 Fix compilation warning: Use GDK_GPOINTER_TO_NATIVE_WINDOW() macro 2009-11-10 20:26:59 +01:00
Javier Jardón
cd2ff792ca [gdk] Added GDK_GPOINTER_TO_NATIVE_WINDOW() macro
GdkNativeWindow cast is needed in 64-bit Windows so gpointer data
is converted to a (64-bit) native window handle.
GPOINTER_TO_UINT() is used in other platforms.
2009-11-10 20:15:37 +01:00
Tor Lillqvist
0e87c90539 Revert "Fix compilation warning: Use G_POINTER_TO_UINT"
GPOINTER_TO_UINT() *does* drop the upper 32 bits on 64-bit
Windows. After all, it by definition produces a (32-bit) unsigned int.

The GLib commit mentioned in the reverted commit's log message just
means that it does this without any compiler warning about casting
from pointer to integer of smaller size, as it first casts to a 64-bit
integer, then casts that to a (32-bit) int.

We must use the GdkNativeWindow cast here so that on 64-bit Windows
the gpointer data in embedded_list is converted to a (64-bit) native
window handle without going through 32-bit truncation. If ifdefs are
required to avoid compiler warnings on X11, so be it then. Probably it
would be best to introduce a GDK_GPOINTER_TO_NATIVE_WINDOW() macro in
gdktypes.h.

This reverts commit 78151dc7d4.
2009-11-10 16:17:33 +02:00
Javier Jardón
cb301e6dbb Fix compilation warning: Use a variable to store the return value 2009-11-09 22:39:54 +01:00
Johannes Schmid
1de2a55eaf Ported gtktoolpalette from a custom array to GPtrArray.
...and some mixed fixes of things mentioned in the bug report
2009-11-09 22:16:15 +01:00
Javier Jardón
21f6e1841a Fix compilation warning: Use G_GNUC_UNUSED macro
add_builtin_module() is only used into #define block of code
2009-11-09 21:49:47 +01:00
Javier Jardón
78151dc7d4 Fix compilation warning: Use G_POINTER_TO_UINT
GPOINTER_TO_UINT() doesn't drops the upper 32 bits on Win64 anymore.
The Glib commit e4194cb055e44f8a1bd2ab666ead9fa040bcdb89 solved this
problem.
2009-11-09 21:18:22 +01:00
Javier Jardón
3143a344a7 Fix compilation warning: Disable unused function
Use #if 0 to disable unused gtk_text_btree_node_invalidate_downward()
2009-11-09 20:56:54 +01:00
Christian Dywan
148ffd2cc9 Clarify documentation of gtk_notebook_set_action_widget 2009-11-09 16:36:17 +01:00
Javier Jardón
f1f6d76078 Fix some compilation warnings
Use the proper G*_TO_POINTER macro
2009-11-09 10:27:30 +01:00
Javier Jardón
1919f55647 Fix compilation warning: initialize variable to NO_MATCH 2009-11-09 09:41:51 +01:00
Javier Jardón
20f123531a Fix compilation warning
Use GINT_TO_POINTER() and GPOINTER_TO_INT()
2009-11-09 09:36:49 +01:00
Javier Jardón
8831a44902 Fix warning: Use parentheses around '&&' within '||' 2009-11-09 09:36:41 +01:00
Javier Jardón
d8f5ce4b54 Fix compilation warning: Use const gchar* variable 2009-11-09 09:36:36 +01:00
Javier Jardón
ef414cc6bf Fix compilation warning: Cast to gchar* 2009-11-09 09:36:31 +01:00
Javier Jardón
c7a5ddf8a7 Disable test until it is rewritten to work 2009-11-09 09:36:23 +01:00
Javier Jardón
e70a46c7e3 Fix compilation warning: initialize the variable 2009-11-09 09:36:15 +01:00
Javier Jardón
73cfcf9495 Fix compilation warning: Cast to guchar* 2009-11-09 09:34:23 +01:00
Matthias Clasen
c605474fa9 Add GtkBuilder support for notebook action area.
Allow to place children into the notebooks action areas by using
"action-start" or "action-end" as the type.
2009-11-08 21:34:29 -05:00
Matthias Clasen
c7e4a1a012 Add an 'action area' to GtkNotebook
Add support for putting widgets in the tab area, before or after
the tabs. This was requested a long time ago in bug 116650. The
implementation is the work of Johannes Schmid.
2009-11-08 21:28:17 -05:00
Daniel Nylander
38f7383c7a Updated Swedish translation 2009-11-08 22:09:50 +01:00
Robin Stocker
26e2c7f398 Example for setting default action in gtk_drag_dest_set 2009-11-08 01:35:42 +01:00
Paul Pogonyshev
bb036097c3 Trivial typo fix. 2009-11-08 01:10:45 +02:00
Thomas Thurman
812c97012e Shavian translation 2009-11-07 15:49:44 +00:00
Jorge González
51534bd666 Updated Spanish translation 2009-11-07 12:45:52 +01:00
A S Alam
42b6d0a02d Change Latin Number to Gurmukhi for Step up the use of Punjabi (Gurmukhi) 2009-11-07 16:08:34 +05:30
Johannes Schmid
02a9d9afd8 Remove G_GNUC_UNUSED 2009-11-07 10:56:59 +01:00
Javier Jardón
78acc785db Fix a typo
This was introduced in commit 72b69e0094
Reported by BugByteMan here:
http://mail.gnome.org/archives/gtk-devel-list/2009-November/msg00014.html
2009-11-07 02:18:05 +01:00
Jorge González
f733568f1f Updated Spanish translation 2009-11-06 21:52:01 +01:00
Matej Urbančič
d823957ee6 Updated Slovenian translation 2009-11-06 14:50:26 +01:00
Matej Urbančič
bcd8b4b2b8 Updated Slovenian translation 2009-11-06 14:49:58 +01:00
Joanmarie Diggs
a196cb9400 Add RELATION_NODE_PARENT_OF relationship for treeview.
Bug 569430.
2009-11-06 16:17:23 +08:00
Nirbheek Chauhan
aaa126d39f [configure] Add check for cairo-svg.h for file print backend
Closes https://bugzilla.gnome.org/show_bug.cgi?id=600222
2009-11-06 05:47:15 +01:00
Javier Jardón
7d1c8fa644 [gdk/x11/gdkdnd-x11] Add missing "Deprecated: 2.x" to the api doc comments. 2009-11-06 03:41:02 +01:00
Javier Jardón
0d55c6ede1 [gdk/gdkimage] Add missing "Deprecated: 2.x" to the api doc comments. 2009-11-06 03:37:56 +01:00
Javier Jardón
7bc07ffe86 [gdk/gdkgc] Add missing "Deprecated: 2.x" to the api doc comments. 2009-11-06 03:30:31 +01:00
Javier Jardón
925fa99393 [gdk/gdkdraw] Add missing "Deprecated: 2.x" to the api doc comments. 2009-11-06 03:26:27 +01:00
Javier Jardón
64d054264e [gdk/gdkcolors] Add missing "Deprecated: 2.x" to the api doc comments. 2009-11-06 03:16:34 +01:00
Javier Jardón
8082aad271 Use "Deprecated:" gtk-doc symbol corrently
Also, added some suggestion about replacements for deprecated functions
2009-11-06 03:03:40 +01:00
Nicola Fontana
1e1131c959 Do not use static GTypeInfo and GInterfaceInfo
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.

https://bugzilla.gnome.org/show_bug.cgi?id=600158
2009-11-06 01:21:09 +01:00
Christian Dywan
e41f4e85cf Improve accessibility context and description of the spinner
https://bugzilla.gnome.org/show_bug.cgi?id=598758
2009-11-06 00:56:30 +01:00
Bruce Cowan
2f9bd297bb Fix tooltips in GtkColorSelection
Tooltips made reference to palette, even though it may not have been
visible. Bug #600150.
2009-11-05 23:22:32 +00:00
Matthias Clasen
f4990f6c9d 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:29:34 -05:00
Alexander Larsson
9e51c10edc 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
2009-11-05 12:52:12 +01:00
Alexander Larsson
9ae0d9a44f Document clears_as_native and make the name more descriptive 2009-11-05 12:52:12 +01:00
Alexander Larsson
39993f147f 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.
2009-11-05 12:52:12 +01:00
Alexander Larsson
4cd5c98942 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.
2009-11-05 12:52:12 +01:00
Alexander Larsson
a299797883 Only send exposes on unmap if window really was unmapped
Exposing when you hide a hidden window is just a waste of time.
2009-11-05 12:52:12 +01:00
Alexander Larsson
8c1ea38d84 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.
2009-11-05 12:52:11 +01:00
Paolo Bonzini
72b69e0094 Don't run system("touch conf.gtktest") in the AM_PATH_GTK_2_0 macro
Just use the C library instead to create the file. Helps building
using Wine. Not that I think we want to endorse that way to build GTK+
for Windows, proper cross-compiling surely probably more sense, but
accepting this minimal patch doesn't hurt. From bug #590017.

Signed-off-by: Tor Lillqvist <tml@iki.fi>
2009-11-03 18:50:55 +02:00
Javier Jardón
8dfac859a1 Fix some compilation warnings
Cast to guint8* and use guint instead int in some variables
2009-11-03 00:04:49 +01:00
Javier Jardón
1a02671437 Fix compilation warning: Use gpointer variables 2009-11-02 23:49:00 +01:00
Benjamin Otte
ba9f53397f Don't keep the filesystem model alive while querying files
This allows disposing of the filesystemmodel while the file enumeration
is still happening.
As the filechooser does not disconnect its signals because it assumes it
is the only owner of the model, this also prevents a SEGV when emitting
the "load-finished" signal in that case.
2009-11-02 20:11:09 +01:00
Benjamin Otte
8632d8763d Simplify cleanup code
The patch ensures that the file browse model can only get removed in one
place, so it's easier to clean up.
2009-11-02 20:11:03 +01:00
Matthias Clasen
1dbb6ebcfc Bump version 2009-11-01 19:37:53 -05:00
Matthias Clasen
6f3a73cfb9 2.19.0 2009-11-01 19:23:05 -05:00
Matthias Clasen
80de4ab0d9 Another property formatting fix 2009-11-01 18:53:51 -05:00
Matthias Clasen
0a9a1bec93 Work around a gtk-doc formatting problem 2009-11-01 16:41:48 -05:00
Matthias Clasen
097b254e4b Documentation and stylistic fixups 2009-11-01 16:12:43 -05:00
Matthias Clasen
ff2dbc5040 Remove en@shaw from LINGUAS
It breaks the build because there is no po-properties/en@shaw.po.
Please add that file before adding it back, thanks.
2009-11-01 15:45:09 -05:00
Matthias Clasen
3e599b651a Updates 2009-11-01 15:40:02 -05:00
Thomas Thurman
97b7cdda17 Shavian translation fix 2009-10-31 22:20:09 -04:00
Thomas Thurman
e73974f2ee Shavian translation 2009-10-31 21:52:18 -04:00
Khaled Hosny
5df0609641 Updated Arabic translation 2009-10-30 21:38:21 +02:00
Javier Jardón
141a7dac00 Fix warning: Initialize to TRUE the returned variable
Also, fixing some indentation problems
2009-10-30 19:24:08 +01:00
Javier Jardón
550796d897 Fix some compilation warnings
Use proper gint8 array variable instead a string
2009-10-30 18:36:03 +01:00
Javier Jardón
8763551b6b Fix warning: cast to gint* 2009-10-30 18:34:35 +01:00
Javier Jardón
3dbfc08a7a Fix some compilation warnings
Fixed the prototypes of MyEnhancedXkbTranslateKeyCode() and
translate_keysym() to take a gint* because those functions treat
these arguments as an int, so we get around the need to cast.
2009-10-30 18:33:16 +01:00
Javier Jardón
3388a1b146 Use "Since: 2.x" instead "Since 2.x" 2009-10-30 18:11:44 +01:00
Javier Jardón
0a9843c1b9 Fix warning: some casts to gchar* 2009-10-30 04:27:32 +01:00
Javier Jardón
07236ee745 Remove statement with no effect 2009-10-30 04:19:10 +01:00
Javier Jardón
cbba733b47 Fix warning: cast to gchar* 2009-10-30 04:17:29 +01:00
Javier Jardón
d76287c94b Fix warning: cast to gchar* 2009-10-30 04:04:28 +01:00
Matthias Clasen
0f78a6c89a Allow setting type hints on unmapped windows
We set the hint on map, so it makes sense to check for GTK_WIDGET_MAPPED,
not GTK_WIDGET_VISIBLE as the code currently does.
2009-10-28 12:13:58 -04:00
Johannes Schmid
ed41fa8b50 Fixed GtkToolPalette API docs to mention 2.20 instead of 2.18 2009-10-28 13:17:13 +01:00
Johannes Schmid
e83013c066 Fix custom label handling in gtktoolitemgroup 2009-10-28 13:11:37 +01:00
Johannes Schmid
c229306a18 Merge branch 'master' into toolpalette 2009-10-28 10:57:46 +01:00
Yevgen Muntyan
4ff709c24b Use standard mac shortcuts: add gtk/gtkrc.key.mac
This completes commit 3c510f028f

https://bugzilla.gnome.org/show_bug.cgi?id=530351
2009-10-28 00:54:28 +01:00
Christian Dywan
da8dde446d Deprecate functions according to deprecated GtkButton signals
https://bugzilla.gnome.org/show_bug.cgi?id=599218
2009-10-27 22:42:25 +01:00
Christian Dywan
6271cb9672 Don't use deprecated button signal functions in clist and combo 2009-10-27 22:42:24 +01:00
Christian Dywan
87c0397edc Don't use deprecated button signal functions in Gail 2009-10-27 22:42:24 +01:00
Jorge González
b2e629f044 Updated Spanish translation 2009-10-27 21:40:12 +01:00
Christian Dywan
4f0b0d0775 Don't use structure fields of GtkAccelMap in GtkSocket
https://bugzilla.gnome.org/show_bug.cgi?id=599403
2009-10-27 21:27:28 +01:00
Christian Dywan
f4d5ed5397 Allow removing all closures with gtk_accel_group_disconnect
https://bugzilla.gnome.org/show_bug.cgi?id=599403
2009-10-27 21:25:56 +01:00
Marek Kasik
33ec0ecf05 Don't assign a GtkPageOrientation to a boolean value
GtkPrintOperationPrivate->orientation is a boolean value.
2009-10-27 17:35:37 +01:00
Marek Kasik
50e784c405 Rotate number-up layout according to orientation when printing
Number-up layout has to be rotated differently since rotation in
"landscape" and "reversed landscape" mode was changed.
2009-10-27 16:53:43 +01:00
Adrian Johnson
9f2c5e3b3a Take printer margins into account on Windows
Fixes bug #381371.
2009-10-27 12:30:50 +02:00
Christian Dywan
57af1cdb8c Only set the accesible label if it is non-empty
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599446
2009-10-27 00:34:49 +01:00
Javier Jardón
d0f2cd73b0 Use G_STRLOC instead __FILE__ and __LINE__ 2009-10-27 00:21:51 +01:00
Nick Schermer
92a68f4cf9 gtk_init_with_args() arguments should be const gchar*
The translation_domain argument should be const gchar * to allow compilation
with -Wwrite-strings. It only passes the argument to
g_option_context_add_main_entries() which is already const gchar*.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=583305
2009-10-26 22:29:33 +01:00
Dumitru Mișu Moldovan
aaa45996d9 Updated Romanian translation 2009-10-26 22:54:59 +02:00
Javier Jardón
12061507b4 Use G_STRFUNC and G_STRLOC instead __FUNCTION__ and __FILE__ 2009-10-26 18:46:19 +01:00
Javier Jardón
42aebf51a2 Use G_STRFUNC instead __FUNCTION__ 2009-10-26 18:46:14 +01:00
Javier Jardón
c368c6e425 Use G_STRLOC instead __LINE__ 2009-10-26 18:19:48 +01:00
Javier Jardón
a667ee8e5e Use G_STRFUNC instead __FUNCTION__ 2009-10-26 18:17:23 +01:00
Marek Kasik
6b5912a213 Show correct print preview
Modify print preview according to settings from print dialog.
Similar approach as during real print is applied to the preview
process (#592582).
2009-10-26 17:47:37 +01:00
Javier Jardón
567b23229f Cast to gchar* to fix a compilation warning 2009-10-26 15:14:46 +01:00
Kristian Rietveld
a338c7e929 Update copyright 2009-10-26 09:57:11 +01:00
Kristian Rietveld
fa8fa48ef1 Update position of toplevels after display reconfiguration
We have to do this, especially after the screen containing the menubar
has changed.  Such more larger changes in monitor geometry will cause
changes to how monitors are laid out in the root window.  The position
coordinates of the windows will have to be updated to reflect their
position in the new layout.
2009-10-26 09:52:54 +01:00
Kristian Rietveld
a4d932cc64 Fixup get_nsscreen_for_x() 2009-10-26 09:52:54 +01:00
Kristian Rietveld
221883dd31 Remove unused variable (fix compiler warning) 2009-10-26 09:52:54 +01:00
Kristian Rietveld
93530675de Update size of root window after display reconfiguration 2009-10-26 09:52:54 +01:00
Kristian Rietveld
959a9437e6 Support arbitrary screen layouts
The Quartz port now supports arbitrary multiple monitor layouts instead
of only monitors are were laid out horizontally.  This builds on the
reworked coordinate translation done in a previous commit.
2009-10-26 09:52:54 +01:00
Kristian Rietveld
8846012c6d Rework coordinate transformation to be based on root window
The root window contains all the monitors attached to a Mac.  The
coordinate transformation now both translates the x and y coordinate,
translating it from the Cocoa monitor coordinate space to the GDK
coordinate space.  How monitors are laid out in the root window differs
between Cocoa and GDK, which is why it is important to translate based
on the root window to get multi monitor setups to work properly.

We have replaced the old y coordinate transformation function with
new functions that translate both the x and y coordinate.

When creating new toplevels, we have to determine the Cocoa screen on
which the toplevel should appear and translate the coordinates according
to that screen.

This change also fixes event handling in case there is a monitor left
of the screen containing the menu bar.  In such a case all coordinates
on the left monitor are negative.  Event handling broke, because of
_gdk_quartz_window_find_child() checking bounds.  Now that coordinates
are always properly translated to GDK coordinate space, in which negative
coordinates do never occur, the checks here will work properly.
2009-10-26 09:52:54 +01:00
Kristian Rietveld
d26dd103b2 Be consistent with X11: emit monitors-changed first, then size-changed 2009-10-26 09:52:53 +01:00
Kristian Rietveld
aa25e4a51c Update documentation for ::monitors-changed to mention OS X support 2009-10-26 09:52:53 +01:00
Kristian Rietveld
e36872da38 Use screen when emitting signal, not _gdk_screen 2009-10-26 09:52:53 +01:00
Kristian Rietveld
63e2f54516 Emit monitors-changed signal when appropriate 2009-10-26 09:52:53 +01:00
Kristian Rietveld
12dc617dc2 Move screen resolution setup to GdkScreenQuartz initializer 2009-10-26 09:52:53 +01:00
Kristian Rietveld
d47772f002 Create a proper subclass of GdkScreen: GdkScreenQuartz 2009-10-26 09:52:52 +01:00
Kristian Rietveld
73b55ae8f5 Register and handle a display reconfiguration callback
Using this we can update our internal monitor/screen layout state
and emit the GdkScreen::size-changed signal.  Work has not
completely finished on this yet, see bug 596238.
2009-10-26 09:52:52 +01:00
Kristian Rietveld
ce3c861c2a Setup monitor rects during screen initialization and re-use data 2009-10-26 09:52:52 +01:00
Kristian Rietveld
ca20b04b58 Move screen initialization to gdkscreen-quartz.c 2009-10-26 09:52:52 +01:00
Matthias Clasen
d3e6cffff7 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:47:59 -04:00
Matthias Clasen
16482f20db 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:46:27 -04:00
Matthias Clasen
4c26d99d3e 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:42:58 -04:00
Kevin Peng
4b22b461b6 GdkPixbuf loader for QTIF format
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=366217
2009-10-26 00:08:08 +01:00
Yevgen Muntyan
3c510f028f Use standard mac shortcuts
This changes Ctrl-X, Ctrl-C, etc. to Cmd-X, Cmd-C, etc. Also,
Alt-Left and Alt-Right in text widgets bound to Ctrl-Left and
Ctrl-Right actions

https://bugzilla.gnome.org/show_bug.cgi?id=530351
2009-10-26 00:03:05 +01:00
Javier Jardón
e21355495a Cast to gchar* to fix a compilation warning 2009-10-25 22:14:12 +01:00
Michael Emmel
04d7d81056 Fix for position bug
https://bugzilla.gnome.org/show_bug.cgi?id=590800
2009-10-24 17:20:50 +02:00
Matthew Barnes
13d968adbe 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:32:25 -04:00
Kristian Rietveld
42ac226877 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.
2009-10-23 13:53:57 +02:00
Tor Lillqvist
861c34b01e Use correct type text/uri-list for the dropped files selection
Fixes bug #599321.
2009-10-23 13:40:27 +03:00
Javier Jardón
8e945e0e3f Cast to gchar* to fix a compilation warning 2009-10-22 00:10:50 +02:00
Javier Jardón
852d4f49cd Cast to fix compilation warning 2009-10-22 00:03:44 +02:00
Luca Ferretti
af6f5c1349 Add translators comments for tab labels (closes 599118) 2009-10-21 22:06:31 +02:00
Luca Ferretti
d3dbd54076 Minor fixes 2009-10-21 21:47:06 +02:00
Javier Jardon
98ea183c13 Use G_STRLOC instead __FILE__ and __LINE__
Patch from bug #599225
2009-10-21 21:48:00 +03:00
Michael Natterer
34b4b4d9c3 Add single-include guard and reduce includes to what's needed 2009-10-21 20:21:20 +02:00
Michael Natterer
8c34831e42 Don't allow to include this new header individually 2009-10-21 20:20:54 +02:00
Javier Jardón
c43a3acac3 Fix a compilation warning: use NULL instead "" 2009-10-21 19:41:50 +02:00
Javier Jardón
d020cb4aa3 Remove unused function 2009-10-21 19:39:46 +02:00
Javier Jardón
d5f1b79fab Fix compilation warnings: use G_GSIZE_FORMAT instead %i 2009-10-21 19:38:20 +02:00
Federico Mena Quintero
48f1b89eae 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.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-21 12:29:03 -05:00
Cody Russell
0f33ad4ee1 Added editing_canceled property to GtkCellEditable
GTK_ENTRY()->editing_canceled should really have been a parameter of the
GtkCellEditable::editing-done signal, it should be a property on the cell
editable interface

https://bugzilla.gnome.org/show_bug.cgi?id=594962
2009-10-21 18:55:24 +02:00
Christian Dywan
272e0b5b76 Deprecated GtkNotebook tab packing
https://bugzilla.gnome.org/show_bug.cgi?id=596083
2009-10-21 18:25:02 +02:00
Christian Dywan
7c6823373a Deprecate GtkCurve and GtkGammaCurve
https://bugzilla.gnome.org/show_bug.cgi?id=556263
2009-10-21 18:17:32 +02:00
Christian Dywan
f5df4e05e2 Added accesor for GTK_VIEWPORT (widget)->bin_window
Although, you can use:
gtk_widget_get_parent_window (gtk_bin_get_child (GTK_BIN (widget)))
there already are gtk_tree_view_get_bin_window() and
gtk_layout_get_bin_window() in GTK+ api.

https://bugzilla.gnome.org/show_bug.cgi?id=594960
2009-10-21 18:14:31 +02:00
Javier Jardón
6f6746389c Fix a compilation warning
Use switch instead if's to get a default value
2009-10-21 02:57:19 +02:00
Javier Jardón
69773763ee Fix a compilation warning
Reorder the function so the "lookup_context" variable can't be
used uninitialized
2009-10-21 02:45:05 +02:00
Javier Jardón
13ff557587 Fix some compilation warning
Complete the previous patch: set lower to 0 too
2009-10-21 02:37:05 +02:00
Javier Jardón
670e141b3a Fix some compilation warning
Added some default cases and assert if reached
2009-10-21 02:08:18 +02:00
Javier Jardón
8e70bc988b Fix a compilation warning
Use parenthesis in a expression with "&" operator
2009-10-20 20:44:48 +02:00
Javier Jardón
33f53e1d04 Fix a compilation warning
Catch the returned value of write()
2009-10-20 20:43:44 +02:00
Javier Jardón
232fca6e95 Fix compilation warning
Use g_get_current_dir() instead getcwd()
2009-10-20 20:38:14 +02:00
Javier Jardón
d3155bb1ea Remove some unnused variables 2009-10-20 20:37:46 +02:00
Marek Kasik
cf8c4a6a80 A small correction of previous commit
Correct of a typo.
2009-10-19 11:44:09 +02:00
Matthias Clasen
52ef2f2a3e Correct a small oversight
When changing themes, we also need to update the box spacing of
tooltips.
2009-10-18 20:38:28 -04:00
Tor Lillqvist
ab13c00a38 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:35:17 +03:00
Tor Lillqvist
0698ddd421 Delete a couple of leftover commented-out lines 2009-10-18 14:19:55 +03:00
Tor Lillqvist
77590e9af7 Add missing newline to debugging output 2009-10-18 14:19:24 +03:00
Tor Lillqvist
be5c06d799 Delete unused leftover static function 2009-10-18 12:08:18 +03:00
Tor Lillqvist
f545bd270d More meaningful debugging output in gdk_win32_window_get_root_coords 2009-10-18 12:06:29 +03:00
Tor Lillqvist
d8de422794 Remove unused variables and static functions 2009-10-18 11:51:57 +03:00
Tor Lillqvist
b92f882ec4 Correct function names in debugging output 2009-10-18 11:45:03 +03:00
Matthias Clasen
9f11bb0ff6 Don't omit GTK_ICON_SIZE_DIALOG 2009-10-18 02:07:58 -04:00
Matthias Clasen
1dbfcf484b 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:38:44 -04:00
Simos Xenitellis
2f796df1ea Updated Greek translation 2009-10-17 17:30:28 +03:00
Jorge González
185ed29598 Updated Spanish translation 2009-10-17 13:45:01 +02:00
Christian Dywan
06603435a2 Undefine GTK_DISABLE_DEPRECATED in testinput to keep it compiling 2009-10-16 18:45:53 +02:00
Christian Dywan
8e6dbff2b0 Deprecate GtkInputDialog
Deprecate the widget and adjust the documentation.

https://bugzilla.gnome.org/show_bug.cgi?id=594903
2009-10-16 16:05:13 +02:00
Tor Lillqvist
6d62e4fafe Fix build on Windows 2009-10-16 13:29:54 +03:00
Debarshi Ray
34f6b9518c Use G_BEGIN/END_DECLS in gtkcellrendererspinner.h 2009-10-16 00:22:20 +03:00
Federico Mena Quintero
f0e2d7d88b Fix thinkos in which fields get used
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:20 +02:00
Federico Mena Quintero
02d96465f4 Oops, it's gsize, not GSize
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:19 +02:00
Federico Mena Quintero
1d283145bf Fix a g_strdup_printf()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:19 +02:00
Federico Mena Quintero
c39e8af7f4 Put the list of column types in a macro
Every call to _gtk_file_system_model_new*() gets the same list of column types,
so we now keep the list in a macro instead of having duplicated copies all around.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:19 +02:00
Federico Mena Quintero
4c242317b0 Clarify the arguments of g_file_query_info_async()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:19 +02:00
Federico Mena Quintero
2f3367fbf8 Make copy_attribute() a function instead of a macro
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:19 +02:00
Federico Mena Quintero
442484a280 Don't leak a treepath if the treeview is not populated yet
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:18 +02:00
Federico Mena Quintero
35028b9f05 Factor out function to set a fixed size for the icon cell renderers
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:18 +02:00
Federico Mena Quintero
90647c1a13 Comment that the column order needs to be kept in sync across two functions
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:18 +02:00
Federico Mena Quintero
0144521438 Fix typo in a comment
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:18 +02:00
Federico Mena Quintero
6e3a6ba12f Make get_selected_file() return a ref'ed file
The old semantics was to return a GFile* owned by the file system model; the new
semantics is to hand out new references whenever possible.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:18 +02:00
Federico Mena Quintero
7e9fbd16e4 In set_filter(), handle the case where the new filter is the same as the old filter
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
fb1a72fcb0 s/get_is_visible/iter_is_visible for clarity
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
9efa64fba5 Remove obsolete comment
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
55a04b1da0 Make the code match the docs in _gtk_file_system_model_clear_cache()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
112d2430be Free some missing fields in ::finalize()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
5ea265ca61 Clarify variable names in gtk_file_system_model_sort()
To comply with the i -> indexes; r -> rows convention.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
7ecc87ed59 Nothing to do for ref/unref_node
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:17 +02:00
Federico Mena Quintero
8bf24cdd9d Clarify a couple of spots with comments
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
14cc3e17f5 Clarify array indexes vs. row numbers
There was some confusion between "index" as used for the model->files[] array,
and node->index as used for our 1-based row numbers.  Now we use "index" only
for indices in the model->files[] array, and node->row for row numbers.  Functions
and variables are renamed to clarify whether they refer to indexes or rows.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
d0468ee7e1 Big comment on how GtkFileSystemModel works
Let's have some documentation on the idea behind this beast...

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
04c78019fb Remove obsolete code to use a cached mime-type
The non-standard "filechooser::mime-type" was a remnant of the recent-files code using
a hand-built GFileInfo; now we just query the file info ourselves.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
6166fccf30 Fix thinko in node_should_be_visible()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
908911d6db Factory out functions to emit row_inserted, row_changed, row_deleted
This is to avoid temporary variables for the path/iter and to avoid duplicated code.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
ad2e6ff52c When updating a file, handle the case where the old file info is the same as the new one
This prevents us from inadvertently losing the last ref to the info.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:16 +02:00
Federico Mena Quintero
688917cdbb When removing a file, also remove it from the file_lookup hash table
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:15 +02:00
Federico Mena Quintero
385fa71ec0 Comment on how the file_lookup hash table gets rebuilt on demand
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:15 +02:00
Federico Mena Quintero
6820dee988 Clarify the arguments to g_file_query_info_async()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:15 +02:00
Federico Mena Quintero
ccee7ef4fb Show an error dialog when we can't read the folder's contents
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:15 +02:00
Federico Mena Quintero
3b86973075 Clarify the code flow in gtk_file_system_model_got_files()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:15 +02:00
Federico Mena Quintero
3f7c144605 Remove the dir_thaw_source while disposing the model
Otherwise that timeout may trigger after the model has died.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:15 +02:00
Federico Mena Quintero
30016185be Make _gtk_file_system_model_remove_file() static
It was only used internally by the model.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
2e0382cf02 Make _gtk_file_system_model_add_file() static
It was only used internally by the model, anyway.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
93588c6d5c Clarify the comments that some fields in GtkFileSystemModel can be NULL
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
88bb9342ab Clarify the arguments to g_file_monitor_directory()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
d2d997a021 Clarify an argument to g_file_enumerate_children_async()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
d5d9601852 Fix and tighten an assertion
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
86c32c2502 Complete the documentation string for _gtk_file_system_model_new()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:14 +02:00
Federico Mena Quintero
3232c469fc Start with a file array with a resonable preallocated size
g_array_new() doesn't reserve any size by default, so during the initial population
of the file array, we'll do more reallocs than strictly needed.  We'll start with
a reasonable preallocated size, in this case the number of files which we can
get in a single chunk out of GIO.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:13 +02:00
Federico Mena Quintero
5110415684 Compute the node size only once to avoid the scary macro
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:13 +02:00
Federico Mena Quintero
dfe20ea1a8 g_error() as soon as we catch an invalid column type
There's no point in running a GtkFileSystemModel with invalid column types.
This way we can also avoid clearing the memory of the column_types array.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-10-15 22:06:13 +02:00
Benjamin Otte
836c3ab043 Improve show_and_select_files() function
The previous function enumerated the whole directory and used a lot of
outdated API to decide how to show files.
The new code queries the filesystem model to decide about this.
The now unused old functions were removed.
2009-10-15 22:01:40 +02:00
Benjamin Otte
6bdaaea3a4 Remove unused error argument from show_and_select_files() 2009-10-15 22:01:40 +02:00
Benjamin Otte
682a3c8c75 Enable the size column in recent files/search
Previously information about file sizes was not available for search
results and recent files, so the column was always hidden. As this
information is now available, we can stop the special handling and use
the same setting as in browse mode.
2009-10-15 22:01:40 +02:00
Benjamin Otte
d68bca1771 Use the faster accessor function in the sort functions
Use the faster _gtk_file_system_model_get_value() function instead of
gtk_tree_model_get() inside the sort functions. This gives a significant
speed-up when sorting large lists.
In a test case with 40.000 files, the sorting time went from ~5 seconds
to less than 0.5 seconds for my test case. There is 2 significant
problems with gtk_tree_model_get() that cause this:
1) The value is copied, which takes quite a bit of time for strings.
   ~25% of excessive time or ~1 second in my test
2) The tree model functions need to lookup the interface vfunc. And
   gtk_tree_model_get() doesn't do that only once, but multiple times
   (verifying column id, getting the actual value, ...)
   ~75% of excessive time or ~3 seconds in my test
2009-10-15 22:01:39 +02:00
Benjamin Otte
53a00e3cc3 Convert recent files to a GtkFileSystemModel
This does to the recent files what the last commit did to the search. It
uses a GtkFileSystemModel and its API niceties to show the recent files.
2009-10-15 22:01:39 +02:00
Benjamin Otte
5a31dfd66b Convert search to use a GtkFileSystemModel
Replace the list model code with the file system model and use all the
file system model API niceties we get from that.
Also adds the function _gtk_file_system_model_add_and_query_file() which
g_file_query_info()'s the file before adding it, so it gets added with
the right information.
2009-10-15 22:01:09 +02:00
Benjamin Otte
390a3910f5 Don't count the "enter directory name" line as a selected file 2009-10-15 22:00:09 +02:00
Benjamin Otte
affa8c8459 Add a constructor to filesystem model that does not monitor a directory
This is in preparation for switching search and recent models to use
GtkFileSystemModel
2009-10-15 22:00:09 +02:00
Benjamin Otte
10e8d6abca Make the filesystem model filter API use a GtkFileFilter
This gets rid of the vfunc API and does exactly what the file chooser
wants.
2009-10-15 22:00:09 +02:00
Benjamin Otte
cd337e2a95 Only query the absolutely necessary attributes
Since the time taken by g_file_enumerate_children() depends a lot on the
attributes that are queried, we query the minimum attributes that need
to be queired to display the file chooser.

In particular, the attributes for loading the icon are ignored, as icons
are loaded on demand (see previous commit).
2009-10-15 22:00:08 +02:00
Benjamin Otte
4a1ff32325 Load icons on-demand
Because loading icons takes a noticable performance, this code loads the
pixbuf on demand and only loads icons for rows that are visible. There
is a few caveats to this:
- The pixbuf cell renderer must report the proer size even if the icon
  is not yet loaded. This is achieved by setting a fixed size.
- On theme changes the cahced pixbufs and the cell renderer must be
  updated to conform to the new theme.
2009-10-15 22:00:08 +02:00
Benjamin Otte
105e6fbc11 Use the GtkTreeSortable of the filesystem model
Previously, there was a GtkTreeSortModel wrapped around the filesystem
model to make it sortable. As the new implementation implements the
GtkTreeSortable interface, we can use this instead.
2009-10-15 22:00:08 +02:00
Benjamin Otte
3e385ffd07 Clean up code to use the model directly
A lot of code special cases accesses to the tree view for the different
browse modes, which was previously necessary, because the models were
different. Now that they are identical in the first columns, there is no
such need anymore, and the functions don't need to be special cased.
2009-10-15 22:00:08 +02:00
Benjamin Otte
30c1a1ee2c Replace the cell data computations
Previously custom functions were used to compute the data passed to the
cell renderers. Now that all this data is saved by the tree models with
compatible nodes, the usual default attribute-to-column mapping can be
used.
With this, caching of the values can happen in the tree model, which
avoids costly lookups of icons or computation of strings. Last but not
least it avoids spurious bugs that could happen when strings changed
without anyone noticing, like the mtime when a new day begins.
2009-10-15 22:00:08 +02:00
Benjamin Otte
a5390ad49e Consolidate tree models for different browse modes
All tree models in browse mode now share the first 10 column types
containing all the necessary information to display the model on screen.
Therefor it is now easy to just operate on the tree model associated
with the file tree view and in most cases it isn't necessary anymore to
special case the browse modes.
2009-10-15 22:00:07 +02:00
Benjamin Otte
d6f3d0e7eb Simplify gtk_file_chooser_default_unselect_file() 2009-10-15 22:00:07 +02:00
Benjamin Otte
0ccb2f2427 Creating the model no longer fails
So remove the code that checked for failure, as it's not needed anymore.
2009-10-15 22:00:07 +02:00
Benjamin Otte
18b56b9970 Implement new GtkFileSystemModel
The new model is mostly API-compatible with the old model (minimal
changes were required), but is a lot faster and has a lot of very
desirable features.
- the model does no longer support a tree, just a list of files in a
  given directory
- the storage has been moved to a GArray as opposed to a tree
- no more dependency on GtkFileSystem
- columns are managed by the creator of the model, so any number of
  nodes can be added as needed. This also makes the API more similar
  to GtkListStore.
- Values are filled on demand using a function given when creating the
  model.
- The function can decide to let the model cache returned values or
  decide to be called again the next time the value is queried.
- implements GtkTreeSortable
- _gtk_file_system_model_get_value() was added to significantly speed
  up value access, which is necessary when sorting large models.
2009-10-15 22:00:06 +02:00
Benjamin Otte
3c9a34dba3 move GtkFileSystemModel private stuff out of the private header 2009-10-15 22:00:06 +02:00
Xan Lopez
009f160709 Do not assign the parent class twice
G_DEFINE_TYPE already does this for us, no need to do it again in
class_init

https://bugzilla.gnome.org/show_bug.cgi?id=598515
2009-10-15 15:28:54 +02:00
Paolo Borelli
10a53ff12e Notify the "active" property of the spinner only when needed
Notify spinner::active only if it really changed an other cosmetic fixes
2009-10-15 15:23:30 +02:00
Matej Urbančič
7d6a0f348a Updated Slovenian translation 2009-10-15 14:30:54 +02:00
Matej Urbančič
ab36b8b12c Updated Slovenian translation 2009-10-15 14:28:40 +02:00
Emmanuele Bassi
ef3361caa3 gtk-demo: Remove C99-ism from list_store example 2009-10-15 12:25:21 +01:00
Daniel Nylander
3c18cc3405 Updated Swedish translation 2009-10-15 09:53:00 +02:00
A S Alam
edcf78848a Completing translation for Punjabi 2009-10-15 12:56:27 +05:30
Javier Jardón
df5ee2fa10 Move documentation to inline comments: GtkToolShell
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-10-15 03:49:08 +02:00
Javier Jardón
fbae115b03 Move documentation from templates to inline comments: GtkAccesible
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-10-15 03:13:22 +02:00
Javier Jardón
bd2dd7dc9e Move documentation from templates to inline comments: GtkActivatable
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-10-15 03:12:42 +02:00
Javier Jardón
ff76366652 Move documentation from templates to inline comments: GtkAccelGroup
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-10-15 03:11:39 +02:00
Bastien Nocera
7fd79f42ab Fix GtkSpinner using style before it's set
Fix a possible division by zero when the spinner
is started before it's realized (eg. before it has a style
set).

https://bugzilla.gnome.org/show_bug.cgi?id=598496
2009-10-15 01:43:26 +01:00
Bastien Nocera
6f44b00935 Fix property links in GtkSpinner 2009-10-14 22:38:57 +01:00
Leonid Kanter
b466b5e7c1 Updated Russian translation 2009-10-14 23:32:01 +03:00
Bastien Nocera
e9a240cd52 Add GtkSpinner::animation-duration style property 2009-10-14 19:06:26 +01:00
Matthias Clasen
9112194791 Add GtkSpinner to the widget gallery
Yes, our documentation setup is wierd and wonderful.
2009-10-14 13:52:52 -04:00
Matthias Clasen
d1ee8e2d4b Documentation and stylistic fixups 2009-10-14 13:26:10 -04:00
Bastien Nocera
aa663e08f7 Fix "active" property not being notified
And setting it FALSE starting the spinning when it should
stop it.
2009-10-14 17:47:02 +01:00
Matthias Clasen
2cd44fa5f3 Fix doc build
There was an escaping problem in the newly inlined documentation.
2009-10-14 12:30:40 -04:00
Bastien Nocera
a480cae524 Capitalise a11y description for GtkSpinner 2009-10-14 16:01:24 +01:00
Bastien Nocera
6e3792aad9 Update POTFILES.in for spinner widgets 2009-10-14 15:58:05 +01:00
Bastien Nocera
d21700f510 Bug 319607 – Add a throbber (activity widget) to GTK+
Add GtkSpinner activity throbber, as well as a cell renderer.
2009-10-14 14:58:30 +01:00
Bastien Nocera
df53e6ad8b Add ability to set a tooltip's image from a GIcon
Makes it easier to implement fallbacks whilst following
theme changes.

https://bugzilla.gnome.org/show_bug.cgi?id=598261
2009-10-14 13:22:14 +01:00
Javier Jardón
588bec9121 Move documentation from templates to inline comments: GtkAboutDialog
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2009-10-14 03:33:09 +02:00
Javier Jardón
df9e1c3294 Substitute gtk_widget_ref/unref with g_object_ref/unref
Substitute the use of gtk_widget_ref/unref in documentation examples
and in internal gtk+ code

https://bugzilla.gnome.org/show_bug.cgi?id=598218
2009-10-14 03:30:57 +02:00
Javier Jardón
b66583f2a5 Substitute gtk_style_unref for g_object_unref in documentation example
https://bugzilla.gnome.org/show_bug.cgi?id=598218
2009-10-14 03:30:31 +02:00
Javier Jardón
57bc513713 Use g_object_ref/unref instead deprecated gdk_*_ref/unref functions
Substitute deprecated reference counting functions for
g_object_ref/unref in documentation and in internal code

https://bugzilla.gnome.org/show_bug.cgi?id=598217
2009-10-14 03:13:52 +02:00
Tor Lillqvist
fb63e32a9d Don't use XP themes until they work 2009-10-13 21:34:22 +03:00
Javier Jardón
8539899349 Bump version to 2.19.0 2009-10-13 17:29:04 +02:00
Leonid Kanter
9eeece19ed Updated Russian translation 2009-10-13 17:19:26 +03:00
Leonid Kanter
891c2d1b3f Updated Russian translation 2009-10-13 17:00:59 +03:00
Nguyễn Thái Ngọc Duy
646955f186 po/vi.po: update translation of "Places" 2009-10-13 20:19:54 +07:00
David Planella
1542fa6f8d Updated Catalan translation 2009-10-13 13:37:44 +02:00
David Planella
0ade1c4bff Updated Catalan translation 2009-10-12 19:32:26 +02:00
Javier Jardón
127033f83d Bug 596019 - No accessors for GtkDialog buttons
Add API for GtkDialog to return widgets by response ID.
Added gtk_dialog_get_widget_for_response() to access to all kinds
of buttons with all kinds of responses.
2009-10-12 17:20:02 +02:00
Dumitru Mișu Moldovan
39c1da4d01 Updated Romanian translation 2009-10-11 14:29:25 +03:00
Kjartan Maraas
80ace71c94 Updated Norwegian bokmål translation 2009-10-11 12:36:48 +02:00
Eitan Isaacson
76997ab57d 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-10 18:11:00 -07:00
Michael Natterer
59f2a62e9c Revert "Remove deprecated GtkContainer function and macros"
This reverts commit 0e3a46915e.
2009-10-10 18:26:07 +02:00
Javier Jardón
0e3a46915e Remove deprecated GtkContainer function and macros 2009-10-10 16:58:33 +02:00
Branko Kokanović
1b32f7ad17 Updated Serbian translation 2009-10-09 20:12:26 +00:00
Tor Lillqvist
f562138ef0 Create and install gtk-update-icon-cache.exe.manifest to avoid UAC 2009-10-09 15:13:39 +03:00
Tor Lillqvist
2e0b5580ef 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:35:49 +03:00
Matthias Clasen
088baaec31 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:08:54 +02:00
Matej Urbančič
b3b26b517d Updated Slovenian translation 2009-10-08 14:20:59 +02:00
Timo Jyrinki
3cad065c98 Updated Finnish translation by Jiri Grönroos. 2009-10-08 12:50:35 +03:00
Tor Lillqvist
9212f560f0 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 10:59:55 +03:00
André Gondim
f38fc7f37d Updated Brazilian Portuguese translation.
Reviewed by Rodrigo Flores <mail@rodrigoflores.org>.
2009-10-07 07:20:26 -03:00
Alexander Shopov
79c2af5c4e Updated Bulgarian translation 2009-10-07 07:48:27 +03:00
Tor Lillqvist
425b652003 Don't ignore SIGPIPE unless it exists 2009-10-06 14:53:22 +03:00
Manoj Kumar Giri
2dee48b6d0 Updated Oriya Translation 2009-10-06 11:27:46 +05:30
Matthias Clasen
4ee18f8b94 Bump version 2009-10-05 17:44:25 -04:00
Matthias Clasen
68f25328e4 2.18.2 2009-10-05 17:42:00 -04:00
Matthias Clasen
c29e8f6cff Updates 2009-10-05 16:43:37 -04:00
Alexander Larsson
c5d0861179 Don't request window sizes with zero width or height
Zero width/height is unsupported and will magically be turned into one.
For instance, gtk_widget_size_allocate() will eventually do this magic
on the value stored in widget->allocation.

However, if we don't do this magic conversion early, then the value
returned from gtk_window_compute_configure_request() will not be
comparable with whats stored in widget->allocation. (I.E. they will
differ if width or height are zero).

This is dangerous, as we do such a comparison in gtk_window_move_resize().
Currently a change from e.g. 10x1 (current allocation) to 10x0 (new size)
will be expected to produce a ConfigureNotify, when it actually won't,
thus never thawing the frozen toplevel.

Fixes bug #588059
2009-10-05 22:07:06 +02:00
Alexander Larsson
786b589d95 Fix up _gdk_windowing_window_at_pointer coordinate reporting
We need to do a final XQueryWindow to get the coordinates inside the
windows rather than in the parent window.

This fixes bug #597386, "Cannot click buttons more than once...", which
failed due to the grab tracking stuff getting the wrong coordinates as
per the above.
2009-10-05 11:41:50 +02:00
Matthias Clasen
4581432387 Plug a memory leak
Valgrind reported a leak of regions from gdk_window_process_updates_internal.
2009-10-04 22:35:12 -04:00
Takayuki KUSANO
05ded28d7d Updated Japanese translation 2009-10-03 18:34:58 +09:00
Luca Ferretti
c3b22ee7c4 Updated Italian translation 2009-10-03 09:20:44 +02:00
Sebastian Dröge
59177b1932 Bug 596959 - DirectFB backend compilation broken with changes from 2.18.0 to 2.18.1
Fix compilation of the DirectFB backend after internal API changes of GDK.
2009-10-02 07:39:34 +02:00
Murray Cumming
249be999a6 Fixed a typo that I didn't see until now, strangely. 2009-07-16 19:27:20 +02:00
Murray Cumming
87b53b3df1 Removed empty docs/reference/ChangeLog entries. I am using prepare-ChangeLog.pl to help create informative commit messages and this was a side-effect. 2009-07-16 18:13:34 +02:00
Murray Cumming
eb76666f1c GtkToolPalette: Use gtk-toolbar-style and gtk-toolbar-icon-size settings.
* gtk/gtksettings.c: (settings_install_property_parser): Handle enums too.
	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Move the gtk-toolbar-style and
	gtk-toolbar-icon-size settings into GtkSettings because we now use it in
	GtkToolPalette too.

	* gtk/gtktoolpalette.[h|c]: Add gtk_tool_palette_unset_style() and
	gtk_tool_palette_unset_icon_size(), and use the toolbar-style and
	icon-size from GtkSettings if these are not set via the set functions.

	* demos/gtk-demo/toolpalette.c (on_combo_style_changed),
	(do_toolpalette): Add and handle a -1 value to mean the desktop "Default"
	toolbar style.
2009-07-16 17:51:55 +02:00
Murray Cumming
a14e05fa59 GtkToolItemGroup now has label and label-widget properties.
* demos/gtk-demo/toolpalette.c (load_special_items): Demonstrate
	gtk_tool_item_group_set_label_widget().
	* gtk/gtktoolitemgroup.[h|c]: Rename the "item-group-name" property to
	"label" because that is what it is. Likewise rename the functions.
	Add a "label-widget" propert and get/set_label_widget() functions,
	based on the same code/API in GtkExpander.
2009-07-14 23:46:49 +02:00
Matthias Clasen
33c4cb76d8 Also flip scrollbars in the toolpalette example 2009-07-14 15:55:12 -04:00
Murray Cumming
fc226767eb GtkToolItemGroup: Rename the name property. GtkToolPalette: Added class padding.
* gtk/gtktoolitemgroup.[h|c]: Rename the name property to item-group-name
and rename get/set_name() to get/set_item_group_name(), to avoid a clash with
GtkWidget::name.
* gtk/gtktoolpalette.h: GtkToolPaletteClass: Add padding for future use.
2009-07-14 19:53:28 +02:00
Murray Cumming
ac7b0c91ae ToolPalette: Implement GtkOrientable.
* gtk/gtktoolpalette.[h|c]: Remove gtk_tool_palette_get/set_property(),
implementing GtkOrientable instead.
* gtk/gtktoolitemgroup.c:
* demos/gtk-demo/toolpalette.c: Use gtk_orientable_* instead.
2009-07-14 19:11:20 +02:00
Murray Cumming
2976f4d98c GtkTool*: Removed the HAVE_EXTENDED_TOOL_SHELL_SUPPORT_BUG_535090 ifdefs. This gives us nicer text alignment among other things. 2009-07-13 19:37:25 +02:00
Murray Cumming
dad6e7343c ToolShell: Add ellipsize, text-orientation, text-alignment and size-group.
* gtk/gtktoolshell.c: Added vfuncs to get/set ellipsize, text-orientation,
	text-alignment and size-group plus getter/setters to invoke these vfuncs.
	* gtk/gtktoolitem.[h|c]: Added getters and setters to get/set these from the
	parent GtkToolShell. This is in the style of the existing "properties".
	* gtk/gtktoolbutton.c: Updated to use the extra properties.

	* docs/reference/gtk/gtk-sections.txt
	* gtk/gtk.symbols: Updated to mention the new functions.

	These new "properties" are used by GtkToolPalette.
2009-07-13 19:13:59 +02:00
Murray Cumming
8a294b8bb7 Added missing files that I thought I had already added. 2009-07-13 19:11:12 +02:00
Murray Cumming
d95654fd5f gtk+/demos/gtk-demo/: Added GtkToolPalette demo. 2009-07-13 18:45:48 +02:00
Johannes Schmid
5a1415feda Added GtkToolPalette.
* gtk/gtktoolpallete.[h|cc]:
        * gtk/gtktoolitemgroup.[h|cc]: Added a tool pallete container widget,
        with groups of toolbar items that can be shown as a grid of icons
        or a list of names.
        * gtk/Makefile.am:
        * gtk/gtk.h:
        * gtk/gtkmarshal.list: Mentioned the new files.

        Bug #567729
2009-07-13 17:38:34 +02:00
863 changed files with 231036 additions and 229497 deletions

View File

@@ -3,9 +3,9 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.17.6,
Pango 1.20, ATK 1.13.0 and cairo 1.6.0.
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.23.6,
Pango 1.20, ATK 1.29.2 and cairo 1.6.0.
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not

View File

@@ -6,6 +6,7 @@ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST += \
HACKING \
@@ -242,7 +243,7 @@ sanity:
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds --enable-introspection
GITIGNOREFILES = \
po-properties/Makefile.in.in \

497
NEWS
View File

@@ -1,3 +1,500 @@
Overview of Changes from GTK+ 2.19.7 to 2.20.0
==============================================
* Support the tracker 0.8 api in the file chooser search code
* Bug fixes:
609929 Dragging between two windows cause the menu widget...
613241 entry sends extra notify::text with "" on destroy
610946 error during gtk+ build + nonsense error messages
610176 Some cups1.2 feature use not shielded by API version-check
612574 GtkMenuItem does not emit notify::label when label...
612505 Entry layout not updated when underlying buffer changes
612346 gdk_window_set_icon_name doesn't work
612308 GTK+ Build error: redefinition of 'struct IPrintDialogCallback'
611118 Set APPLICATION_ID when launching desktop app
612768 DND cause crash in VNC environment
612575 Improve docs of gtk_notebook_set_tab_label_packing
605333 Confusing error in documentation
613028 Do not get a GtkSettings for size lookup if...
* Translation updates:
Basque
Brazilian Portuguese
Catalan
Dutch
Estonian
Finnish
Galician
Gujarati
Italian
Punjabi
Romanian
Spanish
Swedish
Traditional Chinese
Vietnamese
Overview of Changes from GTK+ 2.19.6 to 2.19.7
==============================================
* Bug fixes:
611707 Move documentation from templates to inline comments
69872 GTK_WIDGET_SET_FLAGS should be deprecated
612066 empathy hangs when clicked on information about contact...
557420 Some compose sequences don't work anymore...
569042 gailbooleancell does not seem to attend to changes...
600992 File chooser reference counting issues
610905 gtk_drag_source_set need instrospection hint
611051 Search Entry Clear Icon not accessible
611217 Incorrect translator comment
611317 Document targets in drag and drop
611319 gtk_window_set_transient_for undocumented NULL value for parent
611658 Update documentation for gtkvscrollbar
611662 Update documentation for gtkvseparator
611686 focus_in/focus_out in gailtreeview.c should return FALSE...
611831 Move documentation to inline comments: GtkVBox
612119 Do not scroll when middle pasting
* Translation updates:
Afrikaans
Arabic
Basque
British English
Bulgarian
Czech
Danish
French
Galician
German
Greek
Hungarian
Lithuanian
Low German
Norwegian bokmål
Polish
Portuguese
Russian
Slovenian
Swedish
Overview of Changes from GTK+ 2.19.5 to 2.19.6
==============================================
* Bugs fixed:
610701 gnome-shell crashes frequently
604799 Crash when button is pressed.
609744 crash at parse_data_for_row_pseudocolor
600789 gdk/gdkwindow.c "find_native_sibling_above" will crash
610141 gtk_assistant_get_nth_page() function fails to deliver...
609952 destroying a notebook window when the last tab got dragged...
603923 [annotations] gtk_tree_store_newv/set_column_types
610474 [annotations] Add allow-none
609650 GtkPlug Embedded signal is not emitted when plug...
610381 More space between toolbar icon and label
548026 No accessor for GtkWidget.requisition
609514 fix introspection comments for gtk_tree_view_get_path_at_pos
610235 msgid in bad English
607697 GDK_META_MASK always set on Alt-Enter with gtk+ 2.19.x
610632 gtk_info_bar_set_default_response problem
609172 gdk/directfb: little cleanups
610184 gtk_assistant_set_current_page() segfaults...
* Updated translations
Bulgarian
Czech
Estonian
German
Japanese
Korean
Lithuanian
Norwegian bokmål
Oriya
Polish
Romanian
Slovenian
Spanish
Overview of Changes from GTK+ 2.19.4 to 2.19.5
==============================================
* GSEAL work:
- Add accessors for GtkPaned members
- Add gtk_widget_style_attach
- Seal GtkTextTag
- Deprecate GtkCurveType
- More GtkWidget flags accessors
* Bugs fixed:
403485 Move docs from tmpl/* to the source files
556263 Deprecate GtkCurve
554420 Seal GtkTextTag
561816 Optimize gtk_paned_set_position notifications
606288 Not using GtkOptionMenu deprecated symbols in test file
607061 GtkPlug socket window is sometimes incorrectly unref'd
607344 GtkCalendar: crash when using tooltips via glade
607885 GtkPaned::handle lack accessor
608162 gtktoolbutton doesn't create right proxy menu item...
608345 wrong reference on gdk_keymap_translate_keyboard_state
608370 dnd drag-dest signal handlers don't get correctly disconn...
608410 GOK types backwards in text entry fields
608615 DnD events sent to wrong window
608807 Marks on GtkScale widgets can overlap
609188 gdk/directfb: compiler warning in _gdk_windowing_pointer_grab()
609191 gdk/directfb: use G_DEFINE_TYPE in gdkcolor-directfb
609199 gdk/directfb: use G_DEFINE_TYPE in gdkgc-directfb
609201 gdk/directfb: max cursor size is artificially limited
591186 GTK Menu Bar is unreadable under Windows 7
* Updated translations
Bengali
Brazilian Portuguese
Czech
Estonian
French
Norwegian bokmål
Slovak
Spanish
Thai
Overview of Changes from GTK+ 2.19.3 to 2.19.4
==============================================
* GSeal:
- New accessors for GtkEntry windows
- New accessors for GtkRange members
* Bugs fixed:
607082 Add accessors for sealed GtkRange members
567729 Add GtkToolPalette
591102 gdk_pixbuf_save() creates a zero-size file...
600865 gnome-panel crashed with "BadPixmap...
601412 action area presence makes gnome-terminal window grow...
603144 Suspected wrong builtin page size: Chinese PRC6 and...
606009 weirdness with clipping in abiword - csw
606698 Misplaced declaration of gtk_print_job_set_status
606761 pixops.c: variables are declared at middle of block
607217 Mixing calls to _set_markup and _set_text causes...
607269 gtk_label_set_attributes with empty list no longer...
607322 Double-click doesn't work if the item is selected...
607687 f-spot crashes when using themes using the pixmap...
607778 Add accessors for GtkEntry's windows
607770 Leak in GtkTreeView with HildonPannableArea
603245 drawing artifacts with action widgets and long tab...
* Updated translations:
Arabic
Asturian
Basque
Bengali
Bulgarian
Burmese
Norwegian bokmål
Slovenian
Spanish
Swedish
Overview of Changes from GTK+ 2.19.2 to 2.19.3
==============================================
* GSeal:
- Deprecate widget flag macros
GTK_WIDGET_STATE
GTK_WIDGET_SAVED_STATE
GTK_WIDGET_FLAGS
GTK_WIDGET_TOPLEVEL
GTK_WIDGET_NO_WINDOW
GTK_WIDGET_COMPOSITE_CHILD
GTK_WIDGET_APP_PAINTABLE
GTK_WIDGET_CAN_DEFAULT
GTK_WIDGET_CAN_FOCUS
GTK_WIDGET_DOUBLE_BUFFERED
GTK_WIDGET_HAS_DEFAULT
GTK_WIDGET_HAS_GRAB
GTK_WIDGET_RECEIVES_DEFAULT
- Also deprecate the type macros
GTK_WIDGET_TYPE
GTK_OBJECT_TYPE_NAME
GTK_OBJECT_TYPE
* GtkOffscreenWindow: A new toplevel container widget to manage
offscreen rendering of child widgets
* OS X:
- Memory leak fixes and other improvements
* Bugs:
604901 Provide generic offscreen rendering container
597100 There is a misprint in the documentation...
598383 GtkWidget::state-changed signal should be documented
602284 Need a way to retrieve the preedit string in a GtkTextView
605090 Fix some compilation warnings
605199 Contradiction in the description of function...
606068 Setup libjpeg error handling earlier...
606230 gtk_combo_box_set_active_iter & unsetting the active item
606291 Fix some issues in "Migrating from GtkOptionMenu...
606434 prop-editor should support GdkColor
* Translations:
Asturian
Basque
Kannada
Norwegian bokmål
Slovenian
Spanish
Swedish
Thai
Ukrainian
Overview of Changes from GTK+ 2.19.1 to 2.19.2
==============================================
* Introspection:
- Introspection data for gdk-pixbuf, gdk and gtk is now
included in GTK+ itself. As a consequence, the atk dependency
has been bumped to 2.29.2, and a gobject-introspection dependency
has been added. configure with --disable-introspection in order
to not build introspection data.
* Client-side windows:
- Fix some issues with handling of button and motion events
- Fix damage reporting for drawing on offscreen windows
- Fix problems with handling of input extension events
* Printing:
- Add api to handle printer hard margins
* Simple IM Context:
- Sync with Xorg compose file
- Make Compose-vowel-minus combinations consistent
* GDK:
- gdk_screen_get_primary_monitor: New function to get the
'primary' monitor in a multi-monitor setup
* gdk-pixbuf has gained the ability to store and retrieve embedded
ICC color profiles in png and tiff images
* Keyboard handling:
- Mnemonic underlines can now optionally be hidden until the Alt key
is pressed, this can be turned on with the gtk-auto-mnemonics setting
- Using the Super, Meta and Hyper modifiers in accelerators is working
more reliably
* Bugs fixed:
603652 Sporadic crashes with GtkSocket
605008 the region of damage event doesn't be copied in gdk_event_copy
588554 only show the accelerator when pressing alt
601473 GDK_BUTTON?_MOTION_MASK appears to be broken
601712 Add API for determining primary monitor
50942 selection/arrow key improvement
427409 editing shortcut always fails with super key
468989 need a way to get the printer's hard margins
502266 gtk_tree_selection_get_selected_rows free example produces...
592279 Introspection support
597386 Cannot click buttons more than once without moving the mouse...
599213 Use GtkCellEditable:editing_canceled property instead...
599397 Button stuck at pressed look after screen rotation
601383 gtk_icon_view_get_selected_items: example code gives...
602099 Actions can be activatable too
603619 the colormap of offscreen's pixmap doesn't inherit...
603904 gdk_draw_line doesn't have expose area.
604117 Add info about single includes when compiling GTK+ apps
604289 Please permit progress pages to be final in a dialog
604462 gtktoolitem.c: return-value is different type
604747 Using gdk_draw_line, the expose area of damage event is wrong
604787 property-notify-event is not delivered to a non-toplevel...
604881 GtkCellEditable::editing-cancelled should be writable
591085 GtkBuilder object ID bounded to GtkWidget "name" property
* Updated translations:
Arabic
Estonian
Hebrew
Low German
Norwegian bokmål
Slovenian
Spanish
Telugu
Vietnamese
Overview of Changes from GTK+ 2.19.0 to 2.19.1
==============================================
* Client-side windows:
- Avoid some unnecessary exposes
- Avoid unnecessary redraws related to clearing windows
* GtkNotebook gained an 'action area'
* GtkStatusbar gained a 'message area'
* GtkToolPalette is a new container to show tool items
in collapsible groups in a grid
* gdk-pixbuf can now handle compressed TIFF images
* GSEAL work:
- New accessor: gtk_window_get_window_type()
* Bugs fixed:
590017 Does not compile under MinGW32 + Wine
569430 Gail should include a reciprocal relationship for NODE_CHILD_OF
598758 Need context for a propper translation
594535 No accesor for GtkStatusbar->label and ->frame
602725 fix setting icon-size on GICON images
599402 Landscape and Reverse Landscape icons need to be swapped
588740 JPEG images open with blur effect?
601337 Only use gdk_input_select_events() if XINPUT_NONE is defined
598050 Flickering in a gtk_socket
600158 Do not use static GTypeInfo and GInterfaceInfo
561973 Problem dragging images from Firefox to GTK+ app on Windows
601512 Remove unnecessary check in GtkTreeModelFilter
600222 Check for existence of cairo-svg.h in configure.in
595498 No accesor for GTK_WINDOW ()->type
116650 "action area" for GtkNotebook (e.g. for tab close button)
600150 GtkColorSelection tooltip issues
480065 wrong tree collapsed (or expanded) after having scrolled
596473 Second double-click of GtkTreeView row doesn't emit...
601869 GtkUIManager assumes too much about popup menus
581145 Wrong positioning for fullscreen gedit toolbar animation
602724 gailimage doesn't handle GTK_IMAGE_{GICON,ICON_NAME}...
561130 get_monitor_geometry segfaults if called with non-existant...
597026 Missing include for memset()
585383 Segfault in gdk_pixbuf__ico_image_save
597865 Move documentation from templates to inline comments
123569 Catch contents being reparented out of socket
561334 Incorrect named constant in documentation of two GtkButton...
601611 gtk_selection_data_get_targets() reads X Atom data as GdkAtoms
601409 action area presence modifies notebook behaviour
603268 wrong Since: markers in toolpalette merge
603271 wrong toolbar style
601959 must release compose key before continuing compose sequence
603302 Incorrectly warn about links on text with color and underline
603201 gtk_about_dialog_set_url_hook has no effect anymore
591438 dfb_events_dispatch is not thread safe
589842 GtkAction API to have its menu item proxies have always-show...
584700 TIFF pixbuf loader should support compression
603128 Adding new UI that was recently removed may cause wrong order
601682 Print preview should use gtk_show_uri by default
596083 Deprecate notebook label packing functionality
* Updated translations:
Estonian
Galician
Japanese
Low German
Norwegian bokmål
Punjabi
Slovenian
Spanish
Swedish
Overview of Changes from GTK+ 2.18.x to 2.19.0
==============================================
* A throbber widget and cell renderer have been added: GtkSpinner and
GtkCellRendererSpinner
* GtkFileSystemModel has been reimplemented, for major speedups and
other improvements
* Synchronize compose sequences with the current X.org Compose file
* Win32:
- The GDI+ image loader works again
- XP themes have been disabled since they don't work currently
* OS X:
- Fix crashes due to unimplemented GdkWindowImplIface methods
- Use standard Mac keyboard shortcuts (Cmx-X, Cmd-C instead of
Ctrl-X, Ctrl-C, etc)
- Add a pixbuf loader for the QTIF format
- Improve multi-monitor handling
* GSEAL work:
- New accessor for GtkDialog buttons: gtk_dialog_get_widget_for_response
- New accessor for GtkViewport bin_window: gtk_viewport_get_bin_window
- Add a GtkCellEditable::editing-canceled property
* Deprecations:
- GtkInputDialog has been deprecated
- GtkCurve and GtkGammaCurve have been deprecated
- The tab-packing feature in GtkNotebook has been deprecated
* Bugs fixed:
594644 Cannot compile GTK+ with MinGW 4.4.0
581150 GtkIconView tries to paint items with invalid sizes
598881 Unimplemented GdkWindowImplIface methods crash gimp on OSX
598218 Substitute deprecated gtk_*_ref/unref calls
381371 Print margins not correct in WIN32 - not allowing for...
597596 Toolbar button accessible objects don't have label name
599118 Translators comment for "Finishing" labels
598261 Add support to GtkTooltip to handle GIcons
530351 Use standard mac shortcuts
597865 Move documentation from templates to inline comments
596083 Deprecate notebook label packing functionality
594903 Deprecate GtkInputDialog
599403 Avoid using accel group internals in GtkSocket
590800 The window content is not updated correctly when scrolling
598515 Do not assign the GtkSpinner parent class twice
552678 gdi+ pixbuf loaders fail on "large" images
598217 Substitute deprecated gdk_*_ref/unref calls
596238 Make Quartz backend properly implement the GdkScreen...
599446 atk_object_set_name () assertion in gtk_tool_button_set_label
592582 Print preview doesn't reflect the printout
563010 GtkFileChooserButton cannot have none file selected again
596019 No accesors for GtkDialog buttons
366217 Add QTIF image support
594962 No accessor for GTK_ENTRY (entry)->editing_canceled
* Updated translations:
Arabic
Brazilian Portuguese
Bulgarian
Catalan
Finnish
Greek
Norwegian bokmål
Oriya
Punjabi
Romanian
Russian
Serbian
Shavian
Slovenian
Spanish
Swedish
Slovenian
Vietnamese
Overview of Changes from GTK+ 2.18.1 to 2.18.2
==============================================
* GTK+ now ignores SIGPIPE in gtk_init(). Previously
this was done deep in the lpr printbackend.
* Fix compilation of the DirectFB backend.
* Bugs fixed:
597386 Cannot click buttons more than once...
588059 sometimes notification icons are not visible with csw
* Updated translations:
Italian
Japanese
Serbian
Overview of Changes from GTK+ 2.18.0 to 2.18.1
==============================================

View File

@@ -27,6 +27,20 @@ Installation
See the file 'INSTALL'
Release notes for 2.20
======================
* GtkStatusbar now has a message area (see gtk_status_bar_get_message_area)
which makes it easy to place additional widgets inside the statusbar
frame or to replace the label widgets. Previously, this was only possible
by accessing the innards of the statusbar widget directly. Applications
which are doing so may need some adjustments, since the addition of the
message area changed the internal widget hierarchy.
* GtkBuilder no longer sets the "name" property of widgets to the ID
attribute of the <object>. Use gtk_buildable_get_name() instead of
gtk_widget_get_name() to obtain the ID.
Release notes for 2.18
======================

View File

@@ -109,7 +109,7 @@ rm -rf autom4te.cache
# regenerated from their corresponding *.in files by ./configure anyway.
touch README INSTALL
$ACLOCAL $ACLOCAL_FLAGS || exit $?
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
libtoolize --force || exit $?
gtkdocize || exit $?

View File

@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
# require autoconf 2.54
AC_PREREQ(2.54)
AC_PREREQ(2.62)
# Making releases:
# GTK_MICRO_VERSION += 1;
@@ -11,9 +11,9 @@ AC_PREREQ(2.54)
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [18])
m4_define([gtk_micro_version], [2])
m4_define([gtk_interface_age], [2])
m4_define([gtk_minor_version], [20])
m4_define([gtk_micro_version], [0])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
m4_define([gtk_version],
@@ -31,9 +31,9 @@ m4_define([gtk_api_version], [2.0])
m4_define([gtk_binary_version], [2.10.0])
# required versions of other packages
m4_define([glib_required_version], [2.21.3])
m4_define([glib_required_version], [2.23.6])
m4_define([pango_required_version], [1.20])
m4_define([atk_required_version], [1.13.0])
m4_define([atk_required_version], [1.29.2])
m4_define([cairo_required_version], [1.6])
@@ -43,10 +43,12 @@ AC_INIT([gtk+], [gtk_version],
AC_CONFIG_SRCDIR([gdk/gdktypes.h])
AC_CONFIG_MACRO_DIR([m4])
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}
AM_INIT_AUTOMAKE(no-define)
AM_INIT_AUTOMAKE([no-define -Wno-portability dist-bzip2])
AM_CONFIG_HEADER(config.h)
# Support silent build rules, requires at least automake-1.11. Enable
@@ -129,6 +131,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 +140,7 @@ case "$host" in
case "$host" in
x86_64-*-*)
LIB_EXE_MACHINE_FLAG=X64
EXE_MANIFEST_ARCHITECTURE=AMD64
;;
esac
;;
@@ -147,6 +151,7 @@ esac
AC_MSG_RESULT([$os_win32])
AC_SUBST(LIB_EXE_MACHINE_FLAG)
AC_SUBST(EXE_MANIFEST_ARCHITECTURE)
case $host in
*-*-linux*)
@@ -580,6 +585,7 @@ case $host in
;;
esac
AC_SUBST(MATH_LIB)
#
# see bug 162979
#
@@ -990,7 +996,7 @@ fi
# because some important apps like GIMP need to read and write
# arbitrary tEXt chunks which doesn't seem to be possible through GDI+
all_loaders="ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm"
all_loaders="ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm,qtif"
if test x$with_libjasper != xno; then
all_loaders="$all_loaders,jasper"
fi
@@ -1061,6 +1067,7 @@ AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
AM_CONDITIONAL(INCLUDE_ICNS, [test x"$INCLUDE_icns" = xyes])
AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes])
AM_CONDITIONAL(INCLUDE_QTIF, [test x"$INCLUDE_qtif" = xyes])
# As all GDI+ loaders are either built-in or not, arbitrarily just
# check one of the variables here
AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
@@ -1712,7 +1719,8 @@ fi
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 $X_PACKAGES cairo-$cairo_backend"
# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES cairo-$cairo_backend"
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
#
@@ -1931,6 +1939,10 @@ if test "$os_win32" != "yes"; then
AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
*** Can't find cairo-ps.h. You must build Cairo with the
*** postscript backend enabled.]))
AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([
*** Can't find cairo-svg.h. You must build Cairo with the
*** svg backend enabled.]))
fi
CPPFLAGS="$gtk_save_cppflags"
@@ -1965,6 +1977,11 @@ if test -n "$export_dynamic"; then
GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
fi
##################################################
# GObject introspection
##################################################
GOBJECT_INTROSPECTION_CHECK([0.6.7])
##################################################
# Checks for gtk-doc and docbook-tools

View File

@@ -154,7 +154,7 @@ rgb1 (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
int bpl;
register guint8 data;
guint8 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
d (printf ("1 bits/pixel\n"));
@@ -191,7 +191,7 @@ rgb1a (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
int bpl;
register guint8 data;
guint8 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
guint32 remap[2];
d (printf ("1 bits/pixel\n"));
@@ -241,7 +241,7 @@ rgb8 (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
int bpl;
guint32 mask;
register guint32 data;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
register guint8 *s;
register guint8 *o;
@@ -282,7 +282,7 @@ rgb8a (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
guint32 remap[256];
register guint8 *s; /* read 2 pixels at once */
register guint32 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -336,7 +336,7 @@ rgb565lsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
register guint8 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -407,7 +407,7 @@ rgb565msb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
register guint32 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -479,7 +479,7 @@ rgb565alsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
#endif
register guint32 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -536,7 +536,7 @@ rgb565amsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
#endif
register guint32 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -592,7 +592,7 @@ rgb555lsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
register guint8 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -663,7 +663,7 @@ rgb555msb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
register guint32 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -735,7 +735,7 @@ rgb555alsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
#endif
register guint32 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -792,7 +792,7 @@ rgb555amsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
#endif
register guint32 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -840,7 +840,7 @@ rgb888alsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
guint8 *s; /* for byte order swapping */
guint8 *o;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
width = image->width;
height = image->height;
@@ -871,7 +871,7 @@ rgb888lsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
int width, height;
int bpl;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
guint8 *o, *s;
width = image->width;
@@ -901,7 +901,7 @@ rgb888amsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
int width, height;
int bpl;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
#ifdef LITTLE
guint32 *o;
guint32 *s;
@@ -949,7 +949,7 @@ rgb888msb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
int width, height;
int bpl;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
guint8 *s;
guint8 *o;
@@ -983,7 +983,7 @@ convert_real_slow (XImage *image, guchar *pixels, int rowstride, xlib_colormap *
int xx, yy;
int width, height;
int bpl;
guint8 *srow = image->data, *orow = pixels;
guint8 *srow = (guint8 *)image->data, *orow = pixels;
guint8 *o;
guint32 pixel;
Visual *v;
@@ -1134,7 +1134,7 @@ xlib_window_is_viewable (Window w)
while (w != 0) {
Window parent, root, *children;
int nchildren;
guint nchildren;
XGetWindowAttributes (gdk_pixbuf_dpy, w, &wa);
if (wa.map_state != IsViewable)
@@ -1223,7 +1223,7 @@ gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
int dest_x, int dest_y,
int width, int height)
{
int src_width, src_height;
guint src_width, src_height;
XImage *image;
int rowstride, bpp, alpha;
XWindowAttributes wa;
@@ -1260,7 +1260,8 @@ gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
src_height = wa.height;
} else {
Window root;
int tx, ty, bwidth, depth;
int tx, ty;
guint bwidth, depth;
XGetGeometry (gdk_pixbuf_dpy, src, &root, &tx, &ty,
&src_width, &src_height, &bwidth, &depth);
}

View File

@@ -19,11 +19,14 @@ 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 \
testanimation \
testpixbuf-color \
testpixbuf-save \
testpixbuf-scale \
pixbuf-demo
@@ -52,6 +55,7 @@ test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png
testpixbuf_DEPENDENCIES = $(DEPS)
testpixbuf_drawable_DEPENDENCIES = $(DEPS)
testpixbuf_save_DEPENDENCIES = $(DEPS)
testpixbuf_color_DEPENDENCIES = $(DEPS)
testpixbuf_scale_DEPENDENCIES = $(DEPS)
testanimation_DEPENDENCIES = $(DEPS)
pixbuf_demo_DEPENDENCIES = $(DEPS)
@@ -59,6 +63,7 @@ pixbuf_demo_DEPENDENCIES = $(DEPS)
testpixbuf_LDADD = $(LDADDS)
testpixbuf_drawable_LDADD = $(LDADDS)
testpixbuf_save_LDADD = $(LDADDS)
testpixbuf_color_LDADD = $(LDADDS)
testpixbuf_scale_LDADD = $(LDADDS)
testanimation_LDADD = $(LDADDS)
pixbuf_demo_LDADD = $(LDADDS)
@@ -66,6 +71,7 @@ pixbuf_demo_LDADD = $(LDADDS)
testpixbuf_SOURCES = testpixbuf.c pixbuf-init.c
testpixbuf_drawable_SOURCES = testpixbuf-drawable.c pixbuf-init.c
testpixbuf_save_SOURCES = testpixbuf-save.c
testpixbuf_color_SOURCES = testpixbuf-color.c
testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
testanimation_SOURCES = testanimation.c pixbuf-init.c
pixbuf_demo_SOURCES = pixbuf-demo.c pixbuf-init.c

View File

@@ -37,9 +37,11 @@ demos = \
rotated_text.c \
search_entry.c \
sizegroup.c \
spinner.c \
stock_browser.c \
textview.c \
textscroll.c \
toolpalette.c \
tree_store.c \
ui_manager.c
@@ -60,7 +62,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

View File

@@ -595,7 +595,7 @@ do_appwindow (GtkWidget *do_widget)
update_statusbar (buffer, GTK_STATUSBAR (statusbar));
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -153,7 +153,7 @@ do_assistant (GtkWidget *do_widget)
G_CALLBACK (on_assistant_prepare), NULL);
}
if (!GTK_WIDGET_VISIBLE (assistant))
if (!gtk_widget_get_visible (assistant))
gtk_widget_show (assistant);
else
{

View File

@@ -53,7 +53,7 @@ do_builder (GtkWidget *do_widget)
G_CALLBACK (gtk_widget_destroyed), &window);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -113,7 +113,7 @@ do_button_box (GtkWidget *do_widget)
TRUE, TRUE, 5);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -314,7 +314,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_clipboard_set_can_store (clipboard, NULL, 0);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -125,7 +125,7 @@ do_colorsel (GtkWidget *do_widget)
G_CALLBACK (change_color_callback), NULL);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -440,7 +440,7 @@ do_combobox (GtkWidget *do_widget)
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -167,7 +167,7 @@ do_dialog (GtkWidget *do_widget)
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry2);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -57,7 +57,7 @@ scribble_expose_event (GtkWidget *widget,
*/
gdk_draw_drawable (widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
widget->style->fg_gc[gtk_widget_get_state (widget)],
pixmap,
/* Only copy the area that was exposed. */
event->area.x, event->area.y,
@@ -318,7 +318,7 @@ do_drawingarea (GtkWidget *do_widget)
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);

View File

@@ -381,7 +381,7 @@ do_editable_cells (GtkWidget *do_widget)
gtk_window_set_default_size (GTK_WINDOW (window), 320, 200);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -54,7 +54,7 @@ do_entry_buffer (GtkWidget *do_widget)
g_object_unref (buffer);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);

View File

@@ -86,7 +86,7 @@ do_entry_completion (GtkWidget *do_widget)
gtk_entry_completion_set_text_column (completion, 0);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);

View File

@@ -47,7 +47,7 @@ do_expander (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (expander), label);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);

View File

@@ -300,7 +300,7 @@ do_hypertext (GtkWidget *do_widget)
gtk_widget_show_all (sw);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}

View File

@@ -358,7 +358,7 @@ do_iconview (GtkWidget *do_widget)
}
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -146,7 +146,7 @@ do_iconview_edit (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (window), icon_view);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -450,7 +450,7 @@ do_images (GtkWidget *do_widget)
vbox);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -90,7 +90,7 @@ do_infobar (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -70,7 +70,7 @@ do_links (GtkWidget *do_widget)
gtk_widget_show (label);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}

View File

@@ -10,6 +10,8 @@
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static GtkTreeModel *model = NULL;
static guint timeout = 0;
typedef struct
{
@@ -26,6 +28,8 @@ enum
COLUMN_NUMBER,
COLUMN_SEVERITY,
COLUMN_DESCRIPTION,
COLUMN_PULSE,
COLUMN_ACTIVE,
NUM_COLUMNS
};
@@ -47,6 +51,33 @@ static Bug data[] =
{ FALSE, 1, "Normal", "First bug :=)" },
};
static gboolean
spinner_timeout (gpointer data)
{
GtkTreeIter iter;
guint pulse;
if (model == NULL)
return FALSE;
gtk_tree_model_get_iter_first (model, &iter);
gtk_tree_model_get (model, &iter,
COLUMN_PULSE, &pulse,
-1);
if (pulse == G_MAXUINT)
pulse = 0;
else
pulse++;
gtk_list_store_set (GTK_LIST_STORE (model),
&iter,
COLUMN_PULSE, pulse,
COLUMN_ACTIVE, TRUE,
-1);
return TRUE;
}
static GtkTreeModel *
create_model (void)
{
@@ -56,21 +87,25 @@ create_model (void)
/* create list store */
store = gtk_list_store_new (NUM_COLUMNS,
G_TYPE_BOOLEAN,
G_TYPE_UINT,
G_TYPE_STRING,
G_TYPE_STRING);
G_TYPE_BOOLEAN,
G_TYPE_UINT,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_UINT,
G_TYPE_BOOLEAN);
/* add data to the list store */
for (i = 0; i < G_N_ELEMENTS (data); i++)
{
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COLUMN_FIXED, data[i].fixed,
COLUMN_NUMBER, data[i].number,
COLUMN_SEVERITY, data[i].severity,
COLUMN_DESCRIPTION, data[i].description,
-1);
COLUMN_FIXED, data[i].fixed,
COLUMN_NUMBER, data[i].number,
COLUMN_SEVERITY, data[i].severity,
COLUMN_DESCRIPTION, data[i].description,
COLUMN_PULSE, 0,
COLUMN_ACTIVE, FALSE,
-1);
}
return GTK_TREE_MODEL (store);
@@ -78,8 +113,8 @@ create_model (void)
static void
fixed_toggled (GtkCellRendererToggle *cell,
gchar *path_str,
gpointer data)
gchar *path_str,
gpointer data)
{
GtkTreeModel *model = (GtkTreeModel *)data;
GtkTreeIter iter;
@@ -110,48 +145,75 @@ add_columns (GtkTreeView *treeview)
/* column for fixed toggles */
renderer = gtk_cell_renderer_toggle_new ();
g_signal_connect (renderer, "toggled",
G_CALLBACK (fixed_toggled), model);
G_CALLBACK (fixed_toggled), model);
column = gtk_tree_view_column_new_with_attributes ("Fixed?",
renderer,
"active", COLUMN_FIXED,
NULL);
renderer,
"active", COLUMN_FIXED,
NULL);
/* set this column to a fixed sizing (of 50 pixels) */
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
GTK_TREE_VIEW_COLUMN_FIXED);
GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50);
gtk_tree_view_append_column (treeview, column);
/* column for bug numbers */
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Bug number",
renderer,
"text",
COLUMN_NUMBER,
NULL);
renderer,
"text",
COLUMN_NUMBER,
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_NUMBER);
gtk_tree_view_append_column (treeview, column);
/* column for severities */
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Severity",
renderer,
"text",
COLUMN_SEVERITY,
NULL);
renderer,
"text",
COLUMN_SEVERITY,
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_SEVERITY);
gtk_tree_view_append_column (treeview, column);
/* column for description */
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Description",
renderer,
"text",
COLUMN_DESCRIPTION,
NULL);
renderer,
"text",
COLUMN_DESCRIPTION,
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_DESCRIPTION);
gtk_tree_view_append_column (treeview, column);
/* column for spinner */
renderer = gtk_cell_renderer_spinner_new ();
column = gtk_tree_view_column_new_with_attributes ("Spinning",
renderer,
"pulse",
COLUMN_PULSE,
"active",
COLUMN_ACTIVE,
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_PULSE);
gtk_tree_view_append_column (treeview, column);
}
static gboolean
window_closed (GtkWidget *widget,
GdkEvent *event,
gpointer user_data)
{
model = NULL;
window = NULL;
if (timeout != 0)
{
g_source_remove (timeout);
timeout = 0;
}
return FALSE;
}
GtkWidget *
@@ -162,17 +224,16 @@ do_list_store (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *sw;
GtkTreeModel *model;
GtkWidget *treeview;
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "GtkListStore demo");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
vbox = gtk_vbox_new (FALSE, 8);
@@ -183,10 +244,10 @@ do_list_store (GtkWidget *do_widget)
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* create tree model */
@@ -196,7 +257,7 @@ do_list_store (GtkWidget *do_widget)
treeview = gtk_tree_view_new_with_model (model);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview),
COLUMN_DESCRIPTION);
COLUMN_DESCRIPTION);
g_object_unref (model);
@@ -207,14 +268,27 @@ do_list_store (GtkWidget *do_widget)
/* finish & show */
gtk_window_set_default_size (GTK_WINDOW (window), 280, 250);
g_signal_connect (window, "delete-event",
G_CALLBACK (window_closed), NULL);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
if (timeout == 0) {
/* FIXME this should use the animation-duration instead */
timeout = g_timeout_add (80, spinner_timeout, NULL);
}
}
else
{
gtk_widget_destroy (window);
window = NULL;
if (timeout != 0)
{
g_source_remove (timeout);
timeout = 0;
}
}
return window;

View File

@@ -191,12 +191,12 @@ do_menus (GtkWidget *do_widget)
g_signal_connect_swapped (button, "clicked",
G_CALLBACK(gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_widget_set_can_default (button, TRUE);
gtk_widget_grab_default (button);
gtk_widget_show (button);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}

View File

@@ -166,7 +166,7 @@ gtk_rotated_bin_class_init (GtkRotatedBinClass *klass)
static void
gtk_rotated_bin_init (GtkRotatedBin *bin)
{
GTK_WIDGET_UNSET_FLAGS (bin, GTK_NO_WINDOW);
gtk_widget_set_has_window (GTK_WIDGET (bin), TRUE);
}
GtkWidget *
@@ -184,7 +184,7 @@ pick_offscreen_child (GdkWindow *offscreen_window,
GtkAllocation child_area;
double x, y;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
to_child (bin, widget_x, widget_y, &x, &y);
@@ -229,7 +229,7 @@ gtk_rotated_bin_realize (GtkWidget *widget)
gint border_width;
GtkRequisition child_requisition;
GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
gtk_widget_set_realized (widget, TRUE);
border_width = GTK_CONTAINER (widget)->border_width;
@@ -262,7 +262,7 @@ gtk_rotated_bin_realize (GtkWidget *widget)
attributes.window_type = GDK_WINDOW_OFFSCREEN;
child_requisition.width = child_requisition.height = 0;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
attributes.width = bin->child->allocation.width;
attributes.height = bin->child->allocation.height;
@@ -331,7 +331,7 @@ gtk_rotated_bin_remove (GtkContainer *container,
GtkRotatedBin *bin = GTK_ROTATED_BIN (container);
gboolean was_visible;
was_visible = GTK_WIDGET_VISIBLE (widget);
was_visible = gtk_widget_get_visible (widget);
if (bin->child == widget)
{
@@ -339,7 +339,7 @@ gtk_rotated_bin_remove (GtkContainer *container,
bin->child = NULL;
if (was_visible && GTK_WIDGET_VISIBLE (container))
if (was_visible && gtk_widget_get_visible (GTK_WIDGET (container)))
gtk_widget_queue_resize (GTK_WIDGET (container));
}
}
@@ -382,7 +382,7 @@ gtk_rotated_bin_size_request (GtkWidget *widget,
child_requisition.width = 0;
child_requisition.height = 0;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
gtk_widget_size_request (bin->child, &child_requisition);
s = sin (bin->angle);
@@ -410,13 +410,13 @@ gtk_rotated_bin_size_allocate (GtkWidget *widget,
w = allocation->width - border_width * 2;
h = allocation->height - border_width * 2;
if (GTK_WIDGET_REALIZED (widget))
if (gtk_widget_get_realized (widget))
gdk_window_move_resize (widget->window,
allocation->x + border_width,
allocation->y + border_width,
w, h);
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
GtkRequisition child_requisition;
GtkAllocation child_allocation;
@@ -436,7 +436,7 @@ gtk_rotated_bin_size_allocate (GtkWidget *widget,
child_allocation.width = MIN ((w - s * child_allocation.height) / c,
(h - c * child_allocation.height) / s);
if (GTK_WIDGET_REALIZED (widget))
if (gtk_widget_get_realized (widget))
gdk_window_move_resize (bin->offscreen_window,
child_allocation.x,
child_allocation.y,
@@ -466,7 +466,7 @@ gtk_rotated_bin_expose (GtkWidget *widget,
gdouble s, c;
gdouble w, h;
if (GTK_WIDGET_DRAWABLE (widget))
if (gtk_widget_is_drawable (widget))
{
if (event->window == widget->window)
{
@@ -474,7 +474,7 @@ gtk_rotated_bin_expose (GtkWidget *widget,
GtkAllocation child_area;
cairo_t *cr;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
pixmap = gdk_offscreen_window_get_pixmap (bin->offscreen_window);
child_area = bin->child->allocation;
@@ -566,7 +566,7 @@ do_offscreen_window (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (bin), button);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -104,7 +104,7 @@ gtk_mirror_bin_class_init (GtkMirrorBinClass *klass)
static void
gtk_mirror_bin_init (GtkMirrorBin *bin)
{
GTK_WIDGET_UNSET_FLAGS (bin, GTK_NO_WINDOW);
gtk_widget_set_has_window (GTK_WIDGET (bin), TRUE);
}
GtkWidget *
@@ -122,7 +122,7 @@ pick_offscreen_child (GdkWindow *offscreen_window,
GtkAllocation child_area;
double x, y;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
to_child (bin, widget_x, widget_y, &x, &y);
@@ -167,7 +167,7 @@ gtk_mirror_bin_realize (GtkWidget *widget)
gint border_width;
GtkRequisition child_requisition;
GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
gtk_widget_set_realized (widget, TRUE);
border_width = GTK_CONTAINER (widget)->border_width;
@@ -200,7 +200,7 @@ gtk_mirror_bin_realize (GtkWidget *widget)
attributes.window_type = GDK_WINDOW_OFFSCREEN;
child_requisition.width = child_requisition.height = 0;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
attributes.width = bin->child->allocation.width;
attributes.height = bin->child->allocation.height;
@@ -269,7 +269,7 @@ gtk_mirror_bin_remove (GtkContainer *container,
GtkMirrorBin *bin = GTK_MIRROR_BIN (container);
gboolean was_visible;
was_visible = GTK_WIDGET_VISIBLE (widget);
was_visible = gtk_widget_get_visible (widget);
if (bin->child == widget)
{
@@ -277,7 +277,7 @@ gtk_mirror_bin_remove (GtkContainer *container,
bin->child = NULL;
if (was_visible && GTK_WIDGET_VISIBLE (container))
if (was_visible && gtk_widget_get_visible (GTK_WIDGET (container)))
gtk_widget_queue_resize (GTK_WIDGET (container));
}
}
@@ -306,7 +306,7 @@ gtk_mirror_bin_size_request (GtkWidget *widget,
child_requisition.width = 0;
child_requisition.height = 0;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
gtk_widget_size_request (bin->child, &child_requisition);
requisition->width = GTK_CONTAINER (widget)->border_width * 2 + child_requisition.width + 10;
@@ -327,13 +327,13 @@ gtk_mirror_bin_size_allocate (GtkWidget *widget,
w = allocation->width - border_width * 2;
h = allocation->height - border_width * 2;
if (GTK_WIDGET_REALIZED (widget))
if (gtk_widget_get_realized (widget))
gdk_window_move_resize (widget->window,
allocation->x + border_width,
allocation->y + border_width,
w, h);
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
GtkRequisition child_requisition;
GtkAllocation child_allocation;
@@ -344,7 +344,7 @@ gtk_mirror_bin_size_allocate (GtkWidget *widget,
child_allocation.height = child_requisition.height;
child_allocation.width = child_requisition.width;
if (GTK_WIDGET_REALIZED (widget))
if (gtk_widget_get_realized (widget))
gdk_window_move_resize (bin->offscreen_window,
allocation->x + border_width,
allocation->y + border_width,
@@ -369,7 +369,7 @@ gtk_mirror_bin_expose (GtkWidget *widget,
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
gint width, height;
if (GTK_WIDGET_DRAWABLE (widget))
if (gtk_widget_is_drawable (widget))
{
if (event->window == widget->window)
{
@@ -378,7 +378,7 @@ gtk_mirror_bin_expose (GtkWidget *widget,
cairo_matrix_t matrix;
cairo_pattern_t *mask;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
if (bin->child && gtk_widget_get_visible (bin->child))
{
pixmap = gdk_offscreen_window_get_pixmap (bin->offscreen_window);
gdk_drawable_get_size (pixmap, &width, &height);
@@ -487,7 +487,7 @@ do_offscreen_window2 (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (hbox), applybutton, FALSE, FALSE, 0);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -180,7 +180,7 @@ do_panes (GtkWidget *do_widget)
gtk_widget_show_all (vbox);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}

View File

@@ -59,7 +59,7 @@ do_pickers (GtkWidget *do_widget)
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 3, 4);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -260,7 +260,7 @@ do_pixbufs (GtkWidget *do_widget)
}
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -149,7 +149,8 @@ do_printing (GtkWidget *do_widget)
GtkPrintOperation *operation;
GtkPrintSettings *settings;
PrintData *data;
gchar *uri, *dir, *ext;
gchar *uri, *ext;
const gchar *dir;
GError *error = NULL;
operation = gtk_print_operation_new ();

View File

@@ -223,7 +223,7 @@ do_rotated_text (GtkWidget *do_widget)
pango_attr_list_unref (attrs);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -1,6 +1,6 @@
/* Entry/Search Entry
/* Entry/Search Entry
*
* GtkEntry allows to display icons and progress information.
* GtkEntry allows to display icons and progress information.
* This demo shows how to use these features in a search entry.
*/
@@ -45,21 +45,21 @@ finish_search (GtkButton *button)
show_find_button ();
g_source_remove (search_progress_id);
search_progress_id = 0;
return FALSE;
}
static gboolean
start_search_feedback (gpointer data)
{
search_progress_id = g_timeout_add_full (G_PRIORITY_DEFAULT, 100,
search_progress_id = g_timeout_add_full (G_PRIORITY_DEFAULT, 100,
(GSourceFunc)search_progress, data,
(GDestroyNotify)search_progress_done);
return FALSE;
}
static void
start_search (GtkButton *button,
start_search (GtkButton *button,
GtkEntry *entry)
{
show_cancel_button ();
@@ -77,16 +77,99 @@ stop_search (GtkButton *button,
}
static void
icon_press_cb (GtkEntry *entry,
clear_entry (GtkEntry *entry)
{
gtk_entry_set_text (entry, "");
}
static void
search_by_name (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_FIND);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by name\n"
"Click here to change the search type");
}
static void
search_by_description (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_EDIT);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by description\n"
"Click here to change the search type");
}
static void
search_by_file (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_OPEN);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by file name\n"
"Click here to change the search type");
}
GtkWidget *
create_search_menu (GtkWidget *entry)
{
GtkWidget *menu;
GtkWidget *item;
GtkWidget *image;
menu = gtk_menu_new ();
item = gtk_image_menu_item_new_with_mnemonic ("Search by _name");
image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
g_signal_connect (item, "activate",
G_CALLBACK (search_by_name), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_with_mnemonic ("Search by _description");
image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
g_signal_connect (item, "activate",
G_CALLBACK (search_by_description), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_with_mnemonic ("Search by _file name");
image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
g_signal_connect (item, "activate",
G_CALLBACK (search_by_file), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show_all (menu);
return menu;
}
static void
icon_press_cb (GtkEntry *entry,
gint position,
GdkEventButton *event,
gpointer data)
{
if (position == GTK_ENTRY_ICON_PRIMARY)
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
event->button, event->time);
else
gtk_entry_set_text (entry, "");
else
clear_entry (entry);
}
static void
@@ -97,7 +180,7 @@ text_changed_cb (GtkEntry *entry,
gboolean has_text;
has_text = gtk_entry_get_text_length (entry) > 0;
gtk_entry_set_icon_sensitive (entry,
gtk_entry_set_icon_sensitive (entry,
GTK_ENTRY_ICON_SECONDARY,
has_text);
gtk_widget_set_sensitive (button, has_text);
@@ -114,45 +197,6 @@ activate_cb (GtkEntry *entry,
}
static void
search_by_name (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_FIND);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by name\n"
"Click here to change the search type");
}
static void
search_by_description (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_EDIT);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by description\n"
"Click here to change the search type");
}
static void
search_by_file (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_OPEN);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by file name\n"
"Click here to change the search type");
}
static void
search_entry_destroyed (GtkWidget *widget)
{
@@ -165,7 +209,35 @@ search_entry_destroyed (GtkWidget *widget)
window = NULL;
}
static void
entry_populate_popup (GtkEntry *entry,
GtkMenu *menu,
gpointer user_data)
{
GtkWidget *item;
GtkWidget *search_menu;
gboolean has_text;
has_text = gtk_entry_get_text_length (entry) > 0;
item = gtk_separator_menu_item_new ();
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_mnemonic ("C_lear");
gtk_widget_show (item);
g_signal_connect_swapped (item, "activate",
G_CALLBACK (clear_entry), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_set_sensitive (item, has_text);
search_menu = create_search_menu (GTK_WIDGET (entry));
item = gtk_menu_item_new_with_label ("Search by");
gtk_widget_show (item);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), search_menu);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
}
GtkWidget *
do_search_entry (GtkWidget *do_widget)
{
@@ -173,19 +245,17 @@ do_search_entry (GtkWidget *do_widget)
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *entry;
GtkWidget *item;
GtkWidget *image;
GtkWidget *find_button;
GtkWidget *cancel_button;
if (!window)
{
window = gtk_dialog_new_with_buttons ("Search Entry",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
@@ -216,59 +286,43 @@ do_search_entry (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (hbox), notebook, FALSE, FALSE, 0);
find_button = gtk_button_new_with_label ("Find");
g_signal_connect (find_button, "clicked",
g_signal_connect (find_button, "clicked",
G_CALLBACK (start_search), entry);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), find_button, NULL);
gtk_widget_show (find_button);
cancel_button = gtk_button_new_with_label ("Cancel");
g_signal_connect (cancel_button, "clicked",
g_signal_connect (cancel_button, "clicked",
G_CALLBACK (stop_search), NULL);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), cancel_button, NULL);
gtk_widget_show (cancel_button);
/* Set up the search icon */
search_by_name (NULL, GTK_ENTRY (entry));
/* Set up the clear icon */
gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
GTK_ENTRY_ICON_SECONDARY,
gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
GTK_ENTRY_ICON_SECONDARY,
GTK_STOCK_CLEAR);
text_changed_cb (GTK_ENTRY (entry), NULL, find_button);
g_signal_connect (entry, "icon-press",
g_signal_connect (entry, "icon-press",
G_CALLBACK (icon_press_cb), NULL);
g_signal_connect (entry, "notify::text",
g_signal_connect (entry, "notify::text",
G_CALLBACK (text_changed_cb), find_button);
g_signal_connect (entry, "activate",
g_signal_connect (entry, "activate",
G_CALLBACK (activate_cb), NULL);
/* Create the menu */
menu = gtk_menu_new ();
menu = create_search_menu (entry);
gtk_menu_attach_to_widget (GTK_MENU (menu), entry, NULL);
item = gtk_image_menu_item_new_with_label ("Search by name");
image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
g_signal_connect (item, "activate", G_CALLBACK (search_by_name), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_with_label ("Search by description");
image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
g_signal_connect (item, "activate", G_CALLBACK (search_by_description), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_with_label ("Search by file name");
image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
g_signal_connect (item, "activate", G_CALLBACK (search_by_file), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show_all (menu);
/* add accessible alternatives for icon functionality */
g_signal_connect (entry, "populate-popup",
G_CALLBACK (entry_populate_popup), NULL);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{
@@ -279,5 +333,3 @@ do_search_entry (GtkWidget *do_widget)
return window;
}

View File

@@ -158,7 +158,7 @@ do_sizegroup (GtkWidget *do_widget)
G_CALLBACK (toggle_grouping), size_group);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);

94
demos/gtk-demo/spinner.c Normal file
View File

@@ -0,0 +1,94 @@
/* Spinner
*
* GtkSpinner allows to show that background activity is on-going.
*
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static GtkWidget *spinner_sensitive = NULL;
static GtkWidget *spinner_unsensitive = NULL;
static void
on_play_clicked (GtkButton *button, gpointer user_data)
{
gtk_spinner_start (GTK_SPINNER (spinner_sensitive));
gtk_spinner_start (GTK_SPINNER (spinner_unsensitive));
}
static void
on_stop_clicked (GtkButton *button, gpointer user_data)
{
gtk_spinner_stop (GTK_SPINNER (spinner_sensitive));
gtk_spinner_stop (GTK_SPINNER (spinner_unsensitive));
}
GtkWidget *
do_spinner (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *button;
GtkWidget *spinner;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkSpinner",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
/* Sensitive */
hbox = gtk_hbox_new (FALSE, 5);
spinner = gtk_spinner_new ();
gtk_container_add (GTK_CONTAINER (hbox), spinner);
gtk_container_add (GTK_CONTAINER (hbox), gtk_entry_new ());
gtk_container_add (GTK_CONTAINER (vbox), hbox);
spinner_sensitive = spinner;
/* Disabled */
hbox = gtk_hbox_new (FALSE, 5);
spinner = gtk_spinner_new ();
gtk_container_add (GTK_CONTAINER (hbox), spinner);
gtk_container_add (GTK_CONTAINER (hbox), gtk_entry_new ());
gtk_container_add (GTK_CONTAINER (vbox), hbox);
spinner_unsensitive = spinner;
gtk_widget_set_sensitive (hbox, FALSE);
button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (on_play_clicked), spinner);
gtk_container_add (GTK_CONTAINER (vbox), button);
button = gtk_button_new_from_stock (GTK_STOCK_MEDIA_STOP);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (on_stop_clicked), spinner);
gtk_container_add (GTK_CONTAINER (vbox), button);
/* Start by default to test for:
* https://bugzilla.gnome.org/show_bug.cgi?id=598496 */
on_play_clicked (NULL, NULL);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -532,7 +532,7 @@ do_stock_browser (GtkWidget *do_widget)
NULL);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

View File

@@ -191,7 +191,7 @@ do_textscroll (GtkWidget *do_widget)
create_text_view (hbox, FALSE);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);

View File

@@ -500,7 +500,7 @@ do_textview (GtkWidget *do_widget)
gtk_widget_show_all (vpaned);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}

View File

@@ -0,0 +1,795 @@
/* Tool Palette
*
* A tool palette widget shows groups of toolbar items as a grid of icons
* or a list of names.
*/
#include <string.h>
#include <gtk/gtk.h>
#include "config.h"
#include "demo-common.h"
static GtkWidget *window = NULL;
static void load_stock_items (GtkToolPalette *palette);
static void load_toggle_items (GtkToolPalette *palette);
static void load_special_items (GtkToolPalette *palette);
typedef struct _CanvasItem CanvasItem;
struct _CanvasItem
{
GdkPixbuf *pixbuf;
gdouble x, y;
};
static CanvasItem *drop_item = NULL;
static GList *canvas_items = NULL;
/********************************/
/* ====== Canvas drawing ====== */
/********************************/
static CanvasItem*
canvas_item_new (GtkWidget *widget,
GtkToolButton *button,
gdouble x,
gdouble y)
{
CanvasItem *item = NULL;
const gchar *stock_id;
GdkPixbuf *pixbuf;
stock_id = gtk_tool_button_get_stock_id (button);
pixbuf = gtk_widget_render_icon (widget, stock_id, GTK_ICON_SIZE_DIALOG, NULL);
if (pixbuf)
{
item = g_slice_new0 (CanvasItem);
item->pixbuf = pixbuf;
item->x = x;
item->y = y;
}
return item;
}
static void
canvas_item_free (CanvasItem *item)
{
g_object_unref (item->pixbuf);
g_slice_free (CanvasItem, item);
}
static void
canvas_item_draw (const CanvasItem *item,
cairo_t *cr,
gboolean preview)
{
gdouble cx = gdk_pixbuf_get_width (item->pixbuf);
gdouble cy = gdk_pixbuf_get_height (item->pixbuf);
gdk_cairo_set_source_pixbuf (cr,
item->pixbuf,
item->x - cx * 0.5,
item->y - cy * 0.5);
if (preview)
cairo_paint_with_alpha (cr, 0.6);
else
cairo_paint (cr);
}
static gboolean
canvas_expose_event (GtkWidget *widget,
GdkEventExpose *event)
{
cairo_t *cr;
GList *iter;
cr = gdk_cairo_create (widget->window);
gdk_cairo_region (cr, event->region);
cairo_clip (cr);
cairo_set_source_rgb (cr, 1, 1, 1);
cairo_rectangle (cr, 0, 0, widget->allocation.width, widget->allocation.height);
cairo_fill (cr);
for (iter = canvas_items; iter; iter = iter->next)
canvas_item_draw (iter->data, cr, FALSE);
if (drop_item)
canvas_item_draw (drop_item, cr, TRUE);
cairo_destroy (cr);
return TRUE;
}
/*****************************/
/* ====== Palette DnD ====== */
/*****************************/
static void
palette_drop_item (GtkToolItem *drag_item,
GtkToolItemGroup *drop_group,
gint x,
gint y)
{
GtkWidget *drag_group = gtk_widget_get_parent (GTK_WIDGET (drag_item));
GtkToolItem *drop_item = gtk_tool_item_group_get_drop_item (drop_group, x, y);
gint drop_position = -1;
if (drop_item)
drop_position = gtk_tool_item_group_get_item_position (GTK_TOOL_ITEM_GROUP (drop_group), drop_item);
if (GTK_TOOL_ITEM_GROUP (drag_group) != drop_group)
{
gboolean homogeneous, expand, fill, new_row;
g_object_ref (drag_item);
gtk_container_child_get (GTK_CONTAINER (drag_group), GTK_WIDGET (drag_item),
"homogeneous", &homogeneous,
"expand", &expand,
"fill", &fill,
"new-row", &new_row,
NULL);
gtk_container_remove (GTK_CONTAINER (drag_group), GTK_WIDGET (drag_item));
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (drop_group),
drag_item, drop_position);
gtk_container_child_set (GTK_CONTAINER (drop_group), GTK_WIDGET (drag_item),
"homogeneous", homogeneous,
"expand", expand,
"fill", fill,
"new-row", new_row,
NULL);
g_object_unref (drag_item);
}
else
gtk_tool_item_group_set_item_position (GTK_TOOL_ITEM_GROUP (drop_group),
drag_item, drop_position);
}
static void
palette_drop_group (GtkToolPalette *palette,
GtkToolItemGroup *drag_group,
GtkToolItemGroup *drop_group)
{
gint drop_position = -1;
if (drop_group)
drop_position = gtk_tool_palette_get_group_position (palette, drop_group);
gtk_tool_palette_set_group_position (palette, drag_group, drop_position);
}
static void
palette_drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection,
guint info,
guint time,
gpointer data)
{
GtkToolItemGroup *drop_group = NULL;
GtkWidget *drag_palette = gtk_drag_get_source_widget (context);
GtkWidget *drag_item = NULL;
while (drag_palette && !GTK_IS_TOOL_PALETTE (drag_palette))
drag_palette = gtk_widget_get_parent (drag_palette);
if (drag_palette)
{
drag_item = gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (drag_palette),
selection);
drop_group = gtk_tool_palette_get_drop_group (GTK_TOOL_PALETTE (widget),
x, y);
}
if (GTK_IS_TOOL_ITEM_GROUP (drag_item))
palette_drop_group (GTK_TOOL_PALETTE (drag_palette),
GTK_TOOL_ITEM_GROUP (drag_item),
drop_group);
else if (GTK_IS_TOOL_ITEM (drag_item) && drop_group)
palette_drop_item (GTK_TOOL_ITEM (drag_item),
drop_group,
x - GTK_WIDGET (drop_group)->allocation.x,
y - GTK_WIDGET (drop_group)->allocation.y);
}
/********************************/
/* ====== Passive Canvas ====== */
/********************************/
static void
passive_canvas_drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection,
guint info,
guint time,
gpointer data)
{
/* find the tool button, which is the source of this DnD operation */
GtkWidget *palette = gtk_drag_get_source_widget (context);
CanvasItem *canvas_item = NULL;
GtkWidget *tool_item = NULL;
while (palette && !GTK_IS_TOOL_PALETTE (palette))
palette = gtk_widget_get_parent (palette);
if (palette)
tool_item = gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (palette),
selection);
g_assert (NULL == drop_item);
/* append a new canvas item when a tool button was found */
if (GTK_IS_TOOL_ITEM (tool_item))
canvas_item = canvas_item_new (widget, GTK_TOOL_BUTTON (tool_item), x, y);
if (canvas_item)
{
canvas_items = g_list_append (canvas_items, canvas_item);
gtk_widget_queue_draw (widget);
}
}
/************************************/
/* ====== Interactive Canvas ====== */
/************************************/
static gboolean
interactive_canvas_drag_motion (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time,
gpointer data)
{
if (drop_item)
{
/* already have a drop indicator - just update position */
drop_item->x = x;
drop_item->y = y;
gtk_widget_queue_draw (widget);
gdk_drag_status (context, GDK_ACTION_COPY, time);
}
else
{
/* request DnD data for creating a drop indicator */
GdkAtom target = gtk_drag_dest_find_target (widget, context, NULL);
if (!target)
return FALSE;
gtk_drag_get_data (widget, context, target, time);
}
return TRUE;
}
static void
interactive_canvas_drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection,
guint info,
guint time,
gpointer data)
{
/* find the tool button which is the source of this DnD operation */
GtkWidget *palette = gtk_drag_get_source_widget (context);
GtkWidget *tool_item = NULL;
while (palette && !GTK_IS_TOOL_PALETTE (palette))
palette = gtk_widget_get_parent (palette);
if (palette)
tool_item = gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (palette),
selection);
/* create a drop indicator when a tool button was found */
g_assert (NULL == drop_item);
if (GTK_IS_TOOL_ITEM (tool_item))
{
drop_item = canvas_item_new (widget, GTK_TOOL_BUTTON (tool_item), x, y);
gdk_drag_status (context, GDK_ACTION_COPY, time);
gtk_widget_queue_draw (widget);
}
}
static gboolean
interactive_canvas_drag_drop (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time,
gpointer data)
{
if (drop_item)
{
/* turn the drop indicator into a real canvas item */
drop_item->x = x;
drop_item->y = y;
canvas_items = g_list_append (canvas_items, drop_item);
drop_item = NULL;
/* signal the item was accepted and redraw */
gtk_drag_finish (context, TRUE, FALSE, time);
gtk_widget_queue_draw (widget);
return TRUE;
}
return FALSE;
}
static gboolean
interactive_canvas_real_drag_leave (gpointer data)
{
if (drop_item)
{
GtkWidget *widget = GTK_WIDGET (data);
canvas_item_free (drop_item);
drop_item = NULL;
gtk_widget_queue_draw (widget);
}
return FALSE;
}
static void
interactive_canvas_drag_leave (GtkWidget *widget,
GdkDragContext *context,
guint time,
gpointer data)
{
/* defer cleanup until a potential "drag-drop" signal was received */
g_idle_add (interactive_canvas_real_drag_leave, widget);
}
static void
on_combo_orientation_changed (GtkComboBox *combo_box,
gpointer user_data)
{
GtkToolPalette *palette = GTK_TOOL_PALETTE (user_data);
GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW (GTK_WIDGET (palette)->parent);
GtkTreeModel *model = gtk_combo_box_get_model (combo_box);
GtkTreeIter iter;
gint val = 0;
if (!gtk_combo_box_get_active_iter (combo_box, &iter))
return;
gtk_tree_model_get (model, &iter, 1, &val, -1);
gtk_orientable_set_orientation (GTK_ORIENTABLE (palette), val);
if (val == GTK_ORIENTATION_HORIZONTAL)
gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER);
else
gtk_scrolled_window_set_policy (sw, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
}
static void
on_combo_style_changed (GtkComboBox *combo_box,
gpointer user_data)
{
GtkToolPalette *palette = GTK_TOOL_PALETTE (user_data);
GtkTreeModel *model = gtk_combo_box_get_model (combo_box);
GtkTreeIter iter;
gint val = 0;
if (!gtk_combo_box_get_active_iter (combo_box, &iter))
return;
gtk_tree_model_get (model, &iter, 1, &val, -1);
if (val == -1)
gtk_tool_palette_unset_style (palette);
else
gtk_tool_palette_set_style (palette, val);
}
GtkWidget *
do_toolpalette (GtkWidget *do_widget)
{
GtkWidget *box = NULL;
GtkWidget *hbox = NULL;
GtkWidget *combo_orientation = NULL;
GtkListStore *orientation_model = NULL;
GtkWidget *combo_style = NULL;
GtkListStore *style_model = NULL;
GtkCellRenderer *cell_renderer = NULL;
GtkTreeIter iter;
GtkWidget *palette = NULL;
GtkWidget *palette_scroller = NULL;
GtkWidget *notebook = NULL;
GtkWidget *contents = NULL;
GtkWidget *contents_scroller = NULL;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Tool Palette");
gtk_window_set_default_size (GTK_WINDOW (window), 200, 600);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
/* Add widgets to control the ToolPalette appearance: */
box = gtk_vbox_new (FALSE, 6);
gtk_container_add (GTK_CONTAINER (window), box);
/* Orientation combo box: */
orientation_model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
gtk_list_store_append (orientation_model, &iter);
gtk_list_store_set (orientation_model, &iter,
0, "Horizontal",
1, GTK_ORIENTATION_HORIZONTAL,
-1);
gtk_list_store_append (orientation_model, &iter);
gtk_list_store_set (orientation_model, &iter,
0, "Vertical",
1, GTK_ORIENTATION_VERTICAL,
-1);
combo_orientation =
gtk_combo_box_new_with_model (GTK_TREE_MODEL (orientation_model));
cell_renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_orientation),
cell_renderer,
TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_orientation),
cell_renderer,
"text", 0,
NULL);
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo_orientation), &iter);
gtk_box_pack_start (GTK_BOX (box), combo_orientation, FALSE, FALSE, 0);
/* Style combo box: */
style_model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
gtk_list_store_append (style_model, &iter);
gtk_list_store_set (style_model, &iter,
0, "Text",
1, GTK_TOOLBAR_TEXT,
-1);
gtk_list_store_append (style_model, &iter);
gtk_list_store_set (style_model, &iter,
0, "Both",
1, GTK_TOOLBAR_BOTH,
-1);
gtk_list_store_append (style_model, &iter);
gtk_list_store_set (style_model, &iter,
0, "Both: Horizontal",
1, GTK_TOOLBAR_BOTH_HORIZ,
-1);
gtk_list_store_append (style_model, &iter);
gtk_list_store_set (style_model, &iter,
0, "Icons",
1, GTK_TOOLBAR_ICONS,
-1);
gtk_list_store_append (style_model, &iter);
gtk_list_store_set (style_model, &iter,
0, "Default",
1, -1, /* A custom meaning for this demo. */
-1);
combo_style = gtk_combo_box_new_with_model (GTK_TREE_MODEL (style_model));
cell_renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_style),
cell_renderer,
TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_style),
cell_renderer,
"text", 0,
NULL);
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo_style), &iter);
gtk_box_pack_start (GTK_BOX (box), combo_style, FALSE, FALSE, 0);
/* Add hbox */
hbox = gtk_hbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (box), hbox, TRUE, TRUE, 0);
/* Add and fill the ToolPalette: */
palette = gtk_tool_palette_new ();
load_stock_items (GTK_TOOL_PALETTE (palette));
load_toggle_items (GTK_TOOL_PALETTE (palette));
load_special_items (GTK_TOOL_PALETTE (palette));
palette_scroller = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (palette_scroller),
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
gtk_container_set_border_width (GTK_CONTAINER (palette_scroller), 6);
gtk_container_add (GTK_CONTAINER (palette_scroller), palette);
gtk_container_add (GTK_CONTAINER (hbox), palette_scroller);
gtk_widget_show_all (box);
/* Connect signals: */
g_signal_connect (combo_orientation, "changed",
G_CALLBACK (on_combo_orientation_changed), palette);
g_signal_connect (combo_style, "changed",
G_CALLBACK (on_combo_style_changed), palette);
/* Keep the widgets in sync: */
on_combo_orientation_changed (GTK_COMBO_BOX (combo_orientation), palette);
/* ===== notebook ===== */
notebook = gtk_notebook_new ();
gtk_container_set_border_width (GTK_CONTAINER (notebook), 6);
gtk_box_pack_end (GTK_BOX(hbox), notebook, FALSE, FALSE, 0);
/* ===== DnD for tool items ===== */
g_signal_connect (palette, "drag-data-received",
G_CALLBACK (palette_drag_data_received), NULL);
gtk_tool_palette_add_drag_dest (GTK_TOOL_PALETTE (palette),
palette,
GTK_DEST_DEFAULT_ALL,
GTK_TOOL_PALETTE_DRAG_ITEMS |
GTK_TOOL_PALETTE_DRAG_GROUPS,
GDK_ACTION_MOVE);
/* ===== passive DnD dest ===== */
contents = gtk_drawing_area_new ();
gtk_widget_set_app_paintable (contents, TRUE);
g_object_connect (contents,
"signal::expose-event", canvas_expose_event, NULL,
"signal::drag-data-received", passive_canvas_drag_data_received, NULL,
NULL);
gtk_tool_palette_add_drag_dest (GTK_TOOL_PALETTE (palette),
contents,
GTK_DEST_DEFAULT_ALL,
GTK_TOOL_PALETTE_DRAG_ITEMS,
GDK_ACTION_COPY);
contents_scroller = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (contents_scroller),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_ALWAYS);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (contents_scroller),
contents);
gtk_container_set_border_width (GTK_CONTAINER (contents_scroller), 6);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
contents_scroller,
gtk_label_new ("Passive DnD Mode"));
/* ===== interactive DnD dest ===== */
contents = gtk_drawing_area_new ();
gtk_widget_set_app_paintable (contents, TRUE);
g_object_connect (contents,
"signal::expose-event", canvas_expose_event, NULL,
"signal::drag-motion", interactive_canvas_drag_motion, NULL,
"signal::drag-data-received", interactive_canvas_drag_data_received, NULL,
"signal::drag-leave", interactive_canvas_drag_leave, NULL,
"signal::drag-drop", interactive_canvas_drag_drop, NULL,
NULL);
gtk_tool_palette_add_drag_dest (GTK_TOOL_PALETTE (palette),
contents,
GTK_DEST_DEFAULT_HIGHLIGHT,
GTK_TOOL_PALETTE_DRAG_ITEMS,
GDK_ACTION_COPY);
contents_scroller = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (contents_scroller),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_ALWAYS);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (contents_scroller),
contents);
gtk_container_set_border_width (GTK_CONTAINER (contents_scroller), 6);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), contents_scroller,
gtk_label_new ("Interactive DnD Mode"));
}
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}
static void
load_stock_items (GtkToolPalette *palette)
{
GtkWidget *group_af = gtk_tool_item_group_new ("Stock Icons (A-F)");
GtkWidget *group_gn = gtk_tool_item_group_new ("Stock Icons (G-N)");
GtkWidget *group_or = gtk_tool_item_group_new ("Stock Icons (O-R)");
GtkWidget *group_sz = gtk_tool_item_group_new ("Stock Icons (S-Z)");
GtkWidget *group = NULL;
GtkToolItem *item;
GSList *stock_ids;
GSList *iter;
stock_ids = gtk_stock_list_ids ();
stock_ids = g_slist_sort (stock_ids, (GCompareFunc) strcmp);
gtk_container_add (GTK_CONTAINER (palette), group_af);
gtk_container_add (GTK_CONTAINER (palette), group_gn);
gtk_container_add (GTK_CONTAINER (palette), group_or);
gtk_container_add (GTK_CONTAINER (palette), group_sz);
for (iter = stock_ids; iter; iter = g_slist_next (iter))
{
GtkStockItem stock_item;
gchar *id = iter->data;
switch (id[4])
{
case 'a':
group = group_af;
break;
case 'g':
group = group_gn;
break;
case 'o':
group = group_or;
break;
case 's':
group = group_sz;
break;
}
item = gtk_tool_button_new_from_stock (id);
gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (item), id);
gtk_tool_item_set_is_important (GTK_TOOL_ITEM (item), TRUE);
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
if (!gtk_stock_lookup (id, &stock_item) || !stock_item.label)
gtk_tool_button_set_label (GTK_TOOL_BUTTON (item), id);
g_free (id);
}
g_slist_free (stock_ids);
}
static void
load_toggle_items (GtkToolPalette *palette)
{
GSList *toggle_group = NULL;
GtkToolItem *item;
GtkWidget *group;
char *label;
int i;
group = gtk_tool_item_group_new ("Radio Item");
gtk_container_add (GTK_CONTAINER (palette), group);
for (i = 1; i <= 10; ++i)
{
label = g_strdup_printf ("#%d", i);
item = gtk_radio_tool_button_new (toggle_group);
gtk_tool_button_set_label (GTK_TOOL_BUTTON (item), label);
g_free (label);
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
toggle_group = gtk_radio_tool_button_get_group (GTK_RADIO_TOOL_BUTTON (item));
}
}
static GtkToolItem *
create_entry_item (const char *text)
{
GtkToolItem *item;
GtkWidget *entry;
entry = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (entry), text);
gtk_entry_set_width_chars (GTK_ENTRY (entry), 5);
item = gtk_tool_item_new ();
gtk_container_add (GTK_CONTAINER (item), entry);
return item;
}
static void
load_special_items (GtkToolPalette *palette)
{
GtkToolItem *item;
GtkWidget *group;
GtkWidget *label_button;
group = gtk_tool_item_group_new (NULL);
label_button = gtk_button_new_with_label ("Advanced Features");
gtk_widget_show (label_button);
gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (group),
label_button);
gtk_container_add (GTK_CONTAINER (palette), group);
item = create_entry_item ("homogeneous=FALSE");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
"homogeneous", FALSE, NULL);
item = create_entry_item ("homogeneous=FALSE, expand=TRUE");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
"homogeneous", FALSE, "expand", TRUE,
NULL);
item = create_entry_item ("homogeneous=FALSE, expand=TRUE, fill=FALSE");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
"homogeneous", FALSE, "expand", TRUE,
"fill", FALSE, NULL);
item = create_entry_item ("homogeneous=FALSE, expand=TRUE, new-row=TRUE");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
"homogeneous", FALSE, "expand", TRUE,
"new-row", TRUE, NULL);
item = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
gtk_tool_item_set_tooltip_text (item, "Show on vertical palettes only");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_tool_item_set_visible_horizontal (item, FALSE);
item = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD);
gtk_tool_item_set_tooltip_text (item, "Show on horizontal palettes only");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_tool_item_set_visible_vertical (item, FALSE);
item = gtk_tool_button_new_from_stock (GTK_STOCK_DELETE);
gtk_tool_item_set_tooltip_text (item, "Do not show at all");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_widget_set_no_show_all (GTK_WIDGET (item), TRUE);
item = gtk_tool_button_new_from_stock (GTK_STOCK_FULLSCREEN);
gtk_tool_item_set_tooltip_text (item, "Expanded this item");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
"homogeneous", FALSE,
"expand", TRUE,
NULL);
item = gtk_tool_button_new_from_stock (GTK_STOCK_HELP);
gtk_tool_item_set_tooltip_text (item, "A regular item");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
}

View File

@@ -438,7 +438,7 @@ do_tree_store (GtkWidget *do_widget)
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{

View File

@@ -221,7 +221,7 @@ do_ui_manager (GtkWidget *do_widget)
g_signal_connect_swapped (button, "clicked",
G_CALLBACK (gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_widget_set_can_default (button, TRUE);
gtk_widget_grab_default (button);
gtk_widget_show_all (window);

161
demos/testpixbuf-color.c Normal file
View File

@@ -0,0 +1,161 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
#define ICC_PROFILE "/usr/share/color/icc/bluish.icc"
#define ICC_PROFILE_SIZE 3966
static gboolean
save_image_png (const gchar *filename, GdkPixbuf *pixbuf, GError **error)
{
gchar *contents = NULL;
gchar *contents_encode = NULL;
gsize length;
gboolean ret;
gint len;
/* get icc file */
ret = g_file_get_contents (ICC_PROFILE, &contents, &length, error);
if (!ret)
goto out;
contents_encode = g_base64_encode ((const guchar *) contents, length);
ret = gdk_pixbuf_save (pixbuf, filename, "png", error,
"tEXt::Software", "Hello my name is dave",
"icc-profile", contents_encode,
NULL);
len = strlen (contents_encode);
g_debug ("ICC profile was %i bytes", len);
out:
g_free (contents);
g_free (contents_encode);
return ret;
}
static gboolean
save_image_tiff (const gchar *filename, GdkPixbuf *pixbuf, GError **error)
{
gchar *contents = NULL;
gchar *contents_encode = NULL;
gsize length;
gboolean ret;
gint len;
/* get icc file */
ret = g_file_get_contents (ICC_PROFILE, &contents, &length, error);
if (!ret)
goto out;
contents_encode = g_base64_encode ((const guchar *) contents, length);
ret = gdk_pixbuf_save (pixbuf, filename, "tiff", error,
"icc-profile", contents_encode,
NULL);
len = strlen (contents_encode);
g_debug ("ICC profile was %i bytes", len);
out:
g_free (contents);
g_free (contents_encode);
return ret;
}
static gboolean
save_image_verify (const gchar *filename, GError **error)
{
gboolean ret = FALSE;
GdkPixbuf *pixbuf = NULL;
const gchar *option;
gchar *icc_profile = NULL;
gsize len = 0;
/* load */
pixbuf = gdk_pixbuf_new_from_file (filename, error);
if (pixbuf == NULL)
goto out;
/* check values */
option = gdk_pixbuf_get_option (pixbuf, "icc-profile");
if (option == NULL) {
*error = g_error_new (1, 0, "no profile set");
goto out;
}
/* decode base64 */
icc_profile = (gchar *) g_base64_decode (option, &len);
if (len != ICC_PROFILE_SIZE) {
*error = g_error_new (1, 0,
"profile length invalid, got %" G_GSIZE_FORMAT,
len);
g_file_set_contents ("error.icc", icc_profile, len, NULL);
goto out;
}
/* success */
ret = TRUE;
out:
if (pixbuf != NULL)
g_object_unref (pixbuf);
g_free (icc_profile);
return ret;
}
int
main (int argc, char **argv)
{
GdkWindow *root;
GdkPixbuf *pixbuf;
gboolean ret;
gint retval = 1;
GError *error = NULL;
gtk_init (&argc, &argv);
gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
root = gdk_get_default_root_window ();
pixbuf = gdk_pixbuf_get_from_drawable (NULL, root, NULL,
0, 0, 0, 0, 150, 160);
/* PASS */
g_debug ("try to save PNG with a profile");
ret = save_image_png ("icc-profile.png", pixbuf, &error);
if (!ret) {
g_warning ("FAILED: did not save image: %s", error->message);
g_error_free (error);
goto out;
}
/* PASS */
g_debug ("try to save TIFF with a profile");
ret = save_image_tiff ("icc-profile.tiff", pixbuf, &error);
if (!ret) {
g_warning ("FAILED: did not save image: %s", error->message);
g_error_free (error);
goto out;
}
/* PASS */
g_debug ("try to load PNG and get color attributes");
ret = save_image_verify ("icc-profile.png", &error);
if (!ret) {
g_warning ("FAILED: did not load image: %s", error->message);
g_error_free (error);
goto out;
}
/* PASS */
g_debug ("try to load TIFF and get color attributes");
ret = save_image_verify ("icc-profile.tiff", &error);
if (!ret) {
g_warning ("FAILED: did not load image: %s", error->message);
g_error_free (error);
goto out;
}
/* success */
retval = 0;
g_debug ("ALL OKAY!");
out:
return retval;
}

View File

@@ -72,7 +72,7 @@ save_to_loader (const gchar *buf, gsize count, GError **err, gpointer data)
{
GdkPixbufLoader *loader = data;
return gdk_pixbuf_loader_write (loader, buf, count, err);
return gdk_pixbuf_loader_write (loader, (const guchar *)buf, count, err);
}
static GdkPixbuf *
@@ -82,7 +82,7 @@ buffer_to_pixbuf (const gchar *buf, gsize count, GError **err)
GdkPixbuf *pixbuf;
loader = gdk_pixbuf_loader_new ();
if (gdk_pixbuf_loader_write (loader, buf, count, err) &&
if (gdk_pixbuf_loader_write (loader, (const guchar *)buf, count, err) &&
gdk_pixbuf_loader_close (loader, err)) {
pixbuf = g_object_ref (gdk_pixbuf_loader_get_pixbuf (loader));
g_object_unref (loader);

View File

@@ -7,6 +7,7 @@ dependencies:
* gtk-doc
* docbook-utils
Without those packages make distcheck will *not* pass.
Make sure that gtk-doc is the latest released version.
0) Go back to a pristine working directory. With git, this works:
@@ -101,7 +102,7 @@ Without those packages make distcheck will *not* pass.
summary of changes.
18) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
gtk-devel-list. Set reply-to to gnome-hackers.
gtk-devel-list. Set reply-to to desktop-devel-list.
19) Add a link to the release announcement to www.gtk.org which lives
in the gtk-web cvs module.
in the gtk-web git module.

View File

@@ -48,15 +48,6 @@ Events that are assured to have a valid GdkEvent.any.window field are
GDK_EXPOSE GtkWidget::expose_event
gtk_widget_ref() vs. gtk_object_ref()
-------------------------------------
The widget referencing functions gtk_widget_ref() and gtk_widget_unref()
are currently just wrappers about the corresponding referencing functions
for objects. Still you should use the widget referencing functions if you
are sure the referenced object is of type GTK_WIDGET_TYPE.
Writing Gdk functions
---------------------

View File

@@ -62,8 +62,6 @@ used by anything other than the DND code in GTK+.
/* Drag and Drop */
GdkDragContext * gdk_drag_context_new (void);
void gdk_drag_context_ref (GdkDragContext *context);
void gdk_drag_context_unref (GdkDragContext *context);
These create and refcount GdkDragContexts in a
straightforward manner.

View File

@@ -2108,10 +2108,10 @@ not.</para>
snippet:</para>
<programlisting role="C">
gtk_widget_ref(widget);
g_object_ref(widget);
gtk_container_remove(GTK_CONTAINER(old_parent), widget);
gtk_container_add(GTK_CONTAINER(new_parent), widget);
gtk_widget_unref(widget);
g_object_unref(widget);
</programlisting>
</sect1>
@@ -2307,8 +2307,8 @@ used, as in:</para>
NULL, gtk_widget_get_colormap(top),
&amp;pixmap_mask, NULL, pixfile);
pixw = gtk_pixmap_new (pixmap, pixmap_mask);
gdk_pixmap_unref (pixmap);
gdk_pixmap_unref (pixmap_mask);
g_object_unref (pixmap);
g_object_unref (pixmap_mask);
</programlisting>
</sect1>

View File

@@ -250,12 +250,12 @@ Example code sequences that require reference wraps:
/* gtk_container_remove() will unparent the child and therefore
* cause its reference count to be decremented by one.
*/
gtk_widget_ref (widget);
g_object_ref (widget);
gtk_container_remove (container, widget);
/* without the reference count, the widget would have been destroyed here.
*/
gtk_container_add (container, widget);
gtk_widget_unref (widget);
g_object_unref (widget);
/* all items in item_list need to be referenced
@@ -267,7 +267,7 @@ Example code sequences that require reference wraps:
slist = NULL;
for (list = item_list; list; list = list->next)
{
gtk_widget_ref (GTK_WIDGET (list->data));
g_object_ref (GTK_WIDGET (list->data));
slist = g_slist_prepend (slist, list->data);
}
gtk_list_remove_items (list, item_list);
@@ -280,7 +280,7 @@ Example code sequences that require reference wraps:
tmp = slist;
slist = slist->next;
gtk_widget_unref (GTK_WIDGET (tmp->data));
g_object_unref (GTK_WIDGET (tmp->data));
g_slist_free_1 (tmp);
}

View File

@@ -186,4 +186,7 @@
</address>
</para>
</appendix>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View File

@@ -4,3 +4,5 @@ gdk_pixbuf_get_type
gdk_pixbuf_loader_get_type
gdk_pixbuf_animation_get_type
gdk_pixbuf_animation_iter_get_type
gdk_pixbuf_simple_anim_get_type

View File

@@ -152,6 +152,11 @@ An opaque struct representing a simple animation.
</para>
<!-- ##### ARG GdkPixbufSimpleAnim:loop ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_new ##### -->
<para>

View File

@@ -107,5 +107,12 @@
<index id="api-index-2-18" role="2.18">
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
</index>
<index id="api-index-2-20" role="2.20">
<title>Index of new symbols in 2.20</title>
<xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View File

@@ -215,6 +215,7 @@ gdk_screen_list_visuals
gdk_screen_get_toplevel_windows
gdk_screen_make_display_name
gdk_screen_get_n_monitors
gdk_screen_get_primary_monitor
gdk_screen_get_monitor_geometry
gdk_screen_get_monitor_at_point
gdk_screen_get_monitor_at_window
@@ -1005,6 +1006,8 @@ gdk_keymap_get_entries_for_keycode
gdk_keymap_get_direction
gdk_keymap_have_bidi_layouts
gdk_keymap_get_caps_lock_state
gdk_keymap_add_virtual_modifiers
gdk_keymap_map_virtual_modifiers
<SUBSECTION>
gdk_keyval_name

View File

@@ -221,7 +221,7 @@ Generated when all or part of a window becomes visible and needs to be
redrawn.
</para>
@type: the type of the event (%GDK_EXPOSE).
@type: the type of the event (%GDK_EXPOSE or %GDK_DAMAGE).
@window: the window which received the event.
@send_event: %TRUE if the event was sent explicitly (e.g. using
<function>XSendEvent</function>).

View File

@@ -253,6 +253,15 @@ when GDK gets multihead support.
@Returns:
<!-- ##### FUNCTION gdk_screen_get_primary_monitor ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_geometry ##### -->
<para>

View File

@@ -57,12 +57,7 @@ devices without having to keep track of complicated per-device
settings.
</para>
<para>
Various aspects of each device may be configured. The easiest way of
creating a GUI to allow the user to configure such a device
is to use the #GtkInputDialog widget in GTK+.
However, even when using this widget, application writers
will need to directly query and set the configuration parameters
in order to save the state between invocations of the application.
Various aspects of each device may be configured.
The configuration of devices is queried using gdk_devices_list().
Each device must be activated using gdk_device_set_mode(), which
also controls whether the device's range is mapped to the
@@ -233,15 +228,12 @@ Specifies how an axis of a device is used.
<!-- ##### FUNCTION gdk_device_get_state ##### -->
<para>
Gets the current state of a device.
</para>
@device: a #GdkDevice.
@window: a #GdkWindow.
@axes: an array of doubles to store the values of the axes of @device in,
or %NULL.
@mask: location to store the modifiers, or %NULL.
@device:
@window:
@axes:
@mask:
<!-- ##### FUNCTION gdk_device_get_history ##### -->

View File

@@ -34,7 +34,7 @@ When it makes sense, key values can be converted to and from
Unicode characters with gdk_keyval_to_unicode() and gdk_unicode_to_keyval().
</para>
<para>
<para id="key-group-explanation">
One #GdkKeymap object exists for each user display. gdk_keymap_get_default()
returns the #GdkKeymap for the default display; to obtain keymaps for other
displays, use gdk_keymap_get_for_display(). A keymap
@@ -234,6 +234,16 @@ Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL.
@Returns:
<!-- ##### FUNCTION gdk_keymap_map_virtual_modifiers ##### -->
<para>
</para>
@keymap:
@state:
@Returns:
<!-- ##### FUNCTION gdk_keyval_name ##### -->
<para>
Converts a key value into a symbolic name.

View File

@@ -77,76 +77,45 @@ for the new pixmap. Can be %NULL, if the depth is given.
<!-- ##### FUNCTION gdk_pixmap_create_from_xpm ##### -->
<para>
Create a pixmap from a XPM file.
</para>
@drawable: a #GdkDrawable, used to determine default values
for the new pixmap.
@mask: a pointer to a place to store a bitmap representing
the transparency mask of the XPM file. Can be %NULL,
in which case transparency will be ignored.
@transparent_color: the color to be used for the pixels
that are transparent in the input file. Can be %NULL,
in which case a default color will be used.
@filename: the filename of a file containing XPM data.
@Returns: the #GdkPixmap
@drawable:
@mask:
@transparent_color:
@filename:
@Returns:
<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm ##### -->
<para>
Create a pixmap from a XPM file using a particular colormap.
</para>
@drawable: a #GdkDrawable, used to determine default values
for the new pixmap. Can be %NULL if @colormap is given.
@colormap: the #GdkColormap that the new pixmap will be use.
If omitted, the colormap for @window will be used.
@mask: a pointer to a place to store a bitmap representing
the transparency mask of the XPM file. Can be %NULL,
in which case transparency will be ignored.
@transparent_color: the color to be used for the pixels
that are transparent in the input file. Can be %NULL,
in which case a default color will be used.
@filename: the filename of a file containing XPM data.
@Returns: the #GdkPixmap.
@drawable:
@colormap:
@mask:
@transparent_color:
@filename:
@Returns:
<!-- ##### FUNCTION gdk_pixmap_create_from_xpm_d ##### -->
<para>
Create a pixmap from data in XPM format.
</para>
@drawable: a #GdkDrawable, used to determine default values
for the new pixmap.
@mask: Pointer to a place to store a bitmap representing
the transparency mask of the XPM file. Can be %NULL,
in which case transparency will be ignored.
@transparent_color: This color will be used for the pixels
that are transparent in the input file. Can be %NULL
in which case a default color will be used.
@data: Pointer to a string containing the XPM data.
@Returns: the #GdkPixmap
@drawable:
@mask:
@transparent_color:
@data:
@Returns:
<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm_d ##### -->
<para>
Create a pixmap from data in XPM format using a particular
colormap.
</para>
@drawable: a #GdkDrawable, used to determine default values
for the new pixmap. Can be %NULL if @colormap is given.
@colormap: the #GdkColormap that the new pixmap will be use.
If omitted, the colormap for @window will be used.
@mask: a pointer to a place to store a bitmap representing
the transparency mask of the XPM file. Can be %NULL,
in which case transparency will be ignored.
@transparent_color: the color to be used for the pixels
that are transparent in the input file. Can be %NULL,
in which case a default color will be used.
@data: Pointer to a string containing the XPM data.
@Returns: the #GdkPixmap.
@drawable:
@colormap:
@mask:
@transparent_color:
@data:
@Returns:
<!-- ##### MACRO gdk_pixmap_ref ##### -->

View File

@@ -87,6 +87,7 @@ IGNORE_HFILES= \
gtktrayicon.h \
gtktreedatalist.h \
gtktreeprivate.h \
gtktoolpaletteprivate.h \
gtktypebuiltins.h \
gtkxembed.h \
gtkwin32embed.h \
@@ -335,9 +336,11 @@ HTML_IMAGES = \
$(srcdir)/images/scrolledwindow.png \
$(srcdir)/images/separator.png \
$(srcdir)/images/spinbutton.png \
$(srcdir)/images/spinner.png \
$(srcdir)/images/statusbar.png \
$(srcdir)/images/toggle-button.png \
$(srcdir)/images/toolbar.png \
$(srcdir)/images/toolpalette.png \
$(srcdir)/images/tree-view-coordinates.png \
$(srcdir)/images/volumebutton.png \
$(srcdir)/images/window.png \

View File

@@ -69,12 +69,17 @@ toplevel headers <filename>gtk.h</filename>, <filename>gdk.h</filename>,
If you want to make sure that your program follows this recommended
practise, you can define the preprocessor symbols GTK_DISABLE_SINGLE_INCLUDES
and GDK_PIXBUF_DISABLE_SINGLE_INCLUDES to make GTK+ generate an error
when individual headers are directly included.
when individual headers are directly included.
There are some exceptions: <filename>gdkkeysyms.h</filename> is not included in
<filename>gdk.h</filename> because the file is quite large; see
<link linkend="gdk-Keyboard-Handling">Key Values documentation</link>.
<filename>gdkx.h</filename> must be included independently because It's
platform-specific; see
<link linkend="gdk-X-Window-System-Interaction">X Window System Interaction</link>
documentation.
The same for <filename>gtkunixprint.h</filename> if you use the non-portable
<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> API.
</para>
</refsect1>
</refentry>

View File

@@ -124,11 +124,10 @@
However, in practice it is convenient to have widgets which do
not have a <classname>GdkWindow</classname> of their own, but
rather share the one from their parent widget. Such widgets
have the <constant>GTK_NO_WINDOW</constant> <link
linkend="GtkWidgetFlags">widget flag</link> turned on; this
can be tested easily with the <link
linkend="GTK-WIDGET-NO-WINDOW-CAPS"><function>GTK_WIDGET_NO_WINDOW()</function></link>
macro. As such, these are called <firstterm>no-window
have called <function>gtk_widget_set_has_window</function> to
disable it; this can be tested easily with the <link
linkend="gtk-widget-get-has-window"><function>gtk_widget_get_has_window()</function></link>
function. As such, these are called <firstterm>no-window
widgets</firstterm>.
</para>
@@ -444,7 +443,7 @@ my_widget_init (MyWidget *widget)
{
...
GTK_WIDGET_UNSET_FLAGS (widget, GTK_DOUBLE_BUFFERED);
gtk_widget_set_double_buffered (widget, FALSE);
...
}
@@ -508,7 +507,7 @@ static gint
gtk_window_expose (GtkWidget *widget,
GdkEventExpose *event)
{
if (!GTK_WIDGET_APP_PAINTABLE (widget))
if (!gtk_widget_get_app_paintable (widget))
gtk_paint_flat_box (widget->style, widget->window, GTK_STATE_NORMAL,
GTK_SHADOW_NONE, event->area, widget, "base", 0, 0, -1, -1);

View File

@@ -195,9 +195,8 @@
<para>
A widget that does not have a GdkWindow of its own on which to
draw its contents, but rather shares its <glossterm
linkend="parent">parent's</glossterm>. Such a widget has the
%GTK_NO_WINDOW <link linkend="GtkWidgetFlags">flag</link> set, and
can be tested with the GTK_WIDGET_NO_WINDOW() macro. See
linkend="parent">parent's</glossterm>. This can be tested with
the gtk_widget_get_has_window() function. See
<xref linkend="window-no-window-widgets"/> for a detailed
description of this flag.
</para>

View File

@@ -150,6 +150,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkwindowgroup.xml" />
<xi:include href="xml/gtkaboutdialog.xml" />
<xi:include href="xml/gtkassistant.xml" />
<xi:include href="xml/gtkoffscreenwindow.xml" />
</chapter>
<chapter id="DisplayWidgets">
@@ -161,6 +162,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkstatusbar.xml" />
<xi:include href="xml/gtkinfobar.xml" />
<xi:include href="xml/gtkstatusicon.xml" />
<xi:include href="xml/gtkspinner.xml" />
</chapter>
<chapter id="ButtonWidgets">
@@ -219,6 +221,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkcellrendererspin.xml" />
<xi:include href="xml/gtkcellrenderertext.xml" />
<xi:include href="xml/gtkcellrenderertoggle.xml" />
<xi:include href="xml/gtkcellrendererspinner.xml" />
<xi:include href="xml/gtkliststore.xml" />
<xi:include href="xml/gtktreestore.xml" />
</chapter>
@@ -238,6 +241,8 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtktoolshell.xml" />
<xi:include href="xml/gtktoolbar.xml" />
<xi:include href="xml/gtktoolitem.xml" />
<xi:include href="xml/gtktoolpalette.xml" />
<xi:include href="xml/gtktoolitemgroup.xml" />
<xi:include href="xml/gtkseparatortoolitem.xml" />
<xi:include href="xml/gtktoolbutton.xml" />
<xi:include href="xml/gtkmenutoolbutton.xml" />
@@ -491,4 +496,11 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-20" role="2.20">
<title>Index of new symbols in 2.20</title>
<xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View File

@@ -192,6 +192,8 @@ gtk_action_block_activate
gtk_action_unblock_activate
gtk_action_block_activate_from
gtk_action_unblock_activate_from
gtk_action_get_always_show_image
gtk_action_set_always_show_image
gtk_action_get_accel_path
gtk_action_set_accel_path
gtk_action_get_accel_closure
@@ -1182,6 +1184,7 @@ gtk_dialog_set_default_response
gtk_dialog_set_has_separator
gtk_dialog_set_response_sensitive
gtk_dialog_get_response_for_widget
gtk_dialog_get_widget_for_response
gtk_dialog_get_action_area
gtk_dialog_get_content_area
<SUBSECTION>
@@ -1333,6 +1336,8 @@ gtk_entry_set_icon_tooltip_markup
gtk_entry_get_icon_tooltip_markup
gtk_entry_set_icon_drag_source
gtk_entry_get_current_icon_drag_source
gtk_entry_get_icon_window
gtk_entry_get_text_window
<SUBSECTION Standard>
GTK_ENTRY
@@ -2633,7 +2638,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
@@ -2732,6 +2736,8 @@ gtk_notebook_set_group_id
gtk_notebook_get_group_id
gtk_notebook_set_group
gtk_notebook_get_group
gtk_notebook_set_action_widget
gtk_notebook_get_action_widget
GtkNotebookWindowCreationFunc
gtk_notebook_set_window_creation_hook
<SUBSECTION Standard>
@@ -2795,6 +2801,25 @@ GTK_OBJECT_SET_FLAGS
GTK_OBJECT_UNSET_FLAGS
</SECTION>
<SECTION>
<FILE>gtkoffscreenwindow</FILE>
<TITLE>GtkOffscreenWindow</TITLE>
GtkOffscreenWindow
gtk_offscreen_window_new
gtk_offscreen_window_get_pixmap
gtk_offscreen_window_get_pixbuf
<SUBSECTION Standard>
GTK_OFFSCREEN_WINDOW
GTK_IS_OFFSCREEN_WINDOW
GTK_TYPE_OFFSCREEN_WINDOW
GTK_OFFSCREEN_WINDOW_CLASS
GTK_IS_OFFSCREEN_WINDOW_CLASS
GTK_OFFSCREEN_WINDOW_GET_CLASS
<SUBSECTION Private>
gtk_offscreen_window_get_type
</SECTION>
<SECTION>
<FILE>gtkoptionmenu</FILE>
<TITLE>GtkOptionMenu</TITLE>
@@ -2820,7 +2845,6 @@ gtk_option_menu_get_type
<FILE>gtkpaned</FILE>
<TITLE>GtkPaned</TITLE>
GtkPaned
gtk_paned_new
gtk_paned_add1
gtk_paned_add2
gtk_paned_gutter_size
@@ -2831,6 +2855,7 @@ gtk_paned_get_child2
gtk_paned_set_gutter_size
gtk_paned_set_position
gtk_paned_get_position
gtk_paned_get_handle_window
<SUBSECTION Standard>
GTK_PANED
GTK_IS_PANED
@@ -3076,6 +3101,13 @@ gtk_range_set_upper_stepper_sensitivity
gtk_range_get_upper_stepper_sensitivity
gtk_range_get_flippable
gtk_range_set_flippable
gtk_range_get_min_slider_size
gtk_range_get_range_rect
gtk_range_get_slider_range
gtk_range_get_slider_size_fixed
gtk_range_set_min_slider_size
gtk_range_set_slider_size_fixed
<SUBSECTION Standard>
GTK_RANGE
GTK_IS_RANGE
@@ -3315,7 +3347,6 @@ gtk_recent_action_get_type
<TITLE>GtkRuler</TITLE>
GtkRuler
GtkRulerMetric
gtk_ruler_new
gtk_ruler_set_metric
gtk_ruler_set_range
gtk_ruler_get_metric
@@ -3337,8 +3368,6 @@ gtk_ruler_draw_pos
<FILE>gtkscale</FILE>
<TITLE>GtkScale</TITLE>
GtkScale
gtk_scale_new
gtk_scale_new_with_range
gtk_scale_set_digits
gtk_scale_set_draw_value
gtk_scale_set_value_pos
@@ -3391,7 +3420,6 @@ gtk_scale_button_get_type
<FILE>gtkscrollbar</FILE>
<TITLE>GtkScrollbar</TITLE>
GtkScrollbar
gtk_scrollbar_new
<SUBSECTION Standard>
GTK_SCROLLBAR
GTK_IS_SCROLLBAR
@@ -3437,7 +3465,6 @@ gtk_scrolled_window_get_type
<FILE>gtkseparator</FILE>
<TITLE>GtkSeparator</TITLE>
GtkSeparator
gtk_separator_new
<SUBSECTION Standard>
GTK_SEPARATOR
GTK_IS_SEPARATOR
@@ -3584,6 +3611,24 @@ GTK_SPIN_BUTTON_GET_CLASS
gtk_spin_button_get_type
</SECTION>
<SECTION>
<FILE>gtkspinner</FILE>
<TITLE>GtkSpinner</TITLE>
GtkSpinner
gtk_spinner_new
gtk_spinner_start
gtk_spinner_stop
<SUBSECTION Standard>
GTK_SPINNER
GTK_IS_SPINNER
GTK_TYPE_SPINNER
GTK_SPINNER_CLASS
GTK_IS_SPINER_CLASS
GTK_SPINNER_GET_CLASS
<SUBSECTION Private>
gtk_spinner_get_type
</SECTION>
<SECTION>
<FILE>gtkstatusbar</FILE>
<TITLE>GtkStatusbar</TITLE>
@@ -3595,6 +3640,7 @@ gtk_statusbar_pop
gtk_statusbar_remove
gtk_statusbar_set_has_resize_grip
gtk_statusbar_get_has_resize_grip
gtk_statusbar_get_message_area
<SUBSECTION Standard>
GTK_STATUSBAR
GTK_IS_STATUSBAR
@@ -3638,6 +3684,7 @@ gtk_status_icon_set_has_tooltip
gtk_status_icon_get_has_tooltip
gtk_status_icon_set_title
gtk_status_icon_get_title
gtk_status_icon_set_name
gtk_status_icon_set_visible
gtk_status_icon_get_visible
gtk_status_icon_set_blinking
@@ -4172,11 +4219,15 @@ gtk_toggle_button_get_type
<TITLE>GtkToolShell</TITLE>
GtkToolShell
GtkToolShellIface
gtk_tool_shell_get_ellipsize_mode
gtk_tool_shell_get_icon_size
gtk_tool_shell_get_orientation
gtk_tool_shell_get_relief_style
gtk_tool_shell_get_style
gtk_tool_shell_get_text_alignment
gtk_tool_shell_get_text_orientation
gtk_tool_shell_rebuild_menu
gtk_tool_shell_get_text_size_group
<SUBSECTION Standard>
GTK_IS_TOOL_SHELL
@@ -4263,15 +4314,19 @@ gtk_tool_item_set_visible_vertical
gtk_tool_item_get_visible_vertical
gtk_tool_item_set_is_important
gtk_tool_item_get_is_important
gtk_tool_item_get_ellipsize_mode
gtk_tool_item_get_icon_size
gtk_tool_item_get_orientation
gtk_tool_item_get_toolbar_style
gtk_tool_item_get_relief_style
gtk_tool_item_get_text_alignment
gtk_tool_item_get_text_orientation
gtk_tool_item_retrieve_proxy_menu_item
gtk_tool_item_get_proxy_menu_item
gtk_tool_item_set_proxy_menu_item
gtk_tool_item_rebuild_menu
gtk_tool_item_toolbar_reconfigured
gtk_tool_item_get_text_size_group
<SUBSECTION Standard>
GTK_TYPE_TOOL_ITEM
@@ -4436,6 +4491,79 @@ GTK_TOOLTIPS_GET_CLASS
gtk_tooltips_get_type
</SECTION>
<SECTION>
<FILE>gtktoolitemgroup</FILE>
<TITLE>GtkToolItemGroup</TITLE>
GtkToolItemGroup
gtk_tool_item_group_get_collapsed
gtk_tool_item_group_get_drop_item
gtk_tool_item_group_get_ellipsize
gtk_tool_item_group_get_item_position
gtk_tool_item_group_get_n_items
gtk_tool_item_group_get_label
gtk_tool_item_group_get_label_widget
gtk_tool_item_group_get_nth_item
gtk_tool_item_group_get_header_relief
gtk_tool_item_group_insert
gtk_tool_item_group_new
gtk_tool_item_group_set_collapsed
gtk_tool_item_group_set_ellipsize
gtk_tool_item_group_set_item_position
gtk_tool_item_group_set_label
gtk_tool_item_group_set_label_widget
gtk_tool_item_group_set_header_relief
<SUBSECTION Standard>
GtkToolItemGroupClass
GTK_TOOL_ITEM_GROUP
GTK_IS_TOOL_ITEM_GROUP
GTK_TYPE_TOOL_ITEM_GROUP
GTK_TOOL_ITEM_GROUP_CLASS
GTK_IS_TOOL_ITEM_GROUP_CLASS
GTK_TOOL_ITEM_GROUP_GET_CLASS
<SUBSECTION Private>
gtk_tool_item_group_get_type
</SECTION>
<SECTION>
<FILE>gtktoolpalette</FILE>
<TITLE>GtkToolPalette</TITLE>
GtkToolPalette
gtk_tool_palette_new
gtk_tool_palette_get_exclusive
gtk_tool_palette_set_exclusive
gtk_tool_palette_get_expand
gtk_tool_palette_set_expand
gtk_tool_palette_get_group_position
gtk_tool_palette_set_group_position
gtk_tool_palette_get_icon_size
gtk_tool_palette_set_icon_size
gtk_tool_palette_unset_icon_size
gtk_tool_palette_get_style
gtk_tool_palette_set_style
gtk_tool_palette_unset_style
gtk_tool_palette_add_drag_dest
gtk_tool_palette_get_drag_item
gtk_tool_palette_get_drag_target_group
gtk_tool_palette_get_drag_target_item
gtk_tool_palette_get_drop_group
gtk_tool_palette_get_drop_item
GtkToolPaletteDragTargets
gtk_tool_palette_set_drag_source
gtk_tool_palette_get_hadjustment
gtk_tool_palette_get_vadjustment
<SUBSECTION Standard>
GtkToolPaletteClass
GTK_TOOL_PALETTE
GTK_IS_TOOL_PALETTE
GTK_TYPE_TOOL_PALETTE
GTK_TOOL_PALETTE_CLASS
GTK_IS_TOOL_PALETTE_CLASS
GTK_TOOL_PALETTE_GET_CLASS
<SUBSECTION Private>
gtk_tool_palette_get_type
GtkToolPalettePrivate
</SECTION>
<SECTION>
<FILE>gtktooltip</FILE>
<TITLE>GtkTooltip</TITLE>
@@ -4445,6 +4573,7 @@ gtk_tooltip_set_text
gtk_tooltip_set_icon
gtk_tooltip_set_icon_from_stock
gtk_tooltip_set_icon_from_icon_name
gtk_tooltip_set_icon_from_gicon
gtk_tooltip_set_custom
gtk_tooltip_trigger_tooltip_query
gtk_tooltip_set_tip_area
@@ -5105,6 +5234,23 @@ GtkCellRendererSpinPrivate
gtk_cell_renderer_spin_get_type
</SECTION>
<SECTION>
<FILE>gtkcellrendererspinner</FILE>
<TITLE>GtkCellRendererSpinner</TITLE>
GtkCellRendererSpinner
gtk_cell_renderer_spinner_new
<SUBSECTION Standard>
GTK_TYPE_CELL_RENDERER_SPINNER
GTK_CELL_RENDERER_SPINNER
GTK_CELL_RENDERER_SPINNER_CLASS
GTK_IS_CELL_RENDERER_SPINNER
GTK_IS_CELL_RENDERER_SPINNER_CLASS
GTK_CELL_RENDERER_SPINNER_GET_CLASS
<SUBSECTION Private>
GtkCellRendererSpinnerPrivate
gtk_cell_renderer_spinner_get_type
</SECTION>
<SECTION>
<FILE>gtkcellrendererpixbuf</FILE>
<TITLE>GtkCellRendererPixbuf</TITLE>
@@ -5279,6 +5425,7 @@ gtk_viewport_set_hadjustment
gtk_viewport_set_vadjustment
gtk_viewport_set_shadow_type
gtk_viewport_get_shadow_type
gtk_viewport_get_bin_window
<SUBSECTION Standard>
GTK_VIEWPORT
GTK_IS_VIEWPORT
@@ -5539,6 +5686,7 @@ gtk_widget_send_expose
gtk_widget_style_get
gtk_widget_style_get_property
gtk_widget_style_get_valist
gtk_widget_style_attach
gtk_widget_get_accessible
gtk_widget_child_focus
gtk_widget_child_notify
@@ -5597,11 +5745,17 @@ gtk_widget_set_visible
gtk_widget_has_default
gtk_widget_has_focus
gtk_widget_has_grab
gtk_widget_has_rc_style
gtk_widget_is_drawable
gtk_widget_is_toplevel
gtk_widget_set_window
gtk_widget_set_receives_default
gtk_widget_get_receives_default
gtk_widget_set_realized
gtk_widget_get_realized
gtk_widget_set_mapped
gtk_widget_get_mapped
gtk_widget_get_requisition
<SUBSECTION>
gtk_requisition_copy
@@ -5709,6 +5863,7 @@ gtk_window_get_urgency_hint
gtk_window_get_accept_focus
gtk_window_get_focus_on_map
gtk_window_get_group
gtk_window_get_window_type
gtk_window_move
gtk_window_parse_geometry
gtk_window_reshow_with_initial_size
@@ -5724,6 +5879,8 @@ gtk_window_set_icon_name
gtk_window_set_auto_startup_notification
gtk_window_get_opacity
gtk_window_set_opacity
gtk_window_get_mnemonics_visible
gtk_window_set_mnemonics_visible
<SUBSECTION Standard>
GTK_WINDOW
GTK_IS_WINDOW
@@ -5928,6 +6085,7 @@ gtk_paint_polygon
gtk_paint_shadow
gtk_paint_shadow_gap
gtk_paint_slider
gtk_paint_spinner
gtk_paint_string
gtk_paint_tab
gtk_paint_vline
@@ -6745,6 +6903,7 @@ gtk_printer_has_details
gtk_printer_request_details
gtk_printer_get_capabilities
gtk_printer_get_default_page_size
gtk_printer_get_hard_margins
GtkPrinterFunc
gtk_enumerate_printers
@@ -6929,8 +7088,10 @@ gtk_paper_size_to_key_file
<SUBSECTION Standard>
GTK_TYPE_PAPER_SIZE
<SUBSECTION Private>
gtk_paper_size_get_type
gtk_custom_paper_unix_dialog_get_type
</SECTION>
@@ -6989,6 +7150,7 @@ gtk_print_context_get_dpi_y
gtk_print_context_get_pango_fontmap
gtk_print_context_create_pango_context
gtk_print_context_create_pango_layout
gtk_print_context_get_hard_margins
<SUBSECTION Standard>
GTK_TYPE_PRINT_CONTEXT

View File

@@ -29,6 +29,7 @@ gtk_cell_renderer_get_type
gtk_cell_renderer_pixbuf_get_type
gtk_cell_renderer_progress_get_type
gtk_cell_renderer_spin_get_type
gtk_cell_renderer_spinner_get_type
gtk_cell_renderer_text_get_type
gtk_cell_renderer_toggle_get_type
gtk_cell_view_get_type
@@ -103,6 +104,7 @@ gtk_misc_get_type
gtk_mount_operation_get_type
gtk_notebook_get_type
gtk_object_get_type
gtk_offscreen_window_get_type
gtk_old_editable_get_type
gtk_option_menu_get_type
gtk_orientable_get_type
@@ -146,6 +148,7 @@ gtk_settings_get_type
gtk_size_group_get_type
gtk_socket_get_type
gtk_spin_button_get_type
gtk_spinner_get_type
gtk_statusbar_get_type
gtk_status_icon_get_type
gtk_style_get_type
@@ -166,6 +169,8 @@ gtk_toggle_tool_button_get_type
gtk_toolbar_get_type
gtk_tool_button_get_type
gtk_tool_item_get_type
gtk_tool_item_group_get_type
gtk_tool_palette_get_type
gtk_tooltips_get_type
gtk_tree_drag_dest_get_type
gtk_tree_drag_source_get_type

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -20,7 +20,7 @@
editable case.
The selection of the display style &mdash; menu or list &mdash;
is no longer done at the API level, but has been made themeable via
the style property #GtkComboBox:appearance.
the style property #GtkComboBox:appears-as-list.
</para>
<section id="migrating-GtkOptionMenu">
@@ -28,7 +28,7 @@
<para>
Here is an example of a simple, but typical use of
#GtkOptionMenu:
#GtkOptionMenu<!---->:
<informalexample><programlisting>
GtkWidget *option_menu, *menu, *menu_item;
@@ -47,12 +47,12 @@ gtk_widget_show (menu_item);
gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
</programlisting></informalexample>
In order to react to the user's selection, connect to the "changed"
In order to react to the user's selection, connect to the #GtkOptionMenu::changed
signal on the option menu and use gtk_option_menu_get_history()
to retrieve the index of the selected item.
</para>
<para>
And here is how it would be done with a #GtkComboBox:
And here is how it would be done with a #GtkComboBox<!---->:
<informalexample><programlisting>
GtkWidget *combo_box;
@@ -129,7 +129,7 @@ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer,
<title>Migrating from GtkCombo to GtkComboBoxEntry</title>
<para>
Here is an example of a simple, but typical use of a #GtkCombo:
Here is an example of a simple, but typical use of a #GtkCombo<!---->:
<informalexample><programlisting>
GtkWidget *combo;
GList *items = NULL;
@@ -141,13 +141,13 @@ items = g_list_append (items, "Third Item");
combo = gtk_combo_new (<!-- -->);
gtk_combo_set_popdown_strings (GTK_COMBO (combo), items);
</programlisting></informalexample>
In order to react to the user's selection, connect to the "changed"
In order to react to the user's selection, connect to the #GtkCombo::changed
signal on the combo and use
<literal>gtk_entry_get_text (GTK_ENTRY (combo->entry))</literal>
to retrieve the selected text.
</para>
<para>
And here is how it would be done using #GtkComboBoxEntry:
And here is how it would be done using #GtkComboBoxEntry<!---->:
<informalexample><programlisting>
combo_box = gtk_combo_box_entry_new_text (<!-- -->);
@@ -155,7 +155,7 @@ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "First Item");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Second Item");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item");
</programlisting></informalexample>
In order to react to the user's selection, connect to the "changed"
In order to react to the user's selection, connect to the #GtkComboBox::changed
signal on the combo and use
<literal>gtk_entry_get_text (GTK_ENTRY (GTK_BIN (combo_box)->child))</literal>
to retrieve the selected text.

View File

@@ -184,6 +184,10 @@ additional environment variables.
<term>printing</term>
<listitem><para>Printing support</para></listitem>
</varlistentry>
<varlistentry>
<term>builder</term>
<listitem><para>GtkBuilder support</para></listitem>
</varlistentry>
</variablelist>
The special value <literal>all</literal> can be used to turn on all
@@ -335,8 +339,33 @@ nevertheless.
<term>xim</term>
<listitem><para>Information about XIM support</para></listitem>
</varlistentry>
<varlistentry>
<term>nograbs</term>
<listitem><para>Turn off all pointer and keyboard grabs</para></listitem>
</varlistentry>
<varlistentry>
<term>multihead</term>
<listitem><para>Information related to multiple screens</para></listitem>
</varlistentry>
<varlistentry>
<term>xinerama</term>
<listitem><para>Simulate a multi-monitor setup</para></listitem>
</varlistentry>
<varlistentry>
<term>cursor</term>
<listitem><para>Information about cursor objects (only win32)</para></listitem>
</varlistentry>
<varlistentry>
<term>draw</term>
<listitem><para>Information about drawing operations (only win32)</para></listitem>
</varlistentry>
<varlistentry>
<term>eventloop</term>
<listitem><para>Information about event loop operation (mostly Quartz)</para></listitem>
</varlistentry>
</variablelist>
The special value <literal>all</literal> can be used to turn on all
The special value <literal>all</literal> can be used to turn on all
debug options.
</para>
</formalpara>

View File

@@ -1,106 +0,0 @@
<!-- ##### SECTION Title ##### -->
Filesystem utilities
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkMountOperation ##### -->
<para>
</para>
<!-- ##### ARG GtkMountOperation:is-showing ##### -->
<para>
</para>
<!-- ##### ARG GtkMountOperation:parent ##### -->
<para>
</para>
<!-- ##### ARG GtkMountOperation:screen ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_mount_operation_new ##### -->
<para>
</para>
@parent:
@Returns:
<!-- ##### FUNCTION gtk_mount_operation_is_showing ##### -->
<para>
</para>
@op:
@Returns:
<!-- ##### FUNCTION gtk_mount_operation_set_parent ##### -->
<para>
</para>
@op:
@parent:
<!-- ##### FUNCTION gtk_mount_operation_get_parent ##### -->
<para>
</para>
@op:
@Returns:
<!-- ##### FUNCTION gtk_mount_operation_set_screen ##### -->
<para>
</para>
@op:
@screen:
<!-- ##### FUNCTION gtk_mount_operation_get_screen ##### -->
<para>
</para>
@op:
@Returns:
<!-- ##### FUNCTION gtk_show_uri ##### -->
<para>
</para>
@screen:
@uri:
@timestamp:
@error:
@Returns:

View File

@@ -1,475 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkAboutDialog
<!-- ##### SECTION Short_Description ##### -->
Display information about an application
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkAboutDialog offers a simple way to display information about
a program like its logo, name, copyright, website and license. It is
also possible to give credits to the authors, documenters, translators
and artists who have worked on the program. An about dialog is typically
opened when the user selects the <literal>About</literal> option from
the <literal>Help</literal> menu. All parts of the dialog are optional.
</para>
<para>
About dialog often contain links and email addresses. #GtkAboutDialog
supports this by offering global hooks, which are called when the user
clicks on a link or email address, see gtk_about_dialog_set_email_hook()
and gtk_about_dialog_set_url_hook(). Email addresses in the
authors, documenters and artists properties are recognized by looking for
<literal>&lt;user@<!-- -->host&gt;</literal>, URLs are
recognized by looking for <literal>http://url</literal>, with
<literal>url</literal> extending to the next space, tab or line break.
</para>
<para id="gtk-about-dialog-hook-setup">
Since 2.18 #GtkAboutDialog provides default website and email hooks that use
gtk_show_uri().
</para>
<para>
If you want provide your own hooks overriding the default ones, it is important
to do so before setting the website and email URL properties, like this:
</para>
<informalexample><programlisting>
gtk_about_dialog_set_url_hook (GTK_ABOUT_DIALOG (dialog), launch_url, NULL, NULL);
gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (dialog), app_url);
</programlisting></informalexample>
<para>
To disable the default hooks, you can pass %NULL as the hook func. Then,
the #GtkAboutDialog widget will not display the website or the
email addresses as clickable.
</para>
<para>
To make constructing a #GtkAboutDialog as convenient as possible, you can
use the function gtk_show_about_dialog() which constructs and shows a dialog
and keeps it around so that it can be shown again.
</para>
<para>
Note that GTK+ sets a default title of <literal>_("About &percnt;s")</literal>
on the dialog window (where &percnt;s is replaced by the name of the
application, but in order to ensure proper translation of the title,
applications should set the title property explicitly when constructing
a #GtkAboutDialog, as shown in the following example:
</para>
<informalexample><programlisting>
gtk_show_about_dialog (NULL,
"program-name", "ExampleCode",
"logo", example_logo,
"title" _("About ExampleCode"),
NULL);
</programlisting></informalexample>
<para>
Note that prior to GTK+ 2.12, the #GtkAboutDialog:program-name property
was called "name". This was changed to avoid the conflict with the
#GtkWidget:name property.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GTK_STOCK_ABOUT
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAboutDialog ##### -->
<para>
The <structname>GtkAboutDialog</structname> struct contains
only private fields and should not be directly accessed.
</para>
<!-- ##### ARG GtkAboutDialog:artists ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:authors ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:comments ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:copyright ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:documenters ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:license ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:logo ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:logo-icon-name ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:program-name ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:translator-credits ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:version ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:website ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:website-label ##### -->
<para>
</para>
<!-- ##### ARG GtkAboutDialog:wrap-license ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_about_dialog_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_get_name ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_name ##### -->
<para>
</para>
@about:
@name:
<!-- ##### FUNCTION gtk_about_dialog_get_program_name ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_program_name ##### -->
<para>
</para>
@about:
@name:
<!-- ##### FUNCTION gtk_about_dialog_get_version ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_version ##### -->
<para>
</para>
@about:
@version:
<!-- ##### FUNCTION gtk_about_dialog_get_copyright ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_copyright ##### -->
<para>
</para>
@about:
@copyright:
<!-- ##### FUNCTION gtk_about_dialog_get_comments ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_comments ##### -->
<para>
</para>
@about:
@comments:
<!-- ##### FUNCTION gtk_about_dialog_get_license ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_license ##### -->
<para>
</para>
@about:
@license:
<!-- ##### FUNCTION gtk_about_dialog_get_wrap_license ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_wrap_license ##### -->
<para>
</para>
@about:
@wrap_license:
<!-- ##### FUNCTION gtk_about_dialog_get_website ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_website ##### -->
<para>
</para>
@about:
@website:
<!-- ##### FUNCTION gtk_about_dialog_get_website_label ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_website_label ##### -->
<para>
</para>
@about:
@website_label:
<!-- ##### FUNCTION gtk_about_dialog_get_authors ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_authors ##### -->
<para>
</para>
@about:
@authors:
<!-- ##### FUNCTION gtk_about_dialog_get_artists ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_artists ##### -->
<para>
</para>
@about:
@artists:
<!-- ##### FUNCTION gtk_about_dialog_get_documenters ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_documenters ##### -->
<para>
</para>
@about:
@documenters:
<!-- ##### FUNCTION gtk_about_dialog_get_translator_credits ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_translator_credits ##### -->
<para>
</para>
@about:
@translator_credits:
<!-- ##### FUNCTION gtk_about_dialog_get_logo ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_logo ##### -->
<para>
</para>
@about:
@logo:
<!-- ##### FUNCTION gtk_about_dialog_get_logo_icon_name ##### -->
<para>
</para>
@about:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_logo_icon_name ##### -->
<para>
</para>
@about:
@icon_name:
<!-- ##### USER_FUNCTION GtkAboutDialogActivateLinkFunc ##### -->
<para>
The type of a function which is called when a URL or email
link is activated.
</para>
@about: the #GtkAboutDialog in which the link was activated
@link_: the URL or email address to which the activated link points
@data: user data that was passed when the function was registered
with gtk_about_dialog_set_email_hook() or
gtk_about_dialog_set_url_hook()
<!-- ##### FUNCTION gtk_about_dialog_set_email_hook ##### -->
<para>
</para>
@func:
@data:
@destroy:
@Returns:
<!-- ##### FUNCTION gtk_about_dialog_set_url_hook ##### -->
<para>
</para>
@func:
@data:
@destroy:
@Returns:
<!-- ##### FUNCTION gtk_show_about_dialog ##### -->
<para>
</para>
@parent:
@first_property_name:
@Varargs:

View File

@@ -1,327 +0,0 @@
<!-- ##### SECTION Title ##### -->
Accelerator Groups
<!-- ##### SECTION Short_Description ##### -->
Groups of global keyboard accelerators for an entire GtkWindow
<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkAccelGroup represents a group of keyboard accelerators,
typically attached to a toplevel #GtkWindow (with
gtk_window_add_accel_group()). Usually you won't need to create a
#GtkAccelGroup directly; instead, when using #GtkItemFactory, GTK+
automatically sets up the accelerators for your menus in the item
factory's #GtkAccelGroup.
</para>
<para>
Note that <firstterm>accelerators</firstterm> are different from
<firstterm>mnemonics</firstterm>. Accelerators are shortcuts for
activating a menu item; they appear alongside the menu item they're a
shortcut for. For example "Ctrl+Q" might appear alongside the "Quit"
menu item. Mnemonics are shortcuts for GUI elements such as text
entries or buttons; they appear as underlined characters. See
gtk_label_new_with_mnemonic(). Menu items can have both accelerators
and mnemonics, of course.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
gtk_window_add_accel_group(), gtk_accel_map_change_entry(),
gtk_item_factory_new(), gtk_label_new_with_mnemonic()
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccelGroup ##### -->
<para>
An object representing and maintaining a group of accelerators.
</para>
<!-- ##### SIGNAL GtkAccelGroup::accel-activate ##### -->
<para>
</para>
@accelgroup: the object which received the signal.
@arg1:
@arg2:
@arg3:
@Returns:
<!-- ##### SIGNAL GtkAccelGroup::accel-changed ##### -->
<para>
</para>
@accelgroup: the object which received the signal.
@arg1:
@arg2:
@arg3:
<!-- ##### ARG GtkAccelGroup:is-locked ##### -->
<para>
</para>
<!-- ##### ARG GtkAccelGroup:modifier-mask ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_accel_group_new ##### -->
<para>
</para>
@Returns:
<!-- ##### MACRO gtk_accel_group_ref ##### -->
<para>
Deprecated equivalent of g_object_ref().
</para>
@Returns: the accel group that was passed in
<!-- ##### MACRO gtk_accel_group_unref ##### -->
<para>
Deprecated equivalent of g_object_unref().
</para>
<!-- ##### FUNCTION gtk_accel_group_connect ##### -->
<para>
</para>
@accel_group:
@accel_key:
@accel_mods:
@accel_flags:
@closure:
<!-- ##### FUNCTION gtk_accel_group_connect_by_path ##### -->
<para>
</para>
@accel_group:
@accel_path:
@closure:
<!-- ##### USER_FUNCTION GtkAccelGroupActivate ##### -->
<para>
</para>
@accel_group:
@acceleratable:
@keyval:
@modifier:
@Returns:
<!-- ##### USER_FUNCTION GtkAccelGroupFindFunc ##### -->
<para>
</para>
@key:
@closure:
@data:
@Returns:
@Since: 2.2
<!-- ##### FUNCTION gtk_accel_group_disconnect ##### -->
<para>
</para>
@accel_group:
@closure:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_disconnect_key ##### -->
<para>
</para>
@accel_group:
@accel_key:
@accel_mods:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_query ##### -->
<para>
</para>
@accel_group:
@accel_key:
@accel_mods:
@n_entries:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_activate ##### -->
<para>
</para>
@accel_group:
@accel_quark:
@acceleratable:
@accel_key:
@accel_mods:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_lock ##### -->
<para>
</para>
@accel_group:
<!-- ##### FUNCTION gtk_accel_group_unlock ##### -->
<para>
</para>
@accel_group:
<!-- ##### FUNCTION gtk_accel_group_get_is_locked ##### -->
<para>
</para>
@accel_group:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_from_accel_closure ##### -->
<para>
</para>
@closure:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_get_modifier_mask ##### -->
<para>
</para>
@accel_group:
@Returns:
<!-- ##### FUNCTION gtk_accel_groups_activate ##### -->
<para>
</para>
@object:
@accel_key:
@accel_mods:
@Returns:
<!-- ##### FUNCTION gtk_accel_groups_from_object ##### -->
<para>
</para>
@object:
@Returns:
<!-- ##### FUNCTION gtk_accel_group_find ##### -->
<para>
</para>
@accel_group:
@find_func:
@data:
@Returns:
<!-- ##### STRUCT GtkAccelKey ##### -->
<para>
</para>
@accel_key:
@accel_mods:
@accel_flags:
<!-- ##### FUNCTION gtk_accelerator_valid ##### -->
<para>
</para>
@keyval:
@modifiers:
@Returns:
<!-- ##### FUNCTION gtk_accelerator_parse ##### -->
<para>
</para>
@accelerator:
@accelerator_key:
@accelerator_mods:
<!-- ##### FUNCTION gtk_accelerator_name ##### -->
<para>
</para>
@accelerator_key:
@accelerator_mods:
@Returns:
<!-- ##### FUNCTION gtk_accelerator_get_label ##### -->
<para>
</para>
@accelerator_key:
@accelerator_mods:
@Returns:
<!-- ##### FUNCTION gtk_accelerator_set_default_mod_mask ##### -->
<para>
</para>
@default_mod_mask:
<!-- ##### FUNCTION gtk_accelerator_get_default_mod_mask ##### -->
<para>
</para>
@Returns:

View File

@@ -1,158 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkAccelLabel
<!-- ##### SECTION Short_Description ##### -->
A label which displays an accelerator key on the right of the text
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkAccelLabel widget is a subclass of #GtkLabel that also displays an
accelerator key on the right of the label text, e.g. 'Ctl+S'.
It is commonly used in menus to show the keyboard short-cuts for commands.
</para>
<para>
The accelerator key to display is not set explicitly.
Instead, the #GtkAccelLabel displays the accelerators which have been added to
a particular widget. This widget is set by calling
gtk_accel_label_set_accel_widget().
</para>
<para>
For example, a #GtkMenuItem widget may have an accelerator added to emit the
"activate" signal when the 'Ctl+S' key combination is pressed.
A #GtkAccelLabel is created and added to the #GtkMenuItem, and
gtk_accel_label_set_accel_widget() is called with the #GtkMenuItem as the
second argument. The #GtkAccelLabel will now display 'Ctl+S' after its label.
</para>
<para>
Note that creating a #GtkMenuItem with gtk_menu_item_new_with_label() (or
one of the similar functions for #GtkCheckMenuItem and #GtkRadioMenuItem)
automatically adds a #GtkAccelLabel to the #GtkMenuItem and calls
gtk_accel_label_set_accel_widget() to set it up for you.
</para>
<para>
A #GtkAccelLabel will only display accelerators which have %GTK_ACCEL_VISIBLE
set (see #GtkAccelFlags).
A #GtkAccelLabel can display multiple accelerators and even signal names,
though it is almost always used to display just one accelerator key.
</para>
<example>
<title>Creating a simple menu item with an accelerator key.</title>
<programlisting>
GtkWidget *save_item;
GtkAccelGroup *accel_group;
/* Create a GtkAccelGroup and add it to the window. */
accel_group = gtk_accel_group_new (<!-- -->);
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
/* Create the menu item using the convenience function. */
save_item = gtk_menu_item_new_with_label ("Save");
gtk_widget_show (save_item);
gtk_container_add (GTK_CONTAINER (menu), save_item);
/* Now add the accelerator to the GtkMenuItem. Note that since we called
gtk_menu_item_new_with_label(<!-- -->) to create the GtkMenuItem the
GtkAccelLabel is automatically set up to display the GtkMenuItem
accelerators. We just need to make sure we use GTK_ACCEL_VISIBLE here. */
gtk_widget_add_accelerator (save_item, "activate", accel_group,
GDK_s, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
</programlisting>
</example>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term><link linkend="gtk-keyboard-accelerators">Keyboard Accelerators</link>
</term>
<listitem><para>installing and using keyboard short-cuts.</para></listitem>
</varlistentry>
<varlistentry>
<term>#GtkItemFactory</term>
<listitem><para>an easier way to create menus.</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccelLabel ##### -->
<para>
The #GtkAccelLabel-struct struct contains private data only, and
should be accessed using the functions below.
</para>
<!-- ##### ARG GtkAccelLabel:accel-closure ##### -->
<para>
</para>
<!-- ##### ARG GtkAccelLabel:accel-widget ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_accel_label_new ##### -->
<para>
Creates a new #GtkAccelLabel.
</para>
@string: the label string. Must be non-%NULL.
@Returns: a new #GtkAccelLabel.
<!-- ##### FUNCTION gtk_accel_label_set_accel_closure ##### -->
<para>
</para>
@accel_label:
@accel_closure:
<!-- ##### FUNCTION gtk_accel_label_get_accel_widget ##### -->
<para>
</para>
@accel_label:
@Returns:
<!-- ##### FUNCTION gtk_accel_label_set_accel_widget ##### -->
<para>
</para>
@accel_label:
@accel_widget:
<!-- ##### FUNCTION gtk_accel_label_get_accel_width ##### -->
<para>
Returns the width needed to display the accelerator key(s).
This is used by menus to align all of the #GtkMenuItem widgets, and shouldn't
be needed by applications.
</para>
@accel_label: a #GtkAccelLabel.
@Returns: the width needed to display the accelerator key(s).
<!-- ##### FUNCTION gtk_accel_label_refetch ##### -->
<para>
Recreates the string representing the accelerator keys.
This should not be needed since the string is automatically updated whenever
accelerators are added or removed from the associated widget.
</para>
@accel_label: a #GtkAccelLabel.
@Returns: always returns %FALSE.

View File

@@ -1,33 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkAccessible
<!-- ##### SECTION Short_Description ##### -->
Accessibility support for widgets
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccessible ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_accessible_connect_widget_destroyed ##### -->
<para>
</para>
@accessible:

View File

@@ -70,6 +70,11 @@ and should not be accessed directly.
</para>
<!-- ##### ARG GtkAction:always-show-image ##### -->
<para>
</para>
<!-- ##### ARG GtkAction:gicon ##### -->
<para>
@@ -337,6 +342,24 @@ and should not be accessed directly.
@proxy:
<!-- ##### FUNCTION gtk_action_get_always_show_image ##### -->
<para>
</para>
@action:
@Returns:
<!-- ##### FUNCTION gtk_action_set_always_show_image ##### -->
<para>
</para>
@action:
@always_show:
<!-- ##### FUNCTION gtk_action_get_accel_path ##### -->
<para>

View File

@@ -1,98 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkActivatable
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkActivatable ##### -->
<para>
</para>
<!-- ##### ARG GtkActivatable:related-action ##### -->
<para>
</para>
<!-- ##### ARG GtkActivatable:use-action-appearance ##### -->
<para>
</para>
<!-- ##### STRUCT GtkActivatableIface ##### -->
<para>
</para>
@g_iface:
@update:
@sync_action_properties:
<!-- ##### FUNCTION gtk_activatable_do_set_related_action ##### -->
<para>
</para>
@activatable:
@action:
<!-- ##### FUNCTION gtk_activatable_get_related_action ##### -->
<para>
</para>
@activatable:
@Returns:
<!-- ##### FUNCTION gtk_activatable_get_use_action_appearance ##### -->
<para>
</para>
@activatable:
@Returns:
<!-- ##### FUNCTION gtk_activatable_sync_action_properties ##### -->
<para>
</para>
@activatable:
@action:
<!-- ##### FUNCTION gtk_activatable_set_related_action ##### -->
<para>
</para>
@activatable:
@action:
<!-- ##### FUNCTION gtk_activatable_set_use_action_appearance ##### -->
<para>
</para>
@activatable:
@use_appearance:

View File

@@ -156,6 +156,7 @@ a #GtkBindingEntry.
@signals: action signals of this entry
<!-- ##### STRUCT GtkBindingSignal ##### -->
<anchor id="keybinding-signals"/>
<para>
A #GtkBindingSignal stores the necessary information to activate a widget
in response to a key press via a signal emission.

View File

@@ -41,10 +41,8 @@ a GtkBuilder UI definition.
@g_iface: the parent class
@set_name: Stores the name attribute given in the GtkBuilder UI definition.
#GtkWidget maps this to the #GtkWidget:name property, and
gtk_buildable_set_name() has a fallback implementation that stores
the name as object data. Implement this method if your object
has some notion of "name" and it makes sense to map the XML name
#GtkWidget stores the name as object data. Implement this method if your
object has some notion of "name" and it makes sense to map the XML name
attribute to it.
@get_name: The getter corresponding to @set_name. Implement this
if you implement @set_name.

View File

@@ -116,6 +116,12 @@ allows the application to retrieve them from the builder with
gtk_builder_get_object(). An id is also necessary to use the
object as property value in other parts of the UI definition.
</para>
<note><para>Prior to 2.20, GtkBuilder was setting the "name"
property of constructed widgets to the "id" attribute. In GTK+
2.20 or newer, you have to use gtk_buildable_get_name() instead
of gtk_widget_get_name() to obtain the "id", or set the "name"
property in your UI definition.
</para></note>
<para>
Setting properties of objects is pretty straightforward with
the &lt;property&gt; element: the "name" attribute specifies

View File

@@ -195,6 +195,7 @@ Emits a #GtkButton::pressed signal to the given #GtkButton.
</para>
@button: The #GtkButton you want to send the signal to.
@Deprecated: 2.20: Use the #GtkWidget::button-press-event signal.
<!-- ##### FUNCTION gtk_button_released ##### -->
@@ -203,6 +204,7 @@ Emits a #GtkButton::released signal to the given #GtkButton.
</para>
@button: The #GtkButton you want to send the signal to.
@Deprecated: 2.20: Use the #GtkWidget::button-release-event signal.
<!-- ##### FUNCTION gtk_button_clicked ##### -->
@@ -219,6 +221,7 @@ Emits a #GtkButton::enter signal to the given #GtkButton.
</para>
@button: The #GtkButton you want to send the signal to.
@Deprecated: 2.20: Use the #GtkWidget::enter-notify-event signal.
<!-- ##### FUNCTION gtk_button_leave ##### -->
@@ -227,6 +230,7 @@ Emits a #GtkButton::leave signal to the given #GtkButton.
</para>
@button: The #GtkButton you want to send the signal to.
@Deprecated: 2.20: Use the #GtkWidget::leave-notify-event signal.
<!-- ##### FUNCTION gtk_button_set_relief ##### -->

View File

@@ -38,6 +38,11 @@ to be usable when editing the contents of a #GtkTreeView cell.
@celleditable: the object which received the signal.
<!-- ##### ARG GtkCellEditable:editing-canceled ##### -->
<para>
</para>
<!-- ##### STRUCT GtkCellEditableIface ##### -->
<para>

View File

@@ -5,17 +5,6 @@ GtkCurve
Allows direct editing of a curve
<!-- ##### SECTION Long_Description ##### -->
<note>
<para>
This widget is considered too specialized/little-used for
GTK+, and will in the future be moved to some other package. If
your application needs this widget, feel free to use it, as the
widget does work and is useful in some applications; it's just not
of general interest. However, we are not accepting new features for
the widget, and it will eventually move out of the GTK+
distribution.
</para>
</note>
<para>
The #GtkCurve widget allows the user to edit a curve covering a range of
values. It is typically used to fine-tune color balances in graphics
@@ -28,6 +17,9 @@ connected together into a smooth curve. In linear mode the user places points
on the curve which are connected by straight lines. In free mode the user can
draw the points of the curve freely, and they are not connected at all.
</para>
<para>
As of GTK+ 2.20, #GtkCurve has been deprecated since it is too specialized.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
@@ -92,6 +84,7 @@ Creates a new #GtkCurve.
</para>
@Returns: a new #GtkCurve.
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_curve_reset ##### -->
@@ -102,6 +95,7 @@ The curve type is not changed.
</para>
@curve: a #GtkCurve.
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_curve_set_gamma ##### -->
@@ -115,6 +109,7 @@ FIXME: Needs a more precise definition of gamma.
@curve: a #GtkCurve.
@gamma_: the gamma value.
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_curve_set_range ##### -->
@@ -128,6 +123,7 @@ The curve is also reset with a call to gtk_curve_reset().
@max_x: the maximum x value.
@min_y: the minimum y value.
@max_y: the maximum y value.
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_curve_get_vector ##### -->
@@ -138,6 +134,7 @@ Returns a vector of points representing the curve.
@curve: a #GtkCurve.
@veclen: the number of points to calculate.
@vector: returns the points.
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_curve_set_vector ##### -->
@@ -149,6 +146,7 @@ The curve type is set to %GTK_CURVE_TYPE_FREE.
@curve: a #GtkCurve.
@veclen: the number of points.
@vector: the points on the curve.
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_curve_set_curve_type ##### -->
@@ -160,5 +158,6 @@ curve will be changed as little as possible.
@curve: a #GtkCurve.
@type: the type of the curve.
@Deprecated: 2.20: Don't use this widget anymore.

View File

@@ -368,6 +368,16 @@ directly, but into the @vbox and @action_area, as described above.
@Returns:
<!-- ##### FUNCTION gtk_dialog_get_widget_for_response ##### -->
<para>
</para>
@dialog:
@response_id:
@Returns:
<!-- ##### FUNCTION gtk_dialog_get_action_area ##### -->
<para>

View File

@@ -348,17 +348,14 @@ a widget.
<!-- ##### FUNCTION gtk_drag_source_set ##### -->
<para>
Sets up a widget so that GTK+ will start a drag
operation when the user clicks and drags on the
widget. The widget must have a window.
</para>
@widget: a #GtkWidget
@start_button_mask: the bitmask of buttons that can start the drag
@targets: the table of targets that the drag will support
@n_targets: the number of items in @targets
@actions: the bitmask of possible actions for a drag from this
widget.
@widget:
@start_button_mask:
@targets:
@n_targets:
@actions:
<!-- ##### FUNCTION gtk_drag_source_set_icon ##### -->

View File

@@ -56,7 +56,7 @@ gboolean
expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
gdk_draw_arc (widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
widget->style->fg_gc[gtk_widget_get_state (widget)],
TRUE,
0, 0, widget->allocation.width, widget->allocation.height,
0, 64 * 360);

View File

@@ -161,6 +161,14 @@ The #GtkEntry-struct struct contains only private data.
@entry: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GtkEntry::preedit-changed ##### -->
<para>
</para>
@entry: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GtkEntry::toggle-overwrite ##### -->
<para>
@@ -1011,3 +1019,22 @@ Specifies the side of the entry at which an icon is placed.
@Returns:
<!-- ##### FUNCTION gtk_entry_get_icon_window ##### -->
<para>
</para>
@entry:
@icon_pos:
@Returns:
<!-- ##### FUNCTION gtk_entry_get_text_window ##### -->
<para>
</para>
@entry:
@Returns:

File diff suppressed because it is too large Load Diff

View File

@@ -5,17 +5,6 @@ GtkGammaCurve
A subclass of GtkCurve for editing gamma curves
<!-- ##### SECTION Long_Description ##### -->
<note>
<para>
This widget is considered too specialized/little-used for
GTK+, and will in the future be moved to some other package. If
your application needs this widget, feel free to use it, as the
widget does work and is useful in some applications; it's just not
of general interest. However, we are not accepting new features for
the widget, and it will eventually move out of the GTK+
distribution.
</para>
</note>
<para>
The #GtkGammaCurve widget is a variant of #GtkCurve specifically for
editing gamma curves, which are used in graphics applications such as the
@@ -28,6 +17,9 @@ mouse just like a #GtkCurve widget. On the right of the curve it also displays
free), and the other 2 set the curve to a particular gamma value, or reset it
to a straight line.
</para>
<para>
As of GTK+ 2.20, #GtkGammaCurve has been deprecated since it is too specialized.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
@@ -50,5 +42,6 @@ Creates a new #GtkGammaCurve.
</para>
@Returns: a new #GtkGammaCurve.
@Deprecated: 2.20: Don't use this widget anymore.

View File

@@ -9,7 +9,7 @@ Looking up icons by name
#GtkIconTheme provides a facility for looking up icons by name
and size. The main reason for using a name rather than simply
providing a filename is to allow different icons to be used
depending on what <firstterm>icon theme</firstterm> is selecetd
depending on what <firstterm>icon theme</firstterm> is selected
by the user. The operation of icon themes on Linux and Unix
follows the <ulink
url="http://www.freedesktop.org/Standards/icon-theme-spec">Icon

View File

@@ -1,518 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkImage
<!-- ##### SECTION Short_Description ##### -->
A widget displaying an image
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkImage widget displays an image. Various kinds of object
can be displayed as an image; most typically, you would load a
#GdkPixbuf ("pixel buffer") from a file, and then display that.
There's a convenience function to do this, gtk_image_new_from_file(),
used as follows:
<informalexample><programlisting>
GtkWidget *image;
image = gtk_image_new_from_file ("myfile.png");
</programlisting></informalexample>
If the file isn't loaded successfully, the image will contain a
"broken image" icon similar to that used in many web browsers.
If you want to handle errors in loading the file yourself,
for example by displaying an error message, then load the image with
gdk_pixbuf_new_from_file(), then create the #GtkImage with
gtk_image_new_from_pixbuf().
</para>
<para>
The image file may contain an animation, if so the #GtkImage will
display an animation (#GdkPixbufAnimation) instead of a static image.
</para>
<para>
#GtkImage is a subclass of #GtkMisc, which implies that you can
align it (center, left, right) and add padding to it, using
#GtkMisc methods.
</para>
<para>
#GtkImage is a "no window" widget (has no #GdkWindow of its own),
so by default does not receive events. If you want to receive events
on the image, such as button clicks, place the image inside a
#GtkEventBox, then connect to the event signals on the event box.
<example>
<title>Handling button press events on a
<structname>GtkImage</structname>.</title>
<programlisting>
static gboolean
button_press_callback (GtkWidget *event_box,
GdkEventButton *event,
gpointer data)
{
g_print ("Event box clicked at coordinates &percnt;f,&percnt;f\n",
event->x, event->y);
/* Returning TRUE means we handled the event, so the signal
* emission should be stopped (don't call any further
* callbacks that may be connected). Return FALSE
* to continue invoking callbacks.
*/
return TRUE;
}
static GtkWidget*
create_image (void)
{
GtkWidget *image;
GtkWidget *event_box;
image = gtk_image_new_from_file ("myfile.png");
event_box = gtk_event_box_new (<!-- -->);
gtk_container_add (GTK_CONTAINER (event_box), image);
g_signal_connect (G_OBJECT (event_box),
"button_press_event",
G_CALLBACK (button_press_callback),
image);
return image;
}
</programlisting>
</example>
</para>
<para>
When handling events on the event box, keep in mind that coordinates
in the image may be different from event box coordinates due to
the alignment and padding settings on the image (see #GtkMisc).
The simplest way to solve this is to set the alignment to 0.0
(left/top), and set the padding to zero. Then the origin of
the image will be the same as the origin of the event box.
</para>
<para>
Sometimes an application will want to avoid depending on external data
files, such as image files. GTK+ comes with a program to avoid this,
called <application>gdk-pixbuf-csource</application>. This program
allows you to convert an image into a C variable declaration, which
can then be loaded into a #GdkPixbuf using
gdk_pixbuf_new_from_inline().
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GdkPixbuf
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkImage ##### -->
<para>
This struct contain private data only and should be accessed by the functions
below.
</para>
<!-- ##### ARG GtkImage:file ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:gicon ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:icon-name ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:icon-set ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:icon-size ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:image ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:mask ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:pixbuf ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:pixbuf-animation ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:pixel-size ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:pixmap ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:stock ##### -->
<para>
</para>
<!-- ##### ARG GtkImage:storage-type ##### -->
<para>
</para>
<!-- ##### ENUM GtkImageType ##### -->
<para>
Describes the image data representation used by a #GtkImage. If you
want to get the image from the widget, you can only get the
currently-stored representation. e.g. if the
gtk_image_get_storage_type() returns #GTK_IMAGE_PIXBUF, then you can
call gtk_image_get_pixbuf() but not gtk_image_get_stock(). For empty
images, you can request any storage type (call any of the "get"
functions), but they will all return %NULL values.
</para>
@GTK_IMAGE_EMPTY: there is no image displayed by the widget
@GTK_IMAGE_PIXMAP: the widget contains a #GdkPixmap
@GTK_IMAGE_IMAGE: the widget contains a #GdkImage
@GTK_IMAGE_PIXBUF: the widget contains a #GdkPixbuf
@GTK_IMAGE_STOCK: the widget contains a stock icon name (see <xref linkend="gtk-Stock-Items"/>)
@GTK_IMAGE_ICON_SET: the widget contains a #GtkIconSet
@GTK_IMAGE_ANIMATION: the widget contains a #GdkPixbufAnimation
@GTK_IMAGE_ICON_NAME: the widget contains a named icon.
This image type was added in GTK+ 2.6
@GTK_IMAGE_GICON: the widget contains a #GIcon.
This image type was added in GTK+ 2.14
<!-- ##### FUNCTION gtk_image_get_icon_set ##### -->
<para>
</para>
@image:
@icon_set:
@size:
<!-- ##### FUNCTION gtk_image_get_image ##### -->
<para>
</para>
@image:
@gdk_image:
@mask:
<!-- ##### FUNCTION gtk_image_get_pixbuf ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gtk_image_get_pixmap ##### -->
<para>
</para>
@image:
@pixmap:
@mask:
<!-- ##### FUNCTION gtk_image_get_stock ##### -->
<para>
</para>
@image:
@stock_id:
@size:
<!-- ##### FUNCTION gtk_image_get_animation ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gtk_image_get_icon_name ##### -->
<para>
</para>
@image:
@icon_name:
@size:
<!-- ##### FUNCTION gtk_image_get_gicon ##### -->
<para>
</para>
@image:
@gicon:
@size:
<!-- ##### FUNCTION gtk_image_get_storage_type ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_file ##### -->
<para>
</para>
@filename:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_icon_set ##### -->
<para>
</para>
@icon_set:
@size:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_image ##### -->
<para>
</para>
@image:
@mask:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_pixbuf ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_pixmap ##### -->
<para>
</para>
@pixmap:
@mask:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_stock ##### -->
<para>
</para>
@stock_id:
@size:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_animation ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_icon_name ##### -->
<para>
</para>
@icon_name:
@size:
@Returns:
<!-- ##### FUNCTION gtk_image_new_from_gicon ##### -->
<para>
</para>
@icon:
@size:
@Returns:
<!-- ##### FUNCTION gtk_image_set_from_file ##### -->
<para>
</para>
@image:
@filename:
<!-- ##### FUNCTION gtk_image_set_from_icon_set ##### -->
<para>
</para>
@image:
@icon_set:
@size:
<!-- ##### FUNCTION gtk_image_set_from_image ##### -->
<para>
</para>
@image:
@gdk_image:
@mask:
<!-- ##### FUNCTION gtk_image_set_from_pixbuf ##### -->
<para>
</para>
@image:
@pixbuf:
<!-- ##### FUNCTION gtk_image_set_from_pixmap ##### -->
<para>
</para>
@image:
@pixmap:
@mask:
<!-- ##### FUNCTION gtk_image_set_from_stock ##### -->
<para>
</para>
@image:
@stock_id:
@size:
<!-- ##### FUNCTION gtk_image_set_from_animation ##### -->
<para>
</para>
@image:
@animation:
<!-- ##### FUNCTION gtk_image_set_from_icon_name ##### -->
<para>
</para>
@image:
@icon_name:
@size:
<!-- ##### FUNCTION gtk_image_set_from_gicon ##### -->
<para>
</para>
@image:
@icon:
@size:
<!-- ##### FUNCTION gtk_image_clear ##### -->
<para>
</para>
@image:
<!-- ##### FUNCTION gtk_image_new ##### -->
<para>
</para>
@Returns: the #GtkImage
<!-- # Unused Parameters # -->
@mask: a #GdkBitmap that indicates which parts of the image should be transparent.
<!-- ##### FUNCTION gtk_image_set ##### -->
<para>
Sets the #GtkImage.
</para>
@image: a #GtkImage
@val: a #GdkImage
@mask: a #GdkBitmap that indicates which parts of the image should be transparent.
<!-- ##### FUNCTION gtk_image_get ##### -->
<para>
Gets the #GtkImage.
</para>
@image: a #GtkImage
@val: return location for a #GdkImage
@mask: a #GdkBitmap that indicates which parts of the image should be transparent.
<!-- ##### FUNCTION gtk_image_set_pixel_size ##### -->
<para>
</para>
@image:
@pixel_size:
<!-- ##### FUNCTION gtk_image_get_pixel_size ##### -->
<para>
</para>
@image:
@Returns:

View File

@@ -5,15 +5,6 @@ GtkInputDialog
Configure devices for the XInput extension
<!-- ##### SECTION Long_Description ##### -->
<para>
NOTE this widget is considered too specialized/little-used for
GTK+, and will in the future be moved to some other package. If
your application needs this widget, feel free to use it, as the
widget does work and is useful in some applications; it's just not
of general interest. However, we are not accepting new features for
the widget, and it will eventually move out of the GTK+
distribution.
</para>
<para>
#GtkInputDialog displays a dialog which allows the user
@@ -32,6 +23,9 @@ No actions are bound to these by default.
The changes that the user makes take effect
immediately.
</para>
<para>
As of GTK+ 2.20, #GtkInputDialog has been deprecated since it is too specialized.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
@@ -55,6 +49,8 @@ to #GDK_MODE_ENABLED.
@inputdialog: the object which received the signal.
@deviceid: The ID of the newly disabled device.
<!-- # Unused Parameters # -->
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### SIGNAL GtkInputDialog::enable-device ##### -->
<para>
@@ -65,6 +61,8 @@ mode of a device from #GDK_MODE_DISABLED to a
@inputdialog: the object which received the signal.
@deviceid: The ID of the newly enabled device.
<!-- # Unused Parameters # -->
@Deprecated: 2.20: Don't use this widget anymore.
<!-- ##### FUNCTION gtk_input_dialog_new ##### -->
<para>
@@ -72,5 +70,6 @@ Creates a new #GtkInputDialog.
</para>
@Returns: the new #GtkInputDialog.
@Deprecated: 2.20: Don't use this widget anymore.

View File

@@ -26,9 +26,14 @@ The GtkNoteboopk implementation of the GtkBuildable interface
supports placing children into tabs by specifying "tab" as the
"type" attribute of a &lt;child&gt; element. Note that the content
of the tab must be created before the tab can be filled.
A tab child can be specified without specifying a &lt;child&gt;
A tab child can be specified without specifying a &lt;child&gt;
type attribute.
</para>
<para>
To add a child widget in the notebooks action area, specify
"action-start" or "action-end" as the "type" attribute of the &lt;child&gt;
element.
</para>
<example>
<title>A UI definition fragment with GtkNotebook</title>
<programlisting><![CDATA[
@@ -256,7 +261,8 @@ Emitted when the user or a function changes the current page.
<!-- ##### ARG GtkNotebook:tab-pack ##### -->
<para>
Deprecated: 2.20: The tab packing functionality of children should not
be used anymore and support will be removed in the future.
</para>
<!-- ##### ARG GtkNotebook:arrow-spacing ##### -->
@@ -749,6 +755,26 @@ Deprecated compatibility macro.
@Returns:
<!-- ##### FUNCTION gtk_notebook_set_action_widget ##### -->
<para>
</para>
@notebook:
@widget:
@pack_type:
<!-- ##### FUNCTION gtk_notebook_get_action_widget ##### -->
<para>
</para>
@notebook:
@pack_type:
@Returns:
<!-- ##### USER_FUNCTION GtkNotebookWindowCreationFunc ##### -->
<para>
A function used by GtkNotebook when a detachable tab is dropped

View File

@@ -113,18 +113,16 @@ if all references are released.
<!-- ##### MACRO GTK_OBJECT_TYPE ##### -->
<para>
Gets the type of an object.
</para>
@object: a #GtkObject.
<!-- ##### MACRO GTK_OBJECT_TYPE_NAME ##### -->
<para>
Gets the name of an objects type.
</para>
@object: a #GtkObject.
<!-- ##### ENUM GtkObjectFlags ##### -->

View File

@@ -1,126 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkPlug
<!-- ##### SECTION Short_Description ##### -->
Toplevel for embedding into other processes
<!-- ##### SECTION Long_Description ##### -->
<para>
Together with #GtkSocket, #GtkPlug provides the ability
to embed widgets from one process into another process
in a fashion that is transparent to the user. One
process creates a #GtkSocket widget and, passes the
ID of that widgets window to the other process,
which then creates a #GtkPlug with that window ID.
Any widgets contained in the #GtkPlug then will appear
inside the first applications window.
</para>
<note>
<para>
The #GtkPlug and #GtkSocket widgets are currently not available
on all platforms supported by GTK+.
</para>
</note>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkSocket</term>
<listitem><para>the widget that a #GtkPlug plugs into.</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkPlug ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkPlug::embedded ##### -->
<para>
</para>
@plug: the object which received the signal.
<!-- ##### ARG GtkPlug:embedded ##### -->
<para>
</para>
<!-- ##### ARG GtkPlug:socket-window ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_plug_construct ##### -->
<para>
</para>
@plug:
@socket_id:
<!-- ##### FUNCTION gtk_plug_construct_for_display ##### -->
<para>
</para>
@plug:
@display:
@socket_id:
<!-- ##### FUNCTION gtk_plug_new ##### -->
<para>
</para>
@socket_id: the window ID of the socket, or 0.
@Returns: the new #GtkPlug widget.
<!-- ##### FUNCTION gtk_plug_new_for_display ##### -->
<para>
</para>
@display:
@socket_id:
@Returns:
<!-- ##### FUNCTION gtk_plug_get_id ##### -->
<para>
</para>
@plug:
@Returns:
<!-- ##### FUNCTION gtk_plug_get_embedded ##### -->
<para>
</para>
@plug:
@Returns:
<!-- ##### FUNCTION gtk_plug_get_socket_window ##### -->
<para>
</para>
@plug:
@Returns:

View File

@@ -184,3 +184,16 @@ Printing support was added in GTK+ 2.10.
@Returns:
<!-- ##### FUNCTION gtk_print_context_get_hard_margins ##### -->
<para>
</para>
@context:
@top:
@bottom:
@left:
@right:
@Returns:

Some files were not shown because too many files have changed in this diff Show More