Compare commits

...

3625 Commits

Author SHA1 Message Date
Matthias Clasen
9a812edff8 Fix distcheck 2010-07-12 11:53:36 -04:00
Matthias Clasen
4f3d5e3655 Include cairo-1.0.gir when building Gdk-3.0.gir
Seems necessary with the cairo_region_t changes.
2010-07-12 10:30:06 -04:00
Matthias Clasen
b81d141a26 More updates 2010-07-12 10:09:18 -04:00
Matthias Clasen
d20ac9715e Updates 2010-07-12 10:05:34 -04:00
Aron Xu
7cf895257f Update Simplified Chinese translation. 2010-07-12 21:57:24 +08:00
Aron Xu
3604c279ff Following the just now change. 2010-07-12 21:50:53 +08:00
Aron Xu
66e85255aa Complete Simplified Chinese translation. 2010-07-12 21:48:02 +08:00
Baurzhan Muftakhidinov
78bde3c4c0 Updated Kazakh translation 2010-07-12 16:21:11 +03:00
Alan Monfort
99ee143a71 Updated Breton translation 2010-07-11 19:12:38 +02:00
Petr Kovar
f73115b6a0 Update Czech translation 2010-07-11 18:54:48 +02:00
Kjartan Maraas
ef5e6c1057 Updated Norwegian bokmål translation 2010-07-11 15:46:01 +02:00
Paolo Borelli
0df65779bb The hash owns a ref to the cursor 2010-07-10 18:49:21 +02:00
Kristjan Schmidt
a9cf42ea42 Updated Esperanto translation 2010-07-10 12:43:35 +02:00
Kristjan Schmidt
59504f58d9 Updated Esperanto translation 2010-07-10 12:29:33 +02:00
Javier Jardón
eaab96c066 Use GSlice for GtkRequisition
Also add gtk_requisition_new to avoid memory allocator confusions when
using GtkRequisitions.

Based on a Christian Persch patch.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=461618
2010-07-10 06:13:45 +02:00
Matthias Clasen
bcbb976d91 Respect GtkEntry::state-hint when drawing spinbutton features
As proposed in bug 589904 by Thomas Wood.
2010-07-09 22:23:25 -04:00
Matthias Clasen
ab6927e4fa Small GtkTable doc improvement 2010-07-09 21:40:46 -04:00
Matthias Clasen
813bee6f0a Try to fix !srcdir build wrt to introspection
This requires a recent gobject-introspection, so bump the
dependency to 0.9.0. Should fix bug 623520
2010-07-09 21:01:40 -04:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Javier Jardón
404e7d0e00 gdk/: fully remove gdkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:21:31 +02:00
Javier Jardón
7cabad6b77 Use -Bsymbolic-functions, drop g*alias PLT hackery
This is a minimal patch-out of the galias functionality.

Based on a Glib pach by Ryan Lortie

https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:21:31 +02:00
Javier Jardón
e4e477161a Add check for -Bsymbolic-functions linker flag
Based on a Glib patch by Ryan Lortie

https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:21:31 +02:00
Javier Jardón
7e9d384fc0 [docs] GtkPaned: Do not use gutter_size deprecated member in examples 2010-07-09 23:24:38 +02:00
Colin Walters
ae16b31038 Actually build the tutorial if enabled
Previously we required an explicit "make html" in this subdirectory
for no reason.  Just build it if make is invoked at the toplevel
and we have docbook.
2010-07-09 16:16:48 -04:00
Colin Walters
f8f3b635a6 Actually build faq if enabled
Previously we required an explicit "make html" in this subdirectory
for no reason.  Just build it if make is invoked at the toplevel
and we have docbook.
2010-07-09 10:49:46 -04:00
Ivar Smolin
c4f12b95cb [l10n] Updated Estonian translation 2010-07-09 10:32:14 +03:00
John (J5) Palmieri
b74ee87b17 annotation (transfer-none) fix that somehow got dropped from last patch
* gtk_tree_path_get_indices_with_depth - annotate the return as 'transfer none'
  to avoid double frees
2010-07-08 15:26:55 -04:00
John (J5) Palmieri
b5f878dec8 fix some tree model annotations
* gtk_tree_model_iter_next - 'inout' is poorly defined and causes bugs so
  revert back to the default 'in' annotation
* gtk_tree_path_get_indices_with_depth - annotate the return as 'transfer none'
  to avoid double frees
2010-07-08 15:06:55 -04:00
Emmanuele Bassi
15646b6e74 docs: Document the GtkApplication::quit signal behavior
And add Since: annotations to the GtkApplication signals.
2010-07-08 14:12:27 +01:00
Ryan Lortie
424842e3a9 GtkApplication: use new GVariant bytestring API 2010-07-07 16:37:55 -04:00
Philip Withnall
0b51abbfdf Add (out) annotations to GtkTreeIter parameters 2010-07-07 18:20:37 +02:00
Fran Diéguez
c4832a9d0e Updated Galician translations 2010-07-07 17:54:03 +02:00
Javier Jardón
675b05f91d [docs] GtkCellEditable: Move documentation to inline comments
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=617392

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-07-06 22:46:40 +02:00
Javier Jardón
dd1f0c46b3 [docs] GtkCalendar: Move documentation to inline comments
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=617389

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-07-06 22:46:40 +02:00
Tadej Borovšak
2ed1bab6bf [docs] GtkButton: Move documentation to inline comments
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=617386

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-07-06 22:46:40 +02:00
Colin Walters
c609c4e807 Fix annotation syntax for gtk_widget_class_path 2010-07-06 15:50:07 -04:00
John (J5) Palmieri
74b3875ab2 fix annotation for gtk_window_set_default_icon_list 2010-07-06 15:46:14 -04:00
Colin Walters
aff8fb2ea2 Fix annotation on gtk_tree_model_get_value 2010-07-06 15:01:56 -04:00
Matej Urbančič
337e53f62e Updated Slovenian translation 2010-07-06 15:14:13 +02:00
Matej Urbančič
12560cece2 Updated Slovenian translation 2010-07-06 15:13:48 +02:00
Ignacio Casal Quinteiro
f50d06baea Bind get_bounds and use out instead of out caller-allocates.
There is no need to use caller-allocates if the scanner already detects it.
2010-07-05 18:41:22 +02:00
Tadej Borovšak
90cd7f44f1 [docs] Minor documentation fixes.
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-07-05 17:21:55 +02:00
Tor Lillqvist
34e8bd9dba Fix build breakage on Windows caused by the region changes
Patches by Sam Thursfield, from bug #623476.
2010-07-05 12:57:13 +03:00
Jorge González
1ac5011873 Updated Spanish translation 2010-07-03 12:32:29 +02:00
Yaron Shahrabani
ef44de1392 Updated Hebrew translation. 2010-07-03 02:00:27 +03:00
Xan Lopez
533ea97c67 Remove leftover uses/references of GtkNotebook::group-id 2010-07-02 22:38:39 +02:00
Javier Jardón
1a03a65e36 Remove GtkWindow:allow-grow and GtkWindow::allow_shrink deprecated properties 2010-07-02 21:45:08 +02:00
Javier Jardón
1f38a7ac10 Deprecate GtkWindow:allow-grow and GtkWindow::allow_shrink properties
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=610346
2010-07-02 21:44:56 +02:00
Matthias Clasen
1cfe57530e Add gdk_keymap_get_num_lock_state to the docs 2010-07-02 12:59:07 -04:00
Florian Müllner
1e1c5e3ca1 [iconview] Fix segfault when using rubberband selection
When iterating over the cairo region's rectangles, do not decrement
the counter twice ...

https://bugzilla.gnome.org/show_bug.cgi?id=623389
2010-07-02 15:39:02 +02:00
Baurzhan Muftakhidinov
6adb034cb7 Updated Kazakh translation for gtk+ 2010-07-02 14:31:46 +03:00
Tomeu Vizoso
eae60c34d2 Annotate gdk_display_manager_list_displays return value
https://bugzilla.gnome.org/show_bug.cgi?id=623307
2010-07-02 10:51:45 +02:00
William Jon McCann
85e3f22c19 Show lock warning for num lock as well as caps lock
https://bugzilla.gnome.org/show_bug.cgi?id=623239
2010-07-01 21:46:08 -04:00
William Jon McCann
0cfb94cdd4 [gdk] Add gdk_keymap_get_num_lock_state
https://bugzilla.gnome.org/show_bug.cgi?id=623239
2010-07-01 21:44:09 -04:00
Javier Jardón
319d2bb4f1 [gdk] Remove GdkWindowObject public structure
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=622677
2010-07-01 02:26:34 +02:00
Javier Jardón
df106318f8 [gdk] Add gdk_window_has_native() function
https://bugzilla.gnome.org/show_bug.cgi?id=622677
2010-07-01 02:26:34 +02:00
Ivar Smolin
f40fea1317 [l10n] Updated Estonian translation 2010-06-30 23:55:39 +03:00
Kristian Rietveld
be27fba3f3 Remove dummy for gdk_event_get_graphics_expose()
This was a deprecated function that has been removed.
2010-06-30 21:43:25 +02:00
Kristian Rietveld
43f4398dbd Remove mention of gdk_event_get_graphics_expose() 2010-06-30 21:43:25 +02:00
Ignacio Casal Quinteiro
fa752d156b Fix annotation. 2010-06-30 20:37:22 +02:00
Kristian Rietveld
1564d8922a Fix typos in Cairo region conversion so that Quartz actually compiles 2010-06-30 11:10:29 +02:00
Kristian Rietveld
53fbf2a30a Update Quartz DnD code to set device on DnD events 2010-06-30 10:56:44 +02:00
Kristian Rietveld
03a313d2a9 Implement gdk_drag_context_{get,set}_device in Quartz backend 2010-06-30 10:56:44 +02:00
Benjamin Otte
95a1c31c18 configure: Bump required Cairo version to 1.9.10 2010-06-29 17:05:28 +02:00
Benjamin Otte
5a02283fbf API: Remove all GdkRegion API
Remove the deprecated region APIs completely from GTK.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:58 +02:00
Benjamin Otte
6c5dffd1a3 examples: Port example to use cairo region API
https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
Benjamin Otte
300e6b84cd s/GdkRegion/cairo_region_t/ in all of gtk
https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
Benjamin Otte
3e96cfe8fc Deprecate the GdkRegion API
Includes fixing all callers to use the cairo region API instead. This is
usually just replacing the function names, the only difference is
gdk_region_get_rectangles() being replaced by
cairo_region_num_rectangles() and cairo_region_get_rectangle() which
required a bit more work.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
Benjamin Otte
52200eee01 Remove _gdk_region_new_from_yxbanded_rects()
It was an internal function and we can use
cairo_region_create_rectangles() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
Benjamin Otte
78018767ba Implement GdkRegion in terms of cairo_region_t
Only changes in headers: GdkRegion and GdkRectangle are typedeffed to
cairo_region_t and cairo_rectangle_int_t respectively. The region type
was opaque anyway so it doesn't matter and the rectangle types are
identical.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
Matthias Clasen
b6cc7dbd21 Make sure we always include gdk-pixbuf in the gdk requires
This is needed since we include gdk-pixbuf.h in public gdk headers
2010-06-29 07:57:40 -04:00
Colin Walters
6aae994a66 Support NOCONFIGURE (from gnome-common)
gnome-common's autogen.sh uses NOCONFIGURE to skip running configure.
Support that in addition to the current AUTOGEN_SUBDIR_MODE.
2010-06-28 17:46:31 -04:00
Javier Jardón
b4ed51fd93 Remove XID_FONT_BIT 2010-06-28 23:38:03 +02:00
Javier Jardón
06e48c50a1 Remove GDK_GC_FONT 2010-06-28 23:38:03 +02:00
Christian Dywan
655dcff096 Remove deprecated GdkFont
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604196

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-28 23:38:03 +02:00
Javier Jardón
34573b53f3 [GtkStyle] Remove deprecated GdkFont usage 2010-06-28 23:38:03 +02:00
Javier Jardón
c1affa4f3c Remove deprecated code from X interaction 2010-06-28 23:38:03 +02:00
Javier Jardón
c3987f9ee2 [GdkGC] Remove deprecated GdkFont from GdkGCValues structure 2010-06-28 23:38:03 +02:00
Javier Jardón
418d84f311 [GtkFontSel] Remove GdkFont "font" deprecated property 2010-06-28 23:38:02 +02:00
Matthias Clasen
18132ecae5 Differentiate between stepper B and C in the detail string 2010-06-28 14:45:25 -04:00
Colin Walters
905f988166 Revert "Add length to gtk_tree_path_get_indices"
This reverts commit eebb16eb1a.

Was an accidental commit.
2010-06-28 14:15:10 -04:00
Colin Walters
17f8b5e581 GdkX11.gir depends on Gdk.gir 2010-06-28 13:50:57 -04:00
Colin Walters
eebb16eb1a Add length to gtk_tree_path_get_indices
The old version wasn't introspectable as it didn't have a length
return parameter.  Also, delete gtk_tree_path_get_indices_with_depth,
since it's no longer needed.
2010-06-28 13:50:36 -04:00
Matthias Clasen
289f3b1b2b Avoid a stray 'yes' in configure output
The corresponding AC_MSG_CHECKING line got lost
2010-06-28 12:36:33 -04:00
Benjamin Otte
42abeadbb8 Can't select file on file browser after changing sort order
The row values are 1-indexed not 0-indexed, this has to be taken into
account when producing the new_order array.

https://bugzilla.gnome.org/show_bug.cgi?id=621414
2010-06-28 14:19:18 +02:00
Benjamin Otte
cd266cb8de Make declaration return a boolean when the function does that 2010-06-28 14:19:18 +02:00
Benjamin Otte
14e0cbe2d3 Get rid of navigation region in GtkMenu
This completes the move to get rid of using a GdkRegion for the
navigation region and the only user of gdk_region_polygon(). We keep
track of the triangle and compute in/out points ourselves now.

Unfortunately the DRAW_STAYUP_TRIANGLES debugging code doesn't work
using cairo, so I removed it completely.
2010-06-28 14:19:18 +02:00
Benjamin Otte
7ad08f19aa Create the navigation region without flipping
Gets rid of some code in preparation to switching to do the computation
completely without GdkRegion.
2010-06-28 14:19:18 +02:00
Yaron Shahrabani
9928158d41 Updated Hebrew translation. 2010-06-28 14:42:40 +03:00
Yaron Shahrabani
680c1d26e3 Updated Hebrew translation. 2010-06-28 13:42:58 +03:00
Tor Lillqvist
e545ed58ed Drop a leftover reference to libgdk_pixbuf-3.0.la 2010-06-28 00:28:55 +03:00
Tor Lillqvist
f0e24348a0 We need to link gdk with the gio library for non-X11 backends
(For X11, we link with gio-unix which takes care of it.)
2010-06-28 00:20:44 +03:00
Tor Lillqvist
4aa75fcf43 Revert "Use wide character API in the Windows IME module"
Ha, pango_win32_font_logfontw hasn't been exported from libpangowin32
after all due to a typo. This will have to wait. And actually
libpangowin32 is supposed to be deprecated surely, so that
functionality should be moved to libpangocairo or something.

This reverts commit 804effba99.
2010-06-27 23:44:14 +03:00
Tor Lillqvist
d7ceebda3f Drop gdk-pixbuf files 2010-06-27 23:30:02 +03:00
Tor Lillqvist
804effba99 Use wide character API in the Windows IME module 2010-06-27 23:21:41 +03:00
Philip Withnall
d78cee6791 Add allow-none to gdk_window_set_cursor() 2010-06-27 19:19:39 +01:00
Jorge González
1c14997df2 Updated Spanish translation 2010-06-27 13:10:13 +02:00
Emmanuele Bassi
5789ea35cc Do not return values from a function returning void 2010-06-27 11:28:44 +01:00
Kristian Rietveld
7f2e4c38a9 Move Leopard-specific type definitions to gdkquartz.h
Update includes subsequently where it matters.  Fixes build on Mac OS
X 10.4.

(cherry picked from commit e634f3fbe0)
2010-06-27 11:00:42 +02:00
Kristian Rietveld
64f11c366a Refactor to use API that's available in OS X 10.4 as well
(cherry picked from commit 3770d914ec)
2010-06-27 11:00:31 +02:00
John Ralls
98d47b57bf Bug 622333 - Crash in gdk_window_impl_quartz_begin_paint_region
(cherry picked from commit 093a867e51)
2010-06-27 11:00:20 +02:00
Kristian Rietveld
019ccc686d Flip clip mask image when setting clip mask on GC
(cherry picked from commit 9f5f47f8be)
2010-06-27 11:00:09 +02:00
Kristian Rietveld
88cae1769b Rework color translation to support gray scale and bitmaps
(cherry picked from commit 49f72c1fb4)
2010-06-27 10:59:46 +02:00
Kristian Rietveld
18b233fe2a Add gray visual, implement "get_best" functions
(cherry picked from commit 42d07ad6ce)
2010-06-27 10:59:11 +02:00
Matthias Clasen
2326d76efa bump version 2010-06-27 00:15:06 -04:00
Matthias Clasen
92efbf2302 Update po files after the gdk-pixbuf removal 2010-06-26 23:22:43 -04:00
Matthias Clasen
45f6bbb56f Updates 2010-06-26 23:16:36 -04:00
Matthias Clasen
12cdd1e33b Use SED instead of sed 2010-06-26 23:02:08 -04:00
Matthias Clasen
48a5b4ee97 Misc documentation fixes 2010-06-26 23:00:47 -04:00
Matthias Clasen
0ef0b9c68b Use GREP, not grep
As reported in bug 621927
2010-06-26 22:35:56 -04:00
Matthias Clasen
ac18bc7cb1 Update for the new, external gdk-pixbuf 2010-06-26 21:56:03 -04:00
Matthias Clasen
75b9f68338 don't build testapplication on OS X
See bug 622827
2010-06-26 21:41:58 -04:00
Matthias Clasen
8a590711da Remove stray references to gtk-2.0 2010-06-26 21:40:55 -04:00
Matthias Clasen
89e67b8ec2 Remove gdk-pixbuf pc files
Noticed in bug 622847.
2010-06-26 21:29:21 -04:00
Mirsal Ennaime
23a61525f6 Add an accessor for the GSEALed Gtkbutton's event_window attribute
* Add the gtk_button_get_event_window() function

Closes: bgo#622581
2010-06-26 21:22:02 -04:00
Matthias Clasen
e73a2e5654 Add context to detail strings when drawing steppers
As usual, this is protected by a style property:
GtkRange::stepper-position-details
The detail strings are
<detail>_start, <detail>_end and <detail>_middle.

See bug 621250
2010-06-26 21:04:31 -04:00
Matthias Clasen
53796b7f1f Add an accessor for GdkImage->mem
See bug # 522756
2010-06-26 16:48:06 -04:00
Matthias Clasen
67cd929267 Remove deprecated notebook api 2010-06-26 16:29:43 -04:00
Ignacio Casal Quinteiro
4601ad2352 Fix GtkTextBuffer annotations. 2010-06-26 20:47:42 +02:00
Khaled Hosny
5aaec9d7e0 Updated Arabic translation 2010-06-26 21:39:02 +03:00
Matthias Clasen
cc5500ad85 Remove pure gdk-pixbuf tests
These have been moved over to the gdk-pixbuf module.
2010-06-26 01:09:05 -04:00
Matthias Clasen
16ecf55832 Make GTK+ use an external gdk-pixbuf 2010-06-26 01:09:05 -04:00
John Ralls
d722adb76a [quartz] Delete the typedef of GdkDevicePrivate
It's in gdkdevice.h now.

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

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-26 00:23:32 +02:00
Javier Jardón
ef25dba303 [docs] Remove deprecated gdk_draw_bitmap() and gdk_draw_pixmap()
This completes commit 947cde30d9
2010-06-25 18:18:30 +02:00
Tristan Van Berkom
17516dc83c Exposed GtkTreeView's internal GtkTreeSelection for builder files 2010-06-25 12:15:49 -04:00
Colin Walters
d986066cb5 Add --add-include-path to find just-built .gir files 2010-06-25 12:14:12 -04:00
Javier Jardón
947cde30d9 Remove gdk_draw_bitmap() and gdk_draw_pixmap() functions 2010-06-25 02:32:44 +02:00
Matthias Clasen
92befe0c06 Mention pot file update in the release howto 2010-06-24 13:15:52 -04:00
Javier Jardón
d35e4848a2 [docs] Fix annotations: "(allow-none): (out)" -> "(out) (allow-none)" 2010-06-24 18:10:03 +02:00
Javier Jardón
71e69e4701 [GtkTable] Add gtk_table_get_size()
Add accessor function to retrieve the number of rows and columns
in the table.
2010-06-24 17:46:12 +02:00
Matthias Clasen
9bf7f99a17 Make gtk_window_group_get_current_grab public
See bug #620832.
2010-06-24 11:16:09 -04:00
Matthias Clasen
f010eeb7d3 Make the message area available in gtkbuilder as well
See bug 32069.
2010-06-24 09:37:14 -04:00
Ignacio Casal Quinteiro
7e3e2bf29a Fix annotation of gtk_text_iter_(forward/backward)_search. 2010-06-24 11:11:02 +02:00
Marek Kasik
998459afb7 Don't handle CUPS' "connecting-to-device" state reason
CUPS backend shouldn't handle "connecting-to-device" state reason.
It shows "Printer '%s' may not be connected" for this state,
which is not true in almost all cases. Better is to use
"printer-state-message" which contains correct message (#622011).
2010-06-24 09:27:16 +02:00
Matthias Clasen
686294cb3b Add an expander-in-dialog example
To show how I expect this kind of construction to work, makes it
easier to find the code the next time I need it somewhere.
2010-06-24 00:35:24 -04:00
Matthias Clasen
32925cd579 Turn on GSEAL_ENABLE by default
We do this by adding -DGSEAL_ENABLE to the Cflags in the .pc files,
so you can get out of it by adding -UGSEAL_ENABLE after the pkg-config
generated flags.
2010-06-23 23:19:58 -04:00
Carlos Garnacho
604beadbcd testinput: Do not use deprecated API. 2010-06-24 02:30:54 +02:00
Carlos Garnacho
882fdfab78 GtkWidget: ensure device events are set on realize.
https://bugzilla.gnome.org/show_bug.cgi?id=621690
2010-06-24 02:30:54 +02:00
Carlos Garnacho
9c4657fb73 GtkWindow: Use client pointer on pointer-dependent positioning.
GTK_WIN_POS_MOUSE and GTK_WIN_POS_CENTER* now work relatively to the client
pointer.
2010-06-24 02:30:54 +02:00
Carlos Garnacho
928e2a5780 GtkDnD: Use client pointer if no event is available. 2010-06-24 02:30:53 +02:00
Carlos Garnacho
6cde835acd GdkDeviceManager: Add gdk_device_manager_get_client_pointer().
This function makes a better replacement for
gdk_display_get_core_pointer(), wherever it might yet be needed, for
XI2 resorts to XIGetClientPointer(), for the others return the only
core pointer.

https://bugzilla.gnome.org/show_bug.cgi?id=621685
2010-06-24 02:30:53 +02:00
Javier Jardón
009e26f32f [gtk-example-application] Use the new api 2010-06-24 02:02:10 +02:00
Javier Jardón
1569f722cd [testapplication] Fix some compilation warnings 2010-06-24 01:51:33 +02:00
Javier Jardón
dcfdbc4ca6 [gailprogressbar] Remove unused variables 2010-06-24 01:42:14 +02:00
Javier Jardón
a7041e9c40 [testinput] Fix compilation warning: Use guint instead int 2010-06-24 01:39:24 +02:00
Javier Jardón
c6650bfa01 [gdkim] Remove unused function 2010-06-24 01:37:29 +02:00
Javier Jardón
7ea1556cd0 Remove unnused variable 2010-06-24 01:32:23 +02:00
Javier Jardón
79350fcd8a Fix warning: should pass gboolean*, not gboolean** 2010-06-24 01:31:01 +02:00
Fran Diéguez
208c82c809 Updated Galician translations 2010-06-24 01:00:49 +02:00
Tristan Van Berkom
55f8b4742f Fixing debug build (s/extended layout/size request/ in GTK_NOTE flags). 2010-06-23 18:09:29 -04:00
Paolo Borelli
d17fbd06cb Do not leak devices list in do_focus_change 2010-06-23 12:43:49 +02:00
noch
d33d31446e Added Armenian translation - po file. 2010-06-23 14:51:41 +05:00
noch
eb1913d145 Modified Armenian translation - po file. 2010-06-23 14:51:41 +05:00
noch
0124dd0b8f Added Armenian translation - po file. Modified LINGUAS. 2010-06-23 14:51:41 +05:00
Javier Jardón
cb21d4473e [gtk] Add gtk_font_selection_dialog_get_font_selection()
This is needed to access the fontsel sealed member.
2010-06-23 01:28:51 +02:00
Javier Jardón
626240b0fe [test] Exclude message-area as it's a object property 2010-06-22 22:26:18 +02:00
Javier Jardón
a681c37604 Add new api to gtk.symbols
Add newly added api gtk_accessible_set_widget() and
gtk_message_dialog_get_message_area()
2010-06-22 21:52:01 +02:00
Jorge González
1801a65a84 Updated Spanish translation 2010-06-22 21:15:38 +02:00
Javier Jardón
3c46d9acbc [gtkaccessible] Use the correct guards in gtk_accessible_set_widget()
Also, allow the widget variable to be NULL
2010-06-22 21:12:53 +02:00
Tor Lillqvist
adf1bbe28a Generate correct grab broken event for WM_KILLFOCUS
WM_KILLFOCUS means that a keyboard grab (not a pointer grab), if any,
has been broken. I don't think this bug has matterd much as gtk
generates a grab-broken-event signal for both keybord and pointer
grabs being broken anyway.
2010-06-22 21:33:49 +03:00
Federico Mena Quintero
9b9bb4c6e8 bgo#328069 - Add gtk_message_dialog_get_message_area()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2010-06-22 13:13:44 -05:00
Vincent Untz
abfc6f8f07 bgo#622371 - Add gtk_accessible_set_widget() - the widget field was GSEAL()ed.
https://bugzilla.gnome.org/show_bug.cgi?id=622371
2010-06-22 12:14:38 -05:00
Chris Kühl
078da34a26 [docs] Fixes issue with GtkEntryBuffer signal documentation 2010-06-21 19:59:06 +02:00
Murray Cumming
d927df0c3d gtkenums.h: Remove trailing comma to fix warning. 2010-06-21 15:21:44 +02:00
Klemen Košir
a090f331b9 Updated Slovenian translation 2010-06-20 11:40:58 +02:00
Javier Jardón
d47e63856b Do not distribute GIRs 2010-06-20 08:20:42 +02:00
Javier Jardón
f96be1ab10 [gdkpango] Fix typo 2010-06-20 01:14:17 +02:00
Javier Jardón
d5d7fd9f51 Remove unused gtk_style_get_font_internal() function
This function is no longer necesary as draw_string() function
was dropped from GtkStyle
See commit 5300dc2b36
2010-06-20 00:50:52 +02:00
Javier Jardón
349f8c561d Remove gdk_input_* callbacks on file descriptors deprecated functions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619687
2010-06-20 00:46:38 +02:00
Javier Jardón
3c8a54b2f7 Remove GdkWChar deprecated code 2010-06-20 00:22:26 +02:00
Javier Jardón
ca046f0cfb Remove deprecated gdk_text_* and gdk_string_* functions
Remove gdk_string_extents(), gdk_text_extents(),
gdk_text_extents_wc(), gdk_string_width(), gdk_text_width(),
gdk_text_width_wc(), gdk_string_measure(), gdk_text_measure(),
gdk_string_height(), gdk_text_height()
2010-06-20 00:22:26 +02:00
Javier Jardón
0de0914021 Remove gdk_char_* deprecated functions
Remove gdk_char_width(), gdk_char_width_wc(), gdk_char_measure()
and gdk_char_height()
2010-06-20 00:21:51 +02:00
Javier Jardón
4cf4470fcd Remove deprecated GdkDrawable functions
Remove gdk_drawable_get_data(), gdk_drawable_set_data(),
gdk_drawable_ref(), gdk_drawable_unref(),
gdk_draw_string(), gdk_draw_text(), gdk_draw_text_wc()
2010-06-19 21:39:22 +02:00
Matthias Clasen
2a2843c041 Prevent concurrent use of GTK+ 2 and 3
If we detect a gtk2-only symbol, error out early.
2010-06-18 22:27:26 -04:00
Matthias Clasen
32dd5882a0 Fix make check 2010-06-18 21:58:36 -04:00
Matthias Clasen
91268713a0 A forgotten rename 2010-06-18 21:58:19 -04:00
Emmanuele Bassi
b98667d41e application: Remove a variable and silence a compiler warning 2010-06-18 14:26:57 +01:00
Emmanuele Bassi
2755b93913 application: Revert the leak plug
The &s in the signature of a GVariant means "pass me a pointer". To
avoid repeating the same mistake, use a const gchar* to declare the
key.
2010-06-18 14:26:05 +01:00
Emmanuele Bassi
3e1b82336c application: Plug a leak
The key returned by g_variant_iter_next() should be freed as well.

Also, clean up the coding style a bit.
2010-06-18 12:06:39 +01:00
Tristan Van Berkom
5f4309be96 Fixed some typos in new docs that are about GtkSizeRequest (not GtkSizeGroup) 2010-06-18 00:32:09 -04:00
Tristan Van Berkom
4e23171803 Removed extendedlayoutexample.c (was a failed git mv --> testheightforwidth.c) 2010-06-18 00:12:55 -04:00
Tristan Van Berkom
edd57602b8 Mass api change from GtkExtendedLayout --> GtkSizeRequest
This commit makes a few massive changes to the extended layout
code:
  a.) gtkextendedlayout.c --> gtksizerequest.c
  b.) _is_height_for_width --> get_request_mode()
  c.) get_desired_size(), get_desired_width(), get_desired_height() -->
      get_size(), get_width(), get_height()

This is the first partial commit and only effects portions
of the tree that have already been merged in master (in order to
easily cherry pick this commit).

Conflicts:

	gtk/Makefile.am
	gtk/gtk.h
	gtk/gtk.symbols
	gtk/gtkextendedlayout.h
2010-06-18 00:11:26 -04:00
Matthias Clasen
cf75457faa Bump version 2010-06-17 21:09:50 -04:00
Matthias Clasen
aab1a96d46 Updates 2010-06-17 20:06:41 -04:00
Christian Persch
9d0b941da6 application: Fix marshaler for GVariant gtype change
Use VARIANT instead of BOXED.
2010-06-18 00:25:06 +02:00
Stanislas Marquis
a14c820aa9 [docs] Fix gtk_tree_sortable_set_sort_column_id()
@sortable => @sort_column_id

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-17 18:22:54 +02:00
Matthias Clasen
9eef134efb Bump glib requirement 2010-06-17 11:57:02 -04:00
Javier Jardón
d581c619db [docs/gtk-faq] Close <para> tag 2010-06-17 17:43:32 +02:00
Emmanuele Bassi
4f357dbf95 application: Allow sub-classes to override the Window creation
Sub-classes of GtkApplication might want to override the way an
application window is created - for instance, to hook into GtkBuilder
or to set up some basic UI or state.

A new GtkApplication::create_window() virtual function is added to the
GtkApplicationClass vtable, which returns the newly created GtkWindow.
The gtk_application_create_window() function calls the vfunc and adds
the returned window to the list of windows managed by the application
instance.

Calling gtk_application_add_window() will also set the default window,
if one is not already set.

This commit also removes a spurious g_object_ref_sink() on the newly
created GtkWindow.
2010-06-17 15:41:12 +01:00
Javier Jardón
b74fb44c11 gail: do not use removed GTK_WIDGET_*SET macros
In the absence of new API to port to, left the code commented
with a /* FIXME */ state, for somebody with better gail knowledge
to fix.
2010-06-16 20:41:05 +02:00
Javier Jardón
2747f9d84d Deprecate GTK_OBJECT_FLAGS() and GtkObjectFlags enum
This macro will be moved to a private header in GTK+3.

https://bugzilla.gnome.org/show_bug.cgi?id=615666
2010-06-16 20:36:30 +02:00
Javier Jardón
318fa1e179 [gtk/gtkmenu] Emit an "attach-widget" event in gtk_menu_attach_to_widget()
Reported by ageorge@datasys.net in bug
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621683
2010-06-16 20:18:39 +02:00
Javier Jardón
36c669aaca [docs] Fix missing comma in gtkrc docs
Reported by Alexander Saprykin in bug
https://bugzilla.gnome.org/show_bug.cgi?id=621775
2010-06-16 19:51:04 +02:00
Stanislas Marquis
972e75e8b0 [docs] Add 'Since: 2.16' tag to GtkEntryIconPosition
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-16 19:42:24 +02:00
Colin Walters
bdaefd7efe [GtkApplication] Update for GApplication API changes
Move appid parameter first to match GApplication.
2010-06-16 11:02:39 -04:00
Carlos Garnacho
c5a4bd0578 GtkMenuShell: Store device on GTK+ device grab.
gtk_menu_shell_deactivate() needs to know the device to end the
GTK+ grab.
2010-06-16 15:04:27 +02:00
Carlos Garnacho
404f4c5d40 GtkMenuShell: take a single device for grabs.
The other device will always be the associated device.
2010-06-16 15:04:27 +02:00
Jorge González
dfc9c87a46 Updated Spanish translation 2010-06-16 06:02:53 +02:00
Carlos Garnacho
4c3a829bb6 configure.ac: Fix build if no XInput libraries are available. 2010-06-15 23:28:49 +02:00
Carlos Garnacho
cd76d995eb gdk_event_get_device(): Fallback to core pointer/keyboard.
Events could be injected by third party code, which could not have a
GdkDevice set for newer GdkEvent types holding a GdkDevice. This
function will now fallback to core pointer/keyboard, plus issuing
a warning about the problem.
2010-06-15 21:06:11 +02:00
Carlos Garnacho
385f83ff4a GtkTextView: Scroll on the pointer doing DnD. 2010-06-15 21:06:11 +02:00
Carlos Garnacho
8c957ef3ef GtkWidget: Undef GDK_DISABLE_DEPRECATED
This is needed for gdk_input_set_extension_events(), used by its GTK+
counterpart.
2010-06-15 21:06:10 +02:00
Carlos Garnacho
ed3198146c GdkDeviceManagerXI2: Make focus events contain a GdkDevice. 2010-06-15 21:06:10 +02:00
Carlos Garnacho
07b1a2e081 GdkDeviceManagerCore: protect against xevent->xany.window not being a GdkWindow.
Conceivably this GdkEventTranslator may still be asked for events such as
NoExpose or GraphicsExpose for pixmaps. It is not meant to translate such events,
but should at least behave with them.
2010-06-15 21:06:10 +02:00
Tristan Van Berkom
1b2e9124f0 Fixed negative allocations from gtk_box_size_allocate()
Fixed the allocation loop to check if it was allocated at least
enough space to hold its visible children before going and distributing
extra space among children. Fixes bgo #617444.
2010-06-15 14:27:12 -04:00
Carlos Garnacho
b238c0124a Make GTK+ device grabs take precedence over GTK+ grabs
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=620440 (Reported by
Marek Kašík), where the print dialog modality would impair the pop-up
window from getting events. Device GTK+ grabs gain in specificness.
2010-06-15 19:39:59 +02:00
Javier Jardón
f62e000be4 Use a GPid on gdk_spawn_on_screen[_with_pipes]. Take 2
Really fixes
https://bugzilla.gnome.org/show_bug.cgi?id=602289
2010-06-15 17:16:43 +02:00
Javier Jardón
2e4ba929ba [docs] Make GtkUIManager signal documentation more consistent
Reported by Alexander Saprykin in bug
https://bugzilla.gnome.org/show_bug.cgi?id=621631
2010-06-15 15:29:59 +02:00
Matthias Clasen
294f810021 Docmentation improvements
Don't mention removed _defaults functions in the docs, also try
to clarify the situation around fill and expand defaults.
2010-06-15 01:23:30 -04:00
Thomas Wood
e19c50b538 GtkCalendar: some functions always return TRUE, so change them to void
Certain functions for GtkCalendar always return the same value. Therefore
they do not actually need to return a value at all.
Bug #621136.
2010-06-15 00:00:40 -04:00
Matthias Clasen
e9fc660d7e Add a variant of gtk_icon_theme_load_symbolic that takes a style
As proposed by Owen in bug 621578 to reduce code duplication.
2010-06-14 23:46:46 -04:00
Matthias Clasen
d53b0c200d Remove some useless defines 2010-06-14 17:23:07 -04:00
Martin Schlemmer
213994b565 win32: Avoid type warning for offscreen windows in xp theme
See bug #598299
2010-06-14 20:57:22 +02:00
Colin Walters
6c71da01cc [GtkApplication] Update for GApplication API changes
We now implement "quit" and "action" signals here.

https://bugzilla.gnome.org/show_bug.cgi?id=621003
2010-06-14 18:30:51 -04:00
Paolo Borelli
cf14d4f368 Annotate the methods to get TextBuffer iters 2010-06-14 19:04:47 +02:00
Claudio Saavedra
ef6ef84221 Fix typo in docs for GtkFileChooser
Reported by Martin Olsson in
https://bugzilla.gnome.org/show_bug.cgi?id=621479
2010-06-14 17:46:09 +03:00
Kjartan Maraas
e044efdbd2 Updated Norwegian bokmål translation 2010-06-13 23:18:03 +02:00
Fran Diéguez
d4bccb7029 Updated Galician translations 2010-06-13 18:06:27 +02:00
Fran Diéguez
86940de734 Updated Galician translations 2010-06-12 18:57:37 +02:00
Paolo Borelli
230f47224b Fix the build broken in previous commit 2010-06-12 12:54:04 +02:00
Martin Schlemmer
4696e94138 win32: Fix the xp there to correctly clip when drawing
This makes the xp theme work again, and also enables it.
2010-06-11 20:20:07 +02:00
John (J5) Palmieri
76db7d69f1 annotate gtk_color_selection_get_current_color color param as out 2010-06-10 14:53:12 -04:00
Cosimo Cecchi
4467145e43 Add a missing accessor for GdkDragContext->source_window. 2010-06-10 16:04:28 +02:00
Michael Natterer
61aa2af23d gdk: fix typo in the docs for gdk_drag_context_get_selected_action()
(cherry picked from commit e494ec1d61)
2010-06-10 13:16:25 +02:00
Javier Jardón
71c501d895 Use a GPid on gdk_spawn_on_screen[_with_pipes] instead a gint
Reported by Nick Schermer in bug
https://bugzilla.gnome.org/show_bug.cgi?id=602289
2010-06-10 03:52:35 +02:00
Javier Jardón
785027751a constify gtk_init_with_args()'s GOptionEntry argument
Reported by Nick Schermer in bug
https://bugzilla.gnome.org/show_bug.cgi?id=621111
2010-06-10 03:51:51 +02:00
Stanislas Marquis
09fe6e7d44 [docs] GdkPixmap fix: gdk_pixmap_draw() does not exist.
Using gdk_draw_drawable() instead.
2010-06-10 02:21:13 +02:00
Javier Jardón
e902786017 [docs] Saturation is the intensity of the color, not the "deepness"
Reported by Seán de Búrca in bug
https://bugzilla.gnome.org/show_bug.cgi?id=466475
2010-06-09 20:02:31 +02:00
Cosimo Cecchi
4f66b8e37c Add an accessor for GtkViewport->view_window (#621081). 2010-06-09 18:22:35 +02:00
Tor Lillqvist
9b2ffc4b80 One more s/2.0/3.0 2010-06-09 13:54:43 +03:00
Tor Lillqvist
f772f3a1bb Use correct libgdkincludedir in gdk/win32 too
Thanks to Hib Eris.
2010-06-09 12:34:01 +03:00
Richard Hughes
707535434c Fix distcheck by removing references to gtk/gtkprogress.c 2010-06-09 09:29:50 +01:00
Tor Lillqvist
eb1233d11b Fix build breakage on non-Unix
gdesktopappinfo.h does is in gio-unix headers, so can compile
testapplication only on Unix.
2010-06-09 11:10:22 +03:00
Tor Lillqvist
cd23f1e080 Fix build breakage on non-X11
AM_CONDITIONALs need to be seen in all code paths. The one for
XINPUT_NONE was only in the X11 if branch. But as that Automake
confitional wasn't used in any Makefile.am anyway, just drop the
AM_CONDITIONAL.
2010-06-09 10:52:11 +03:00
Javier Jardón
b618ca8923 [docs] Added some missing documentation to GdkDnd
The docs was removed by error in commit
9399114802
2010-06-09 06:39:02 +02:00
Matthias Clasen
5e0dfed135 Get rid of GtkProgress
The entire api was deprecated since 2.0. This patch detangles
GtkProgress from GtkProgressBar and moves all the pieces into
GtkProgressBar that are required for non-deprecated progressbar
functionality.

Bug #620618
2010-06-09 00:35:09 -04:00
Matthias Clasen
882660e13d Bump version 2010-06-09 00:35:09 -04:00
Javier Jardón
9ad9c193ea [docs] Added some GtkIconView missing documentation
Document GtkIconViewDropPosition and GtkIconViewForeachFunc.
The docs was removed by error in commit
e17b9f282f
2010-06-09 06:25:28 +02:00
Javier Jardón
ee483ec328 [docs] .gitignore some template files 2010-06-09 06:25:28 +02:00
Matthias Clasen
9399114802 Remove one more gtk-doc template 2010-06-08 21:10:15 -04:00
Matthias Clasen
897cf634c3 Don't call update-po in make dist
This is causing the bulk of the conflicts I have during distcheck,
and is not really necessary.
2010-06-08 19:48:15 -04:00
Matthias Clasen
e17b9f282f Get rid of templates that gtk-doc touches during distcheck
In an attempt to make distcheck not touch any files under source
control.
2010-06-08 19:48:15 -04:00
Steve Frécinaux
8147019930 [gtkwidget] Add type annotations for the event signals. 2010-06-08 22:37:55 +02:00
Matthias Clasen
59108b5d98 Move docs inline 2010-06-08 15:37:52 -04:00
Matthias Clasen
4bf5a171e2 Distcheck fixes 2010-06-08 15:37:52 -04:00
Matthias Clasen
34deb14eff Fix !srcdir build 2010-06-08 15:37:52 -04:00
Michael Natterer
bffd85c2b7 gail: don't use removed GtkTooltips API
In the absence of new API to port to, left the code in a useless
if(FALSE /* FIXME */) state, for somebody with better gail knowledge
to fix.
2010-06-08 21:29:52 +02:00
Seán de Búrca
9959986ecd Updated Irish translation 2010-06-08 12:35:54 -06:00
Federico Mena Quintero
2f990d4726 bgo#608537 - Make the file chooser's sort arrows consistent with the HIG
... Although I think the HIG gets things backwards anyway.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2010-06-08 12:09:48 -05:00
Matthias Clasen
4603196287 Updates 2010-06-08 12:03:09 -04:00
Matthias Clasen
2d9b7335bf Bump the gobject-introspection requires 2010-06-08 10:27:53 -04:00
Richard Hughes
b32ef72ea5 Get one step closer to fixing the gobject-introspection compile failure 2010-06-08 14:07:46 +01:00
Matthias Clasen
79b161f709 Use gtk_action_group_get_action when looking up actions
...instead of open-coding it. Pointed out by Christian Persch
in bug 620960
2010-06-08 09:03:07 -04:00
Matthias Clasen
cca298ad7d Remove debug spew 2010-06-08 08:58:16 -04:00
Matthias Clasen
b366ae9c22 Update to GApplication api changes 2010-06-08 08:29:01 -04:00
John (J5) Palmieri
0491b409a9 add transfer-none to return value of gtk_widget_get_window 2010-06-07 18:21:21 -04:00
Steve Frécinaux
586d60dbee [gdkevents] Add annotations for GdkEvent getters. 2010-06-08 00:00:28 +02:00
Steve Frécinaux
046069d918 [gtktextbuffer] Annotate gtk_text_buffer_create_mark()
Add (transfer none) to the return value of gtk_text_buffer_create_mark(),
as the documentation clearly states the caller doesn't have ownership of
the returned value.
2010-06-08 00:00:28 +02:00
Matthias Clasen
1ae257d00a Add GtkApplication
This is a work in progress to stub out an application class. The
primary goal is to provide a mechanism for applications to export
GtkActions, and there is a standard "Quit" action.

This is based on GApplication.

Future work:
 * Add a way to say "This is my application menubar", which gets
   put into all toplevel windows on non-OS-X, and into the top
   on OS X.
 * Support session management.
 * Support application settings.

https://bugzilla.gnome.org/show_bug.cgi?id=127958
2010-06-07 16:46:30 -04:00
John (J5) Palmieri
2c5871479e annotate allow-none for gtk_image_menu_item_new_from_stock accel_group param 2010-06-07 16:15:39 -04:00
John (J5) Palmieri
0d2366d5eb add allow-none annotation to gtk_clipboard_set_can_store's targets parameter 2010-06-07 13:15:27 -04:00
Marek Kasik
ca6aacc32d Return error instead of showing an error dialog when printing
Remove message dialogs showing an error when printing. Return
GTK_PRINT_OPERATION_RESULT_ERROR and set error in such a case.
Also return GTK_PRINT_OPERATION_RESULT_CANCEL when cancelled.
Do it for synchronous and asynchronous cases (#549127).
2010-06-07 14:52:38 +02:00
Tomeu Vizoso
42deb581f9 Split gdk x11 funcs to their own typelib
https://bugzilla.gnome.org/show_bug.cgi?id=617863
2010-06-07 14:06:21 +02:00
Sven Herzberg
5300dc2b36 drop the draw_string() function from GtkStyle
Reviewed by Michael Natterer.

* gtk/gtkstyle.c,
* gtk/gtkstyle.h: gdk_draw_string() has been deprecated and removed
  already. There's no one left who should be using this function
  (found this when porting sapwood to GTK+ 3.0)
* modules/engines/pixbuf/pixbuf-draw.c: don't implement this unused
  function
2010-06-07 13:56:10 +02:00
Matthias Clasen
7644ac519a Fix up abi checking
The abicheck script was hardcoding assumptions about XI2 being used,
making it fail on e.g. RHEL5.
2010-06-07 06:16:21 -04:00
Javier Jardón
da8643e457 Remove some GTK_DISABLE_DEPRECATED and ENABLE_BROKEN guards 2010-06-07 04:50:05 +02:00
Javier Jardón
47f8beb0a6 Remove gdkx_colormap_get() deprecated function 2010-06-07 04:37:06 +02:00
Matthias Clasen
25864cf0ce Make gdk build against old X headers
The XI.h in RHEL5 is missing some defines that are used
in the new device code.
2010-06-06 19:40:20 -04:00
Javier Jardón
2ace397eb5 Remove deprecatedd code from GdkColor
https://bugzilla.gnome.org/show_bug.cgi?id=619649
2010-06-07 00:35:40 +02:00
Kristjan Schmidt
a18f23c478 Updated Esperanto translation 2010-06-06 21:23:45 +02:00
Kristjan Schmidt
38abc03af4 Updated Esperanto translation 2010-06-06 21:23:45 +02:00
Kristjan Schmidt
98f3226fb7 Updated Esperanto translation 2010-06-06 21:23:45 +02:00
Javier Jardón
917cd2ce3e Bump Glib required version as is needed by g_source_set_name()
The use of this new api was added in
95bc0f5405
2010-06-05 04:38:40 +02:00
Christian Dywan
35be520983 Make progressbars render progress again
This was broken during some earlier deprecation cleanup.
Bug 620509.
2010-06-04 20:03:19 -04:00
Matthias Clasen
db21688908 Remove remaining single-include guards 2010-06-04 19:40:43 -04:00
Matthias Clasen
9f873fa7bc Don't install private headers 2010-06-04 19:28:01 -04:00
Stanislas Marquis
fe8d093a3c [docs] Fix GtkWindow: activate-default => activate-focus.
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-05 00:45:37 +02:00
Matthias Clasen
233388e693 Fix a parameter name mismatch 2010-06-04 16:15:58 -04:00
Matthias Clasen
14118a5697 Add a few missing symbols 2010-06-04 16:14:52 -04:00
Matthias Clasen
dbe82e0e83 Fix a doc comment typo 2010-06-04 16:13:34 -04:00
Javier Jardón
a277789270 [docs] gtktoolshell: Fix some "Since" tags
get_ellipsize_mode(), get_text_alignment(), get_text_orientation()
and get_text_size_group() were added in GTK+ 2.20,  not 2.14.

Reported by Stanislas Marquis on IRC.
2010-06-04 17:54:56 +02:00
Colin Walters
95bc0f5405 Use g_source_set_name for all custom GSources in GTK+
Naming the sources allows easier debugging with e.g. SystemTap
probes.

https://bugzilla.gnome.org/show_bug.cgi?id=620511
2010-06-03 21:49:22 -04:00
Matthias Clasen
b96a05b81f Silence a few warnings in !HAVE_RANDR builds 2010-06-03 20:24:54 -04:00
Tadej Borovšak
2c8e635a62 [docs] Improve GtkAction documentation
Simple GtkAction API docs update that makes it easier to understand
how action affects the appearance of proxy.

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-04 00:06:05 +02:00
Matthew Barnes
bb5c585777 Bug 596428 - GtkAssistant: Support ending with a progress page
- Add gtk_assistant_commit()

  This function discards the visited pages list so the back button is not
  shown on the current page, and removes the cancel button from subsequent
  pages.  Use this when information provided thus far cannot be revisited.

- Don't show the Forward button on a GTK_ASSISTANT_PAGE_PROGRESS if it's
  the last page (according to the forward page function).

- Append a progress page to the GtkAssistant demo.
2010-06-03 17:03:14 -04:00
Matthias Clasen
112d97d498 Silence a few configure warnings about datarootdir 2010-06-03 13:38:15 -04:00
Matthias Clasen
354086bafc Fix a typo 2010-06-03 13:36:09 -04:00
Matthias Clasen
974d7137a0 Avoid a 'EXTRA_DIST multiply defined' warning 2010-06-03 13:22:31 -04:00
Seán de Búrca
dd4251909b Updated Irish translation 2010-06-03 08:11:06 -06:00
Seán de Búrca
75d1de2d3b Updated Irish translation 2010-06-03 08:04:59 -06:00
Marek Kasik
f8ac123192 Test connection to all given addresses when printing
Go to the next address given by CUPS if we fail to connect to
previous address (#603637).
2010-06-03 10:13:17 +02:00
Matthias Clasen
9fbfbda8cc Remove indices for 2.x additions 2010-06-03 01:23:13 -04:00
Matthias Clasen
1b53565bf9 GtkSeparator is no instantiatable 2010-06-03 01:21:18 -04:00
Matthias Clasen
700196f71e Update documentation for orientables
Don't document these as abstract anymore, since they are now
instantiatable.
2010-06-03 01:18:42 -04:00
Matthias Clasen
d93b99a273 Remove old migration docs
This information will still be available in the 2.22 docs.
For 3.0, we'll do sortof a clean start.
2010-06-03 01:09:53 -04:00
Matthias Clasen
6a8a2f7ef3 Remove docs about 1.2 <> 2.0 differences
These should not be kept in 3.0.
Noticed by Dan Winship in bug #619838.
2010-06-02 19:59:41 -04:00
Matthias Clasen
ee0d695a91 Fix a doc typo
See bug #620244
2010-06-02 19:56:47 -04:00
Michael Natterer
2b89d46a9a app: forgot to update API docs in the last commit
(cherry picked from commit 22c61e0c8f)
2010-06-02 21:12:40 +02:00
Michael Natterer
19236d68d9 gdk: rename gdk_drag_context_get_action() to gdk_drag_context_get_selected_action()
so its purpose is clear.
(cherry picked from commit d393cb377c)
2010-06-02 20:45:31 +02:00
Garrett Regier
2e4a066cd0 Bug 611709 - Add gtk_statusbar_remove_all 2010-06-02 17:50:28 +02:00
Cody Russell
8e142788a5 Bug 608218 - GtkOffscreenWindow causes bad window with GtkEntry
We now exit early from gdk_window_register_dnd() to avoid crashing if the
window type is GDK_WINDOW_OFFSCREEN and does not support dnd operations.
This makes it possible to use any dnd-enabled widgets, such as GtkEntry,
within a GtkOffscreenWindow.
2010-06-01 10:32:18 -05:00
Johan Dahlin
5c283cacbe [gtktreeview] Add a couple of annotations 2010-05-31 12:12:06 -03:00
Matthias Clasen
c557f7b7c4 Improved icon view keynav
Use ::keynav-failed for arrow navigation in icon views, so that
it is possible to override error handling. Also add API to get the
row/col of an item. With this, it is possible to make arrow keynav
span adjacent icon views, which is desired in the new control-center
shell. testiconview-keynav demonstrates this.
2010-05-30 02:17:51 -04:00
Matthias Clasen
6737d91d28 Trivial typo fix 2010-05-30 02:17:51 -04:00
Matthias Clasen
654bb6ca66 Simple typo fix 2010-05-30 02:17:51 -04:00
Javier Jardón
e51f02ce67 [docs] Add GTK+3 migration guide 2010-05-29 19:37:57 +02:00
Michael Natterer
9b9945b8e7 Bug 607628 - DnD operation doesn't work when using offscreen
Changed the way to find the drop widget from a top->bottom recursion
using GdkWindow positions to a liner bottom->top walk up the widget
hierarchy using _gtk_widget_find_at_coords() and
gtk_widget_translate_coordinates(), which both do the right things for
offscreen widgets.
(cherry picked from commit cb8c076321)
2010-05-29 05:10:19 +02:00
Yaron Shahrabani
3e38ddd3e6 Updated Hebrew translation. 2010-05-28 15:55:57 +03:00
Yaron Shahrabani
0236a9a3fa Updated Hebrew translation. 2010-05-28 15:50:41 +03:00
John (J5) Palmieri
c707e445ca gtk_tree_selection_get_selected: added transfer none annotation to model out arg 2010-05-27 18:36:04 -04:00
Javier Jardón
25ec337a16 Revert "Deprecate GTK_OBJECT_FLAGS() and GtkObjectFlags enum"
This reverts commit 72467ba2e6.
2010-05-28 00:14:59 +02:00
John (J5) Palmieri
256759a3b7 gtk_tree_view_get_model: return value annotated transfer none 2010-05-27 16:58:52 -04:00
John (J5) Palmieri
c21e9ba7c3 annotation fixes
* gtk_tree_model_get_column_type: transfer none added to the return value
* gtk_tree_model_get_path: value parameter switched from inout to out
  so that it is annotated with caller-allocates
2010-05-27 16:53:42 -04:00
Javier Jardón
86441c6427 gtkwidget.h: Fix a typo
Fix a type introduced in
commit 818d444e2f

Reported by Garrett Regier.
2010-05-27 22:01:15 +02:00
Javier Jardón
72467ba2e6 Deprecate GTK_OBJECT_FLAGS() and GtkObjectFlags enum
This macro will be moved to a private header in GTK+3.

https://bugzilla.gnome.org/show_bug.cgi?id=615666
2010-05-27 19:58:24 +02:00
Javier Jardón
818d444e2f Remove GTK_NO_REPARENT deprecated widget flag 2010-05-27 18:05:02 +02:00
Javier Jardón
45aa82d85f Deprecate GTK_NO_REPARENT 2010-05-27 18:04:05 +02:00
Javier Jardón
d6bacafc52 [docs] Use the correct gtk-doc notation
Use 'Deprecated: 3.0:' intead 'Deprecated: 3.0.'
2010-05-27 15:37:19 +02:00
Li Yuan
5c8bdc1a69 Bug #619080.
Do not emit the text-changed::insert signal when the entry is empty.
2010-05-27 14:57:38 +08:00
Javier Jardón
258f9e814a gtkmain: remove some unused code 2010-05-27 05:54:18 +02:00
Javier Jardón
485bbadc0a gtkmain: Remove unused GtkClosure struct 2010-05-27 05:45:27 +02:00
Javier Jardón
d91c0d38c6 [docs] Remove deprecated documentation 2010-05-27 05:16:15 +02:00
Javier Jardón
154e3ba502 gtkcontainer: Remove unused GtkForeachData struct
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619672
2010-05-27 03:37:32 +02:00
Javier Jardón
da25f8f89d [docs] Move some widgets: they are not abstract now 2010-05-26 19:09:14 +02:00
Michael Natterer
6b4e19a132 Bug 607628 - DnD operation doesn't work when using offscreen
Turn find_widget_under_pointer() into internal API
_gtk_widget_find_at_coords() which is needed for fixing above
bug. This should actually be a public utility function, and will be
moved to another file when its final API has been decided.
(cherry picked from commit c4b1bbf3e2)
2010-05-26 17:21:09 +02:00
Carlos Garcia Campos
6bac9dfd28 GtkWindow: Add gtk_window_has_group()
To check whether the window has an explicit group

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=618271#c2
2010-05-26 16:49:31 +02:00
Christian Beier
95c824c553 gdk/gdkwindow.c: fix a typo in gdk_window_set_device_cursor().
Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-05-26 15:42:10 +02:00
Javier Jardón
019563c322 Remove gdk_*et_use_xshm() deprecated functions 2010-05-26 05:18:05 +02:00
Matthias Clasen
7ab09f1597 Bump version 2010-05-25 23:01:37 -04:00
Matthias Clasen
473b7aa6a2 2.90.1 2010-05-25 22:57:46 -04:00
Matthias Clasen
7164d71abf Some more devicegroup purging 2010-05-25 22:12:51 -04:00
Matthias Clasen
0e1d84c954 Make gio sniffing test work again 2010-05-25 21:33:40 -04:00
Matthias Clasen
cbab03df69 Fix up distcheck 2010-05-25 20:26:07 -04:00
Matthias Clasen
19e0444669 Updates 2010-05-25 20:07:52 -04:00
Matthias Clasen
c7a48881c6 Documentation fixes 2010-05-25 19:27:42 -04:00
Matthias Clasen
f5e21ceb00 Some additions 2010-05-25 19:18:06 -04:00
Matthias Clasen
86ba6378cd Remove duplicates 2010-05-25 19:03:16 -04:00
Matthias Clasen
b4e2ff3da3 Make orientable base classes instantiable
This commit adds constructors for GtkPaned, GtkBox, GtkButtonBox,
GtkRuler, GtkScale, GtkScrollbar and GtkSeparator and makes these
types instantiable.
2010-05-25 18:55:15 -04:00
Matthias Clasen
bd4609b140 Merge the xi2-for-master branch 2010-05-25 18:38:44 -04:00
Bruce Cowan
a538f639b6 Fix conflict Git markers
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619655
2010-05-25 21:46:35 +02:00
Javier Jardón
0c6565e1d3 Fix typo in previous patch 2010-05-25 20:48:59 +02:00
Matthias Clasen
b5ae99bf19 Add indexes
Add an index for 2.22 api additions, and one for 3.0.
2010-05-25 12:21:13 -04:00
Matthias Clasen
ebbadf3709 Add some leftover symbols 2010-05-25 12:01:04 -04:00
Matthias Clasen
50a72eda2d Seal gdk
Add G_SEAL annotation for struct members, and add accessors for
the (useful) fields. Patch based on work by Garrett Regier,
see bug #592580.
2010-05-25 12:01:04 -04:00
John (J5) Palmieri
57754edef6 add a transfer none annotation to gtk_tree_view_get_selection
* it returns the selection from its priv structure without reffing
2010-05-25 11:49:10 -04:00
Matthias Clasen
067fe4b05d Some additions 2010-05-25 10:24:53 -04:00
Matthias Clasen
8d2e20c2dc Fix up gtk_paned_get_handle_window docs 2010-05-25 09:47:54 -04:00
Matthias Clasen
c4134a535e Fix up gtk_icon_info_load_symbolic docs 2010-05-25 09:47:20 -04:00
Matthias Clasen
4df758dd16 Document GtkRange::adjust-bounds 2010-05-25 09:44:29 -04:00
Matthias Clasen
54cf057f11 Document GtkMovementStep 2010-05-25 09:42:09 -04:00
Matthias Clasen
1c6de294d8 Document GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME 2010-05-25 09:34:38 -04:00
Caolan McNamara
00be72aef4 Fix many fuzzy translations of default:mm
Many of these were translated to either default:LTR or @#$^%&:mm.

Bug #619595.
2010-05-24 21:30:04 -04:00
Javier Jardón
cc8dcf738a Remove deprecated GtkToolbar code
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=616817
2010-05-24 20:16:07 +02:00
Marek Kasik
33097d65b7 Honor PPD reading over listing of printers
Reading of PPD files collides with getting list of printers.
It helps to give higher priority to getting of PPDs than to
getting list of printers (#614581).
2010-05-24 16:39:19 +02:00
Javier Jardón
b18b33ae82 Revert "Forward-port a GtkAdjustment compatibility fix"
In the early 2.14.x releases, GtkAdjustment was changed to enforce
that values are restricted to the range [lower, upper - page_size].
This has always been the documented behaviour, and the recommended
practice is to set page_size to 0 when using adjustments for simple
scalar values, like in a slider or spin button.
Due to the large number of applications that are affected by this
change, the behaviour has been reverted to the old behaviour in
2.14.3, with an explicit warning that this change will be
reintroduced in 2.90.

This reverts commit e6373738fc.

https://bugzilla.gnome.org/show_bug.cgi?id=619474
2010-05-24 15:39:30 +02:00
Tomeu Vizoso
14f7717770 Actually expose the X11 funcs through introspection
https://bugzilla.gnome.org/show_bug.cgi?id=617863
2010-05-24 15:27:44 +02:00
Javier Jardón
5917eba911 gdkevents-x11: Do not break strict-aliasing rules
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619385
2010-05-22 23:17:58 +02:00
Javier Jardón
7f89bf262b gdkevents-x11.c: Remove unused function: graphics_expose_predicate() 2010-05-22 22:49:58 +02:00
Matthias Clasen
8e315466b9 Fix libjasper test
This was reported in bug 551322.
2010-05-22 00:29:58 -04:00
Matthias Clasen
94abf4733f Deprecate GtkBoxChild
This was discussed in bug 613132.
2010-05-22 00:15:00 -04:00
Matthias Clasen
bb91ebcb8f Fix signal parameters in GtkEntryCompletion
The ::match-selected and ::cursor-on-match signal were emitted
with the internal filter model instead of the user-provided model.

Fixes bug #555087.
2010-05-21 23:50:46 -04:00
Matthias Clasen
54093354e4 Clean up man page handling 2010-05-21 22:41:35 -04:00
Matthias Clasen
7652c2b3e0 Remove long-obsolete docs
There are no traces of GDK_USE_XFT, GXID_HOST or GXID_PORT in the
code anymore.
2010-05-21 22:14:46 -04:00
Matthias Clasen
747c834f27 Document GSEAL_ENABLE with other preprocessor symbols. 2010-05-21 22:07:46 -04:00
Matthias Clasen
70e503e448 Convert to UTF-8 2010-05-21 20:49:41 -04:00
Matthias Clasen
eff1fe2500 Make the !xkb build survive a little longer
This fixes bug 619114.
2010-05-21 12:13:05 -04:00
Christian Dywan
82e27aede9 Explain that unmap-event may never be emitted
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=613302
2010-05-21 17:10:25 +02:00
Javier Jardón
280b01a8db Move documentation to inline comments: GtkRecentChooserDialog 2010-05-21 04:15:02 +02:00
Javier Jardón
98cee5e6e2 Move documentation to inline comments: GtkRecentChooserMenu 2010-05-21 03:19:02 +02:00
Javier Jardón
2f28e88dea Move documentation to inline comments: GtkRange 2010-05-21 03:09:43 +02:00
Didier Roche
6847407eda Fix fail to build when building with introspection:
in debian/ubuntu, builddir != srcdir. This trigger an error
on introspection_files where srcdir is added to x11/*.c.
Indeed, srcdir is added again later:
$(addprefix $(srcdir)/,$(introspection_files))
making $(srcdir)/$(srcdir)/x11/*.c (not an issue on jhbuild as srcdir = .)
2010-05-21 09:00:55 +10:00
Javier Jardón
ae8c4b8f7b [docs] Fix a typo in the tutorial
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=412331
2010-05-20 21:57:56 +02:00
Mattias Põldaru
04dc62cfe3 Estonian translation updated 2010-05-20 14:58:34 +03:00
Tristan Van Berkom
80ee7f793a Amending GtkBuildable documentation.
GtkBuildable documentation has forever stated that "only
objects which implement GtkBuildable can parsed by GtkBuilder" fixed.
2010-05-20 00:33:20 -04:00
Javier Jardón
68701c828c Move documentation to inline comments: GtkRadioButton 2010-05-20 00:42:50 +02:00
John (J5) Palmieri
85b53969b2 [PATCH] add the binding friendly join_group method to GtkRadioAction
* Due to object ownership issues it is impossible to correctly use
  get_group/set_group from a GI binding
* join_group is safer because at the binding level it works with individual
  GtkRadioAction objects and not with the list of objects that gets
  modified in the library
2010-05-19 15:16:46 -04:00
Matthias Clasen
c51f965782 Some cleanups after the module cache file change
Bring the various 'run uninstalled' hacks in line with the
new way of doing things, and fix make install for module cache
files.

Patch by Tadej Borovsak.
2010-05-18 19:23:06 -04:00
Javier Jardón
fac142c25a gtk/gtkobject: use G_DEFINE_ABSTRACT_TYPE 2010-05-18 18:21:18 +02:00
Javier Jardón
dfa9214681 Move documentation to inline comments: GtkRecentChooser 2010-05-18 18:16:35 +02:00
Murray Cumming
f54910cf86 GtkDebug: Remove a trailing comma on an enum. 2010-05-18 09:32:44 +02:00
Jan Arne Petersen
4704a239ac GtkRange: Redraw if GtkRange is a GtkScale and value is drawn.
* gtk/gtkrange.c: (gtk_range_adjustment_value_change):
Queue the draw also if the range is a scale and the value is drawn,
fixing bug #533946 (Markus Brinkmann), when two HScales use one
adjustment.
2010-05-18 08:51:01 +02:00
Matthias Clasen
735bee47be Let query utilities update the cache file directly
This is much more convenient for packagers than having to
redirect the output into the cache file, and much less error-prone.
2010-05-17 22:58:25 -04:00
Matthias Clasen
0b0f176ac4 Move the module cache files below libdir
These files contain architecture-dependent paths, and thus placing
them into sysconfdir causes unnecessary hassle. Now the immodule cache
file is looked for in libdir/gtk-3.0/3.0.0/immodules.cache, and the
pixbuf loader cache is looked for in libdir/gtk-3.0/3.0.0/loaders.cache.
2010-05-17 21:30:46 -04:00
Volker Grabsch
8a487aca2c Fix CAIRO_PREFIX for cross-build environments
configure.ac was using pkg-config instead of $PKG_CONFIG for this
prefix, leading to incorrect results in cross-build environments.

Bug 618870.
2010-05-17 19:00:02 -04:00
Thomas Thurman
3f96117903 Updated Shavian translation 2010-05-16 17:53:39 -04:00
Thomas Thurman
489085ca02 Updated Shavian translation 2010-05-16 17:53:39 -04:00
Andika Triwidada
fcbbbbf139 Updated Indonesian translation 2010-05-16 08:33:26 +07:00
Javier Jardón
98e773d93d Move documentation to inline comments: GtkSeparatorToolItem 2010-05-16 02:39:50 +02:00
Javier Jardón
19448b9712 Move documentation to inline comments: GtkPrinter 2010-05-16 02:11:16 +02:00
Javier Jardón
b00a09de11 Move documentation to inline comments: GtkTreeView drag-and-drop 2010-05-16 02:04:12 +02:00
Javier Jardón
56d7417fcc Move documentation to inline comments: GtkRecentChooserWidget 2010-05-16 01:58:06 +02:00
Javier Jardón
885b6d8a75 Move documentation to inline comments: GtkStyle 2010-05-16 01:37:36 +02:00
Javier Jardón
f121a502f9 Move documentation to inline comments: GtkSeparatorMenuItem 2010-05-16 00:40:11 +02:00
Javier Jardón
08bd42cf8d Move documentation to inline comments: GtkScaleButton 2010-05-16 00:32:05 +02:00
Javier Jardón
8e06ef4f63 Move documentation to inline comments: GtkRadioAction 2010-05-16 00:26:22 +02:00
Javier Jardón
bddf455874 Move documentation to inline comments: GtkRecentAction 2010-05-16 00:20:53 +02:00
Khaled Hosny
41f327051c Updated Arabic translation 2010-05-15 22:58:15 +03:00
Javier Jardón
b2f5af3fb0 Remove deprecated functions from GDK docs 2010-05-14 18:36:59 +02:00
Javier Jardón
618d15e991 Remove deprecated gdk_window_get_toplevels() function 2010-05-14 18:18:10 +02:00
Javier Jardón
dc83131c9b gdkwindow: Move includes to the beginning of the file 2010-05-14 17:28:37 +02:00
Tadej Borovšak
ff61948d13 Move documentation to inline comments: GdkWindow
Use examples/gdk to store documentation code examples.

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

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-05-14 17:11:51 +02:00
Luca Ferretti
47dd78a713 Updated Italian translation 2010-05-14 12:53:44 +02:00
Fran Diéguez
2cc6154571 Updated Galician translations 2010-05-14 09:47:29 +02:00
Javier Jardón
157d618d6b Move documentation to inline comments: GtkObject 2010-05-13 19:39:44 +02:00
Javier Jardón
3d481f735a Use ACLOCAL in autogen.sh 2010-05-13 17:11:12 +02:00
Javier Jardón
9e630dc17d Clean autotools configuration a bit
New requirements:
automake >= 1.10
libtool >= 2.2
2010-05-13 15:54:01 +02:00
Javier Jardón
1205012cb4 Fix doc generation: rename gdk-overrides.txt to gdk3-overrides
Also, remove unnneded *-overrides files
Patch by Tadej Borovšak
2010-05-13 05:02:59 +02:00
Javier Jardón
95bb12ee66 Move documentation to inline comments: GtkOrientable 2010-05-13 03:35:02 +02:00
Javier Jardón
8319585673 Move documentation to inline comments: GtkToggleAction 2010-05-13 03:23:30 +02:00
Javier Jardón
45434cc699 Move documentation to inline comments: GtkPageSetupUnixDialog 2010-05-13 01:26:10 +02:00
Javier Jardón
e59f1a64c1 Move documentation to inline comments: GtkSeparator 2010-05-13 01:26:09 +02:00
Javier Jardón
c4bb15a4f2 Move documentation to inline comments: GtkTextIter 2010-05-13 01:26:09 +02:00
Javier Jardón
c477b2fa0b Move documentation to inline comments: GtkToolItem 2010-05-13 01:26:09 +02:00
Thomas Thurman
f1ea0d127b Updated Shavian transliteration 2010-05-12 19:01:48 -04:00
Thomas Thurman
fd3c3dc981 Updated Shavian transliteration 2010-05-12 19:01:48 -04:00
Johan Dahlin
39f4b34e70 Merge commit 'origin' 2010-05-12 19:54:28 -03:00
Johan Dahlin
7b81420974 [GtkExtendedLayout] Add annotations
Add missing annotations for out values.
2010-05-12 19:53:43 -03:00
Johan Dahlin
a81f00ff33 [GtkWidget] Add annotations
Add a couple of out/inout annotations
2010-05-12 19:53:24 -03:00
Johan Dahlin
4bc3f99b6d [GtkWindow] Add annotations
Add introspection annotations for lists and functions with
multiple out values.
2010-05-12 19:51:55 -03:00
Matthias Clasen
006d5718fa Another attempt to handle pngs changing int types 2010-05-12 15:02:02 -04:00
Kristian Rietveld
f3fa17a16a Bug 565559 - Incorrect leave-notify signals for treeview
Set enter and leave notify mask on header window.

Extract from a patch by Hans van Hintum.
2010-05-12 12:15:48 +02:00
Paul Davis
aea9f1b6cf Remove arbitrary limit on number of redraw rectangles
The aim of this limit was to not degrade performance too much, however,
it actually did degrade performance to a large extent.
2010-05-12 12:11:40 +02:00
Manoj Kumar Giri
b82150c100 Updated Oriya Translation 2010-05-12 13:35:28 +05:30
Javier Jardón
2b64a7fd54 Remove some deprecated stuff from GdkWindow
Also, substitute the deprecated functions with the correct ones
2010-05-12 04:29:55 +02:00
Javier Jardón
c6a789998a Remove deprecated gdk_exit() function 2010-05-12 03:44:07 +02:00
Matthias Clasen
902628f593 Reset gail library versioning to 0.0.0, since we changed soname 2010-05-11 15:21:17 -04:00
Matthias Clasen
d8ceadaf3b Minor stylistic fix 2010-05-11 15:09:16 -04:00
Matthias Clasen
a376adbcea Try to fix up man page handling 2010-05-11 15:09:16 -04:00
Javier Jardón
d9bb439c89 Remove deprecated GtkObject macros
Remove GTK_OBJECT_TYPE() and GTK_OBJECT_TYPE_NAME(),
G_OBJECT_TYPE() and G_OBJECT_TYPE_NAME() should be used instead.
2010-05-11 17:01:36 +02:00
Caolán McNamara
37bb7ea2a0 Update list of US Letter locales
Sync paper size fallbacks with the latest 1.8.1 CLDR table (#618000).
2010-05-11 16:38:07 +02:00
Tor Lillqvist
e5c2c2e9fb More gtk3 file name changes 2010-05-11 17:14:57 +03:00
Matthias Clasen
20f3f9d9f2 One forgotten rename 2010-05-11 08:37:35 -04:00
Murray Cumming
4fe044b77d Fix typos in 2 gobject-introspection annotations. 2010-05-11 09:01:19 +02:00
Alan Knowles
ee357cf885 Fix various gir annotations on tree API
Just add (out) tags where needed to generate valid gir.
2010-05-11 13:40:15 +08:00
Sebastian Dröge
57a7079a30 Don't include __bss_start, _edata and _end symbols in the abichecks
They are added by the binutils gold linker.
2010-05-11 06:39:35 +02:00
Matthias Clasen
827ce1b1bf bump version 2010-05-11 00:28:33 -04:00
Matthias Clasen
48a3e5c074 2.90.0 2010-05-11 00:26:49 -04:00
Matthias Clasen
4ac165b59e Fix tests 2010-05-10 23:57:24 -04:00
Matthias Clasen
f08d244c05 Remove remnants of filechooser backend property 2010-05-10 23:43:49 -04:00
Matthias Clasen
78079e04d6 Fix abicheck scripts 2010-05-10 23:22:02 -04:00
Matthias Clasen
d379ece3e5 Updates 2010-05-10 22:22:09 -04:00
Matthias Clasen
7d7bb3c999 Updates 2010-05-10 20:45:21 -04:00
Matthias Clasen
2c13b36d75 Install gtk-demo as gtk3-demo 2010-05-10 20:06:10 -04:00
Matthias Clasen
c75bf0b2d3 More gail.pc renaming 2010-05-10 20:06:10 -04:00
Matthias Clasen
4b7e72b3a8 Make the docs parallel installable 2010-05-10 20:06:10 -04:00
Matthias Clasen
7f1f1c09ce Make gail parallel-installable too
Move libgail-util to libgail-util-3.0, and gail.pc to gail-3.0.pc
2010-05-10 20:06:10 -04:00
Javier Jardón
37b62be296 [tests] Move filechooser test files to correct location 2010-05-11 00:50:54 +02:00
Javier Jardón
0fd4db396b [tests] Remove GtkOptionmenu from gail tests 2010-05-11 00:02:37 +02:00
Jorge González
3c228d6064 Updated Spanish translation 2010-05-10 19:44:10 +02:00
Jorge González
2de0f57779 Updated Spanish translation 2010-05-10 19:27:42 +02:00
Jorge González
d83afa2ea1 Updated Spanish translation 2010-05-10 19:27:37 +02:00
Richard Hughes
3fc7f408ce Fix make dist after breaking it in my last commit 2010-05-10 17:56:00 +01:00
Tor Lillqvist
fecfebbf9c Update API version in file and directory names 2010-05-10 19:18:32 +03:00
Tor Lillqvist
bd439bb9f9 Update GtkApiVersion 2010-05-10 19:18:31 +03:00
Tor Lillqvist
40b56c2342 GtkCList is gone 2010-05-10 19:18:30 +03:00
Tor Lillqvist
a709056140 Don't use g_drag_context_ref 2010-05-10 19:18:29 +03:00
Richard Hughes
671db307cc Install gdk-pixbuf-xlib-3.0.so.0, although this might be nuked in the near future 2010-05-10 17:15:24 +01:00
Richard Hughes
e18eb24c1d Install the gail tests in /usr/lib/gtk-3.0/modules 2010-05-10 17:08:20 +01:00
Richard Hughes
cb115a65a6 Modify the gettext translation domain for the gtk3 rename 2010-05-10 15:47:47 +01:00
Matthias Clasen
a4d4b54a7d Add padding around the status icons
The amount of padding is determined by reading a _NET_SYSTEM_TRAY_PADDING
property off the manager window, in the same way that orientation and visual
are obtained.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-05-10 15:26:44 +01:00
Richard Hughes
88f41f10ad Change the location of the gdk-pixbuf.loaders for gtk3 ABI 2010-05-10 14:03:20 +01:00
Richard Hughes
c59bfed6dd Fix make distcheck 2010-05-10 12:07:01 +01:00
Bastien Nocera
4551509af1 Make it easy for apps to have dark themes
Some types of applications would benefit from having "dark" themes,
usually black backgrounds, such as:
* Movie players
* Photo management and display applications

To make it easy for those applications to prefer a dark theme,
we're adding the "gtk-application-prefer-dark-theme" GtkSetting, which
will make the theme loading code automatically look for a "gtkrc-dark"
file in the same directory you would usually find a gtkrc file.
the same name and a "-dark" suffix.

If no "-dark" gtkrc variant is available, the normal gtkrc will
be used.

https://bugzilla.gnome.org/show_bug.cgi?id=617955
2010-05-10 01:15:14 +01:00
Javier Jardón
b76557e944 [docs] Fix GdkColor description: blue and green colors are changed
Reported by César Themudo here:
https://bugzilla.gnome.org/show_bug.cgi?id=618162
2010-05-10 01:57:22 +02:00
Javier Jardón
7b2024c1bd Fix typo in gtkprintoperation
Reported by Andika Triwidada in
https://bugzilla.gnome.org/show_bug.cgi?id=618093
2010-05-08 16:36:38 +02:00
Matthias Clasen
41d36aef3c remove some deprecated parts from the docs 2010-05-08 01:46:02 -04:00
Matthias Clasen
7447ef0fc2 Make 3.0 parallel-installable to 2.x
In particular, rename

  - libraries to lib*-3.0.so
  - pc files to *-3.0.pc
  - include paths to /usr/include/gtk-3.0/*
  - module paths to /usr/lib/gtk-3.0/*
  - rc files names to gtk-3.0/gtkrc
  - commandline utilities to *-3.0
  - adjust documentation

Also change the install location for unix-print headers to
/usr/include/gtk-3.0/unix-print/gtk.
2010-05-08 01:18:53 -04:00
Matthias Clasen
51ddf0e1c9 Better tooltip positioning
Avoid the covering up the widget that you are tipping, as
far as possible. Bug 599618.
2010-05-07 23:28:07 -04:00
Richard Hughes
a473b593ff Remove links to code that no longer exists to fix make dist 2010-05-07 23:14:00 +01:00
Seán de Búrca
8c5dca4c5c Clear out removed deprecations from POTFILES 2010-05-07 15:23:03 -06:00
Richard Hughes
8c55aee54f Remove a missing include in one of the tests that broke the build from a fresh checkout 2010-05-07 21:37:35 +01:00
Khaled Hosny
a8f1512b92 Typo 2010-05-07 20:46:01 +03:00
Javier Jardón
46a841cadb [test] Fix floating test
The test was broken by commit e0969a13
2010-05-07 16:42:42 +02:00
Andika Triwidada
f2b40a1ff3 Updated Indonesian translation, 100% as of 20100507 2010-05-07 15:22:19 +07:00
Andika Triwidada
2ace72c1f8 Updated Indonesian translation 2010-05-07 15:19:36 +07:00
Martin Nordholts
ccc53b9a45 Rename configure.in to configure.ac
In the autoconf manual the recomended name for the autoconf input file
is configure.ac and not configure.in. Follow this recomendation.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=598768
2010-05-07 10:07:23 +02:00
Javier Jardón
3781b24476 [test] Do not test deprecated GtkText 2010-05-07 09:26:36 +02:00
Javier Jardón
291ead9105 Reintroduce gtk_progress_* api in gtk.symbols
This api is deprecated but GtkToolBar still uses it
2010-05-07 09:24:34 +02:00
Javier Jardón
9aabc1b1a7 Remove deprecated functions from GtkProgressBar 2010-05-07 09:10:52 +02:00
Matthias Clasen
2f6b88ff48 Clean up docs, disable testtext for now. 2010-05-07 00:04:57 -04:00
Matthias Clasen
77d4d3cdae Merge branch 'gtk-2-90'
Conflicts:
	gtk/gtkentry.h
2010-05-06 22:55:02 -04:00
John (J5) Palmieri
b3e0e25d65 [GtkRadioAction] fix annotation _set_group, _get_group
* should be element-type GtkRadioAction not GtkAction
2010-05-06 17:30:03 -04:00
Colin Walters
14fef0abba [GtkRadioAction] Annotate _set_group 2010-05-06 16:58:36 -04:00
Javier Jardón
713f2b638e Use event instead key in the previous patch 2010-05-05 04:06:17 +02:00
Javier Jardón
7692a427a6 Added api to reset the im context in GtkTextView and GtkEntry
Also, added api to allow an input method to internally handle
key press and release events in the GtkTextView and GtkEntry
cases.
This is simply a wrapper to the gtk_im_context_filter_keypress()
function, but It's added to not access the ->im_context
directly.
Based on a Christian Dywan patch

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=163251
2010-05-05 03:14:28 +02:00
Matthias Clasen
8a4528eb2a Fix a problem with marks on vertical scales 2010-05-04 20:33:21 -04:00
Javier Jardón
a141c35271 Remove the definition of libpixbufloader_gdip_png_la_*
libstatic-pixbufloader-gdip-png.la should not be built or at least not
included in STATIC_GDIPLUS_LIBS as we don't want to use the GDI+-based
loader for PNG, because if we do, we can't get (or was it set?) the
options of a PNG pixbuf that for instance some code in GIMP wants to do.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=607839
2010-05-04 16:07:51 +02:00
Danielle Madeley
227d59c190 Expose visible() and modify() as vcalls in class
This makes it possible to create filter subclasses by implementing the vcalls.
You can optionally chain up to the parent class' implementation, to make it
possible to have "your filter + additional custom filtering".

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604150
2010-05-04 03:42:22 +02:00
Javier Jardón
64812ce662 Added an extra validation in gdk_pixbuf_loader_set_size()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=380196
2010-05-04 00:39:46 +02:00
Wouter Bolsterlee
4fb6b9d579 Dutch translation updated by Wouter Bolsterlee 2010-05-03 23:35:18 +02:00
Javier Jardón
c1d36af3e8 Do not use C99 constant INFINITY
Use G_MAXDOUBLE instead
2010-05-03 22:47:21 +02:00
Benjamin Otte
ba3e997dae Make toolbutton not call functions on non-GtkMisc 2010-05-03 20:20:44 +02:00
John (J5) Palmieri
33194ff5f4 add a get_indices_with_depth method to GtkTreePath with proper GI array annotations
* get_indices does not return a length so we can not annotate it to return an
  array in bindings that use GObject Introspection
* this method is the same as get_indices except it takes an int * as the depth
  parameter which we can then use in the array annotation
* in C this function returns an integer pointer array and updates depth to the
  number of integers in the array
* in a GI binding this returns the native array type for the bound language
  (e.g. in PyGI this returns a list of integers)
2010-05-03 12:47:38 -04:00
Tor Lillqvist
5098f34234 Update the Makefile for scribble-xinput
Don't use GTK_DISABLE_DEPRECATED as scribble-xinput does use
deprecated API. Also, make the CC command line more canonical.
2010-05-03 13:49:16 +03:00
Matthias Clasen
0eaa177210 Updates 2010-05-02 23:00:55 -04:00
Javier Jardón
bcfc53066a tests: Too many arguments in call to 'create_menu' 2010-05-03 02:59:35 +02:00
Javier Jardón
0de8601327 Use accessor functions to access GtkLabel variables 2010-05-03 01:51:23 +02:00
Javier Jardón
901105766e Do not use deprecated GtkNoteBook api in testgtk 2010-05-03 01:51:23 +02:00
Javier Jardón
7065c566a3 Remove deprecated GtkProgress functionality from testgtk 2010-05-03 01:51:23 +02:00
Javier Jardón
0e79972d24 Remove GtkTreeItem completely 2010-05-03 01:51:23 +02:00
Javier Jardón
d7786d4a9e Remove GtkTree completely 2010-05-03 01:51:23 +02:00
Javier Jardón
0669d8d6e9 Remove GtkText completely 2010-05-03 01:51:23 +02:00
Javier Jardón
c77c69502c Restore non-deprecated GtkToolbar functions in gtk.symbols
The functions gtk_toolbar_set_icon_size() and
gtk_toolbar_unset_icon_size() are not deprecated
2010-05-03 01:51:23 +02:00
Javier Jardón
9a4e3371e2 Remove GtkTooltips completely 2010-05-03 01:51:23 +02:00
Javier Jardón
3d6b45f7d2 Remove GtkOptionMenu completely 2010-05-03 01:51:23 +02:00
Javier Jardón
6f3d152bee Remove all gtk_marshal_* functions from the gtk.symbols 2010-05-03 01:51:23 +02:00
Javier Jardón
2c2726f818 Port testtreeview to new API
Use GtkComboBox instead the deprecated GtkOptionMenu

https://bugzilla.gnome.org/show_bug.cgi?id=616679
2010-05-03 01:51:23 +02:00
Javier Jardón
623966b6da Remove all gtk_draw_* deprecated functions completely 2010-05-03 01:51:23 +02:00
Javier Jardón
eb3efdf242 Remove gtk_color_selection_set_update_policy() completely 2010-05-03 01:51:23 +02:00
Christian Dywan
765882ce9a Declare random item correctly in stresstest-toolbar 2010-05-03 01:51:23 +02:00
Christian Dywan
b4188f876f Use GtkComboBox, GtkOrientable and no GtkObject in testtoolbar 2010-05-03 01:51:23 +02:00
Christian Dywan
7ccd787f04 Don't set child-min-width/ height in the button box test
This is not a property. The feature was removed.
2010-05-03 01:51:23 +02:00
Christian Dywan
786b5774e3 Revert accidental removal of book pixmap strings 2010-05-03 01:51:23 +02:00
Christian Dywan
09c84a006f Remove unused dump_accels() function from testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
0c0976be1d Remove GtkTipsQuery demo from testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
1dabde28ac Don't use gtk_widget_set_uposition/size in testgtk
Use gtk_window_move and gtk_widget_set_size_request instead.
2010-05-03 01:51:22 +02:00
Christian Dywan
646b417c20 Remove unused text helper functions from testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
6536ad7299 Use new 2.14 GtkColorSelection API in testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
eaf3ccfba0 Replace GtkFileSelection with GtkFileChooser in testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
c30e1865d8 Use GtkComboBoxEntry for the display list in testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
36c3426efb Use GtkComboBoxEntry in entry test in testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
81c8fcb72b Declare book_open/closed_xpm in testgtk notebook 2010-05-03 01:51:22 +02:00
Christian Dywan
a927f1f17d Remove item factory test from testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
298f1ea9f6 Use "activate" rather than "clicked" for menu items 2010-05-03 01:51:22 +02:00
Christian Dywan
187e49992d Use GtkComboBox instead of GtkCombo in testsocket 2010-05-03 01:51:22 +02:00
Christian Dywan
464eeda24c Don't use GtkItemFactory in testsocket 2010-05-03 01:51:22 +02:00
Christian Dywan
44af4852ee Replace GtkText in testselection with GtkTextView 2010-05-03 01:51:22 +02:00
Christian Dywan
e0602fd6a8 Remove obsolete GtkText test from testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
2f70bb98cb Remove obsolete GtkTree test from testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
1eefd43961 Use an array and new toolbar API in testgtk 2010-05-03 01:51:22 +02:00
Christian Dywan
b8727e11fd Replace option menu with combo box in testoffscreen 2010-05-03 01:51:22 +02:00
Christian Dywan
274395063a Replace option menus in testgtk with combo boxes 2010-05-03 01:51:22 +02:00
Christian Dywan
63131903ad Use new progress bar API in testgtk progress test 2010-05-03 01:51:22 +02:00
Christian Dywan
3b721ea9c9 Use a tree view in testgtk selection target test 2010-05-03 01:51:21 +02:00
Javier Jardón
9fa9d792a8 Remove GTK_WIDGET_* macros 2010-05-03 01:51:21 +02:00
Javier Jardón
ffd80c80c9 Remove gtk_fixed_get_has_window() and gtk_fixed_set_has_window() 2010-05-03 01:51:21 +02:00
Javier Jardón
55e3fa8d34 Remove GtkCtree documentation 2010-05-03 01:51:21 +02:00
Javier Jardón
32697682cc Remove GtkOldEditable completely 2010-05-03 01:51:21 +02:00
Javier Jardón
e850958c56 Remove GtkOptionMenu tests 2010-05-03 01:51:21 +02:00
Javier Jardón
6927a24df4 Restore gtk_paned_get_handle_window() 2010-05-03 01:51:21 +02:00
Javier Jardón
244ed9aec7 Restore gtk_entry_get_icon_window() again 2010-05-03 01:51:21 +02:00
Christian Dywan
4019007ceb Remove GtkSideType, GtkMatchType, GtkPreviewType and GtkSignalRunType 2010-05-03 01:51:21 +02:00
Christian Dywan
c742482d48 Remove GtkType legacy API and type definitions 2010-05-03 01:51:21 +02:00
Christian Dywan
e8f1a3ccf0 Remove deprecated GtkTooltips 2010-05-03 01:51:21 +02:00
Christian Dywan
e0969a1327 Remove GtkObject floating, weak, arg and user data handling 2010-05-03 01:51:21 +02:00
Christian Dywan
729d4c3624 Look for accessible file chooser dialogue instead of file selection 2010-05-03 01:51:21 +02:00
Christian Dywan
6179e0e8a7 Remove obsolete GtkOptionMenu test case from Gail tests 2010-05-03 01:51:21 +02:00
Christian Dywan
6216ce2dfd Remove uses of GtkCombo and gtk_widget_set_uposition in Gail 2010-05-03 01:51:21 +02:00
Javier Jardón
e84a330f5a Cleaning gtk-symbols file
Remove some already removed symbols
2010-05-03 01:51:21 +02:00
Javier Jardón
8424256a39 [gdk] Remove gdki18n.h completely 2010-05-03 01:51:21 +02:00
Javier Jardón
b7bc5331fa [gdk/directfb] Remove deprecated gdkdirectfb stuff 2010-05-03 01:51:20 +02:00
Javier Jardón
d3fc78bfb6 [gtk/gtktoolitem] Remove deprecated GtkToolItem stuff
This completes 221dcb6955cb89d1f89e71f442fc4c42fb76fcf3
2010-05-03 01:51:20 +02:00
Javier Jardón
04a548a463 Removed a call to a recently removed test function
The function was a test of the deprecated GtkList
2010-05-03 01:51:20 +02:00
Javier Jardón
697eeee7c2 Don't use direct accessors to GtkAccelLabel in gail module 2010-05-03 01:51:20 +02:00
Javier Jardón
f39f644fb2 Move GtkAccelGroup private structure to shared header file
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=602174
2010-05-03 01:51:20 +02:00
Javier Jardón
341d8605b6 [gdk] Remove deprecated GdkRGB stuff 2010-05-03 01:51:20 +02:00
Javier Jardón
81d1e2ca76 [gdk] Remove deprecated GdkVisual stuff 2010-05-03 01:51:20 +02:00
Javier Jardón
ce340e3b62 [gdk] Remove deprecated gdktypes stuff. 2010-05-03 01:51:20 +02:00
Javier Jardón
4a70b282de [gdk] Remove deprecated GdkSelection stuff. 2010-05-03 01:51:20 +02:00
Javier Jardón
6281645cbb Remove deprecated GtkMenu stuff.
Also, substitute the deprecated functions with the new ones in
documentation.
2010-05-03 01:51:20 +02:00
Javier Jardón
74e6844488 Remove GtkCurve completely 2010-05-03 01:51:20 +02:00
Javier Jardón
d97ca04f5b Remove GtkGammaCurve completely 2010-05-03 01:51:20 +02:00
Javier Jardón
a86b5ad47b Remove gtk_toggle_button_set_state() documentation 2010-05-03 01:51:20 +02:00
Javier Jardón
caca8a9696 Remove gtk_toggle_button_set_state() from GtkToggleButton 2010-05-03 01:51:20 +02:00
Javier Jardón
4325501301 Substitute deprecated function
Use gtk_editable_set_editable() instead gtk_entry_set_editable()
2010-05-03 01:51:20 +02:00
Javier Jardón
e45d8f557a Remove unused variable
'default_spacing' is not used anymore
2010-05-03 01:51:20 +02:00
Javier Jardón
73b066814b Remove unused function
gtk_container_foreach_unmarshal() is not used anymore.
2010-05-03 01:51:19 +02:00
Javier Jardón
00d3d8516b Fix compilation warning: cast to GTK_WIDGET 2010-05-03 01:51:19 +02:00
Javier Jardón
6389f13ea5 Fix compilation error
Substitute gtk_menu_bar_append() deprecated function by
gtk_menu_shell_append() and cast to correct type
2010-05-03 01:51:19 +02:00
Javier Jardón
a27da3239e Use gtk_label_get_text() instead direct access 2010-05-03 01:51:19 +02:00
Javier Jardón
2c774ffdcd Substitute deprecated stuff from GtkContainer in documentation 2010-05-03 01:51:19 +02:00
Javier Jardón
8d9e37f407 Remove all deprecated stuff from GtkContainer 2010-05-03 01:51:19 +02:00
Christian Dywan
72323e6d9a Do not use lock_count of GtkAccelGroup directly in GtkWidget 2010-05-03 01:51:19 +02:00
Christian Dywan
4045b71824 Remove old GtkToolbar compatibility API 2010-05-03 01:51:19 +02:00
Christian Dywan
2d84d88539 Remove internal GtkNotebook tab homogeneousnes and border helpers 2010-05-03 01:51:19 +02:00
Christian Dywan
8d3814f044 Do not use lock_count of GtkAccelGroup directly in GtkMenu 2010-05-03 01:51:19 +02:00
Christian Dywan
059c22c3b2 Add and use internal accessor for accelerables in GtkAccelGroup 2010-05-03 01:51:19 +02:00
Christian Dywan
a13d2c200b Remove obsolete helper function gtk_rc_add_rc_sets 2010-05-03 01:51:18 +02:00
Cody Russell
5959005fad Use gtk_accel_grouop_get_is_locked() rather than trying to access group->lock_count. 2010-05-03 01:51:18 +02:00
Cody Russell
0779d0a37e Move GSEAL'd members of GtkAccelLabel into private struct. 2010-05-03 01:51:18 +02:00
Cody Russell
3c8c4004b6 Move GSEAL'd members of GtkAccelGroup into private struct 2010-05-03 01:51:18 +02:00
Cody Russell
bcb663096d Remove unnecessary casting 2010-05-03 01:51:18 +02:00
Cody Russell
ba128ceab2 Fix GtkAboutDialog to stop using GSEAL'd members of GtkDialog 2010-05-03 01:51:18 +02:00
Cody Russell
03849dd358 Unseal GtkAboutDialog's private_data member, convert from gpointer to GtkAboutDialogPrivate 2010-05-03 01:51:18 +02:00
Javier Jardón
fb88f34e06 Remove remaining deprecated GtkInputDialog stuff 2010-05-03 01:51:18 +02:00
Javier Jardón
8d38057de5 Remove deprecated GtkEntry stuff from docs and tutorial.
Also, substitue the deprecated functions with the new ones in
documentation and in tests code
2010-05-03 01:51:18 +02:00
Javier Jardón
20342702f4 Remove gtkmain stuff from docs and tutorial.
Also, substitue the deprecated functions with the new ones in
documentation and in tests code
2010-05-03 01:51:18 +02:00
Michael Natterer
f7813125bb Remove all deprecated stuff from gtkmain 2010-05-03 01:51:18 +02:00
Michael Natterer
f25e1b0a47 Remove the deprecated gtkmarshal.* entirely 2010-05-03 01:51:18 +02:00
Michael Natterer
5e29973773 Remove all traces of GDK_PIXBUF/GTK_DISABLE_SINGLE_INCLUDES
...and disallow inclusion of individual files unconditionally.
2010-05-03 01:51:18 +02:00
Christian Dywan
90d514a8a5 Remove deprecated GtkEntry functions 2010-05-03 01:51:18 +02:00
Christian Dywan
2fafb74105 Force shooter process updates to match gtk_widget_draw closely 2010-05-03 01:51:17 +02:00
Christian Dywan
d72b1e35c9 Use GtkComboBox in the property editor code 2010-05-03 01:51:17 +02:00
Christian Dywan
46b170ba0e Don't use GtkInputDialog in testinput 2010-05-03 01:51:17 +02:00
Christian Dywan
5995cdb370 Use gtk_widget_queue_draw_area instead of gtk_widget_draw in shooter 2010-05-03 01:51:17 +02:00
Christian Dywan
b2b6bb17ac Remove GtkInputDialog completely 2010-05-03 01:51:17 +02:00
Christian Dywan
bab775e087 Deprecate GtkInputDialog
Deprecate the widget and adjust the documentation.

https://bugzilla.gnome.org/show_bug.cgi?id=594903
2010-05-03 01:51:17 +02:00
Christian Dywan
77ff51b0c0 Remove GailPixmap completely 2010-05-03 01:51:17 +02:00
Christian Dywan
575d3ffa83 Include gtkspinner.h in GtkStyle 2010-05-03 01:51:17 +02:00
Javier Jardón
1e8fa9354a Remove GtkPixmap completely 2010-05-03 01:51:17 +02:00
Javier Jardón
e031c4f54a Remove GtkSignal completely 2010-05-03 01:51:17 +02:00
Javier Jardón
d98aeeff45 Ops, enable GtkInputDialog again 2010-05-03 01:51:17 +02:00
Javier Jardón
86eee0258e Revert a still used variable in GtkHButtonBox 2010-05-03 01:51:17 +02:00
Javier Jardón
c9251c99e7 Remove deprecated code: GtkHButtonBox 2010-05-03 01:51:17 +02:00
Javier Jardón
c3991cf024 Remove remaining GtkVButtonBox deprecated documentation
This completes commit d6cbe4caeb97ef92db3feebacce85004928b904b
2010-05-03 01:51:17 +02:00
Javier Jardón
48efe2ca80 Remove remaining GtkWindow deprecated documentation
This completes commit d853fb05ea904acb9cc60d740b151c0a2bced0b8
2010-05-03 01:49:50 +02:00
Javier Jardón
e606a4ec2a Remove remaining GtkWindow deprecated documentation
This completes commit 89e3ec8c3d766c333f6e67764ebd7633d61e21cd
2010-05-03 01:49:50 +02:00
Javier Jardón
123830b133 Remove remaining GtkTreeViewColumn deprecated documentation
This completes commit a6e692b057569960d2a2368c59c1e40fc31571cc
2010-05-03 01:49:50 +02:00
Javier Jardón
0fa70d014a Remove remaining GtkGtkCellRenderer deprecated documentation
This completes commit 31a0825a5709b81916c5b6ece59400dda083f10a
2010-05-03 01:49:50 +02:00
Javier Jardón
2ec9cb9ca6 Remove remaining GtkAction deprecated documentation
This completes commit 35570ed56eb94b7a05f63daed0ca2bf2c320a8bc
2010-05-03 01:49:50 +02:00
Javier Jardón
858d4fb007 Remove remaining GtkButtonBox deprecated stuff
This completes commit b1b986cc604bffd924a13fbcb180dd234a0b8d14
2010-05-03 01:49:40 +02:00
Javier Jardón
3b696774fc Remove deprecated code: GdkPixbuf 2010-05-03 01:49:25 +02:00
Javier Jardón
740a1007eb Remove remaining GtkContainer deprecated stuff
This completes commit 600216daac6df8deb0cdc042fc27f07a9c5c7c27
2010-05-03 01:49:25 +02:00
Javier Jardón
668e9eaabb Remove deprecated code: GdkPixbufAnimation 2010-05-03 01:48:45 +02:00
Javier Jardón
fead8cd49a Remove deprecated code: GtkLabel 2010-05-03 01:48:45 +02:00
Javier Jardón
b5917e7a6f Remove deprecated code: GtkFileChooserButton 2010-05-03 01:48:45 +02:00
Javier Jardón
bf49830f07 Remove deprecated code: GtkRadioButton 2010-05-03 01:48:45 +02:00
Javier Jardón
9e30bf3d60 Remove deprecated code: GtkPaned 2010-05-03 01:48:45 +02:00
Javier Jardón
3e9fac395a Remove deprecated code: GtkAccelLabel 2010-05-03 01:48:45 +02:00
Javier Jardón
c9dae4c600 Remove deprecated code: GtkCheckMenuItem 2010-05-03 01:48:45 +02:00
Javier Jardón
51079eb1ba Remove deprecated GtkAccelGroup documentation references 2010-05-03 01:48:45 +02:00
Javier Jardón
73111cd295 Remove deprecated GtkAccelGroup functions 2010-05-03 01:48:45 +02:00
Javier Jardón
3d3fb6edc6 Remove deprecated code from GdkPango 2010-05-03 01:48:45 +02:00
Javier Jardón
906a510007 Remove deprecated code from GdkImage 2010-05-03 01:48:45 +02:00
Javier Jardón
7894951cee Remove deprecated code from GdkEvent 2010-05-03 01:48:45 +02:00
Javier Jardón
8c46ef830b Remove deprecated code from GdkDnd 2010-05-03 01:45:00 +02:00
Javier Jardón
e53a1ad236 Remove deprecated code from GdkCursor 2010-05-03 01:45:00 +02:00
Javier Jardón
134690ed8f Remove deprecated code from GdkGc 2010-05-03 01:45:00 +02:00
Javier Jardón
b9b8efc528 Remove deprecated code from GdkPixmap 2010-05-03 01:45:00 +02:00
Javier Jardón
92e5d321d6 Remove deprecated code from GdkPixbuf 2010-05-03 01:45:00 +02:00
Javier Jardón
3d4c434659 Remove deprecated GtkHButtonBox functions and macros 2010-05-03 01:45:00 +02:00
Javier Jardón
5ed56120a6 Remove deprecated GtkVButtonBox functions 2010-05-03 01:42:37 +02:00
Javier Jardón
0d322676dc Remove deprecated GtkWidget functions 2010-05-03 01:41:37 +02:00
Javier Jardón
2b71ef33fb Remove deprecated GtkWindow function 2010-05-03 01:41:37 +02:00
Javier Jardón
55d5ce88ec Remove deprecated GtkTreeViewColumn functions 2010-05-03 01:41:37 +02:00
Javier Jardón
0a6557d721 Remove deprecated GtkCellRenderer function 2010-05-03 01:41:37 +02:00
Javier Jardón
c1182debd0 Remove deprecated GtkAction functions 2010-05-03 01:41:37 +02:00
Christian Dywan
ed60f1e5ad Update gtk.symbols according to removed symbols 2010-05-03 01:41:36 +02:00
Christian Dywan
014b05e6bd Don't use gtk_socket_steal in the socket test 2010-05-03 01:41:36 +02:00
Christian Dywan
6f5b7bad3a Don't use old toolbar API in toolbar stress test 2010-05-03 01:41:36 +02:00
Christian Dywan
43ed74c5cd Remove deprecated GtkCellView function 2010-05-03 01:41:36 +02:00
Christian Dywan
e641742ca0 Omit removed classes from GTK makefile 2010-05-03 01:41:36 +02:00
Christian Dywan
161e1b6916 Don't include deprecated classes in gtk.h 2010-05-03 01:40:42 +02:00
Christian Dywan
97fbd32684 Remove deprecated GtkRecentChooser functions 2010-05-03 01:40:42 +02:00
Christian Dywan
1261b3173d Remove GtkOptionMenu completely 2010-05-03 01:40:42 +02:00
Christian Dywan
5f3178a87a Remove GtkTipsQuery completely 2010-05-03 01:40:42 +02:00
Christian Dywan
42eb2aa930 Omit removed classes from Gail makefile 2010-05-03 01:40:42 +02:00
Christian Dywan
c44295f58c Remove GailOptionMenu completely 2010-05-03 01:40:42 +02:00
Christian Dywan
5e686c5ec3 Remove GailCombo completely 2010-05-03 01:40:41 +02:00
Christian Dywan
754647ddd3 Remove GailList completely 2010-05-03 01:40:41 +02:00
Christian Dywan
6a7a138855 Remove GailCListCell completely 2010-05-03 01:40:41 +02:00
Christian Dywan
c1df0965d9 Remove GailCList completely 2010-05-03 01:40:41 +02:00
Christian Dywan
d7c1242a4f Don't use deprecated classes in Gail 2010-05-03 01:40:41 +02:00
Christian Dywan
e5c56b7c0f Remove GtkText completely 2010-05-03 01:40:41 +02:00
Christian Dywan
528e74a481 Remove GtkPreview completely 2010-05-03 01:40:41 +02:00
Christian Dywan
a8ecd09852 Remove GtkListItem completely 2010-05-03 01:40:41 +02:00
Christian Dywan
bb475d5d2e Remove deprecated GtkStatusIcon functions 2010-05-03 01:40:41 +02:00
Christian Dywan
61a294d820 Remove deprecated GtkSocket functions 2010-05-03 01:40:41 +02:00
Christian Dywan
2da9103e0c Remove deprecated GtkScaleButton functions 2010-05-03 01:40:41 +02:00
Christian Dywan
032b38ccfd Remove deprecated GtkRecentManager functions 2010-05-03 01:40:41 +02:00
Christian Dywan
d21bf0c1ec Remove deprecated GtkFileChooser functions 2010-05-03 01:40:41 +02:00
Christian Dywan
07501cf02e Remove GtkOldEditable completely 2010-05-03 01:40:41 +02:00
Christian Dywan
49ec071c59 Remove GtkFileSelection completely 2010-05-03 01:40:41 +02:00
Christian Dywan
2d763d3430 Remove GtkList completely 2010-05-03 01:40:41 +02:00
Christian Dywan
dc21c8ef06 Remove deprecated GtkToolItem functions 2010-05-03 01:40:41 +02:00
Christian Dywan
aa21bd702f Remove deprecated GtkColorSelection functions 2010-05-03 01:40:41 +02:00
Christian Dywan
d974436aec Remove deprecated GtkFontSelection(Dialog) functions 2010-05-03 01:40:41 +02:00
Christian Dywan
d2468351ca Remove deprecated GtkSpinButton function (macro) 2010-05-03 01:40:40 +02:00
Christian Dywan
474529e2c0 Remove GtkItemFactory completely 2010-05-03 01:40:40 +02:00
Christian Dywan
ea36fff086 Remove GtkCombo completely 2010-05-03 01:40:40 +02:00
Christian Dywan
b653f66b05 Remove GtkCList completely 2010-05-03 01:40:40 +02:00
Christian Dywan
f210f816ca Remove GtkCTree completely 2010-05-03 01:40:40 +02:00
Christian Dywan
f3ea5702ab Remove GtkTreeItem completely 2010-05-03 01:40:40 +02:00
Christian Dywan
b0149a9f3f Remove GtkTree completely 2010-05-03 01:40:40 +02:00
Christian Dywan
5c3b5ecfce Remove deprecated/ broken types from the default value test 2010-05-03 01:40:40 +02:00
Christian Dywan
16011da879 Remove some deprecated functions from GtkWidget 2010-05-03 01:40:40 +02:00
Christian Dywan
6513947473 Prefix gtk_selection_clear with an underscore 2010-05-03 01:39:50 +02:00
Christian Dywan
a42886d81d Remove GtkCList, GtkCTree, GtkFileSelection and GtkPreeview tests 2010-05-03 01:39:50 +02:00
Christian Dywan
8ac9a0e67f Remove deprecated GtkStyle functions 2010-05-03 01:39:50 +02:00
Christian Dywan
165fd5903f Remove deprecated GtkToolbar functions 2010-05-03 01:39:50 +02:00
Christian Dywan
7d3dbb9532 Remove deprecated GtkMenuBar functions (macros) 2010-05-03 01:39:50 +02:00
Christian Dywan
956a5c47ed Remove deprecated GtkRcStyle functions 2010-05-03 01:39:50 +02:00
Christian Dywan
2e1b3abad3 Remove deprecated GtkRadioMenuItem function (macro) 2010-05-03 01:39:50 +02:00
Christian Dywan
11e97600f0 Remove deprecated GtkTreeView functions 2010-05-03 01:39:50 +02:00
Christian Dywan
b7eed8cbff Remove deprecated GtkMenuToolButton function 2010-05-03 01:39:50 +02:00
Christian Dywan
7e67ec8414 Remove deprecated GtkTreeModel functions (macros) 2010-05-03 01:39:50 +02:00
Christian Dywan
c4b3b13f9d Remove deprecated GtkNotebook functions 2010-05-03 01:39:50 +02:00
Christian Dywan
025eebb49d Remove deprecated GtkMenuItem function 2010-05-03 01:39:49 +02:00
Christian Dywan
2f1a59c0f2 Remove deprecated GtkLayout functions 2010-05-03 01:39:49 +02:00
Christian Dywan
7fd68866fe Remove deprecated GtkImage functions 2010-05-03 01:39:49 +02:00
Christian Dywan
605705fd6b Remove deprecated gtk_drag_set_default_icon 2010-05-03 01:39:49 +02:00
Christian Dywan
2eb26d68f6 Remove deprecated function from GtkDrawingArea 2010-05-03 01:39:49 +02:00
Christian Dywan
304f36b587 Remove deprecated functions from GtkCalendar 2010-05-03 01:39:49 +02:00
Christian Dywan
0d7d1ae8dc Remove deprecated functions from GtkBox 2010-05-03 01:39:49 +02:00
Christian Dywan
de29ee15c6 Remove deprecated gtk_binding_entry functions 2010-05-03 01:39:49 +02:00
Christian Dywan
5a33eb8d67 Remove deprecated functions from GtkAboutDialog 2010-05-03 01:39:49 +02:00
Reşat SABIQ
dc00452d34 Updated Crimean Tatar (Crimean Turkish) translation 2010-05-02 14:07:17 -05:00
Reşat SABIQ
0a05a199c4 Updated Crimean Tatar (Crimean Turkish) translation 2010-05-02 14:07:16 -05:00
Benjamin Otte
b08a6750dc filechooser: Fix a crash when removing files
The file removal code was not properly clearing the file=>array index
cache, so later lookups into that cache would return invalid array
indexes.

The easiest way to reproduce it is to create a directory with two files
and deleting both of them.

Reported-by: Javier Jardón <jjardon@gnome.org>
2010-05-02 14:34:43 +02:00
Matthias Clasen
4cf9ac5b4d Add a frame to the examples 2010-05-01 21:40:44 -04:00
Matthias Clasen
1782151092 Doc fixes
Correct some Since tags.
2010-05-01 21:40:43 -04:00
Matthias Clasen
201635a203 Fix doc typos 2010-05-01 21:40:43 -04:00
Matthias Clasen
82647f274c Integrate GtkExtendedLayout docs 2010-05-01 21:40:43 -04:00
Fran Diéguez
89a645108d Updated Galician translation 2010-05-02 00:17:01 +02:00
Fran Diéguez
f3b2632731 Updated Galician translation 2010-05-02 00:10:08 +02:00
Kjartan Maraas
c2ef54fa5f Updated Norwegian bokmål translation 2010-05-01 17:06:26 +02:00
Javier Jardón
1cf85176e4 Add gtk_extended_layout_get_desired_size() to gtk.symbols 2010-05-01 16:04:51 +02:00
Javier Jardón
0d85671bc9 Fix some compilation warnings 2010-05-01 03:52:03 +02:00
Matthias Clasen
db76c77b81 Merge branch 'native-layout-incubator'
Conflicts:
	configure.in
	docs/reference/gtk/tmpl/gtkaction.sgml
	docs/reference/gtk/tmpl/gtkbuilder.sgml
	gdk/directfb/gdkkeys-directfb.c
	gdk/gdk.symbols
	gdk/x11/gdkwindow-x11.c
	gtk/gtkalignment.c
	gtk/gtkbox.c
	gtk/gtkbutton.c
	gtk/gtkcelleditable.c
	gtk/gtkfilechooser.c
	gtk/gtkframe.c
	gtk/gtkinvisible.c
	gtk/gtklabel.c
	gtk/gtkscrolledwindow.c
	gtk/gtksearchenginetracker.c
	gtk/gtktextview.c
	gtk/gtktoolbutton.c
	gtk/gtktooltip.c
	gtk/gtkviewport.c
	gtk/gtkwidget.c
	gtk/gtkwindow.c
	po-properties/ca@valencia.po
	po-properties/es.po
	po-properties/kn.po
	po-properties/mr.po
	po/ca.po
	po/ca@valencia.po
	po/el.po
	po/es.po
	po/gl.po
	po/id.po
	po/kn.po
	po/lv.po
	po/mr.po
	po/th.po
2010-04-30 17:56:50 -04:00
Jorge González
6ea712fe09 Updated Spanish translation 2010-04-30 07:56:20 +02:00
Jorge González
e50c6e5837 Updated Spanish translation 2010-04-30 07:56:15 +02:00
Matthias Clasen
fc1450d55d Set an appropriate title on the folder selection dialog for print-to-file 2010-04-29 17:14:14 -04:00
Matthias Clasen
556531b16f Get symbolic colors for statusicons from systray
Uses the X property _NET_SYSTEM_TRAY_COLORS.
2010-04-29 17:01:25 -04:00
Matthias Clasen
1335275548 Add a way to set symbolic colors per-widget
The new function, gtk_widget_modify_symbolic_color() is similar
in spirit to the other gtk_widget_modify_ functions.
2010-04-29 17:01:25 -04:00
Tadej Borovšak
be3a1abc04 Move documentation to inline comments: GtkBuilder
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611742

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-28 18:41:34 +02:00
Tadej Borovšak
d6bc1a99dc Move documentation to inline comments: GtkButtonBox
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=612349

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-28 18:41:34 +02:00
Tadej Borovšak
ef4e7b2473 Move documentation to inline comments: GtkBox
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611742

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-28 18:41:33 +02:00
Javier Jardón
fa3bb041eb Fix <ulink> tag in previous commit 2010-04-28 18:41:33 +02:00
Matthias Clasen
3833ef5c35 Fix the build 2010-04-28 11:17:30 -04:00
Matthias Clasen
b3dd3a89d3 Formatting tweaks 2010-04-28 11:15:15 -04:00
Matthias Clasen
5d5d93e624 Make the docs build
Grr
2010-04-28 11:10:34 -04:00
Matthias Clasen
50656c74e3 Some doc and formatting tweaks 2010-04-28 10:04:21 -04:00
Matthias Clasen
6b939d57c7 Support 'symbolic' themed icons
Add gtk_icon_info_load_symbolic() to load symbolic icons, and
theme their background/foreground colours to match the
colours used in the theme.

Adds the gtk_icon_info_load_symbolic() function, explicit
support in GtkImage and GtkCellRendererPixbuf, and test cases
for those 2 widgets.

With help from Bastien Nocera <hadess@hadess.net>

https://bugzilla.gnome.org/show_bug.cgi?id=614711
2010-04-28 12:02:05 +01:00
Matthias Clasen
c8dd9895e4 Add some documentation about width-chars and max-width-chars
Explain how these properties determine the width of ellipsized
and wrapped labels.
2010-04-28 00:48:15 -04:00
Javier Jardón
3cc9575323 Move documentation to inline comments: GtkHBox 2010-04-28 04:29:41 +02:00
Javier Jardón
a6ed128abf Move documentation to inline comments: Testing utilities 2010-04-28 04:20:10 +02:00
Javier Jardón
1e2dabf31d Allow NULL as 'icon_widget' in gtk_tool_button_new()
This completes the patch of
commit b8ec73a52f
2010-04-27 03:26:11 +02:00
Javier Jardón
d3d4cf0e84 Deprecate GTK_WIDGET_*SET_FLAGS() macro
The macro GTK_WIDGET_SET_FLAGS(w, GTK_VISIBLE) should
still be fixed internally.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-27 02:45:18 +02:00
Mirsal Ennaime
5eaff47e85 Add accessors for GtkTextView adjustments
GtkTextView is missing accessors for its sealed hadjustment
and vadjustment members.
This patch adds gtk_text_view_get_hadjustment() and
gtk_text_view_get_vadjustment() to GtkTextView

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=616053
2010-04-27 02:23:07 +02:00
Matthias Clasen
538ec4efbb Add a GtkExtendedLayout implementation for GtkFrame 2010-04-26 18:07:42 -04:00
Javier Jardón
41a073263a Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_HAS_DEFAULT)
Introduce internal _gtk_widget_set_has_default() for this

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=614515
2010-04-26 21:10:15 +02:00
Javier Jardón
45257e31c7 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_TOPLEVEL)
Introduce internal _gtk_widget_set_is_toplvel() for this

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=614510
2010-04-26 21:07:20 +02:00
Javier Jardón
560e426f16 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_HAS_GRAB)
Introduce internal _gtk_widget_set_has_grab() for this

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=614513
2010-04-26 21:04:51 +02:00
Javier Jardón
b8ec73a52f Only a GtkMisc widget should be passed to gtk_tool_button_new()
Reported by Hernando Torque here:
https://bugzilla.gnome.org/show_bug.cgi?id=616851
2010-04-26 20:23:39 +02:00
Emmanuele Bassi
621b415e5b tree-view: Use gtk_widget_send_focus_change()
Remove the second (and last) internal user of the GTK_HAS_FOCUS flag.

https://bugzilla.gnome.org/show_bug.cgi?id=593671
2010-04-26 18:59:24 +01:00
Emmanuele Bassi
91930f86b2 window: Use gtk_widget_send_focus_change()
Remove the original user of the GTK_HAS_FOCUS flags.

https://bugzilla.gnome.org/show_bug.cgi?id=593671
2010-04-26 18:59:23 +01:00
Emmanuele Bassi
f04a720348 widget: Add send_focus_change()
Currently the only users of the GTK_HAS_FOCUS flag are setting it
before sending a focus change event. This is normally needed by
GtkWindow, but there are widgets that require controlling the focus
of widgets that are semantically their children even though they are
parented to another top-level. Case in point: the quick search entry
for GtkTreeView.

Over the years people have been hacking the focus change out of
gtkwindow.c and gtktreeview.c, thus leaking the direct access of the
GTK_HAS_FOCUS flag.

The simplest way to avoid that is to add a function that sends the
focus change event and controls the setting of the flag, thus removing
the need for external widgets to do the same.

https://bugzilla.gnome.org/show_bug.cgi?id=593671
2010-04-26 18:59:22 +01:00
Matthias Clasen
cd45dfaa1d Tiny documentation tweak 2010-04-26 07:34:01 -04:00
Mike Gorse
15482528a5 Implement action interface for gailcell.
Bug #580889.
2010-04-26 16:12:59 +08:00
Matthias Clasen
a0b61a5a72 Make testellipsize work for rotating non-ellipsized labels 2010-04-25 20:58:36 -04:00
Matthias Clasen
36c3eaea81 Refer to GtkExtendedLayout from the container docs 2010-04-25 17:32:44 -04:00
Matthias Clasen
f285ed1348 Treat h and v boxes the same way
...we've got the money!
2010-04-25 17:12:15 -04:00
Matthias Clasen
ff267664b8 Fix a few typos 2010-04-25 16:59:13 -04:00
Matthias Clasen
bcbd7cce13 Don't add padding to a pointer 2010-04-25 16:45:21 -04:00
Matthias Clasen
ff0eb03201 Fix a regression in RTL flipping
This was only showing up with pack-end packing in horizontal boxes.
The RTL flipping has to be applied after moving the reference point
to the left edge of the child.
2010-04-25 16:23:01 -04:00
Peteris Krisjanis
52887f0006 Updated Latvian translation. 2010-04-24 21:40:15 +03:00
Baurzhan Muftakhidinov
1ab3fc02f9 Added Kazakh translation 2010-04-24 12:30:03 +02:00
Matthias Clasen
148ea63dba Formatting and typo fixes 2010-04-23 21:52:55 -04:00
Florian Scandella
53fae3247c Add heuristic for primary monitor
Use the first monitor returned by RANDR as primary, if primary
is not set and no LVDS is found.

https://bugzilla.gnome.org/show_bug.cgi?id=615128
2010-04-23 23:42:02 +02:00
Carles Ferrando
093722fcc8 Updated Catalan (Valencian) translation 2010-04-23 00:15:20 +02:00
Carles Ferrando
e816ab7cff Updated Catalan (Valencian) translation 2010-04-23 00:10:32 +02:00
Torsten Schönfeld
85d166fbb9 [docs] Fix a typo in the offscreen windows docs
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=616565

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-22 23:17:32 +02:00
Claude Paroz
5e22dd4e43 Revert "Make GTK+ Tutorial gnome-doc-utils compliant"
This reverts commit 4d1cf25080.
GTK+ maintainers should first approved the gnome-doc-utils dependency
before this migration.
2010-04-22 21:11:53 +02:00
Claude Paroz
4d1cf25080 Make GTK+ Tutorial gnome-doc-utils compliant 2010-04-22 20:18:32 +02:00
Matthias Clasen
78e68d4548 Update the gdk_event_free docs
Bug 616118
2010-04-22 14:13:35 -04:00
Shankar Prasad
af06c64edb Updated Kannada translations 2010-04-22 16:33:24 +05:30
Shankar Prasad
206f2bbfa8 Updated Kannada translations 2010-04-22 16:30:17 +05:30
Mike Gorse
3f78773862 Notify ATK_STATE_ENABLED change when ATK_STATE_SENSITIVE changes if necessary.
Bug #615999.
2010-04-22 12:24:41 +08:00
Tristan Van Berkom
909ca43c1a Renamed testextendedlayout2 --> extendedlayoutexample, also removed testextendedlayout and letting it reside for now in native-layout branch. 2010-04-21 04:11:55 -04:00
Tristan Van Berkom
2a5272647d Mega commit backing out everything from the native-layout branch that
is not ready for integration

This commit makes the native-layout branch into a reasonable
patch applicable to git master, it pulls out GtkCellRenderer
support, ComboBox support, the Plug/Socket api is also not ready
and is pulled out.
2010-04-21 03:42:23 -04:00
Tristan Van Berkom
9306a73dfd Added documentation, implemented gtk_extended_layout_is_height_for_width() where needed. 2010-04-21 01:32:55 -04:00
Javier Jardón
95fd5011c2 Move documentation to inline comments: GtkMessageDialog
Also, add a note about GTK_BUTTONS_OK, GTK_BUTTONS_YES_NO
and GTK_BUTTONS_OK_CANCEL are discouraged by the GNOME HIG.

https://bugzilla.gnome.org/show_bug.cgi?id=597865
2010-04-21 05:57:29 +02:00
Tristan Van Berkom
504ec365a7 Improved legibility of the label parameters test. 2010-04-20 22:02:48 -04:00
Tristan Van Berkom
7db18bb726 Added test reflecting the usage of GtkLabel parameters. 2010-04-20 20:44:24 -04:00
Tristan Van Berkom
a3a245ab56 Updated test for api change. 2010-04-20 20:44:11 -04:00
Tristan Van Berkom
4d06d75dce Updating test for api change. 2010-04-20 20:43:41 -04:00
Tristan Van Berkom
680d7762ba Make sure not to base the minimum size on "max-width-chars", only the natural size. 2010-04-20 20:30:10 -04:00
Tristan Van Berkom
630357beb3 Added test to demonstrate width-for-height labels. 2010-04-20 18:58:44 -04:00
Tristan Van Berkom
dfd311497d Fixed GtkLabel to wrap correctly and report width-for-height correctly when vertical. 2010-04-20 18:54:50 -04:00
Tristan Van Berkom
d5b31c303c Slightly reduced extended layout cache size, updated authors/copywrite year. 2010-04-20 18:53:54 -04:00
Tristan Van Berkom
17883f3ce6 Fixed GtkLabel to include GtkMisc padding when calculating height-for-width. 2010-04-20 15:23:13 -04:00
Tristan Van Berkom
80428e7745 Restore layout in get_desired_size() after guessing a wrap width
This fixes the label layout in cases where gtk_widget_size_request()
is called on a label without a following size_allocate(), for instance
when a button state changes.
2010-04-20 14:16:13 -04:00
Tristan Van Berkom
4ed5e6d526 Various updates to follow new gtk_extended_layout_get_desired_size added argument. 2010-04-20 01:30:56 -04:00
Tristan Van Berkom
b7a05d1832 Fixed missing return from get_desired_width/height in GtkViewport (causing testgtk to have a small width). 2010-04-20 01:27:32 -04:00
Tristan Van Berkom
c927f5e60d Split up width and height queries so that they make more sense (extended-layout) 2010-04-20 01:26:58 -04:00
Tristan Van Berkom
0330658a7f Added request_natural argument to get_desired_size()
Currently get_desired_size() is more of an emulation of
gtk_widget_size_request() for the minimum size as it bases the
contextual request on the minimum preferred size; this argument
lets you do the request with the natural preferred size as well.
2010-04-20 01:24:51 -04:00
Tristan Van Berkom
3a9ab87489 GtkAlignment now tries to allocate natural size to the child if available and does the height-for-width calculation depending on allocation. 2010-04-20 01:22:31 -04:00
Tristan Van Berkom
0b92348077 Fixed acces of child->requisition; call gtk_widget_get_child_requisition instead.
This fixes squished pathbar issue (as access to ->requisition is really
not supported anymore).
2010-04-20 00:33:20 -04:00
Tristan Van Berkom
b0fc43e958 Reduced natural request padding for rotating ellipsizing labels
After fixing height requests this works much smoother, although in
some places pango seems to ellipsize a rotated label when given
the width it requested.
2010-04-19 21:50:55 -04:00
Tristan Van Berkom
8ae5e01225 Fixed another caching bug in extended layout
Was confusing width/height REQUEST_NEEDED flags, this caused
the volumebutton test to not re-request the height properly
when changing orientations.
2010-04-19 21:37:44 -04:00
Tristan Van Berkom
de4a8f8ddc Unconditionally return the height for the minimum width when doing get_desired_height()
This is the correct support for the opposing orientation for widgets
that support height-for-width, in an interface that was realized as
width-for-height, a height-for-width supporting widget should return
the minimum height for the minimum width when the initial
get_desired_height() is run.
2010-04-19 20:43:19 -04:00
Tristan Van Berkom
ee8db39393 Fixed height-for-width cache
Fixed the cache to be cleared when flagged with WIDTH/HEIGHT_REQUEST_NEEDED.
This error was causing some widgets to not be sized correctly (the stock and
icon browser in the demo for instance).
2010-04-19 20:41:23 -04:00
Tristan Van Berkom
119267d7c8 Removing old comments in gtkbin.c 2010-04-19 20:40:04 -04:00
Tristan Van Berkom
3783a0a54f Fixed computation of sizegroups when no explicit request is set.
My previous commit to GtkSizeGroup made sure that when
gtk_widget_set_size_request() is set on a widget, it will be
taken into account when computing the widget's own request,
this commit fixes the case where there is no explicit size
request.
2010-04-19 14:46:28 -04:00
Tristan Van Berkom
e9e3725ee7 Fixed testellipsize 2010-04-19 14:04:20 -04:00
Claudio Saavedra
51a1af7aa4 Use the proper screen in _gdk_windowing_get_shape_for_mask()
Bug 615853 - BadMatch when pressing keyboard volume keys while pointer in
             secondary X screen

_gdk_windowing_get_shape_for_mask() is using the default screen, not taking
into account that its GdkBitmap could have been created for a different one,
causing BadMatch errors.
2010-04-19 18:51:27 +03:00
Javier Jardón
4e50724471 Bump version to 2.21.0 2010-04-19 17:46:51 +02:00
Tristan Van Berkom
a141c66253 Added testextendedlayout2.c to tests.
This test is a collection of builder files which demonstrate the
added features of natural sizes and height-for-width geometry; so
far it only contains 3 cases, more to come...
2010-04-19 01:07:20 -04:00
Tristan Van Berkom
0dff033a64 Fixed GtkSpinner to request 12x12 at init time instead of at expose time.
This should not change the space taken by the spinner when hidden,
and it should only set the minimum size not the actual size (i.e. code
in place was conditionally setting it if not allocated 12x12, which
doesnt really make sense)... This fixes spinners showing at the correct size
in gtk-demo.
2010-04-18 20:46:30 -04:00
Tristan Van Berkom
4c1fa76520 Fixed _gtk_size_group_bump_requisition() to properly handle values specified by gtk_widget_set_size_request() 2010-04-18 20:45:42 -04:00
Tristan Van Berkom
e997ac37a7 Added GTK_DEBUG_EXTENDED_LAYOUT flag and use that for debuggin in gtkextendedlayout.c 2010-04-18 20:14:13 -04:00
Tristan Van Berkom
6dc5cdb981 Implemented GtkExtendedLayout on GtkWindow. 2010-04-18 20:13:46 -04:00
Tristan Van Berkom
fe257d23dd Fixed GtkAssistant to not access ->requisition of children directly.
This was causing a 0 height action-area because a GtkBox does not
generally update ->requisition with anything useful
(call gtk_widget_get_child_requisition() here instead).
2010-04-18 20:11:43 -04:00
Tristan Van Berkom
3cbd9e9313 Further fixed base outputs of GtkLabel desired geometries.
Now (when wrapping), if no "width-chars" was specified for a minimum
width, default to the width guessed by gtk_label_ensure_layout(), small
specified widths will otherwise result in very large height requests.
2010-04-18 18:13:56 -04:00
Tristan Van Berkom
da318411dc Fixed bug in gtk_extended_get_desired_size().
gtk_extended_get_desired_size() was mixing up orientations based
on the preference, considering ditching the preference anyway.
Also slightly enhanced debug prints.
2010-04-18 18:12:30 -04:00
Tristan Van Berkom
35cc52f418 Compute the collective heights for the width of a horizontal box.
Introduce an algorithm to allocate children some virtual widths based on
their base widths returned by ->get_desired_width(), then return the
collective desired heights for each or thier virtually allocated width.

This will only work in the horizontal orientation.
2010-04-18 18:09:40 -04:00
Tristan Van Berkom
33039c1452 Fixed extended layout test to compile without the gtk_label_set_fullsize() api. 2010-04-18 17:56:58 -04:00
Javier Jardón
791962e06d Include <X11/Xutil.h> in gdkdnd-x11.c
Otherwise, inclusion of shape.h triggers an unknown type error
for Region, and compile fails, at least in Solaris.

Reported by Philip Brown here:
https://bugzilla.gnome.org/show_bug.cgi?id=615028
2010-04-18 19:54:22 +02:00
Javier Jardón
72d5cc8cd5 [docs] Move documentation to inline comments: GailTextUtil and GailMisc 2010-04-18 19:46:29 +02:00
Javier Jardón
508ed4bbab [docs] Move documentation to inline comments: GtkArrow
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611957

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 17:59:53 +02:00
Steven Harms
c3d5faf6b7 [docs] Move documentation to inline comments: GtkVButtonBox
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611833

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 08:54:40 +02:00
Tadej Borovšak
5f767e2c48 [docs] Move documentation to inline comments: GtkAssistant
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 08:02:03 +02:00
Tadej Borovšak
51e32fe67a [docs] Move documentation to inline comments: GtkBuildable
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611741

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 05:27:22 +02:00
Tadej Borovšak
8e8d302d10 [docs] Move documentation to inline comments: GtkBin
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=612351

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 05:19:21 +02:00
Tadej Borovšak
4c0cf04688 [docs] Move documentation to inline comments: GtkAspectFrame
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611958

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 05:08:36 +02:00
Tristan Van Berkom
e8a365ce36 Restore functionality where ellipsizing label *minimum* size grows to "max-char-width". 2010-04-17 23:06:24 -04:00
Tadej Borovšak
b802be45b3 [docs] Move documentation to inline comments: GtkAlignment.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611956

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 04:55:27 +02:00
Tristan Van Berkom
64e23c42bd Fixed GtkLabel reported minimum and natural sizes
This commit makes GtkLabel use "max-width-chars" to determine the
desired natural width for wrapping labels as well as all around refactoring
the initially reported values in get_desired_width/height. this also
addresses some issues with rotating ellipsizing text.
2010-04-17 22:54:29 -04:00
Tristan Van Berkom
8b57ad94c0 Now gtk_extended_layout_get_desired_size() returns a minimum for minimum in the minimum requisition and a natural for minimum in the natural. 2010-04-17 22:52:27 -04:00
Tristan Van Berkom
b30445c927 Make GtkWindow use the generic smallest size for the requisition again 2010-04-17 22:51:35 -04:00
Tristan Van Berkom
19ff8cb026 Fixed test to call the extended layout api instead of consulting ->requisition 2010-04-17 22:50:12 -04:00
Tadej Borovšak
b6a6142556 [docs] Move documentation to inline comments: GtkAction
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611952

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 04:49:51 +02:00
Steven Harms
6cdeb370a1 [docs] Move documentation to inline comments: GtkVRuler
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611656

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 03:55:22 +02:00
Steven Harms
25b6994cba [docs] Move documentation to inline comments: GtkVolumeButton
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611827

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 03:48:26 +02:00
Steven Harms
7693026e44 [docs] Move documentation to inline comments: GtkViewport
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611829x

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 03:29:16 +02:00
Steven Harms
75ffa7983a [docs] Move documentation to inline comments: GtkVPaned
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611634

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-18 02:57:30 +02:00
Patrick Bernaud
6a9b72525a [docs] Move documentation to inline comments: GtkSocket
https://bugzilla.gnome.org/show_bug.cgi?id=611707
2010-04-18 02:36:04 +02:00
Tristan Van Berkom
9247bc8d6d Fixed GtkExtendedLayout interaction with sizegroups plus cleanups
Fixed GtkExtendedLayout to interact with sizegroups, "size-requsts"
and caching the values all in the same code segment.

Migrated the cache code to be internal to gtkextendedlayout.c
2010-04-17 01:51:10 -04:00
Tristan Van Berkom
46fe9c3f00 Disabling natural sizes of labels.
Since GtkLabel is returning invalid natural sizes for now,
in order to test regressions well with the new width-for-height
api, I've temporarily disabled the natural values.
2010-04-17 01:49:35 -04:00
Tristan Van Berkom
caba7992b8 Refactored GtkSizeGroup for GtkExtendedLayout
Removed _gtk_size_group_compute_requisition and
_gtk_size_group_get_child_requisition in favor of
_gtk_size_group_bump_requisition() which does an orientation
contextual computation of the size group and returns the
collective value in one pass.
2010-04-17 01:46:59 -04:00
Stefan Kost
d4a159d488 [docs] improve docs for gtk_accelerator_parse().
Link to gdk_keyval_from_name() and give example for non obvious accelerator
strings.
2010-04-16 21:30:47 +03:00
Javier Jardón
edfcc3dd41 [docs] Fix GtkWidget and GtkFileChooser documentation
gtk-doc version >= 1.14 is more strict, It produces valid xml
if the source is valid.
2010-04-15 22:58:39 +02:00
Javier Jardón
06f66c185a Fix compilation warning: set a default case in switchs 2010-04-15 21:10:32 +02:00
Javier Jardón
8cde95bc5f Fix compilation warning: remove unused variable 2010-04-15 16:19:42 +02:00
Andika Triwidada
6680266093 Updated Indonesian translation 2010-04-15 20:32:58 +07:00
Michael Natterer
9cac8f23d5 gdk: remove convert_coords_to_child()
and use the new public gdk_window_coords_from_parent().
2010-04-15 13:16:17 +02:00
Michael Natterer
878cde53d0 gdk: use gdk_window_is_offscreen() instead of checking manually 2010-04-15 13:08:47 +02:00
Michael Natterer
ece97b2359 Bug 615162 - Fix tooltips on offscreen widgets
Fix the "widget under pointer" logic and keyboard tooltip positioning
to do the right thing on offscreen widgets.
2010-04-15 13:03:43 +02:00
Michael Natterer
fdf936b5ad gtk: fixes for offscreen widgets
Fix gtk_widget_translate_coordinates() and
_gtk_widget_synthesize_crossing() so they work in hierarchies with
offscreen widgets.
2010-04-15 13:02:04 +02:00
Michael Natterer
5a52d2a2f0 gdk: add API to convert coords between parent and child windows
which also works for offscreen windows and their embedder.
Also add gdk_window_get_effective_parent() and
gdk_window_get_effective_toplevel() which are offscreen aware.
2010-04-15 12:59:44 +02:00
Tristan Van Berkom
8432f54c51 Added _gtk_size_group_bump_requisition()
Added a function to update sizegroups in multiple passes, this
way the width and height can be updated in the sizegroups after
querying the extended layout implementor for these.

Implemented this in GtkExtendedLayout, sizegroups should be working reasonably now.
2010-04-14 18:07:27 -04:00
Sandeep Shedmake
615f91dadd Updated Marathi Translations 2010-04-14 17:51:16 +05:30
Sandeep Shedmake
9990b14d1a Updated Marathi Translations 2010-04-14 15:53:53 +05:30
Vincent Untz
9b34203cb6 No accessor for GtkAccessible.widget
Add gtk_accessible_get_widget().

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=612509
2010-04-14 03:49:26 +02:00
Javier Jardón
7dcb7ec357 [docs] Fix gtk_button_box_set_child_size() documentation
Changing these variables is not supported anymore and can
only be set through the theme.
2010-04-13 21:23:14 +02:00
Martyn Russell
100ecea239 Fixed build failure for gtkorientable 2010-04-13 11:22:45 +01:00
Martyn Russell
72c51a5a6a tracker-search-engine: Fixed whitespace issues and copyright/authors 2010-04-13 11:13:58 +01:00
Martyn Russell
f5781b42cf tracker-search-engine: Improve search query to order by rank and title 2010-04-13 11:13:58 +01:00
Martyn Russell
f6c1d54b3f tracker-search-engine: Fixed 0.7/0.8 issues and add 0.9 cases 2010-04-13 11:13:58 +01:00
Javier Jardón
af0a7aea5f Use G_DEFINE_INTERFACE macro in gtkbuildable
https://bugzilla.gnome.org/show_bug.cgi?id=605186
2010-04-13 07:44:12 +02:00
Javier Jardón
9f6e03f231 Use G_DEFINE_INTERFACE macro in gtkorientable
https://bugzilla.gnome.org/show_bug.cgi?id=605186
2010-04-13 07:43:51 +02:00
Javier Jardón
e534897216 Use G_DEFINE_INTERFACE macro in gtkcelleditable
https://bugzilla.gnome.org/show_bug.cgi?id=605186
2010-04-13 07:42:34 +02:00
Tristan Van Berkom
d2c35ec62a Mega commit to change ->get_desired_size() for ->get_desired_width/height().
This commit changes gtk_extended_layout_get_desired_size() for
per dimension variants. Furthermore this commit reverts the actions
done in size-groups for now as it needs a different approach.

The natural width/height parameters added to aux_info have been changed
for a per width cache for heights and a per height cache for widths.

gtk-demo is still working, currently sizegroups are not taken
into account as mentioned above - size groups need to be alerted both
when the widths and heights are updated independantly and then that
information needs to repropagate also to other extended layout implementors.
2010-04-12 22:21:46 -04:00
Tor Lillqvist
d5585745f1 Need to include Makefile.decl in the new Makefile.am files
Otherwise make check breaks.
2010-04-12 23:47:52 +03:00
Javier Jardón
5bcf3ba72a Fix compilation warning: move function to proper location
Move _count_nodes() auxiliar function inside the
G_ENABLE_DEBUG define, where other auxiliar functions are.
2010-04-12 22:10:38 +02:00
Javier Jardón
3e5d49f52b Fix compilation warning: Use G_ENABLE_DEBUG to enable the var 2010-04-12 22:10:34 +02:00
Tor Lillqvist
b3bd16e8bb Use a honestly bogus GTK_LOCALEDIR in config.h.win32.in
Instead of something that looks like it might actually be intended to
exist.
2010-04-12 13:44:59 +03:00
Tor Lillqvist
34916b01ec Some people use a hacked libtool that doesn't even install .la files 2010-04-12 13:42:31 +03:00
Tor Lillqvist
e544602065 Add Visual Studio 2008 project files
Similar setup as in GLib and Pango. Also here we use a build/win32/vs9
subfolder, even if there is nothing else in build or build/win32.
2010-04-12 12:45:40 +03:00
Tor Lillqvist
8d17d157ba Update to match what configure produces
Just trivial irrelevant stuff.
2010-04-12 12:45:39 +03:00
Tristan Van Berkom
1b2be80f10 Constrain the window to the minimum width for the natural height
GtkWindow now requests the minimum width for the natural height
of its child, or the opposite; depending on ->get_height_for_width.
Currently its not done for GTK_WINDOW_POPUP windows as the menushells
aren't working right yet.
2010-04-10 22:48:13 -04:00
Tristan Van Berkom
6b89f05a99 Implemented gtk_extended_layout_is_height_for_width() and added another guess algorithm
This patch adds another commented algorythm to find the collective
minimum and natural height for a said width of a horizontally oriented
box (or the opposite). The algorithm works quite well and can be optimized
a bit more - currently its commented because GtkLabel cannot effectively
do width-for-height calculations (doh).

Further, this patch returns an is_height_for_width() preference depending
on the boxes orientation (vertical boxes are width-for-height).
2010-04-10 22:39:11 -04:00
Tristan Van Berkom
639e396147 Fixed gtkbin.c:parent_extended_layout_iface to be static. 2010-04-10 22:38:47 -04:00
Tristan Van Berkom
24950ec144 Added gtk_extended_layout_is_height_for_width()
Added an indicator telling whether a widget prefers to be allocated
as height-for-width or width-for-height. Usually this depends on the
orientation of a container or the nature of a content widget like GtkLabel.

This indicator is only used in the seldom case where a parent is allocating
free space to the child and the child can flow in either direction, GtkWindow
and GtkScrolledWindow are users of this api.
2010-04-10 22:32:55 -04:00
Tristan Van Berkom
629bb5a265 Fixed warnings due to missing GTK_WIDGET (cellview) casting. 2010-04-10 22:31:52 -04:00
Tristan Van Berkom
c0e950f17b Fixed wrapping labels to show up correctly aligned inside their allocations. 2010-04-10 22:30:42 -04:00
Tristan Van Berkom
c67559ad03 Adding tests ported over from the old branch by Matthias. 2010-04-10 22:03:20 -04:00
Tristan Van Berkom
1041a186c7 Added get_height_for_width/get_width_for_height implementation to GtkBox.
In order for natural size information to cascade correctly up through
the ancestry GtkBox needs to report height-for-width and width-for-height,
this patch includes an implementation for both in both orientations, one
of them is commented for now as its much too cpu intensive to actually use.
2010-04-09 21:50:33 -04:00
Tristan Van Berkom
35e2dfce08 Fixing height-for-width wrapping of GtkLabel
Merged in fixes from the old branch in a patch prepared by Matthias Clasen,
added some fixes of my own to make sure that label wrapping follows allocation
and not requisition at show time (allocate time).
2010-04-09 21:47:25 -04:00
Johan Bilien
d36b281a58 Fixed annotation of gdk_screen_get_rgb_colormap and similar
These return an object with no extra references, need to be transfer
none.
2010-04-09 13:53:19 -04:00
Javier Jardón
eb7121c4e6 [directfb] Fix compile error on DirectFB backend.
Add a stub for gdk_keymap_add_virtual_modifiers()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=613988
2010-04-09 18:15:55 +02:00
Matthias Clasen
b4adea7477 Fix a silly mistake in primary_monitor handling
It doesn't make sense to determine an index into an array, if
you are going to sort the array afterwards...pointed out in
bug 615128 by Florian Scandella.
2010-04-09 09:05:38 -04:00
Tristan Van Berkom
73056e92d8 Reimplemented GtkExtendedLayout on GtkBin
Instead of implementing ->get_desired_size() on GtkBin, which
cant really be done because border widths are in the domain of
the concrete subclasses; here we implement only the get_height_for_width
and get_width_for_height apis - GtkBin subclasses whom might have a
variable border width depending on allocations need to write their
own height-for-width implementations.
2010-04-09 00:19:42 -04:00
Tristan Van Berkom
b3303727ad Fixed regression in GtkImage size requests
Fixed gtksizegroup.c:do_size_request() to never force an initial requisition
as some widgets expect it to remain unchanged across resizes (GtkImage
with pixbufs/filenames assigned is one of these cases).
2010-04-08 22:05:36 -04:00
Tristan Van Berkom
7304e4227f Fixed gtk_box_size_allocate() for homogeneous boxes
gtk_box_size_allocate() was forgetting to fetch the minimum
size for children when allocating in homogeneous mode and then
accessing the uninitialized allocated values in that case, fixed.
2010-04-08 21:45:07 -04:00
Tristan Van Berkom
ffffa7361c Implemented GtkExtendedLayout on GtkComboBox.
With this commit it is possible to use ellipsizing text
in the combobox's cell renderers and have them desire to
expand to natural size when placed in a GtkBox.
2010-04-08 18:54:47 -04:00
Tristan Van Berkom
531b449580 Deprecated gtk_widget_size_request and gtk_widget_get_child_requisition()
Ever since size groups gtk_widget_size_request() can be used in place
of gtk_widget_get_child_requisition(), deprecating both now in favor
of gtk_extended_layout_get_desired_size().
2010-04-08 18:53:23 -04:00
Tristan Van Berkom
99425f15f5 Added assertions
Added assersions that gtk_extended_layout_get_height_for_width()
methods return minimum sizes lesser than the natural size.
2010-04-08 18:52:12 -04:00
Tristan Van Berkom
1706608de3 Simplified code in GtkSizeGroup, fixes minimum natural size.
collapse get_fast_child_requisition && get_fast_natural_size into
a single get_fast_size() function which uses the possibly hard coded
minimum request as a minimum value for the returned desired size
(this fixes cases where widgets unwarily return height-for-width
with minimum size > natural size).
2010-04-08 18:49:34 -04:00
Tristan Van Berkom
36ef655061 Added gtk_cell_view_get_size_of_row() to gtk.symbols 2010-04-08 18:48:42 -04:00
Tristan Van Berkom
143660eff6 GtkCellView refactoring for extended layout
Added gtk_cell_view_get_desired_size_of_row() to report full
extended layout information for a said row, this obsoletes
gtk_cell_view_get_size_of_row(). Also make GtkCellView queue
a resize on itself when cell renderers are added/removed.
2010-04-08 18:46:19 -04:00
Thanos Lefteris
f5344f8d93 Updated Greek translation for gtk+ 2010-04-09 01:45:17 +03:00
Tomas Bzatek
faf0beede0 FileChooser: Initialize search engines on demand
We postpone initialization of the search engines until
it's really needed. See bug 614971 for reference.
2010-04-07 15:07:05 +02:00
Tomas Bzatek
a812fcb305 Support for tracker 0.8 stable release 2010-04-07 15:02:18 +02:00
Tristan Van Berkom
b10f2fc001 Some extended layout fixes for GtkCellView
Fixed GtkCellView to use the new GtkExtendedCell interface to get
natural size from cells and factored out the old size_request() method.
2010-04-07 01:27:15 -04:00
Tristan Van Berkom
51ffd59884 Implement GtkExtendedLayout on GtkButton
GtkButton as a content type of widget needs to forward natural size information
to parent containers in order to be resized naturally.
2010-04-06 20:48:41 -04:00
Tristan Van Berkom
85a55b2921 Implement GtkExtendedLayout on Alignment
GtkAlignment is already using the height for width api to align
the child in the cases where space is available, but also needed
to implement the extended layout in order to reflect natural sizes
to parent widgets.
2010-04-06 20:47:15 -04:00
Matthias Clasen
0efb24f589 Yet another fix for shape handling
This should fix problems with awn and notify-osd.
2010-04-06 20:33:19 -04:00
Tristan Van Berkom
388ad4090c Implemented GtkExtendedLayout on GtkViewport 2010-04-06 17:15:50 -04:00
Tristan Van Berkom
b9516e70f5 Add notes to GtkBuilder docs about the possible error domains, closed bgo #560147 2010-04-06 16:27:40 -04:00
Tristan Van Berkom
d92ee6dc68 Fixed gtk_builder_value_from_string_type() to always assign the GError
when returning FALSE, fixes bgo #615000.
2010-04-06 16:25:43 -04:00
Theppitak Karoonboonyanan
b9002febd8 Updated Thai translation. 2010-04-06 15:08:47 +07:00
Tristan Van Berkom
a17e12c87d Implement GtkExtendedCell on GtkCellRendererText 2010-04-06 03:05:52 -04:00
Tristan Van Berkom
59dafa77dc Use new gtk_tree_view_column_get_desired_size() 2010-04-06 03:05:20 -04:00
Tristan Van Berkom
3128bd0937 Added gtk_tree_view_column_get_desired_size() as its a corner case
that does not fall under the two categories.
2010-04-06 03:03:55 -04:00
Tristan Van Berkom
bb86e61171 Added GtkExtendedCell interface (last commit) 2010-04-06 03:03:03 -04:00
Tristan Van Berkom
7beb83cea4 Add new GtkExtendedCell interface
Added a new interface to extend layout information of GtkCellRenderers,
GtkCellRenderer is a prerequisite of GtkExtendedCellIface and provides
a base implementation of ->get_desired_size() with ->get_size().

Note that the api for GtkExtendedCell differs from GtkExtendedLayout
since the cells need to be passed an additional widget to calculate
sizes contextual to the widget/screen (fonts etc).
2010-04-06 02:59:21 -04:00
Tristan Van Berkom
8263633478 Remove gtk_widget_get_desired_size() 2010-04-06 02:56:20 -04:00
Tristan Van Berkom
68c38e0ffd Fixed classes to call gtk_extended_layout_get_desired_size_again()
The previous patch removes the ambiguous gtk_widget_get_desired_size().
2010-04-06 02:55:07 -04:00
Tristan Van Berkom
ef32192329 Call the ->get_desired_size() method directly on the vtable
This commit is a mistake, it should have been included with the last
commit.
2010-04-06 02:53:51 -04:00
Tristan Van Berkom
92309019e5 Make GtkWidget a prerequisite of extended layout
As it is not allowed to called gtk_extended_layout_get_desired_size()
on a GtkWidget directly; gtk_widget_get_desired_size() was really an
ambiguous api. This patch removes the added GtkWidget api, calls
the appropriate sizegroup code which in turn envokes the interface
vtable, this patch also accordingly makes GtkWidget a prerequisite
of GtkExtendedLayout (the api doesnt work for cell renderers anyway,
patch comming...).
2010-04-06 02:47:20 -04:00
Adel Gadllah
20dacce4d8 [GdkScreenX11] Fix check in gdk_screen_get_primary_monitor
Fix bug in last commit.
2010-04-06 02:41:55 +02:00
Adel Gadllah
5651cbc4b4 [GdkScreenX11] Add heuristic for pre XRandR 1.3 drivers
Currently gdk_screen_get_primary_monitor just returns the first monitor,
in this case but both the panel and now gnome-shell use an additional
heuristic to prefer LVDS as primary if present.

Move this heuristic to gdk_screen_get_primary_monitor to avoid duplicating
it all over the place.

The fallback heuristic is also used when no primary output is set.

https://bugzilla.gnome.org/show_bug.cgi?id=614894
2010-04-06 02:36:53 +02:00
Tristan Van Berkom
52eabce3c4 Revert "Implement extended layout for GtkBin"
This reverts commit 5e8045b14d.

Conflicts:

	gtk/gtkbin.c
2010-04-05 18:10:41 -04:00
Tristan Van Berkom
24ed2f8aa1 Fixed 2 bugs in gtk_box_size_allocate()
This commit fixes the loop to take into consideration the
child->padding that will be allocated to the child while calculating
full available size. Additionally it fixes the initial positioning
of child widgets when packed at the end (a special case because the
x position used starts from the end of the box).
2010-04-05 18:01:56 -04:00
Tristan Van Berkom
eb537a6773 Fixed do_size_request() to start with a 0 base requisition instead of -1 2010-04-05 17:57:06 -04:00
Fran Diéguez
e13ab6c53a Updated Galician translation 2010-04-05 20:59:23 +03:00
Cody Russell
b6d9bb6e1e Fix for bug #557689 and bug #402349, where opening a file chooser in
folder browse mode would require the user to click on something
before clicking "Open".
2010-04-05 12:57:33 -05:00
Tristan Van Berkom
4b1315cedc Changed initial values for requisition from -1 to 0.
When doing size-requests and get_natural_size() calls, use 0 as
the base value instead of -1, because size_request code assumes
that widget->requesition is initialized at 0.
2010-04-04 16:38:36 -04:00
Tristan Van Berkom
75b8f7d3ae Fixed GtkBox to not call get_desired_size() on a child when no child is present. 2010-04-04 16:37:06 -04:00
Tristan Van Berkom
1212f263c3 Making function private in gtktreeviewcolumn to pass the abi test. 2010-04-03 21:37:42 -04:00
Tristan Van Berkom
ae2c0b02c3 Refixed merge conflicts for GTK_WIDGET_MAPPED/GTK_WIDGET_VISIBLE 2010-04-03 21:35:18 -04:00
Tristan Van Berkom
5d83f5eba5 Fixed internal native layout algorythm wrt size-request singals/implementations.
Because "size-request" signal can be handled by signal connections as well
as by third party derived classes it is necessary to always fire the
"size-request" signal for every recalculation of the widget requisition,
now gtksizegroup.c:do_size_request() fires the signal first and allows it
to overflow the minimum/natural sizes returned by extended layout
implementations.

GtkWidget->get_natural_size() is now left assigning default -1 values to
ensure they both get overridden by the size-request handling.
2010-04-03 20:59:28 -04:00
Tristan Van Berkom
a33053db74 Fixed extended layout implementors to not call ->get_desired_size() directly
Getting the desired size of a GtkWidget must always be done with
gtk_widget_get_desired_size() and never with
gtk_extended_layout_get_desired_size() directly as the former passes
through size group logic and updates the widget->requisition cache.
2010-04-03 20:59:28 -04:00
Tristan Van Berkom
8413f22d90 Removed casing of GTK_IS_EXTENDED_LAYOUT() from GtkViewport. 2010-04-03 20:59:28 -04:00
Tristan Van Berkom
61fab15139 Fixed invalid pointer access in gtk_tree_view_column_get_desired_size() 2010-04-03 20:59:28 -04:00
Tristan Van Berkom
22de1a7c65 Partially fixed GtkTreeview for extended layout
Removed the size_request() handling on the class and calculate
minimum size from get_desired_size(); base the natural width on
either the minimum of column headers, or a greater natural request
of the columns renderers.
2010-04-03 20:59:28 -04:00
Tristan Van Berkom
a18af0b980 Applied Jan Arne Petersen's patch for GtkScrolledWindow
Applied patch to add height-for-width/width-for-height suppot
to GtkScrolledWindow plus modifications to use gtk_widget_get_desired_size()
to query children sized instead of directly calling the layout api, plus
removed the ->size_request() implementation interfering with the mess.
2010-04-03 20:59:28 -04:00
Tristan Van Berkom
894e887370 Fixed GtkCellRendererText invalid pointer access.
Fixed get_desired_size() to not access parameters when NULL and
also not to access priv->object if it hasnt yet been assigned.
2010-04-03 20:59:27 -04:00
Jan Arne Petersen
0fbdb3c73f Take extended layout into account in viewport
Make sure the right height is used in GtkViewPort.
2010-04-03 20:59:27 -04:00
Matthias Clasen
c4dec47536 Don't use gio-unix on win32
We only need gio-unix when building the x11 backend.
Reported by Yevgen Muntyan in bug 614540.
2010-04-03 20:59:27 -04:00
Inaki Larranaga Murgoitio
f48299c86e Updated Basque language 2010-04-03 20:59:27 -04:00
Inaki Larranaga Murgoitio
67eccabfca Updated Basque language 2010-04-03 20:59:27 -04:00
Inaki Larranaga Murgoitio
923e37e908 Updated Basque language 2010-04-03 20:59:27 -04:00
Kenneth Nielsen
829cfe21e1 Updated Danish translation 2010-04-03 20:59:26 -04:00
Runa Bhattacharjee
65a322c94d Updated Bengali India Translation 2010-04-03 20:59:26 -04:00
Runa Bhattacharjee
93df7c133e Updated Bengali India Translation 2010-04-03 20:59:26 -04:00
Jordi Serratosa
299cd7fec1 Fixes to Catalan translation 2010-04-03 20:59:26 -04:00
Tristan Van Berkom
523283bb36 Fixed possible devision by zero in size negotiations
Fixed GtkToolItemGroup to avoid deviding by zero when all children
are invisible or there are no children. bgo #613974.
2010-04-03 20:59:26 -04:00
Tristan Van Berkom
9fe9898045 Added missing default events in realize() implementations
Added gtk_widget_get_events() to the event masks declared by
GtkToolPalette & GtkToolItemGroup.
2010-04-03 20:59:26 -04:00
Tristan Van Berkom
96793999df Added missing break statement to mutator: gtk_tool_item_group_set_property() 2010-04-03 20:59:26 -04:00
Benjamin Otte
80efec2a8c Fix error case in filesystem model
We should not unref the model here, it might not even exist anymore.
Instead check if it exists and only use it if it does.
The unref was leftover from a previous fix in
ba9f53397f.

Spotted by Matthias Clasen in
https://bugzilla.gnome.org/show_bug.cgi?id=614099
2010-04-03 20:59:25 -04:00
David Planella
9441d96620 Updated Catalan translation with a couple of fixes 2010-04-03 20:59:25 -04:00
David Planella
0df8e5e3f0 Updated Catalan translation 2010-04-03 20:59:25 -04:00
Jamil Ahmed
a4a0019586 Updated Bengali translation 2010-04-03 20:59:25 -04:00
Christian Dywan
69b241c66d Fix a misspelling in gtk_cell_view_new_with_markup
This fixes bug 613887.
2010-04-03 20:59:25 -04:00
Ask H. Larsen
e8f9085426 Updated Danish translation 2010-04-03 20:59:25 -04:00
Maxim V. Dziumanenko
5559cbeb70 Updated Ukrainian translation 2010-04-03 20:59:25 -04:00
Maxim V. Dziumanenko
8e0088dcea Updated Ukrainian translation 2010-04-03 20:59:24 -04:00
Jamil Ahmed
839a347db1 Updated Bengali translation 2010-04-03 20:59:24 -04:00
Jamil Ahmed
b19d76a156 Updated Bengali translation 2010-04-03 20:59:24 -04:00
Hiroyuki Ikezoe
d995132ca5 [directfb] Fix compile error on DirectFB backend.
Add a stub for gdk_keymap_map_virtual_modifiers.
2010-04-03 20:59:24 -04:00
Hiroyuki Ikezoe
61a73b3df6 Use g_value_take_string to avoid redundant invoking g_free. 2010-04-03 20:59:24 -04:00
Javier Jardón
7ef003f7d4 Fix compilation warning: Use GtkWidget instead GtkMenuItem 2010-04-03 20:59:23 -04:00
Matthias Clasen
aaf541903b Fix a 64bit issue
Thank you libpng, for typedef unsigned long png_uint_32.
2010-04-03 20:59:23 -04:00
Matthias Clasen
6af58c6208 Add notes about gobject-introspection 2010-04-03 20:59:23 -04:00
Matthias Clasen
3be389fe96 Bump version to 2.20.1 2010-04-03 20:59:23 -04:00
Matthias Clasen
5a5a24d4dc 2.20.0 2010-04-03 20:59:23 -04:00
Miloš Popović
39779813ab Updated Serbian translations 2010-04-03 20:59:20 -04:00
Matthias Clasen
f743b2460a Bump required version of glib in INSTALL.in, too 2010-04-03 20:59:20 -04:00
Matthias Clasen
cbfdfb8450 Set version to 2.20.0 2010-04-03 20:59:20 -04:00
Matthias Clasen
381d892079 Another small doc cleanup 2010-04-03 20:59:20 -04:00
Matthias Clasen
7431550129 Minor doc cleanup 2010-04-03 20:59:20 -04:00
Matthias Clasen
a22afdb642 Updates 2010-04-03 20:59:20 -04:00
Wouter Bolsterlee
15bc2b787b Dutch translation updated by Tino Meinen 2010-04-03 20:59:20 -04:00
Sjoerd Simons
177973bdfc 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-04-03 20:59:19 -04:00
Matthias Clasen
b1ca3163a6 Add a dependency for Gtk-2.0.gir on Gdk-2.0.gir
Another parallel build fix, see bug 610946.
2010-04-03 20:59:19 -04:00
Damien Lespiau
2055066d92 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-04-03 20:59:19 -04:00
Inaki Larranaga Murgoitio
449bc50b24 Updated Basque language 2010-04-03 20:59:19 -04:00
Clytie
69e86f56be Updated Vietnamese translation 2010-04-03 20:59:19 -04:00
Clytie
472ffe7539 Updated Vietnamese translation 2010-04-03 20:59:19 -04:00
Inaki Larranaga Murgoitio
0b0b960122 Updated Basque language 2010-04-03 20:59:19 -04:00
Sweta Kothari
99b6a3df76 Updated Gujarati translations 2010-04-03 20:59:18 -04:00
Sweta Kothari
cf87932bba Updated Gujarati Translations 2010-04-03 20:59:18 -04:00
Daniel Nylander
984a16df2a Updated Swedish translation 2010-04-03 20:59:18 -04:00
Daniel Nylander
deb012bd34 Updated Swedish translation 2010-04-03 20:59:18 -04:00
Daniel Nylander
5f7e8547f9 Updated Swedish translation 2010-04-03 20:59:18 -04:00
Tommi Vainikainen
ad87a23ffe Updated Finnish translation 2010-04-03 20:59:18 -04:00
Chao-Hsiung Liao
637df00c87 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2010-04-03 20:59:17 -04:00
Matthias Clasen
fe34ee4ff3 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-04-03 20:59:17 -04:00
Tomas Bzatek
95dbbe2bda 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-04-03 20:59:17 -04:00
Fabrício Godoy
e64cc4edeb Updated Brazilian Portuguese Translation 2010-04-03 20:59:17 -04:00
A S Alam
151c6c2a78 Completed Punjabi Translation by A S Alam 2010-04-03 20:59:17 -04:00
Dumitru Mișu Moldovan
036fa03550 Updated Romanian translation 2010-04-03 20:59:16 -04:00
Mattias Põldaru
291e8bd913 Estonian translation updated 2010-04-03 20:59:16 -04:00
Matthias Clasen
643c7c2060 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-04-03 20:59:16 -04:00
Hiroyuki Ikezoe
837b998810 Fix a tiny documentation typo 2010-04-03 20:59:16 -04:00
Marek Kasik
bc57726d91 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-04-03 20:59:16 -04:00
Javier Jardón
add084329c More uses of g_strcmp0 2010-04-03 20:59:16 -04:00
Rafal Luzynski
7a6e782184 Use g_strcmp0 where it makes sense 2010-04-03 20:59:16 -04:00
Hiroyuki Ikezoe
5f30ba46ea Don't get settings unless we need them
Pointed out in bug 613028.
2010-04-03 20:59:15 -04:00
Matthias Clasen
1f3a57691f Don't crash in DND when the X server doesn't support SHAPE
Reported in bug 612768
2010-04-03 20:59:15 -04:00
Matthias Clasen
4b7b8e513f Require a new-enough glib 2010-04-03 20:59:15 -04:00
Jan Arne Petersen
ed9cff6fbb 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-04-03 20:59:15 -04:00
Tristan Van Berkom
c8ee1927a5 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-04-03 20:59:15 -04:00
Matthias Clasen
56c488e690 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-04-03 20:59:15 -04:00
Matthias Clasen
5b20892a3d Update release notes
Add a warning about the change in GtkBuilders id/name handling.
2010-04-03 20:59:15 -04:00
Colin Walters
a0508bc64c [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-04-03 20:59:14 -04:00
Fran Diéguez
d240b649e7 Update Galician translation 2010-04-03 20:59:14 -04:00
Luca Ferretti
0f90c49440 Updated Italian translation 2010-04-03 20:59:14 -04:00
Matthias Clasen
de1b75aabb Fix tests 2010-04-03 20:59:14 -04:00
Luca Ferretti
908915c9da Updated Italian translation 2010-04-03 20:59:14 -04:00
Matthias Clasen
9408915114 Recompute label contents when the buffer changes
Also reset cursor positions to avoid assertions.
This fixes bug 612505, patch by Tristan Van Berkom.
2010-04-03 20:59:14 -04:00
Matthias Clasen
df95db7649 Fix gdk_window_set_icon_name
A typo kept this from working on toplevel windows.
Reported in bug 612346.
2010-04-03 20:59:14 -04:00
Matthias Clasen
b04186d272 updates 2010-04-03 20:59:13 -04:00
Christian Dywan
f909f3866f Remove most G_OBJECT casts in the tutorial
This fixes bug 605333.
2010-04-03 20:59:13 -04:00
Christian Dywan
1b61e9dc2b Reword explanation of delete-event and destroy 2010-04-03 20:59:13 -04:00
Christian Dywan
e85b9b3523 Spell delete-event with hyphen and don't cast to G_OBJECT 2010-04-03 20:59:13 -04:00
Christian Dywan
63d03344f9 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-04-03 20:59:13 -04:00
Tor Lillqvist
2b1ec1b227 Check for __MINGW64__ and not __MINGW64
Should fix bug #612308.
2010-04-03 20:59:12 -04:00
Javier Jardón
74c7588040 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-04-03 20:59:12 -04:00
Christian Dywan
08bce451b7 Fix definition of GTK_VOLUME_BUTTON_CLASS cast
There is an extra 'e' there.
2010-04-03 20:59:12 -04:00
Alan Knowles
48cc791fb2 Fix introspection on return value transfer for gtk_clipboard_get*
ownership transfer set to none for clipboard get methods
2010-04-03 20:59:12 -04:00
Alan Knowles
2e00e16650 Fix gtk_text_tag_table_lookup transfer introspection notes
transfer should be none for return value of gtk_text_tag_table_lookup
2010-04-03 20:59:12 -04:00
Jorge González
68e833dc1b Updated Spanish translation 2010-04-03 20:59:12 -04:00
Jorge González
8cc486ace5 Updated Spanish translation 2010-04-03 20:59:12 -04:00
David Planella
b447f59fe0 Updated Catalan translation 2010-04-03 20:59:12 -04:00
Matthias Clasen
c470e592a3 Bump version 2010-04-03 20:59:11 -04:00
Matthias Clasen
167413e7c3 2.19.7 2010-04-03 20:59:11 -04:00
Matthias Clasen
07f2bb0b84 Updates 2010-04-03 20:59:08 -04:00
Javier Jardón
6750ffebc8 Fix compilation warning: use entry var correctly initilized
The warning was added in
commit c744594b20
2010-04-03 20:59:08 -04:00
Matthias Clasen
7b7f8f1e5d 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-04-03 20:59:08 -04:00
Matthias Clasen
04fd3f14ac Regenerated compose tables
Now without non-BMP keysyms.
2010-04-03 20:59:08 -04:00
Matthias Clasen
040d8d1414 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-04-03 20:59:08 -04:00
Matthias Clasen
d50cd83fd0 Add some keysyms missing from keysyms.txt 2010-04-03 20:59:07 -04:00
Matthias Clasen
94e80bbbed fix file permissions 2010-04-03 20:59:07 -04:00
Matthias Clasen
f185967ba1 Add some more annotation to the DND api 2010-04-03 20:59:07 -04:00
Matthias Clasen
57a3de1bcd Fix file chooser refcounting issues
This was reported in bug 600992.
2010-04-03 20:59:07 -04:00
Matthias Clasen
b229aa8d5e Add missing colons 2010-04-03 20:59:07 -04:00
Christian Dywan
4c86b6112e Document the use of NULL in gtk_window_set_transient_for
This fixes bug 611319.
2010-04-03 20:59:07 -04:00
Matthias Clasen
870fefbfaf Minor doc clarification for gdk_drag_begin
Mention that targets is a list of atoms. Bug 611317.
2010-04-03 20:59:07 -04:00
Javier Jardón
8ea37e551b 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-04-03 20:59:06 -04:00
Matthias Clasen
ca43e7d3be Remove obsolete translator comments
Reported in bug 611217
2010-04-03 20:59:06 -04:00
Matthias Clasen
f77c10b0b0 Add accessible alternatives to entry icon functionality
Inspired by the complaint in bug 611051.
2010-04-03 20:59:06 -04:00
Matthias Clasen
e566c96137 Add introspection annotations to gtk_drag_(source|dest)_set
Also move docs inline at the same time. Bug 610905.
2010-04-03 20:59:05 -04:00
Ryan Lortie
313e1b9c2f Update release HOWTO
- 'cvs' -> 'git'
- gnome-hackers is now closed.  Reply-to: desktop-devel-list instead.
2010-04-03 20:59:05 -04:00
Matthias Clasen
ba4695e8e5 Don't scroll to insert after middle-click paste
Patch by Ignacio Casal Quinteiro, bug 612119.
2010-04-03 20:59:05 -04:00
Matthias Clasen
0a12113d9d 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-04-03 20:59:05 -04:00
Nils-Christoph Fiedler
248719c771 Updated LowGerman translation 2010-04-03 20:59:05 -04:00
Nils-Christoph Fiedler
9a19752da4 Updated LowGerman translation 2010-04-03 20:59:05 -04:00
Nils-Christoph Fiedler
39ff3a4822 Updated LowGerman translation 2010-04-03 20:59:05 -04:00
Alexander Shopov
6b1126ab54 Updated Bulgarian translation 2010-04-03 20:59:04 -04:00
Michael Natterer
7eedb7a0b3 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-04-03 20:59:04 -04:00
Jennie Petoumenou
f000d83f00 Updated Greek translation. 2010-04-03 20:59:04 -04:00
Jennie Petoumenou
8411cd3282 Updated Greek translation. 2010-04-03 20:59:04 -04:00
Claude Paroz
92c6be8ac0 Updated French translation 2010-04-03 20:59:04 -04:00
Javier Jardón
1931a8db5d Don't use GTK_WIDGET_SET_FLAGS() in gtk_widget_init() 2010-04-03 20:59:04 -04:00
Javier Jardón
bbf5e95c41 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_PARENT_SENSITIVE)
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:59:03 -04:00
Javier Jardón
9f3d23a900 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_RC_STYLE)
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:59:03 -04:00
Javier Jardón
5c2c742c8d Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_APP_PAINTABLE)
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:59:03 -04:00
Javier Jardón
a602ff82eb 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-04-03 20:59:03 -04:00
Javier Jardón
e082783fbb 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-04-03 20:59:03 -04:00
Javier Jardón
e2f79c33ff 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-04-03 20:59:02 -04:00
Daniel Nylander
e5aca4ac88 Updated Swedish translation 2010-04-03 20:59:02 -04:00
Daniel Nylander
01bb46fefe Updated Swedish translation 2010-04-03 20:59:01 -04:00
Joanmarie Diggs
70d2c392ca Add/Remove ATK_STATE_SENSITIVE according to cells' state.
Bug #569042.
2010-04-03 20:59:01 -04:00
Patrick Bernaud
fe0a89e251 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-04-03 20:59:01 -04:00
Steven Harms
09e4738682 Move documentation to inline comments: GtkVBox
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611831
2010-04-03 20:59:01 -04:00
Fran Diéguez
190096f41e Update Galician translation 2010-04-03 20:59:01 -04:00
Friedel Wolff
8ad3276a77 Update Afrikaans translation 2010-04-03 20:59:01 -04:00
Li Yuan
828c4f7aa5 Return FALSE in signal handlers to make the signals be propagated
Bug #611686.
2010-04-03 20:59:00 -04:00
Steven Harms
0cdcfcca9f Move documentation to inline comments: GtkVSeparator
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611662
2010-04-03 20:59:00 -04:00
Steven Harms
ba22b91e31 Move documentation to inline comments: GtkVScrollbar
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=611658
2010-04-03 20:59:00 -04:00
Gabor Kelemen
83430719d1 Updated Hungarian translation 2010-04-03 20:59:00 -04:00
Steven Harms
15a797e8e9 Update gtkvscale documentation for in code comments. Removed template document 2010-04-03 20:59:00 -04:00
Inaki Larranaga Murgoitio
a0441bcb4c Updated Basque language 2010-04-03 20:59:00 -04:00
Javier Jardón
cb4f39c7a8 Add version info about the deprecation of GTK_WIDGET_SENSITIVE
This completes the patch of
commit 64f526d34e
2010-04-03 20:59:00 -04:00
Inaki Larranaga Murgoitio
fa934294a7 Updated Basque language 2010-04-03 20:59:00 -04:00
Javier Jardón
ee0bf98769 Deprecate widget flag: GTK_WIDGET_REALIZED
Use gtk_widget_get_realized() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:58:59 -04:00
Javier Jardón
e53efb120a Deprecate widget flag: GTK_WIDGET_MAPPED
Use gtk_widget_get_mapped() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:58:58 -04:00
Nils-Christoph Fiedler
8c1f5dbc03 Updated LowGerman translation 2010-04-03 20:58:24 -04:00
Nils-Christoph Fiedler
2bb5e9e75a Updated Low German translation 2010-04-03 20:58:24 -04:00
Nils-Christoph Fiedler
289948f1d3 Updated Low German translation 2010-04-03 20:58:23 -04:00
Kjartan Maraas
3ffee3e6e5 Updated Norwegian bokmål translation 2010-04-03 20:58:23 -04:00
Javier Jardón
2dc372a657 Fix gtk_widget_is_sensitive() function. Second try
Use GTK_PARENT_SENSITIVE flag instead
gtk_widget_get_sensitive(widget->parent)
2010-04-03 20:58:23 -04:00
Gabor Kelemen
6d8fee9879 Updated Hungarian translation 2010-04-03 20:58:23 -04:00
Javier Jardón
2dd2650215 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_NO_SHOW_ALL) 2010-04-03 20:58:23 -04:00
Javier Jardón
e6572c0939 Fix gtk_widget_is_sensitive() function
The bug was introduced in
commit a27d5a2c9e
2010-04-03 20:58:23 -04:00
Javier Jardón
ec20658b51 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_DEFAULT)
Use new API instead: gtk_widget_set_can_default ()
2010-04-03 20:58:22 -04:00
Javier Jardón
76943117be Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_FOCUS)
Use new API instead: gtk_widget_set_can_focus ()
2010-04-03 20:58:22 -04:00
Gabor Kelemen
6379f64a37 Updated Hungarian translation 2010-04-03 20:58:21 -04:00
Petr Kovar
aabe0b16cf Update Czech translation 2010-04-03 20:58:21 -04:00
Javier Jardón
2d96f39335 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_SENSITIVE) 2010-04-03 20:58:21 -04:00
Javier Jardón
5d4af6ca80 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_DOUBLE_BUFFERED)
Use new API instead: gtk_widget_set_double_buffered ()
2010-04-03 20:58:21 -04:00
Javier Jardón
3ebbee6958 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_RECEIVES_DEFAULT)
Use new API instead: gtk_widget_set_receives_default ()
2010-04-03 20:58:21 -04:00
Javier Jardón
08d42ed8fe 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-04-03 20:58:21 -04:00
Javier Jardón
edc65ce1d2 Deprecate widget flag: GTK_WIDGET_VISIBLE
Use gtk_widget_get_visible() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:58:20 -04:00
Javier Jardón
eb90ec7513 Deprecate widget flag: GTK_WIDGET_HAS_FOCUS
Use gtk_widget_has_focus() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:56:30 -04:00
Javier Jardón
c3f8b4226d Deprecate widget flag: GTK_WIDGET_SENSITIVE
Use gtk_widget_get_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:56:30 -04:00
Javier Jardón
c44c026ee9 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-04-03 20:56:30 -04:00
Javier Jardón
e7127daf84 Deprecate widget flag: GTK_WIDGET_IS_SENSITIVE
Use gtk_widget_is_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:56:29 -04:00
Javier Jardón
04aba4bde2 Deprecate widget flag: GTK_WIDGET_DRAWABLE
Use gtk_widget_is_drawable() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:56:29 -04:00
Mario Blättermann
126133a927 Updated German translation 2010-04-03 20:56:28 -04:00
Nils-Christoph Fiedler
9a33ab970f Updated LowGerman translation 2010-04-03 20:56:28 -04:00
Nils-Christoph Fiedler
79453a952f Updated LowGerman translation 2010-04-03 20:56:28 -04:00
Florian Müllner
f5aa0fad6c Add introspection annotation for gtk_builder_get_object 2010-04-03 20:56:28 -04:00
Nils-Christoph Fiedler
2e78caa5a2 Updated LowGerman translation 2010-04-03 20:56:28 -04:00
Piotr Drąg
7044a9d027 Updated Polish translation 2010-04-03 20:56:28 -04:00
Piotr Drąg
fe2cb223ea Updated Polish translation 2010-04-03 20:56:27 -04:00
Leonid Kanter
9dd2609525 Update Russian translation 2010-04-03 20:56:27 -04:00
Leonid Kanter
1d34e445e9 Update Russian translation 2010-04-03 20:56:27 -04:00
Nils-Christoph Fiedler
d3db379573 Updated LowGerman translation 2010-04-03 20:56:27 -04:00
Duarte Loreto
4e8d4ead22 Updated Portuguese translation 2010-04-03 20:56:27 -04:00
Duarte Loreto
87e7f3c0c1 Updated Portuguese translation 2010-04-03 20:56:27 -04:00
Khaled Hosny
9c054e3029 Updated Arabic translation 2010-04-03 20:56:26 -04:00
Bruce Cowan
7c9f3072eb Updated British English translation 2010-04-03 20:56:26 -04:00
Matej Urbančič
109ca57aa8 Updated Slovenian translation 2010-04-03 20:56:26 -04:00
Nils-Christoph Fiedler
af51a093fe Updated LowGerman translation 2010-04-03 20:56:26 -04:00
Nils-Christoph Fiedler
599d6f0a2c Updated LowGerman translation 2010-04-03 20:56:26 -04:00
Alexander Shopov
4e3c3baac2 Updated Bulgarian translation 2010-04-03 20:56:26 -04:00
Gintautas Miliauskas
f8cd486871 Updated Lithuanian translation. 2010-04-03 20:56:25 -04:00
Gintautas Miliauskas
0fa5fb2894 Updated Lithuanian translation. 2010-04-03 20:56:25 -04:00
Ask H. Larsen
76a752b69d Updated Danish translation 2010-04-03 20:56:25 -04:00
Ask H. Larsen
9889445169 Updated Danish translation 2010-04-03 20:56:25 -04:00
Matthias Clasen
83518ec77c Bump version 2010-04-03 20:56:25 -04:00
Matthias Clasen
b51edbe745 2.19.6 2010-04-03 20:56:25 -04:00
Jorge González
468a947285 Updated Spanish translation 2010-04-03 20:56:23 -04:00
Matthias Clasen
daf00f6f94 Updates 2010-04-03 20:56:23 -04:00
Matthias Clasen
53bebef4bf Some forgotten docs 2010-04-03 20:56:23 -04:00
Matthias Clasen
b23c114b95 Add some missing docs 2010-04-03 20:56:22 -04:00
Matthias Clasen
3fe334c3a8 doc fixes 2010-04-03 20:56:22 -04:00
Jorge González
f5d67c8b44 Updated Spanish translation 2010-04-03 20:56:22 -04:00
Matthias Clasen
462a491fa7 Add 2.20 index for gdk docs 2010-04-03 20:56:22 -04:00
Matthias Clasen
21b1a03e1e Init gdk in the same order as other backends
Patch by Andre Draszik, bug 609172
2010-04-03 20:56:22 -04:00
Matthias Clasen
d1babc7775 Fix a memory leak in gdk_display_open in the directfb backend
Patch by Andre Draszik, bug 609172
2010-04-03 20:56:22 -04:00
Matthias Clasen
db0faed54c Simplify the DirectFBInit call
Patch by Andre Draszik, bug 609172
2010-04-03 20:56:22 -04:00
Matthias Clasen
f6a173d302 Catch directfb errors in gdk_colormap_new
Patch by Andre Draszik, bug 609172.
2010-04-03 20:56:22 -04:00
Matthias Clasen
938795f922 Fix a crash at startup in the directfb backend
Patch by André Draszik, bug 600789
2010-04-03 20:56:22 -04:00
Matthias Clasen
9160cf1af7 Fix gdk_windowing_window_at_pointer in the directfb backend
Patch by Hiroyuki Ikezoe, see bug 604799.
2010-04-03 20:56:21 -04:00
Matthias Clasen
28dda32acc Correct annotations for gtk_tree_view_get_path_at_pos
Patch by Alan Knowles, bug 609514.
2010-04-03 20:56:21 -04:00
Matthias Clasen
c5dc38c142 Protect against X errors when clearing the DND cache
This was reported as a problem in bug 609952.
2010-04-03 20:56:21 -04:00
Mario Blättermann
4815119eab Updated German translation 2010-04-03 20:56:21 -04:00
Matthias Clasen
df32ea9960 Prevent a crash in the TGA loader
Reported in bug 609744.
2010-04-03 20:56:21 -04:00
Matthias Clasen
624ac853ba 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-04-03 20:56:21 -04:00
Matthias Clasen
d405d997bd Fix a segfault in gtk_assistant_set_current_page
Reported by Tadej Borovšak in bug 610184
2010-04-03 20:56:21 -04:00
Matthias Clasen
f90b880ce8 Clarify the docs for gtk_info_bar_set_default_response
According to bug 610632
2010-04-03 20:56:20 -04:00
Matthias Clasen
d316798685 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-04-03 20:56:20 -04:00
Matthias Clasen
2f772399ce Only look at x11 backend for gtk-doc comments for now
See followup discussion in bug 610701
2010-04-03 20:56:20 -04:00
Mario Blättermann
dc8965f9ea Updated German translation 2010-04-03 20:56:20 -04:00
Matej Urbančič
2eab767d4c Updated Slovenian translation 2010-04-03 20:56:20 -04:00
Alexander Shopov
5781ea200b Updated Bulgarian translation 2010-04-03 20:56:20 -04:00
Matthias Clasen
2c6b8680c3 Fix incorrect string
String change. See bug 610235.
2010-04-03 20:56:20 -04:00
Matthias Clasen
9414dc2cf6 Add some missing introspection annotations 2010-04-03 20:56:19 -04:00
Johan Dahlin
087ff5f220 [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-04-03 20:56:19 -04:00
Matthias Clasen
12b8b8bf7c Add a missing introspection annotation for gdk_screen_get_default_colormap 2010-04-03 20:56:19 -04:00
Rimas Kudelis
f773c8975d Updated Lithuanian translation 2010-04-03 20:56:17 -04:00
Carlos Garcia Campos
7edbc6b6ee [docs] Fix GtkPlug::embedded signal documentation
See bug #609650.
2010-04-03 20:56:17 -04:00
Carlos Garcia Campos
576f2770c7 Emit GtkPlug::embedded signal when plug/socket are in the same process too
Fixes bug #609650.
2010-04-03 20:56:17 -04:00
Masato Hashimoto
7835a51040 Updated Japanese translation.
Translator: Masato Hashimoto <cabezon.hashimoto@gmail.com>
Reviewed by: 	Nishibori Kiyotaka <ml.nishibori.kiyotaka@gmail.com>
2010-04-03 20:56:17 -04:00
Khaled Hosny
7a8a188b4c Updated Arabic translation 2010-04-03 20:56:17 -04:00
Alexander Shopov
3394c2fbe5 Updated Bulgarian translation 2010-04-03 20:56:17 -04:00
Lucian Adrian Grijincu
d170fb7983 Updated Romanian translation 2010-04-03 20:56:16 -04:00
Piotr Drąg
87fb3d9e08 Updated Polish translation 2010-04-03 20:56:16 -04:00
Piotr Drąg
c393ce993f Updated Polish translation 2010-04-03 20:56:16 -04:00
Jorge González
54f851b5b5 Updated Spanish translation 2010-04-03 20:56:16 -04:00
Viktor Pracht
62a5e11483 [Annotations] Add array length for GtkTreeStore
https://bugzilla.gnome.org/show_bug.cgi?id=603923
2010-04-03 20:56:16 -04:00
Johan Dahlin
71df0c45ba [annotations] Add allow-none for gtk_menu_popup 2010-04-03 20:56:16 -04:00
Johan Dahlin
eee7bb2b2e [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-04-03 20:56:15 -04:00
Michael Natterer
87334d465c Bug 548026 - No accessor for GtkWidget.requisition
Add gtk_widget_get_requisition().
2010-04-03 20:56:15 -04:00
Matej Urbančič
91302444cc Updated Slovenian translation 2010-04-03 20:56:14 -04:00
Manoj Kumar Giri
58d7a0e2d7 Updated Oriya Translation 2010-04-03 20:56:14 -04:00
Mattias Põldaru
3d71d992a6 Estonian translation updated 2010-04-03 20:56:14 -04:00
Mario Blättermann
998591adf6 Updated German translation 2010-04-03 20:56:14 -04:00
Javier Jardón
2140a5b107 [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-04-03 20:56:14 -04:00
Changwoo Ryu
f148059b7b Update Korean translation 2010-04-03 20:56:14 -04:00
Matej Urbančič
94480795c7 Updated Slovenian translation 2010-04-03 20:56:14 -04:00
Matej Urbančič
9cd074b663 Updated Slovenian translation 2010-04-03 20:56:13 -04:00
Stefan Kost
4b8a91bb85 widget: ensure boolean before comparing
Ensure boolean value like done elsewhere.
2010-04-03 20:56:13 -04:00
Stefan Kost
100c6dc513 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-04-03 20:56:13 -04:00
Javier Jardón
501f327b56 Revert "Drop duplicate declarations"
The issue is already fixed in f9a3ce06cc

This reverts commit 6f566057e8.
2010-04-03 20:56:13 -04:00
Matthias Clasen
29efd9a753 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-04-03 20:56:13 -04:00
Matthias Clasen
966b619705 Drop duplicate declarations 2010-04-03 20:56:13 -04:00
Christian Dywan
ce07f4403b Remove duplicate definitions of gtk_widget_set/get_realized/mapped 2010-04-03 20:56:13 -04:00
Michael Natterer
800fbc513f Allow calling gtk_widget_style_attach() only when realized 2010-04-03 20:56:12 -04:00
Petr Kovar
42f920c77b Update Czech translation 2010-04-03 20:56:12 -04:00
Javier Jardón
fc246a9305 Fix compilation warning: return FALSE instead NULL 2010-04-03 20:56:12 -04:00
Javier Jardón
c59386ba1d Fix compilation warning: cast to GCompareFunc 2010-04-03 20:56:12 -04:00
Kjartan Maraas
92b1c9150d Updated Norwegian bokmål translation 2010-04-03 20:56:12 -04:00
Jorge González
78b42c67e6 Updated Spanish translation 2010-04-03 20:56:12 -04:00
Matthias Clasen
5eccd0d20e bump version 2010-04-03 20:56:11 -04:00
Matthias Clasen
11788b71e1 2.19.5 2010-04-03 20:56:11 -04:00
Matthias Clasen
96e42fb1ee Updates 2010-04-03 20:56:09 -04:00
Matthias Clasen
5438a7b608 Add some more goddamn accessors 2010-04-03 20:56:09 -04:00
Matthias Clasen
d154b115e5 Avoid overlap of scale marks
This was reported to be a problem in bug 608807.
2010-04-03 20:56:08 -04:00
Matthias Clasen
9983f2e551 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-04-03 20:56:08 -04:00
Matthias Clasen
6247ef7a32 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-04-03 20:56:08 -04:00
Matthias Clasen
2c53b675c3 Allow running without any im context
Setting GtkSettings::im-module to gtk-im-context-none will make
GtkIMMultiContext just pass through.
2010-04-03 20:56:08 -04:00
Alan Knowles
7485d64249 Add introspection annotations for gtk_tree_model_get_path+gtk_tree_store_newv 2010-04-03 20:56:08 -04:00
Christian Persch
a4186b6aa5 Correctly clone the toolbutton's icon-name image widget
Bug #608162.
2010-04-03 20:56:08 -04:00
Alejandro Piñeiro
b6139abb37 Solve a wrong reference on gdk_keymap_translate_keyboard_state
Solves https://bugzilla.gnome.org/show_bug.cgi?id=608345
2010-04-03 20:56:08 -04:00
Tor Lillqvist
067cce5d63 Use correct processorArchitecture for x86_64 in manifest file 2010-04-03 20:56:07 -04:00
Javier Jardón
541448732d Move documentation to inline comments: GtkAccelLabel
https://bugzilla.gnome.org/show_bug.cgi?id=403485
2010-04-03 20:56:07 -04:00
Javier Jardón
239570abdd [tests] Not use GtkOptionMenu deprecate widget.
Replace GtkOptionMenu with GtkComboBox.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=606288
2010-04-03 20:56:07 -04:00
Theppitak Karoonboonyanan
8633c6ffc6 Updated Thai translation. 2010-04-03 20:56:07 -04:00
André Draszik
935a3f7b65 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-04-03 20:56:07 -04:00
André Draszik
987256968b 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-04-03 20:56:07 -04:00
André Draszik
9bc658f6ed 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-04-03 20:56:07 -04:00
André Draszik
2e9a0028fb 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-04-03 20:56:07 -04:00
André Draszik
442f7a9d26 gdk/directfb: fix _gdk_windowing_pointer_grab()
Fix for bgo #609188

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-04-03 20:56:06 -04:00
Steffen Macke
029b7b6361 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-04-03 20:56:06 -04:00
Christian Dywan
931ed06beb [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-04-03 20:56:06 -04:00
Claude Paroz
cc895cc924 Updated French translation 2010-04-03 20:56:06 -04:00
Michael Natterer
ca9e029838 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-04-03 20:56:06 -04:00
Jonh Wendell
e9d53fd675 Updated Brazilian Portuguese translation 2010-04-03 20:56:06 -04:00
Jonh Wendell
d0c4e2d762 Updated Brazilian Portuguese translation 2010-04-03 20:56:05 -04:00
Matthias Clasen
fe7af7a9e5 Make DND work better with shaped windows
If mouse clicks go through, drag-and-drop should too...
Fixes bug 608615.
2010-04-03 20:56:05 -04:00
Cody Russell
bc01a0cbcf Bug 554420 - Seal GtkTextTag
Seal GtkTextTag.
2010-04-03 20:56:05 -04:00
Petr Kovar
2194ee02e3 Update Czech properties translation 2010-04-03 20:56:05 -04:00
Petr Kovar
b6d139f954 Update Czech translation 2010-04-03 20:56:05 -04:00
Michael Natterer
9dfadca46c Bug 608993 - Add gtk_widget_style_attach()
As replacement for:
widget->style = gtk_style_attach (widget->style, widget->window);
2010-04-03 20:56:05 -04:00
Pavol Šimo
0a037fa4fe Updated Slovak translation 2010-04-03 20:55:30 -04:00
Javier Jardón
4b85311951 [docs] Add anchor for keybinding signals 2010-04-03 20:55:30 -04:00
Mattias Põldaru
e193b20d50 Updating Estonian translation 2010-04-03 20:55:30 -04:00
Mattias Põldaru
a9f0710686 Updating Estonian translation 2010-04-03 20:55:30 -04:00
Mattias Põldaru
fb0c247e30 Updating Estonian translation 2010-04-03 20:55:30 -04:00
Kjartan Maraas
b802beb0b1 Updated Norwegian bokmål translation 2010-04-03 20:55:30 -04:00
Jorge González
686efe8145 Updated Spanish translation 2010-04-03 20:55:29 -04:00
Kristian Rietveld
a86bbf759f 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-04-03 20:55:29 -04:00
Jorge González
453ac4a2ec Updated Spanish translation 2010-04-03 20:55:29 -04:00
Jorge González
39945324bc Updated Spanish translation 2010-04-03 20:55:29 -04:00
Jorge González
a622ca52a0 Updated Spanish translation 2010-04-03 20:55:29 -04:00
Andre Klapper
05bc895378 Add missing files to POTFILES.in to make l10n.gnome.org happy 2010-04-03 20:55:29 -04:00
Cody Russell
1ae55844f7 Remove existing signal connections in gtk_drag_dest_unset().
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=608370
2010-04-03 20:55:29 -04:00
Christian Dywan
21ef8f9ad9 Implement gtk_paned_get_handle_window
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=607885
2010-04-03 20:55:28 -04:00
Christian Dywan
bffcae28d7 Do not update paned position if it's already at the given value
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=561816
2010-04-03 20:55:28 -04:00
Theppitak Karoonboonyanan
36b1586f86 Updated Thai translation. 2010-04-03 20:55:28 -04:00
Li Yuan
5067f69ff1 Bug #608410. Set cursor position after inserting text. 2010-04-03 20:55:28 -04:00
Jamil Ahmed
8a9dabd683 Updated Bengali translation 2010-04-03 20:55:28 -04:00
Jamil Ahmed
47c66ad3bc Updated Bengali translation 2010-04-03 20:55:28 -04:00
Jamil Ahmed
7e978d3447 Updated Bengali translation 2010-04-03 20:55:28 -04:00
Javier Jardón
d8453e7826 [docs] Fix GtkOffscreenWindow documentation 2010-04-03 20:55:27 -04:00
Matthias Clasen
4343bc8d0a Bump version 2010-04-03 20:55:27 -04:00
Matthias Clasen
539545688c 2.19.4 2010-04-03 20:55:27 -04:00
Matthias Clasen
c51d3805a7 Doc additions 2010-04-03 20:55:25 -04:00
Matthias Clasen
a7e91ca4ca Minor doc fix 2010-04-03 20:55:24 -04:00
Matthias Clasen
a17acc0572 Updates 2010-04-03 20:55:24 -04:00
Jamil Ahmed
30101c195c Updated Bengali translation 2010-04-03 20:55:24 -04:00
Alexander Shopov
2bd8ea3084 Updated Bulgarian translation 2010-04-03 20:55:24 -04:00
Alexander Shopov
6d84afc2f5 Updated Bulgarian translation 2010-04-03 20:55:24 -04:00
Christian Dywan
8f49f935df Remove the destination file if trying to save a pixbuf failed
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=591102
2010-04-03 20:55:24 -04:00
Javier Jardón
bb7ff7b586 [test] Fix some typos 2010-04-03 20:55:23 -04:00
Paul Davis
1c9cc0acf0 Small memory fix 2010-04-03 20:55:23 -04:00
Michael Natterer
88977f73eb 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-04-03 20:55:23 -04:00
Michael Natterer
5585335dd9 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-04-03 20:55:23 -04:00
Claudio Saavedra
189a35fe59 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-04-03 20:55:23 -04:00
Alexander Larsson
b8a0ff9e04 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-04-03 20:55:23 -04:00
Matthias Clasen
c81131ff21 Add a way to set wm_class on statusicons
Since the shell uses wm_class for sorting statusicons.
2010-04-03 20:55:22 -04:00
Alexander Larsson
b26536162c 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-04-03 20:55:22 -04:00
Javier Jardón
06eb74410d Fix some compilation warnings
The warnings was introduced with the changes in commit
a491091e29
2010-04-03 20:55:22 -04:00
Alexander Larsson
8f125f9b93 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-04-03 20:55:22 -04:00
Alexander Larsson
26d5674b65 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-04-03 20:55:22 -04:00
Russell Kyaw
3dcb9d4bfc Added Burmese translation for gtk+ properties 2010-04-03 20:55:22 -04:00
Russell Kyaw
23d870de2f Added Burmese translation 2010-04-03 20:55:22 -04:00
Simos Xenitellis
2de67d907b Added Burmese (my) to po/LINGUAS 2010-04-03 20:55:21 -04:00
Alexander Larsson
e9da5b95de 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-04-03 20:55:21 -04:00
Kjartan Maraas
4aa4093b6e Updated Norwegian bokmål translation 2010-04-03 20:55:21 -04:00
Kjartan Maraas
04bc35f060 Updated Norwegian bokmål translation 2010-04-03 20:55:21 -04:00
Kjartan Maraas
c8fdec0419 Updated Norwegian bokmål translation 2010-04-03 20:55:21 -04:00
Murray Cumming
2a762bf6ca GtkToolPalette: Fix a compiler warning introduced in my last commit. 2010-04-03 20:55:21 -04:00
Javier Jardón
ef3dc5fd42 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-04-03 20:55:21 -04:00
Kristian Rietveld
9743d2e83c Bug 607322 - Double-click doesn't work if the item is selected in...
Slight correction to fix for #596473.
2010-04-03 20:55:20 -04:00
Murray Cumming
eed0dd0944 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-04-03 20:55:20 -04:00
Matthias Clasen
2091807b24 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-04-03 20:55:20 -04:00
Matthias Clasen
c31f02b455 Fix declaration of gtk_print_job_set_status
The problem was reported in bug 606698.
2010-04-03 20:55:20 -04:00
Matthias Clasen
b5061249e7 Reset effective_attrs when necessary
This fixes both bug 607217 and bug 607269.
2010-04-03 20:55:19 -04:00
Matthias Clasen
58956ad7e2 Fix a few C99isms
Reported in bug 606761.
2010-04-03 20:55:19 -04:00
Daniel Nylander
38c309869d Updated Swedish translation 2010-04-03 20:55:19 -04:00
Matej Urbančič
ac4d89113b Updated Slovenian translation 2010-04-03 20:55:19 -04:00
Alexander Larsson
51b774f59a 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-04-03 20:55:19 -04:00
Xandru Armesto Fernandez
07d3c79945 Updated asturian translation 2010-04-03 20:55:19 -04:00
Xandru Armesto Fernandez
84c77b7ca5 Updated asturian translations 2010-04-03 20:55:19 -04:00
Xandru Armesto Fernandez
0d0f3a1e4c Updated asturian translations 2010-04-03 20:55:18 -04:00
Murray Cumming
18b7ad4182 GtkToolPalette: Use GtkToolItemGroup* instead of GtkWidget* for setter parameters.
See Bug #567729
2010-04-03 20:55:18 -04:00
Michael Natterer
27f81d8918 Some fixes in gtkoffscreenwindow.h
- use (void) not () for void functions
- disallow individual inclusion unconditionally
2010-04-03 20:55:18 -04:00
Inaki Larranaga Murgoitio
e40dcff11b Updated Basque language 2010-04-03 20:55:18 -04:00
Inaki Larranaga Murgoitio
4f37e160af Updated Basque language 2010-04-03 20:55:18 -04:00
Javier Jardón
905edf9478 [docs] Use the correct GTK-doc syntax to refer to GTK+ properties 2010-04-03 20:55:18 -04:00
Jorge González
74a104d73a Updated Spanish translation 2010-04-03 20:55:18 -04:00
Javier Jardón
149f5891fa [docs] Use the correct GTK-doc syntax to refer to GTK+ property 2010-04-03 20:55:17 -04:00
Javier Jardón
29e8460604 [docs] Remove GTK+ 1.2 tutorial from master
The tutorial it's still inside the gtk-1-2 branch if It's needed
2010-04-03 20:55:17 -04:00
Khaled Hosny
eaac92f621 Updated Arabic translation 2010-04-03 20:55:17 -04:00
Javier Jardón
f01e0670f8 [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-04-03 20:55:17 -04:00
Matthias Clasen
c0d7fe2ad4 Correct PRC6 and PRC9 envelope sizes
See bug 603144 for the full story.
2010-04-03 20:55:17 -04:00
Matthias Clasen
e3cf8611b2 Bump version 2010-04-03 20:55:17 -04:00
Matthias Clasen
f0d57f40f5 2.19.3 2010-04-03 20:55:16 -04:00
Matthias Clasen
82956742c0 Dco updates 2010-04-03 20:55:14 -04:00
Matthias Clasen
57ca68d591 Updates 2010-04-03 20:55:14 -04:00
Christian Persch
cf9edf9ff7 Implement property editor for GdkColor properties
Bug #606434.
2010-04-03 20:55:14 -04:00
Christian Dywan
4285f21b3b Limit GtkContainer::border-width to 65535
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=605199
2010-04-03 20:55:13 -04:00
Matthias Clasen
6860f86724 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-04-03 20:55:13 -04:00
Christian Dywan
43572af86e Implement "preedit-changed" in GtkEntry and GtkTextView
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=602284
2010-04-03 20:55:13 -04:00
Christian Dywan
cad18bbfe3 Use const gchar* in gtk_window_get_icon_name implementation
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=597100
2010-04-03 20:55:13 -04:00
Christian Dywan
174c126b6e Document GtkWidget::state-changed signal properly
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=598383
2010-04-03 20:55:13 -04:00
Javier Jardón
a821df1577 [docs] Add missing "Deprecated: 2.x" to the api doc comments 2010-04-03 20:55:13 -04:00
Daniel Nylander
99e2f97f30 Updated Swedish translation 2010-04-03 20:55:12 -04:00
Daniel Nylander
4f0619de15 Updated Swedish translation 2010-04-03 20:55:12 -04:00
Christian Persch
66882103cc Allow NULL iter in gtk_combo_box_set_active_iter to unset
Bug #606230.
2010-04-03 20:55:12 -04:00
Matthias Clasen
7673c45fec Try a little harder to survive close to OOM 2010-04-03 20:55:12 -04:00
Matthias Clasen
675ead1d82 Avoid an FPE for ludicrous scale values
...just bail out early.
2010-04-03 20:55:12 -04:00
Javier Jardón
b3e06e8302 Use g_strcmp0() instead custom safe_strcmp()
Reported by Rafal Luzynski in
https://bugzilla.gnome.org/show_bug.cgi?id=606415
2010-04-03 20:55:12 -04:00
Xandru Armesto Fernandez
e9d18c8e07 Updated asturian language 2010-04-03 20:55:11 -04:00
Javier Jardón
01a3ad45b8 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-04-03 20:55:11 -04:00
Jean Brefort
694bf7230e fix critical in gtk_editable_insert_text 2010-04-03 20:55:11 -04:00
Javier Jardón
f8d1cf58af Deprecate widget flag: GTK_WIDGET_CAN_FOCUS
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-04-03 20:55:11 -04:00
Javier Jardón
69de358b38 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-04-03 20:55:10 -04:00
Shankar Prasad
312263233f Made couple of translation changes in kn.po 2010-04-03 20:55:10 -04:00
Matthias Clasen
bd5431e620 Setup libjpeg error handlers early enough
See bug 606068 for details.
2010-04-03 20:55:10 -04:00
Jorge González
95ccaa02de Updated Spanish translation 2010-04-03 20:55:10 -04:00
Timo Jyrinki
9d7ef2875d One-line fix to a noticiable translation bug. 2010-04-03 20:55:10 -04:00
Matej Urbančič
6972375688 Updated Slovenian translation 2010-04-03 20:55:10 -04:00
Maxim V. Dziumanenko
e4d9e5dd63 Update Ukrainian translation 2010-04-03 20:55:10 -04:00
Kjartan Maraas
bfadb65fb0 Updated Norwegian bokmål translation. 2010-04-03 20:55:09 -04:00
Inaki Larranaga Murgoitio
5c35215457 Updated Basque language 2010-04-03 20:55:09 -04:00
Javier Jardón
02b2810a0e Fix compilation warning: use const *gchar variable
https://bugzilla.gnome.org/show_bug.cgi?id=605090
2010-04-03 20:55:09 -04:00
Javier Jardón
7ed2cbcfce Fix compilation warning: use the correct conversion specifier
Use G_GSIZE_FORMAT instead of %i

The warning was added in
commit ba651d4022
2010-04-03 20:55:08 -04:00
Christian Dywan
4b03789551 Don't use GTK_WIDGET_NO_WINDOW in GtkEventBox 2010-04-03 20:55:08 -04:00
Christian Dywan
5db40e41b3 No GTK_WIDGET_NO_WINDOW in GtkFixed and deprecate gtk_fixed_set_has_window 2010-04-03 20:55:08 -04:00
Christian Dywan
bcb255593d Don't use GTK_WIDGET_NO_WINDOW in GtkContainer 2010-04-03 20:55:08 -04:00
Christian Dywan
fc2cbf960c 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-04-03 20:55:07 -04:00
Christian Dywan
20dcd8a723 Fix missing GTK_WIDGET cast on printer option widget in construct_widgets 2010-04-03 20:53:49 -04:00
Christian Dywan
ea7bd00e92 Fix missing GTK_WINDOW cast in _gtk_menu_shell_update_mnemonics 2010-04-03 20:53:49 -04:00
Benjamin Otte
d3e91fbba6 Document missing signal parameter 2010-04-03 20:53:49 -04:00
Javier Jardón
54573f1582 [docs] Add documentation for GdkWindow 'cursor' property
Reported by Rafal Luzynski here:
https://bugzilla.gnome.org/show_bug.cgi?id=604821
2010-04-03 20:53:49 -04:00
Theppitak Karoonboonyanan
62a2dd6c78 Updated Thai translation. 2010-04-03 20:53:49 -04:00
Hiroyuki Ikezoe
699fc85a67 Use CAIRO_VERSION instead of CAIRO_VERSION_CODE
Cairo does not have CAIRO_VERSION_CODE macro.
Fix for bug #605472.
2010-04-03 20:53:49 -04:00
Matthias Clasen
e337bd8583 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-04-03 20:53:49 -04:00
Matthias Clasen
facb5e7d60 Update dependency information 2010-04-03 20:53:48 -04:00
Matthias Clasen
37e71e4e28 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-04-03 20:53:48 -04:00
Matej Urbančič
1566b3af8a Updated Slovenian translation 2010-04-03 20:53:48 -04:00
Matej Urbančič
3dca3822fb Updated Slovenian translation 2010-04-03 20:53:48 -04:00
Kristian Rietveld
51f9ce390f Plug leaks in quartz implementation of gtk_drag_begin_idle() 2010-04-03 20:53:48 -04:00
Kristian Rietveld
91663e0791 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-04-03 20:53:48 -04:00
Murray Cumming
b2d6bf1526 GtkToolPalette: docs: Minor English corrections. 2010-04-03 20:53:48 -04:00
Johan Dahlin
3871291ba3 Make sure Gdk-2.0.gir is installed
Fixes a variable name typo
2010-04-03 20:53:47 -04:00
Johan Dahlin
9242d1414d Avoid warnings when introspetion is not available
-include is the same as include but will never warn if the
file is not available
2010-04-03 20:53:47 -04:00
Johan Dahlin
e4ac9609a2 Fix build with system install of introspection
Or redo it properly and remove previous hack by Matthias.
2010-04-03 20:53:47 -04:00
Kristian Rietveld
753e30667f Fix compiler warning 2010-04-03 20:53:47 -04:00
Kristian Rietveld
80a015529d Fix memory management of types array
Also add autorelease pool to gtk_drag_begin_idle().
2010-04-03 20:53:47 -04:00
Kristian Rietveld
b48c8318a1 Do not leak the NSMutableSet 2010-04-03 20:53:47 -04:00
Kristian Rietveld
b8fa675a6a Release view after setting it as contentView
Fixes GdkQuartzView being leaked.
2010-04-03 20:53:47 -04:00
Kristian Rietveld
969ff4c863 Fix memleak in get_nsscreen_for_point()
One codepath did not go through GDK_QUARTZ_RELEASE_POOL, refactored
the code to fix this.
2010-04-03 20:53:47 -04:00
Kristian Rietveld
81cf73ae8a Fix memory leak in GdkQuartzView
Should remove the tracking rect in dealloc.
2010-04-03 20:53:46 -04:00
Kristian Rietveld
8273349eca Use CGFLOAT_DEFINED, don't rely on NSINTEGER_DEFINED for this 2010-04-03 20:53:46 -04:00
Kristian Rietveld
50c7d672c1 Unset expander_column when expander column is removed from tree view 2010-04-03 20:53:46 -04:00
Kristian Rietveld
0d51400b29 Add gdk_keymap_map_virtual_modifiers() to Quartz backend 2010-04-03 20:53:46 -04:00
Kristian Rietveld
f7daeec10f 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.
2010-04-03 20:53:46 -04:00
Kristian Rietveld
5d3e414994 Fix compile warning in gdk_cursor_new_from_pixmap 2010-04-03 20:53:46 -04:00
Kristian Rietveld
b86b00b387 initWithContentRect: has a NSUInteger parameter now
The typedef in place for Tiger and earlier systems should change this
to unsigned int without problems.
2010-04-03 20:53:46 -04:00
Cody Russell
1fa4359218 Add GtkOffscreenWindow to gtk-sections.txt 2010-04-03 20:53:46 -04:00
Cody Russell
a739d9fb80 Documentation changes. 2010-04-03 20:53:45 -04:00
Cody Russell
2831ef6b19 Add 'Since 2.20' documentation. 2010-04-03 20:53:45 -04:00
Cody Russell
b7fd519822 Add documentation note for GtkOffscreenWindow emission of damage-event. 2010-04-03 20:53:45 -04:00
Cody Russell
4c14a043eb Add gtk-doc section for GtkOffscreenWindow 2010-04-03 20:53:45 -04:00
Cody Russell
a078bd09b0 Add gtk_offscreen_window_get_{pixmap,pixbuf} to gtk.symbols 2010-04-03 20:53:45 -04:00
Cody Russell
da2d84c0bf Add gtkoffscreenwindow.sgml 2010-04-03 20:53:45 -04:00
Cody Russell
4c4f795da9 Add gtk_offscreen_window_get_pixmap() and gtk_offscreen_window_get_pixbuf(), some API docs. 2010-04-03 20:53:45 -04:00
Cody Russell
e0e2c768dd Add headers 2010-04-03 20:53:45 -04:00
Cody Russell
f76e9f5804 Add offscreen window symbols to gtk.symbols 2010-04-03 20:53:44 -04:00
Cody Russell
cab66c128c Add gtk_offscreen_window_new() prototype to gtkoffscreenwindow.h 2010-04-03 20:53:44 -04:00
Cody Russell
6b9924db1c Add delete-event callback to window, use gtk_widget_queue_draw() instead of gtk_widget_draw() 2010-04-03 20:53:44 -04:00
Cody Russell
87487cea62 GtkOffscreenWindow implementation for #604901 2010-04-03 20:53:44 -04:00
Jorge González
ddf4cde3af Updated Spanish translation 2010-04-03 20:53:44 -04:00
Kristian Rietveld
e9b593c2e6 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.
2010-04-03 20:53:44 -04:00
Ivar Smolin
324c3e4ced Updating Estonian translation 2010-04-03 20:53:44 -04:00
Iestyn Pryce
f099bf1f58 Updated Welsh translation 2010-04-03 20:53:44 -04:00
Iestyn Pryce
1d3707ca56 Updated Welsh translation 2010-04-03 20:53:43 -04:00
Kristian Rietveld
3e9dabbdb8 Fix call to update_prelight()
Seems like some minus signs sneaked in while diffing and reapplying...
Fixes regression noted in 480065.
2010-04-03 20:53:43 -04:00
Theppitak Karoonboonyanan
fa60b41c52 Updated Thai translation. 2010-04-03 20:53:43 -04:00
Jonh Wendell
3750e4fb67 Fix a memory leak in gtk_label_compose_effective_attrs() 2010-04-03 20:53:43 -04:00
Matthias Clasen
8928fd096e Forgotten news 2010-04-03 20:53:42 -04:00
Matthias Clasen
33a021868a Bump version and add dist-bzip2 2010-04-03 20:53:42 -04:00
Matthias Clasen
1de99c2c95 2.19.2 2010-04-03 20:53:42 -04:00
Kristian Rietveld
a763546c8f 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).
2010-04-03 20:53:38 -04:00
Kristian Rietveld
0cbf76ed47 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.
2010-04-03 20:53:38 -04:00
Matthias Clasen
00ec5fcd7a Updates 2010-04-03 20:53:38 -04:00
Tor Lillqvist
a75065a458 Add gdk_keymap_map_virtual_modifiers() implementation 2010-04-03 20:53:38 -04:00
Matthias Clasen
afbc052916 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.
2010-04-03 20:53:38 -04:00
Matthias Clasen
58f7b084b5 Fix make check 2010-04-03 20:53:37 -04:00
Matthias Clasen
a8fcc1c482 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
2010-04-03 20:53:37 -04:00
Matthias Clasen
87075b3b97 Add a release note about virtual modifiers 2010-04-03 20:53:37 -04:00
Matthias Clasen
d1c3745b07 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.
2010-04-03 20:53:37 -04:00
Richard Hughes
94f6a09585 Add icc-profile option to gdk-pixbuf for the TIFF image format 2010-04-03 20:53:37 -04:00
Javier Jardón
af09dd08c1 Move documentation to inline comments: GtkMountOperation
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2010-04-03 20:53:37 -04:00
Javier Jardón
dab1cacba7 Move documentation to inline comments: GtkImage
https://bugzilla.gnome.org/show_bug.cgi?id=597865
2010-04-03 20:53:37 -04:00
Javier Jardón
f746afc794 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
2010-04-03 20:53:37 -04:00
Benjamin Otte
9889c4db88 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
2010-04-03 20:53:36 -04:00
Matthias Clasen
1f50800129 Make mnemonic hiding work for printer option widgets
By making the widget itself insensitive.
2010-04-03 20:53:36 -04:00
Matthias Clasen
132276fa75 More auto-mnemonics tweaks
When auto-mnemonics are on, hide mnemonics with insensitive target.
2010-04-03 20:53:36 -04:00
Matthias Clasen
779d3d58ea Some improvements to the auto-mnemonics code 2010-04-03 20:53:36 -04:00
Matthias Clasen
9de876c222 Handle reading the create-folders property 2010-04-03 20:53:36 -04:00
Javier Jardón
2abf1056c9 Fix compilation warning: cast to GTK_WIDGET() 2010-04-03 20:53:36 -04:00
Javier Jardón
14724073a4 Fix compilation warning: use the correct conversion specifier
Use G_GSIZE_FORMAT instead of %d
2010-04-03 20:53:36 -04:00
Jorge González
c12194feae Updated Spanish translation 2010-04-03 20:53:35 -04:00
Matthias Clasen
d68d78de81 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.
2010-04-03 20:53:35 -04:00
Matthias Clasen
ce9c3df4c8 Small documentation correction 2010-04-03 20:51:58 -04:00
Matthias Clasen
4bc8dcede8 Properly free damage events
This was reported in bug 605008
2010-04-03 20:51:57 -04:00
Benjamin Otte
3659db3a4a 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).
2010-04-03 20:51:57 -04:00
Benjamin Otte
71d7b97a90 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.
2010-04-03 20:51:57 -04:00
Jorge González
7545e7211c Updated Spanish translation 2010-04-03 20:51:57 -04:00
Carlos Garcia Campos
acca24e9c1 Fix a crash on print preview
There's no printer when doing print preview so it's not possible to get
its hard margins.
2010-04-03 20:51:57 -04:00
Dan Winship
507bf6a85f 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
2010-04-03 20:51:56 -04:00
Dan Winship
750a96e4cc Fix out/transfer annotations on GtkImage getters
https://bugzilla.gnome.org/show_bug.cgi?id=604895
2010-04-03 20:51:56 -04:00
Matthias Clasen
b68bbbb892 Fix doc typos
Reported in bug 604902.
2010-04-03 20:51:56 -04:00
Javier Jardón
1abc649b8c [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
2010-04-03 20:51:56 -04:00
Hiroyuki Ikezoe
f8b8bb4bf9 [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>
2010-04-03 20:51:56 -04:00
Matthias Clasen
360820e9bf 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.
2010-04-03 20:51:56 -04:00
Matthias Clasen
214d5efdd4 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.
2010-04-03 20:51:55 -04:00
Torsten Schoenfeld
600ae2db92 [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>
2010-04-03 20:51:55 -04:00
Hiroyuki Ikezoe
5cb043d5dd Use g_value_dup_string instead.
g_value_get_string and g_strdup should be replaced by
g_value_dup_string.
2010-04-03 20:51:55 -04:00
Richard Hughes
f289f667e7 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.
2010-04-03 20:51:55 -04:00
Alexander Larsson
89ac81e767 Actually send exposes from gdk_window_clear_area_e 2010-04-03 20:51:55 -04:00
Javier Jardón
0c991c5645 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
2010-04-03 20:51:55 -04:00
Nguyễn Thái Ngọc Duy
901aa0d645 vi.po: Updated Vietnamese translation 2010-04-03 20:51:54 -04:00
Christian Dywan
2336ebca5c Use gtk_widget_get_tooltip_text for gtk_tooltips_data_get in Gail 2010-04-03 20:51:54 -04:00
Tor Lillqvist
9d4e82a0dc Make the OLE2 DND code selectable at run-time instead of compile-time
(It still doesn't work, though.)
2010-04-03 20:51:54 -04:00
Johan Dahlin
b0e01bee7f Make sure dist check includes introspection 2010-04-03 20:51:54 -04:00
Johan Dahlin
944bf11cee Bump the required introspection version
Makefile.introspection was added in 0.6.7
2010-04-03 20:51:54 -04:00
Johan Dahlin
3a4f027074 Use Makefile.introspection
Use the new fancy rules from the Makefile.introspection, it makes
the rules prettier and avoids quite a bit of duplication
2010-04-03 20:51:54 -04:00
Johan Dahlin
a8bf73cfa7 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
2010-04-03 20:51:54 -04:00
Johan Dahlin
4330bd6e52 Bump required introspection version to 0.6.6 2010-04-03 20:51:54 -04:00
Johan Dahlin
6c9bfc5f39 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.
2010-04-03 20:51:53 -04:00
Johan Dahlin
9d4674a5ec Re-add accidentially removed gtkintl header 2010-04-03 20:51:53 -04:00
Johan Dahlin
cd50594db8 Add no-portability option to automake
We require GNU Make and has done so for a while already
2010-04-03 20:51:53 -04:00
Colin Walters
fcbbd763cd [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.
2010-04-03 20:51:53 -04:00
Johan Dahlin
99de88c452 Bump the required version of autoconf to 2.62
It's need by the new introspection macro.
2010-04-03 20:51:52 -04:00
Johan Dahlin
7c0624aa92 Separate private from public gdk headers
We don't want to parse the private gdk headers when
creating the GIR.
2010-04-03 20:51:52 -04:00
Johan Dahlin
b1397c64e4 Add an m4 directory and a introspection.m4
So we don't need the introspection.m4 file
to create a dist of gtk+
2010-04-03 20:51:52 -04:00
Tomeu Vizoso
1ba7e8eb15 Add a few more annotations to GtkIconTheme 2010-04-03 20:51:51 -04:00
Colin Walters
f584679cfa 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
2010-04-03 20:51:51 -04:00
Colin Walters
41342b23e5 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
2010-04-03 20:51:51 -04:00
Tor Lillqvist
3546feb389 Add copyright note and comment for merged old code 2010-04-03 20:51:51 -04:00
Tor Lillqvist
af37f76bc6 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.
2010-04-03 20:51:51 -04:00
Tor Lillqvist
e5b4a51b6b 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.
2010-04-03 20:51:51 -04:00
Tor Lillqvist
750fa5398e 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.
2010-04-03 20:51:51 -04:00
Tor Lillqvist
e70ef71c3a Remove unused functions and variables 2010-04-03 20:51:50 -04:00
Benjamin Otte
fb0968a99f Revert dd511e825a
The patch completely breaks entry completion - as can be seen when using
epiphany. Bug 480065 has been reopened.
2010-04-03 20:51:50 -04:00
Javier Jardón
4f0f6243c9 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
2010-04-03 20:51:49 -04:00
Matthew Barnes
52e84a9ecc 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.
2010-04-03 20:51:49 -04:00
Jordi Serratosa
0c90bacff8 Fixes to Catalan translation 2010-04-02 18:26:35 +02:00
Matthias Clasen
b416198a18 Don't use gio-unix on win32
We only need gio-unix when building the x11 backend.
Reported by Yevgen Muntyan in bug 614540.
2010-04-01 10:07:11 -04:00
Inaki Larranaga Murgoitio
9d2168ded2 Updated Basque language 2010-03-31 12:22:17 +02:00
Inaki Larranaga Murgoitio
da3efeb746 Updated Basque language 2010-03-31 12:06:11 +02:00
Inaki Larranaga Murgoitio
8809f33b65 Updated Basque language 2010-03-31 12:06:11 +02:00
Kenneth Nielsen
0a1ad1a4e2 Updated Danish translation 2010-03-31 00:21:44 +02:00
Runa Bhattacharjee
6ced4f526c Updated Bengali India Translation 2010-03-30 15:53:06 +05:30
Runa Bhattacharjee
0cbffefde8 Updated Bengali India Translation 2010-03-30 15:06:26 +05:30
Jordi Serratosa
e1f73a1984 Fixes to Catalan translation 2010-03-29 20:27:08 +02:00
Tristan Van Berkom
b4d09fd5fb Fixed possible devision by zero in size negotiations
Fixed GtkToolItemGroup to avoid deviding by zero when all children
are invisible or there are no children. bgo #613974.
2010-03-29 13:27:40 -04:00
Tristan Van Berkom
7e43059e84 Added missing default events in realize() implementations
Added gtk_widget_get_events() to the event masks declared by
GtkToolPalette & GtkToolItemGroup.
2010-03-29 13:22:18 -04:00
Tristan Van Berkom
133e3e84a7 Added missing break statement to mutator: gtk_tool_item_group_set_property() 2010-03-29 13:16:54 -04:00
Benjamin Otte
9514e741cd Fix error case in filesystem model
We should not unref the model here, it might not even exist anymore.
Instead check if it exists and only use it if it does.
The unref was leftover from a previous fix in
ba9f53397f.

Spotted by Matthias Clasen in
https://bugzilla.gnome.org/show_bug.cgi?id=614099
2010-03-29 16:29:20 +02:00
David Planella
b84d4a308e Updated Catalan translation with a couple of fixes 2010-03-29 09:22:08 +02:00
David Planella
9e607a572b Updated Catalan translation 2010-03-29 09:16:43 +02:00
Jamil Ahmed
7d90caca4f Updated Bengali translation 2010-03-28 15:49:58 +06:00
Christian Dywan
23fa7fcc6e Fix a misspelling in gtk_cell_view_new_with_markup
This fixes bug 613887.
2010-03-28 04:22:41 +02:00
Ask H. Larsen
a34ddc38b6 Updated Danish translation 2010-03-28 00:15:48 +01:00
Maxim V. Dziumanenko
484c40bab0 Updated Ukrainian translation 2010-03-27 14:42:07 +02:00
Maxim V. Dziumanenko
e11db0ea01 Updated Ukrainian translation 2010-03-27 14:29:56 +02:00
Jamil Ahmed
f896f48dcc Updated Bengali translation 2010-03-27 18:10:02 +06:00
Jamil Ahmed
9c1ad44ed9 Updated Bengali translation 2010-03-27 18:02:54 +06:00
Hiroyuki Ikezoe
ffbd007c50 [directfb] Fix compile error on DirectFB backend.
Add a stub for gdk_keymap_map_virtual_modifiers.
2010-03-25 16:39:41 +01:00
Hiroyuki Ikezoe
22b0149b78 Use g_value_take_string to avoid redundant invoking g_free. 2010-03-25 16:34:46 +01:00
Javier Jardón
014c28c208 Fix compilation warning: Use GtkWidget instead GtkMenuItem 2010-03-25 14:52:18 +01:00
Matthias Clasen
a0f23e1706 Fix a 64bit issue
Thank you libpng, for typedef unsigned long png_uint_32.
2010-03-25 00:55:15 -04:00
Matthias Clasen
eb42c9e9ce Add notes about gobject-introspection 2010-03-23 11:41:17 -04:00
Matthias Clasen
42ef281ea4 Bump version to 2.20.1 2010-03-23 10:24:51 -04:00
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
Matthias Clasen
a2a990aa0b Fix a typo 2009-12-19 13:12:16 -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
Matthias Clasen
d99742e1cb implement extended layout for GtkCellRendererText 2009-12-19 10:31:16 -05:00
Matthias Clasen
5e62f81196 implement extended layout for GtkCellView 2009-12-19 10:23:58 -05: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
d4b1f0cadf implement extended layout for GtkTreeView and GtkTreeViewColumn 2009-12-19 02:07:51 -05:00
Matthias Clasen
56edab3553 Implement extended layout for plug/socket 2009-12-19 01:23:58 -05:00
Matthias Clasen
9a48091064 Implement extended layout for GtkScrolledWindow 2009-12-19 00:57:49 -05:00
Matthias Clasen
5e8045b14d Implement extended layout for GtkBin 2009-12-19 00:34:04 -05:00
Matthias Clasen
7a69bdc5f0 Make it compile 2009-12-18 23:44:43 -05: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
Johannes Schmid
21ebf5df86 native-layout: Change test-case so that it is more obvious that the algorithm tries to show as many
widgets with full size as possible.
2009-12-14 17:24:52 +01:00
Johannes Schmid
24c1a4f24b native-layout: Fix typo that brakes layout completely 2009-12-14 17:16:21 +01:00
Johannes Schmid
462dc0643b native-layout: Bump version of GtkExtendedLayout gtk-doc comments to 2.20 2009-12-14 16:30:26 +01:00
Johannes Schmid
9724366289 native-layout: Don't expose extra gtk_widget_* function that are similar to the GtkExtendedLayout interface 2009-12-14 16:28:56 +01:00
Johannes Schmid
c659d1a505 Merge branch 'master' into native-layout 2009-12-14 15:36:22 +01:00
Johannes Schmmid
e08d04b561 native-layout: Introduce GtkExtendedLayout interface. 2009-12-14 15:32:49 +01: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
Johannes Schmid
a8ec02c930 gtknotebook: Avoid drawing artifacts with action widgets and long tab labels (bgo#603245) 2009-12-02 09:36:53 +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
Pascal Terjan
f3013bf6ed Call XReconfigureWMWindow with proper screen
Thanks gcc :

gdkwindow-x11.c:1731: warning: passing argument 3 of
'XReconfigureWMWindow' makes integer from pointer without a cast
/usr/include/X11/Xlib.h:1871: note: expected 'int' but argument is of
type 'struct GdkScreen *'

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
2009-10-01 18:36:43 +02:00
Matthias Clasen
97d15954ad Move SIGPIPE suppression to gtk_init and document it
Some people were unhappy with doing it deep inside the lpr print
backend at an unpredictable time, and SIGPIPE is almost never
wanted anyway.
2009-10-01 11:45:28 -04:00
Miloš Popović
42ad005847 Updated Serbian translation 2009-10-01 01:23:06 +00:00
Matthias Clasen
3b39aacd29 Bump version 2009-09-30 18:02:46 -04:00
Matthias Clasen
df3775821d 2.18.1 2009-09-30 18:00:21 -04:00
Matthias Clasen
121868f660 Updates 2009-09-30 16:28:02 -04:00
Petr Kovar
724b2bae64 Updated Czech translation 2009-09-30 21:23:10 +02:00
Adrian Johnson
7c3e8130c4 Correct the orientation of landscape pages
The convention for landscape pages, and required by PostScript
Language Reference Manual, is for landscape printing to rotate user
space 90 degrees counterclockwise. Part of bug 596423
2009-09-30 12:47:55 -04:00
Adrian Johnson
4261efda2b Emit PageOrientation DSC comment into PostScript print output
The PageOrientation DSC comment tells PostScript viewers such as gv or
evince the orientation to use when displaying the page. Part of bug 596423
2009-09-30 12:46:58 -04:00
Marek Kasik
dd52987d1f Speed up printer listing in the print dialog
Use shorter timeout for connection testing to avoid A 3-6 second
delay before the printers appear. Bug 594643
2009-09-30 12:43:40 -04:00
Gabor Kelemen
14f3006d12 Updated Hungarian translation 2009-09-30 16:49:55 +02:00
Kristian Rietveld
a4145bfeef Bug 588449 - DnD doesn't work on GDK/Quartz
Patch from Paul Davis.  This gets the basics of drag and drop properly
working on Mac OS X.
2009-09-30 15:07:37 +02:00
Christian Dywan
31771cc640 Add a note about tooltip theming
This should help to reduce the amount of confusion about how to
make a tooltip window appear like a tooltip. Bug 596080.
2009-09-30 08:45:30 -04:00
Kristian Rietveld
2518fbdc02 Fix compile warning in defaultvalue test 2009-09-30 13:09:22 +02:00
Kristian Rietveld
dc04e012cf Ignore certain GtkSettings in defaultvalues unit test
Like the other GtkSettings already registered, these are influenced from
the outside and cannot be properly tested.  The defaultvalues test
passes again now.
2009-09-30 13:05:33 +02:00
Kristian Rietveld
28d56cbbda Use boxed accessors for setting and retrieving cursor property 2009-09-30 13:00:28 +02:00
Kristian Rietveld
77fc6e3539 Bug 596580 - Blank rows in entry autocompletion
gtk_tree_model_build_level() always needs to emit row-inserted when
requested, this should not depend on whether the level has a parent
level or a virtual root, which is a check whether or not we need to
reference the node in the child model.  Furthermore, we also need
to emit row-has-child-toggled after row-inserted when appropriate.

When gtk_tree_model_filter_row_changed() pulls in the root level, it
must request build_level() to emit signals for this.  The refilter
function uses row_changed to process the changes, so build_level() in
the first call to row_changed() might pull in multiple new nodes in this
scenario, for all of these signals need to be emitted.  Of course,
build_level() will then also emit the signals for the node row_changed()
is processing, we should not emit a duplicate signal, this is now
accounted for.

Add a unit test for this.  For this small functionality to block the
row-changed signal has been implemented, so that we can simulate calls
to the refilter function using the current visible column setup.
2009-09-30 10:25:48 +02:00
Kristian Rietveld
3a69f6772b Pretty print non-matching signals in filter model test suite 2009-09-30 10:25:48 +02:00
Daniel Nylander
efd2814477 Updated Swedish translation 2009-09-30 09:58:00 +02:00
Thomas Jaeger
35845f1efe Interpret min_value == max_value correctly
https://bugzilla.gnome.org/show_bug.cgi?id=588649

Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
2009-09-30 09:21:12 +02:00
Thomas Jaeger
70bd23537f Select for DeviceStateNotify
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-30 09:21:11 +02:00
Thomas Jaeger
0178ebf739 Keep track of axis values
https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-30 09:21:10 +02:00
Jürg Billeter
ee25051f96 Support tracker 0.7
Make GtkSearchEngineTracker work with libtracker 0.6 and 0.7.
See bug 596081.
2009-09-30 00:43:51 -04:00
Xan Lopez
f0f39c34f8 Update last_window only when needed
_gtk_tooltip_handle_event, which is called for many events in the GTK+
main loop, calls gtk_tooltip_set_last_window, which keeps a weak
reference to the last window we passed through. If the window being
set is the same than the last one there's really no need to update our
weak reference, so add a check for that and exit early.
2009-09-29 23:45:03 -04:00
Thomas Jaeger
67728ac004 Filter out events that the current window didn't select for
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-29 14:44:25 +02:00
Thomas Jaeger
51f2a99096 Always select all XInput motion events
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-29 14:44:23 +02:00
Thomas Jaeger
acdecb6aa4 Report XInput button motion events until all buttons are released.
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-29 14:44:21 +02:00
Thomas Jaeger
2635fb75c6 XInput allows up to 255 buttons
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-29 14:44:18 +02:00
Thomas Jaeger
abf7742beb Refactor _gdk_input_other_event
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-29 14:44:17 +02:00
Thomas Jaeger
bd51d930e8 Use strstr instead of g_strrstr.
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
2009-09-29 12:58:52 +02:00
Alexander Larsson
6fef640deb Only select for button and pointer event on toplevels
These event types propagate up the hierarchy anyway, so this means
we avoid setting it unnecessarily. This is especially important
for button press event, since only one client can select for this
on each window, causing X errors if two clients do it.
2009-09-29 12:58:42 +02:00
Claude Paroz
5a39fdbba1 Updated French translation 2009-09-29 12:03:40 +02:00
Amitakhya Phukan
987b45da7b Updating corrected Assamese translations. 2009-09-29 11:19:07 +05:30
Matthias Clasen
894e11e447 Always initialize out params
This was causing a crash in the appearance capplet, reported in
bug 596345.
2009-09-28 12:41:29 -04:00
Thomas Jaeger
7d196b3939 Improve detection of input device source type
This detection code is not 100% reliable, but it should fare much better
than the current code, which just compares the device name to a fixed
set of strings.  Many applications depend on erasers being recognized
reliably, so we start by checking for a device name containing the
substring 'eraser'.

Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
2009-09-28 16:08:42 +02:00
Alexander Larsson
e81501ebea Sent button events don't cause passive grabs
Don't track sent button events as causing or removing
passive grabs.
2009-09-28 15:29:37 +02:00
Alexander Larsson
739121dee0 Remove unused grab_one_pointer_release_event var
We don't use this anymore, so just remove.
2009-09-28 15:26:19 +02:00
Alexander Larsson
5ebb32d1ff Extend _gdk_windowing_window_at_pointer to be able to get toplevels only
This has two advantages:
1) In many backends, this is faster as we can terminate the window
hierarchy traversal earlier
2) When used in gdkdisplay.c::get_current_toplevel() to get the
current toplevel that has the pointer we now correctly return
a toplevel with the pointer in it where the pointer is inside
some foreign subwindow of a toplevel window.

The second advantage fixes some bugs in client side event generation
when the pointer is inside such a foreign child window.
2009-09-28 15:21:54 +02:00
Cody Russell
fe188a18f3 Bug 596494 - New property "cursor" in 2.18's GdkWindow with wrong type?
Use a boxed paramspec with GDK_TYPE_CURSOR instead of a pointer paramspec.
2009-09-27 14:37:19 -05:00
Kristian Rietveld
f2d9f5a9e6 Remove unused variable 2009-09-27 13:44:10 +02:00
Kristian Rietveld
2f782de1b7 Bug 596012 - popup menu position is horribly off on gdk quartz with ...
Based on first patches by Christian Hergert.  Change
screen_get_monitor_geometry() so that it translates the layout of the screens
from Cocoa layout to GDK layout.  In Cocoa, the screen locations
are specified in Cocoa geometry, as well as that GDK uses a different way
to place individual monitors in the root window.  For now only monitors
that are laid out horizontally are supported (see the FIXMEs in the source),
in bug 596238 we will track future work to get things fully right.

Modify _gdk_quartz_window_get_inverted_screen_y() to take the differences
in screen layout between Cocoa and GDK into account.  Also this function
is subject to future work.
2009-09-27 13:44:10 +02:00
Matthias Clasen
f506752aff Handle child widgets correctly with multiple views
This was broken by an RTL fix in April.
2009-09-27 00:14:54 -04:00
Christian Hergert
17130a8ec9 Bug 517394 - Native resize grip steals button release ...
Explicitly handle resizing by leaving all events in the lower right 15x15
corner to Cocoa, if the window shows a resizing indicator.  Some
applications may have widgets allocated in this area.  Generally, these
widgets are likely larger than 15x15 so they can still be hit.  Often
scroll bars are found in this area and these can also be manipulated by
other means.  Since this is the only way of resizing windows on Mac OS X,
it is too important to keep it broken.
2009-09-25 21:52:13 +02:00
Kristian Rietveld
785e55f87d Bug 596250 - Gdkcursor-quartz.c doesn't implement GDK_BLANK_CURSOR
Support GDK_BLANK_CURSOR.  Patch by John Ralls.
2009-09-25 18:51:55 +02:00
Kristian Rietveld
cdec2caaf3 Send a motion-notify when a (new) main window became active
This motion-notify even will make sure that things like highlights are
set up correctly now that the window has become active.
2009-09-25 18:51:54 +02:00
Alexander Larsson
3bcf8b39fb On pointer grab request native events needed for event emulation
When we grab the pointer we need to request more events than what is
specified, otherwise our event emulation stop working and you won't
e.g. get crossing event unless you specified motion event mask.
2009-09-25 11:28:26 +02:00
Jorge González
f8aba14714 Updated Spanish translation 2009-09-25 08:16:56 +02:00
Ivar Smolin
06c208f8f1 Updating Estonian translation 2009-09-25 07:23:11 +03:00
Mario Blättermann
cdba018fe9 Updated German translation 2009-09-24 19:41:16 +02:00
Alexander Larsson
afc19eb4a7 Send expose events on foreign windows
F-Spot needs this as it draws on a foreign (screensaver) window, which
used to work.

I believe this is safe, because in all typical cases the expose
mask will not be set, so we won't do anything, and its what we used to
do.
2009-09-24 16:48:04 +02:00
Antón Méixome
402d60e5b4 Updated Galician Translation 2009-09-24 15:44:12 +02:00
Marek Kasik
a3e0766218 Add support for 'auth-info' attribute to the CUPS backend
Check for 'auth-info-required' attribute from printer attributes to
find out whether an authentization of user is needed.
Change password dialog of print backend to be able to require informations
requested thru 'auth-info-required' (#566522).
2009-09-24 15:34:56 +02:00
Matej Urbančič
9439a7ee0e Updated Slovenian translation 2009-09-24 12:46:51 +02:00
Ivar Smolin
c8f06be920 Updating Estonian translation 2009-09-24 13:28:31 +03:00
Gabor Kelemen
e1a47f4f43 Updated Hungarian translation 2009-09-24 12:26:34 +02:00
Jorge González
bde1767f8d Updated Spanish translation 2009-09-24 10:23:00 +02:00
Philip Withnall
29b6013e17 Updated British English translation 2009-09-23 23:12:50 +01:00
Philip Withnall
fc3f46856b Updated British English translation 2009-09-23 22:03:05 +01:00
Daniel Nylander
2c4d706350 Updated Swedish translation 2009-09-23 22:15:34 +02:00
Mario Blättermann
ac2ecf64bb Updated German translation 2009-09-23 21:39:40 +02:00
Claude Paroz
a2c2427562 Updated French translation 2009-09-23 21:01:38 +02:00
Marek Kasik
5f4915f624 Don't hang print dialog when remote CUPS printer is not available
This patch tests availability of remote host before getting ppd file
for selected printer (#586207). It also adds a state message for
failure of getting details.
2009-09-23 14:35:26 +02:00
Matthias Clasen
915957fca3 Bump version 2009-09-23 00:08:43 -04:00
Matthias Clasen
b841251ca7 2.18.0 2009-09-23 00:02:47 -04:00
Matthias Clasen
5a7dc8cc71 Updates 2009-09-22 22:19:06 -04:00
Matthias Clasen
d611674a55 Bump version to 2.18.0 2009-09-22 21:00:54 -04:00
andreas
7af7cefa2d Updated Afrikaans translation 2009-09-22 20:11:22 -03:00
David Planella
6546ef0ffa Updated Catalan translation 2009-09-22 20:08:40 +02:00
Rajesh Ranjan
4c0418c9a6 hindi update 2009-09-22 15:30:33 +05:30
Mart Raudsepp
0633ba0163 Fix more GtkEntry Since tags.
progress-border and invisible-char style properties had wrong amount
of colons for gtk-doc (signal markup instead of properties), so the
Since tags didn't seem to get picked up.
GtkEntry:invisible-char also had a wrong Since: 2.22, fixed to 2.18.
2009-09-22 11:25:28 +03:00
Mart Raudsepp
9ea2bfe73f Add missing Since: 2.16 for gtk_entry_[set/get]_icon_drag_source 2009-09-22 11:25:28 +03:00
Mart Raudsepp
797b4c8003 Fix a typo
previe => preview
2009-09-22 11:25:28 +03:00
Mart Raudsepp
9eeda3e21d GtkImage docs: Fix typo - widgte => widget 2009-09-22 11:25:28 +03:00
Mart Raudsepp
275001badc Pack the struct better, should save four bytes per GtkIconView 2009-09-22 11:25:28 +03:00
Luca Ferretti
d42d61ac73 Updated Italian translation 2009-09-21 22:43:03 +02:00
Kristian Rietveld
3043155796 Bug 550939 - GtkFileChooser listbox does not refresh selection
Make the quartz backend support the new queued translations.  We do this
by keeping our own copy of the region that has been set to need display.
Using this region we can intersect by the given area, translate this and also
set needs display for the resulting area.
2009-09-21 20:41:35 +02:00
Carlos Garnacho
bfc88240b4 Always report XInput events to the grab window if any.
The grab window should be the first option to send events to, else we may
get unpaired events, making display->ignore_core_events go crazy.

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-21 20:04:22 +02:00
Carlos Garnacho
d37268c60f Block extended events to windows that didn't select them.
Now XSelectExtensionEvent() is called on the native window, so there
may be virtual windows inside that shouldn't receive extended events.

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-21 20:04:22 +02:00
Carlos Garnacho
13c258f891 Fix x/y coordinates for extended events.
Extended events were being reported to virtual windows without taking into
account the position of the virtual window inside the native one.

https://bugzilla.gnome.org/show_bug.cgi?id=588649
2009-09-21 20:04:21 +02:00
Cody Russell
cb5e659ae4 revert some changes in directfb backend that broke API 2009-09-21 11:32:37 -05:00
Kristian Rietveld
95cb1cc86c Sensitivity event box should only be toggled if cell view is non-NULL 2009-09-21 12:59:44 +02:00
Christian Dywan
4ba1e08123 Restore initializing settings sizes, which was accidentally removed 2009-09-21 12:40:15 +02:00
Kjartan Maraas
39dec4e576 Updated Norwegian bokmål translation. 2009-09-21 11:58:21 +02:00
Matthias Clasen
508a44a0df Whitespace fixes 2009-09-20 22:53:58 -04:00
Matthias Clasen
5ed8cf50b8 Don't dereference a NULL error
This was pointed out in bug 595790.
2009-09-20 22:39:13 -04:00
Rajesh Ranjan
2e8b6757b1 maithili update, translated by Sangeeta Kumari 2009-09-20 12:43:35 +05:30
Rajesh Ranjan
e25ed50a44 maithili update, translated by Sangeeta Kumari 2009-09-20 12:41:52 +05:30
Chao-Hsiung Liao
cf5cc07c35 Updated Traditinal Chinese translation (Hong Kong and Taiwan) 2009-09-19 21:02:22 +08:00
Cody Russell
57fa8e8124 Move '-x objective-c++' from CXXFLAGS to CPPFLAGS 2009-09-18 22:37:22 -05:00
Owen Taylor
5f126bec3a Don't focus unmapped radio buttons
With Bug 302240, a check was added to avoid keynav to unrealized
radio buttons in the group, but that's not the right check - the
check should be on MAPPED instead, since a widget can be realized
even if it, or a parent, is hidden. Bug 595599
2009-09-18 16:37:43 -04:00
Dumitru Mișu Moldovan
aa43f80423 Updated Romanian translation 2009-09-18 22:57:47 +03:00
Christian Kirbach
0a39beedc9 Updated German translation 2009-09-18 21:38:06 +02:00
Dumitru Mișu Moldovan
921355f998 Updated Romanian translation 2009-09-18 22:34:21 +03:00
Luca Ferretti
3a3926c5c3 Updated Italian translation 2009-09-18 12:40:24 +02:00
Manoj Kumar Giri
327d2095ed Upadated Oriya Translation 2009-09-17 22:14:59 +05:30
Manoj Kumar Giri
9050d10957 Upadated Oriya Translation 2009-09-17 19:03:58 +05:30
Michael Natterer
659776ce35 Fix gdk_device_get_history() for the core pointer
When filtering out the events for "window" from the events we got for
our "impl_window", don't forget to adjust the returned number of
events because it might be smaller than what XGetMotionEvents has
returned, and free coords we allocated too much. Also if we filtered
away *all* events, return FALSE and get rid of the allocated history
entirely. Together fixes all sorts of mishehavior when painting in
GIMP, from coords going wild to plain crashes and infinite loops.
2009-09-17 11:38:14 +02:00
Maxim V. Dziumanenko
8251d6da8a Added Ukrainian translation 2009-09-16 16:29:10 +03:00
Maxim V. Dziumanenko
6e307ac532 Added Ukrainian translation 2009-09-16 16:28:29 +03:00
Maxim V. Dziumanenko
62b5b5fca2 Added Ukrainian translation 2009-09-16 16:01:56 +03:00
Matej Urbančič
ac1b35895f Updated Slovenian translation 2009-09-16 14:11:55 +02:00
Matej Urbančič
24a3172c10 Updated Slovenian translation 2009-09-16 14:11:12 +02:00
Djavan Fagundes
cd709a074a Corrected a typo in Brazilian Portuguese translation 2009-09-16 08:17:03 -03:00
Manoj Kumar Giri
46f369e951 Upadted Oriya Translation 2009-09-16 16:17:33 +05:30
Runa Bhattacharjee
6406f64e12 Updated Bengali India Translations 2009-09-16 16:07:29 +05:30
Marek Kasik
f6ed1487bd Let GTK+ handle SIGPIPE signal itself when printing with lpr
When a SIGPIPE signal is raised during printing with lpr,
application should not be killed by the signal but a standard
error-workflow should be performed (bug #503776).
2009-09-16 09:59:56 +02:00
Kristian Rietveld
d797dcc4dd Assign the size of the screen to the root window
On startup, the root window got assigned the size of the main screen.
But, the GdkScreen has the width of all screens/monitors connected to the
machine.  Change this so that in _gdk_windowing_window_init, we assign
the width/height of all monitors to the root window width, height.
Should fix bug 594738.
2009-09-16 08:48:49 +02:00
Kristian Rietveld
cf80feb3dd Do not test the event mask of implicit grabs
The quartz backend simulates the semantics of XGrabPointer, as a part of
this it checks the event mask of the grab.  However, implicit grabs on X
do not go through XGrabPointer and thus the quartz backend should not check
the event mask for these.  This fixes various "the UI got stuck" cases.
2009-09-16 08:48:49 +02:00
Amitakhya Phukan
e9d732bde7 Updating Assamese translations. 2009-09-16 11:41:07 +05:30
Amitakhya Phukan
3086e702d2 Updating Assamese translations 2009-09-16 11:35:58 +05:30
Sweta Kothari
57937268d9 Updated Gujarati Translations 2009-09-16 10:50:38 +05:30
Sandeep Shedmake
19966510a0 Updated Marathi Translations 2009-09-16 10:35:02 +05:30
Sandeep Shedmake
ec36494508 Updated Marathi Translations 2009-09-16 10:34:56 +05:30
Manoj Kumar Giri
b92c788dba Upadted Oriya Translation 2009-09-15 19:31:07 +05:30
Alexander Larsson
0ecd87fb78 Respect grab event mask for crossing events
In the case of a non-owner_events grab, use grab->event_mask rather
than the window even mask to decide whether to deliver the event
or not.
2009-09-15 14:40:35 +02:00
Runa Bhattacharjee
142d59904b Updated Bengali India Translations 2009-09-15 17:15:22 +05:30
Manoj Kumar Giri
d937bd7037 Upadted Oriya Translation 2009-09-15 14:50:19 +05:30
Manoj Kumar Giri
fbcb382df3 Upadted Oriya Translation 2009-09-15 13:15:50 +05:30
Runa Bhattacharjee
ff47468018 updated Bengali India translation 2009-09-14 23:26:44 +05:30
Michael Meeks
02b102cbbc fix whitespace error 2009-09-14 15:34:43 +01:00
Michael Meeks
db88f084bc fix race between fetching owner of composit selection, and
registering as a listener for changes; bug#594913
2009-09-14 15:33:59 +01:00
Alexander Larsson
7ab7ffa542 Automatically flush window when doing non-double-buffered expose
Applications using non-double-buffered drawing using cairo (e.g. Abiword)
can draw directly to the window using cairo and thus manage to avoid
the automatic flushing of outstanding moves. This can cause redraw
inconsistencies like bug 593507.

We fix this by always flushing when exposing non-double-buffered widgets.
2009-09-14 16:07:43 +02:00
Alexander Larsson
cfeba9c389 Make gdk_window_flush public
We need to call this from Gtk+, and its concievable that some other
app doing weird stuff could have a use for it.
2009-09-14 16:07:25 +02:00
Alexander Larsson
f473242e19 Better handling of window hierarchy changes from inside expose handler
If we move, resize or otherwise change a window from inside a (double
buffered)  expose handler we can run into issues with double buffered
paints that have already been ended but have not yet been commited
to the window from the implicit paint pixmap.

For instance, any copies of source regions due to a window scroll need
to take these into account, and any operation that causes some drawing at
a destination covered by the implicit paint region would be overdrawn
when the implicit paint is ended.

So, before we do any window-hierarchy changing operation while an implicit
paint is in effect we flush all moves and already commited paints.
2009-09-14 13:52:40 +02:00
Alexander Larsson
6d84fcab76 Handle expose events moving or resizing windows
When a window is moved or resized from a double-buffered expose handler
we can't really just copy the window region around, as the window
will be overdrawn with the double buffered region when the expose returns.

Instead we remove all regions with outstanding implicit paints from the
region to be copied and just mark this area as invalid to be redrawn
later.

This fixes bug 594880.
2009-09-14 13:52:40 +02:00
Alexander Larsson
2d2dc2c7e9 Factor out impl_window_add_update_area() to a function 2009-09-14 13:52:40 +02:00
Alexander Larsson
130a7743e3 Don't reenter gdk_window_process_updates_internal
Its not correct for recurse gdk_window_process_updates_internal, as
the outer instance will overdraw the inner. So, protect against
gdk_window_process_updates() being called while in an expose
handler.

This shouldn't be a repaint problem, as eventually the idle handler
will cause the updates to be processed.
2009-09-14 13:52:40 +02:00
Alexander Larsson
6716d46393 Bail out of window move/resize early if no change
This is not all that uncommon in size_allocate, so we want
to optimize this case.
2009-09-14 13:52:40 +02:00
Matthias Clasen
f10f6b8b0c Mention thread-safety issues 2009-09-13 23:32:46 -04:00
Matthias Clasen
8f16541d93 Fix gdk_display_beep
Since XBell() seems broken, just call XkbBell().
2009-09-13 23:16:44 -04:00
Kjartan Maraas
618764c1bb Update Norwegian bokmål translation. 2009-09-14 00:22:42 +02:00
Kenneth Nielsen
e7fa16281a Updated Danish translation 2009-09-13 02:52:10 +02:00
Bruce Cowan
93e379818c Updated British English translations 2009-09-12 19:27:38 +01:00
Aron Xu
3ce155580a Updated Simplified Chinese translation. 2009-09-12 23:59:39 +08:00
Aron Xu
1c45f32c9b Updated Simplified translation. 2009-09-12 23:43:04 +08:00
Vincent Untz
83719cbb90 Fix warning about pointer/int confusion
https://bugzilla.gnome.org/show_bug.cgi?id=594679
2009-09-12 13:23:09 +02:00
Ask H. Larsen
63742b3162 Updated Danish translation 2009-09-12 03:20:20 +02:00
Tor Lillqvist
e9f6b93ec1 Parse libtoolize --version more carefully
Some recent versions of libtoolize output a version blurb like:
  libtoolize (GNU libtool 1.3110 2009-07-01) 2.2.7a
Don't get confused by the numbers inside the parens.
2009-09-12 01:29:52 +03:00
Reinout van Schouwen
8c1f50cf14 Updated Dutch translation 2009-09-11 22:36:58 +02:00
Matthias Clasen
24df69b283 Add a note about tooltip limitations
Apparently Windows only shows the first 64 characters of tooltips
on statusicons. Bug 594600.
2009-09-11 12:47:32 -04:00
Kostas Papadimas
f5e2b3f971 Updated Greek translation. 2009-09-11 19:27:03 +03:00
Alexander Larsson
e1554d8466 Don't support the old handling of zero height/width in gdk_window_clear_area
We used to handle zero height/width specially in the non-double buffered
case due to the weird behaviour of XClearArea in this case. However
this is undocumented, incompatible with what happens on double-buffered
drawing, and just not a good API. So, we drop this behaviour, having
fixed gtkclist.c which used this.
2009-09-11 15:21:43 +02:00
Alexander Larsson
0df4283574 Don't use magic zero height/width argument to gdk_window_clear_area
This is an undocumented feature that we stopped supporting, and
anyway it likely only ever worked on X anyway.
2009-09-11 15:08:14 +02:00
Ani
0a46d331eb Updated Malayalam Translations 2009-09-11 12:08:06 +05:30
Ani
b4a5c05a25 Updated Malayalam Translations 2009-09-11 12:07:41 +05:30
Mario Blättermann
417776c348 Updated German translation 2009-09-10 21:06:15 +02:00
Matthias Clasen
d497e8ed74 Mention gdk_window_restack
It is probably worth mentioning this function by name, since we've
added it explicitly to easy porting...
2009-09-10 13:53:28 -04:00
Matthias Clasen
d409cf2bf3 Add more hints
Mention problems related to cairo and clipping.
2009-09-10 13:53:28 -04:00
Matthias Clasen
be22a62160 Cleanups
This commit removes dead code, mostly pointed out by clang.
2009-09-10 13:53:28 -04:00
Alexander Larsson
7124f5927a Don't send grab broken for implicit grabs on button release
This is how it used to work, you only get grab broken if someone
else gets a grab, or if the grabbed window gets destroyed or unmapped.
2009-09-10 19:27:45 +02:00
Alexander Larsson
c4d2c38238 Ensure recursing gdk_window_process_all_updates works
There are two issues here. First of all an ignored update didn't
use to unset update_idle which could cause all further idle repaints
to be ignored. (Bug #591583)

Secondly, if we ignore the process_all_updates we may end up not updating
the windows in update_windows unless something else triggers an update.
So, we handle this by checking for recursions and scheduling a new update
at the end of the outermost process_all_updates.
2009-09-10 13:56:54 +02:00
Gintautas Miliauskas
81334f3f96 Updated Lithuanian translation. 2009-09-10 13:46:13 +03:00
Bastien Nocera
b1d1e36855 Keysyms docs update
Mention XK_ prefixes as well.
2009-09-10 10:18:29 +01:00
Bastien Nocera
4ccd47f47e Avoid duplicate keysyms, ignore mispelled one
GDK_Select and GDK_Clear were duplicated, GDK_Calculater is
only useful for compulsive misspellers.
2009-09-10 10:16:44 +01:00
Sweta Kothari
43fbf646a8 Updated Gujarati Translations 2009-09-10 14:20:08 +05:30
Sweta Kothari
514742ac59 Updated Gujarati Translations 2009-09-10 12:57:02 +05:30
Kristian Rietveld
fef3c88e89 Unbreak GtkComboBox::button-sensitivity
Fixed the button-sensivity patch done to GtkComboBox to account for
changes in appearance (changes to the appears-as-list style property).
Also, in list-mode, the event box that has been created below the cell
view also needs to have its sensitivity updated.
2009-09-09 21:30:13 +02:00
Bastien Nocera
11898088a1 Bug 594668 - Add new Xorg keysyms
Add support for XF86keysym.h to gdkkeysyms-update.pl and
update the generated gdkkeysyms.h file for the latest sources.
2009-09-09 18:45:28 +01:00
Matthias Clasen
3dd459caea Accept "true" as a true value in printer settings
Some of the settings come directly from cups config files, which
have no case sensitivity requirement, so we should not be more
picky.  Bug 594652.
2009-09-09 11:52:07 -04:00
Matthias Clasen
aa9bb7d8e4 Deprecate gdk_event_get_graphics exposes
This function is only used in deprecated, broken widgets. Also,
fix up some of its implmentation that clang was complaining about.
2009-09-09 09:00:15 -04:00
Matthias Clasen
ebf73f4096 Remove a dead assignment
Pointed out by clang.
2009-09-09 00:53:32 -04:00
Matthias Clasen
d01dc74a85 Remove a dead assignment
Pointed out by clang.
2009-09-09 00:52:01 -04:00
Matthias Clasen
0ea5787fca Fix a typo 2009-09-09 00:03:15 -04:00
Matthias Clasen
308fade38c Make the custom paper size dialog not block the main dialog
This was causing problems in gedit, which uses window groups.
Bug 593678.
2009-09-09 00:03:14 -04:00
Kristian Rietveld
16c5339ea8 Don't access the parent level, there might not be one
Use the index instead, that can be -1.  A unit test has been added as
well.
2009-09-08 15:52:18 +02:00
Alexander Larsson
113d21801b Fix handling of window cursor wrt grabs
Even for grabs we need to recurse up to look for what cursor to use.
2009-09-08 11:48:20 +02:00
Paolo Borelli
4e78b4c7d1 One more unit test 2009-09-07 11:17:49 +02:00
Paolo Borelli
04a58d8757 Simple expander unit test 2009-09-07 09:14:21 +02:00
Kristian Rietveld
f77042aae2 Avoid recursive calls to gtk_tree_view_top_row_to_dy()
Commit 3f306a4042 made it possible for
gtk_tree_view_top_row_to_dy() to be called recursively.  (In a different
way than was already guarded for).  This caused a single test case in
the scrolling test suite to fail.  We now also guard for recursive calls at
the beginning of gtk_tree_view_top_row_to_dy().
2009-09-06 20:26:09 +02:00
Tomasz Dominikowski
3d3f8697c0 Updated Polish translation 2009-09-06 14:29:50 +02:00
Kristian Rietveld
a59c39f370 Bug 346800 - Rework sort/filter models to use indices to parents...
Rework the sort and filter models to store their reference to the parent
element as an array index instead of a pointer to an array element.
These pointers could become invalid with any array modification, whereas
indices do not.
2009-09-06 14:12:46 +02:00
Takayuki KUSANO
143b06c9d3 Update Japanese translation 2009-09-06 18:47:08 +09:00
Matthias Clasen
da00e171e7 Correct the initial event mask of the root window
This fixes bug 588455 where the panel stopped responding to Alt-F2 when
setting a transparent background.
2009-09-06 02:44:24 -04:00
Kristian Rietveld
d0051a46f7 Fix compiler warnings 2009-09-05 17:15:43 +02:00
Kristian Rietveld
855fee8f1f Fix memleak in filter model unit test
(There is one larger memleak left here, but this is a side effect of the
test case for bug 346800).
2009-09-05 17:15:43 +02:00
Kristian Rietveld
c2f6611e4b List work left to do in the filter model unit test 2009-09-05 17:15:43 +02:00
Kristian Rietveld
f483c5b7d6 Emit row-has-child-toggled when a first node becomes visible in a level
If we have a level with zero visible nodes and the first node becomes
visible in that level, then parent has just become a "real" parent node.
In such a case we need to emit row-has-child-toggled.  This only applies
to non-root levels that have a parent.  This problem was also found when
writing the unit test, the respective cases in the unit test have been
corrected.

This fixes bugs:
 Bug 372010 - Filtering not working properly
 Bug 525965 - Filtered and sorted GtkTreeView is missing rows
2009-09-05 17:15:42 +02:00
Kristian Rietveld
0c4f29e857 When the filter removes a node, it needs to remove its children too
In gtk_tree_model_filter_remove_node(), we check if the given elt has
children.  If so, this level will be freed.  This action is recursive.
2009-09-05 17:15:42 +02:00
Kristian Rietveld
bf573a1e1e Have the unit test check if the filter model emits the right signals 2009-09-05 17:15:42 +02:00
Kristian Rietveld
14c8149daf Properly handle cases where an ancestor node is invisible 2009-09-05 17:15:42 +02:00
Kristian Rietveld
bbb5bbb591 Extend filter model unit test with row-has-child-toggled testers 2009-09-05 17:15:42 +02:00
Kristian Rietveld
733e532c59 Correct handling of row-has-child-toggled signal
When a filter function is used that determines the visibility property
of a node using whether or it it has children, the state of this node
very likely changes when the filter model receives a
row-has-child-toggled signal.  Therefore, we need to handle state
changes in the row-has-child-toggled handler.
2009-09-05 17:15:42 +02:00
Kristian Rietveld
6606989019 Remove unused variable 2009-09-05 17:15:42 +02:00
Kristian Rietveld
5b766102fd More virtual root unit tests 2009-09-05 17:15:42 +02:00
Kristian Rietveld
7b1d2de75e Add a rather specially crafted test case 2009-09-05 17:15:42 +02:00
Kristian Rietveld
af73305d37 Marking nodes invisible after pulling in the root level is wrong 2009-09-05 17:15:42 +02:00
Kristian Rietveld
532eccabde Do not emit has-child-toggled when a root level node is removed 2009-09-05 17:15:42 +02:00
Kristian Rietveld
15fdf44501 Correct unfiltered test cases 2009-09-05 17:15:41 +02:00
Kristian Rietveld
18b20416e5 Check for successfull iterator retrieval 2009-09-05 17:15:41 +02:00
Kristian Rietveld
958f772c24 Refilter is required after setting visible column 2009-09-05 17:15:41 +02:00
Kristian Rietveld
2cca680c66 Correct /FilterModel/empty/vroot-show-nodes test case 2009-09-05 17:15:41 +02:00
Kristian Rietveld
d09c2ae965 Only emit row-inserted if all ancestors are visible 2009-09-05 17:15:41 +02:00
Kristian Rietveld
378a6dffce Generalize fixture setup code 2009-09-05 17:15:41 +02:00
Kristian Rietveld
b6559c31a7 Make a start with virtual root unit tests 2009-09-05 17:15:41 +02:00
Kristian Rietveld
93b29a9cff Add test cases for bugs 464173 and 529287 2009-09-05 17:15:41 +02:00
Kristian Rietveld
6f2aff35f7 Add unit test for bug 540201 2009-09-05 17:15:41 +02:00
Kristian Rietveld
81bc45ee69 Add a helper for inserting paths in the test tree store 2009-09-05 17:15:41 +02:00
Kristian Rietveld
923a6a8083 Start a testsuite for GtkTreeModelFilter 2009-09-05 17:15:41 +02:00
Matthias Clasen
05ef84e9d6 Fix fallout from automake version bump 2009-09-05 01:46:39 -04:00
Matthias Clasen
50945f0c21 Bump version 2009-09-05 00:36:49 -04:00
Matthias Clasen
e1cd3e0610 2.17.11 2009-09-05 00:35:08 -04:00
Matthias Clasen
d09d810261 Fix a typo 2009-09-04 23:27:37 -04:00
Matthias Clasen
bec0d570b0 Fix the build 2009-09-04 23:00:27 -04:00
Matthias Clasen
5c4f248ff9 Documentation additions 2009-09-04 22:53:03 -04:00
Matthias Clasen
96636bd8cd Updates 2009-09-04 22:47:59 -04:00
Matthias Clasen
d6f3af0777 Make gtk_combo_box_entry_set_text_column more forgiving
The assertions in there were unnecessarily restrictive. This has
been reported in bug 564160.
2009-09-04 22:20:28 -04:00
Matthias Clasen
6b7fef09ca Don't forget to set the client window on the slave 2009-09-04 20:34:09 -04:00
Matthias Clasen
5c14089225 Make window manager tracking work better
We were getting the new wm name with a 15 second delay, due to
some race. Reported in bug 593644.
2009-09-04 20:22:43 -04:00
Matthias Clasen
079cc21956 Avoid a segfault if license is NULL
The license field was introduced later on, so some out-of-tree loaders
may not set it. And Solaris printf() doesn't take NULL for a string...
Bug 594178.
2009-09-04 18:22:30 -04:00
Matthias Clasen
1c0ecc0380 Rework the way IM contexts are set
Add a function to obtain the effective context id, and reset the slave
only when the effective context id is different from the current context
id, when setting a client window and on focus in. This might fix
bug 593868 and bug 567124.
2009-09-04 18:09:44 -04:00
Matthias Clasen
ea98cdc164 Try again to allow newer automake 2009-09-04 15:13:09 -04:00
Matthias Clasen
8654ffd9db Revert "Add AM_PROG_CC_C_O"
This reverts commit 1606b82232.
2009-09-04 15:07:46 -04:00
Matthias Clasen
5cfe90d60c Revert "Accept automake 1.10 and 1.11"
This reverts commit 76dab7b3b7.
2009-09-04 15:07:46 -04:00
Alexander Larsson
812b3c451d Deprecate GDK_WINDOW_OBJECT and GdkWindowObject 2009-09-04 17:59:18 +02:00
Alexander Larsson
d0ac27fe5f Add function accessors for x11 window/pixmap impl 2009-09-04 17:59:17 +02:00
Alexander Larsson
0c7830aa42 Make public GDK_WINDOW_TYPE and GDK_WINDOW_DESTROYED use functions calls 2009-09-04 17:59:17 +02:00
Alexander Larsson
f64ef921da Add gdk_window_is_destroyed 2009-09-04 17:59:17 +02:00
Alexander Larsson
a10e90b799 Move _gdk_window_event_parent_of to gdkinternals.h
gdkprivate.h is in installed file and this function does not
need to be exported.
2009-09-04 17:59:17 +02:00
Matthias Clasen
76dab7b3b7 Accept automake 1.10 and 1.11
This was tested to work in bug 588788.
2009-09-04 11:53:07 -04:00
Matthias Clasen
1606b82232 Add AM_PROG_CC_C_O 2009-09-04 11:51:50 -04:00
Kristian Rietveld
a47aadb05e Protect gtk_text_view_scroll_mark_onscreen() from using invalid marks
Suggested by Paolo Borelli.
2009-09-04 17:40:12 +02:00
Kristian Rietveld
5ec80eb5ba Recalculate heights when a (new) separator func is set on GtkTreeView 2009-09-04 17:08:29 +02:00
Kristian Rietveld
dcc87f7a67 Move mark check to gtk_text_view_scroll_to_mark()
Also use a different means to check that the given mark is in the text
view's buffer.  This will also play nice with anonymous and NULL marks.
Suggested by Paolo Borelli.
2009-09-04 17:08:29 +02:00
Alexander Larsson
4adcb39f86 Ensure clip region valid before using it for emulating graphics exposures
If there is a drawable clip on it we don't want to use that.
2009-09-04 16:06:51 +02:00
Alexander Larsson
294e222fa8 Ensure gc clip region valid in _gdk_gc_update_context
There might be an old drawable clip on it, if so remove it.
2009-09-04 16:06:51 +02:00
Michael Natterer
6ee228a363 gtk_widget_set_property(): use accessors instead of setting flags
Use the newly added accessors to set the "can-focus", "can-default"
and "receives-default" properties.
2009-09-04 15:18:24 +02:00
Michael Natterer
026bea2293 gtk_widget_set_property(): use gtk_widget_set_visible()
Use the new API instead of show() and hide().
2009-09-04 14:54:13 +02:00
Michael Natterer
b81079d898 Bug 69872 - GTK_WIDGET_SET_FLAGS should be deprecated
Add gtk_widget_set_receives_default() and
gtk_widget_get_receives_default() as accessors for
GTK_RECEIVES_DEFAULT.
2009-09-04 14:50:35 +02:00
Kristian Rietveld
dc3fb714a0 Improve unsetting old buffer in gtk_text_view_set_buffer()
When unsetting the old buffer always set the buffer on the layout to
NULL.  More importantly, clear the pending scroll.  (The scroll is
handled in an idle, when not cleared an idle handler might touch the
layout later on, possibly corrupting the BTree).  Unref the buffer after
removing the selection from the clipboard, not before.  Patch merged
from maemo-gtk.
2009-09-04 14:06:59 +02:00
Kristian Rietveld
7a3d98324d Fail to scroll if the given mark is not in text view's current buffer
In gtk_text_view_queue_scroll() we need to verify if the given mark
exists in the text view's current buffer.  When not done, this can
result in corruption of the BTree data structure.  Patch merged from
maemo-gtk.
2009-09-04 14:06:58 +02:00
Kristian Rietveld
3a917a2a67 Update IM spot location before running _validate_onscreen()
Updating the IM spot location in gtk_text_view_value_changed() might
invalidate the layout, so we need to make sure that we update it before
validating the layout again.  Otherwise, the layout will be invalidated
right after validating it (possibly resulting in a failed
onscreen_validated assertion).  Patch merged from maemo-gtk.
2009-09-04 14:06:58 +02:00
Kristian Rietveld
4f219692ed Make toggle cell renderer follow insensitive state of widget
Likewise to other cell renderers, GtkCellRendererToggle now properly
follows the insensitive state of the widget requesting rendering.  It
does this by checking the state of the widget pointer, not by using
GtkCellRendererFlags (there exists an insensitive flags).  Later on, I
think we should move to using GtkCellRendererFlags and not the state of
the widget requesting rendering.  Patch merged from maemo-gtk.
2009-09-04 14:06:58 +02:00
Kristian Rietveld
6f20cf691e Propagate insensitive state to cell renderers in GtkCellView
If the cell view is insensitive, it needs to properly propagate this
insensitive state to the cell renderers using cell renderer flags.
Merged from maemo-gtk.
2009-09-04 14:06:58 +02:00
Kristian Rietveld
3f306a4042 Have tree view process exposes after adjustments have been updated
This was removed long ago by the patch in bug 101235.  On a hindsight,
all other scrollable widgets are processing exposes at this point, which
completely makes sense to me, so I am putting it back.
2009-09-04 14:06:58 +02:00
Alexander Larsson
223bcd23f7 Correct the antiexposure vs implicit paint flush race
The check for a possible implicit paint flush before queueing an
antiexposure was wrong. An implicit flush doesn't actually NULL
the implicit paint, se we have add a flag to explicitly track if
it is flushed.
2009-09-04 13:14:25 +02:00
Alexander Larsson
753f159aad Don't access region when it might be freed
Passing region into _gdk_gc_set_clip_region_internal takes ownership,
so don't use it after that. We can just as well just move the usage
above the call.
2009-09-04 13:10:35 +02:00
Alexander Larsson
587bc97d9c Fix warnings in gdk_window_restack 2009-09-04 11:08:46 +02:00
Christian Dywan
6b9a3c9057 Bug 584638 - Build of gtkupdateiconcache without NLS breaks
Wrap textdomain calls in updateiconcache.c in NLS conditionals.
2009-09-03 11:30:12 +02:00
Matthias Clasen
2f80806359 Fix the return type of gdk_selection_property_get
It returns the length of the property, not a boolean. Reported
in bug 593788.
2009-09-02 22:50:05 -04:00
Matthias Clasen
05d39e4085 Add a missing include
This was reported in bug 593606.
2009-09-02 22:14:47 -04:00
Matthias Clasen
908b6620bd Remove sincos use
It turns out to be not worth the portability pain. Bug 593877
2009-09-02 22:11:28 -04:00
Matthias Clasen
36a73586ce Fix a merge conflict 2009-09-02 21:39:36 -04:00
Matthias Clasen
4e6e46d621 Bump version 2009-09-02 21:37:47 -04:00
Matthias Clasen
781e878efb 2.17.10 2009-09-02 21:37:46 -04:00
Gabor Kelemen
e1b0e76196 Hungarian translation updated 2009-09-03 02:48:08 +02:00
Gabor Kelemen
4ab7255b0a Hungarian translation updated 2009-09-03 00:08:59 +02:00
Alexander Larsson
d5125660c1 Add test for gdk_window_restack 2009-09-02 23:39:57 +02:00
Alexander Larsson
d67a7eda16 Add gdk_window_restack
This lets you restack a window above or below a specified sibling.
At least eclipse wants this functionallity.
2009-09-02 23:38:55 +02:00
Alexander Larsson
45956aea21 Add gdk_cairo_reset_clip
This is required to get back the original drawable clip due to
non-native windows on a cairo_t.
2009-09-01 17:06:41 +02:00
Paolo Borelli
f97a33ad9c Move timer removal in dispose
Move removal of timer function in dispose to prevent potentially running
them on a diposed-but-not-finalized tooltip
2009-09-01 15:50:42 +02:00
Yaron Shahrabani
b31f1cd80a Updated Hebrew translation 2009-09-01 16:17:13 +03:00
Kjartan Maraas
ce0cfa2620 Update Norwegian bokmål translation. 2009-09-01 10:49:44 +02:00
Claude Paroz
42f2549303 Updated French translation 2009-09-01 09:43:36 +02:00
Matthias Clasen
32d59d174e Documentation fixes 2009-09-01 00:53:44 -04:00
Matthias Clasen
39c714ddc0 More updates 2009-09-01 00:01:13 -04:00
Matthias Clasen
036aada543 Fix the cups checks
This was reported in bug 593712.
2009-08-31 23:59:44 -04:00
Matthias Clasen
0b1a1e200f More updates 2009-08-31 23:02:49 -04:00
Matthias Clasen
9be22cb574 Document gdk_window_geometry_changed 2009-08-31 19:51:19 -04:00
Matthias Clasen
45d6752a3c Handle geometry change correctly
This makes sure that the button is properly prelighted when rotating it
underneath the pointer by using keynav on the scale.
2009-08-31 19:41:09 -04:00
Matthias Clasen
d22b79f1b6 Add another offscreen demo
This demo shows rendering multiple times, to achieve a reflection effect.
Inspired by an earlier demo by macslow.
2009-08-31 19:38:17 -04:00
Paolo Borelli
582b281761 Make sure the paper dialog is destroyed with the parent 2009-08-31 21:56:14 +02:00
Paolo Borelli
0bb51bca9b Remove unneeded call of begin/end user action
delete_interactive already uses them so no need to wrap the call.
2009-08-31 21:47:49 +02:00
Alexander Larsson
3e40146c04 Fix order of cairo clip setting when drawing text
We need to set the window clip region before applying the gc clip region,
otherwise we will reset the gc clip region. Fixes bug 593595
2009-08-31 16:39:54 +02:00
Alexander Larsson
36809d400f Describe how gdk_x11_drawable_get_xid() works wrt CSW in docs 2009-08-31 16:29:17 +02:00
krishnababu k
3959ae91d1 Updated Telugu Translations 2009-08-31 19:48:13 +05:30
krishnababu k
168e9d0708 Updated Telugu Translations 2009-08-31 19:47:32 +05:30
Alexander Larsson
21efe59aa0 Don't delay showing windows until viewable in GDK_NATIVE_WINDOWS mode
If all windows are native there is no need for delaying the operations
so we just do all shows/hides directly.
2009-08-31 15:06:01 +02:00
Alexander Larsson
b18afe9054 Don't propagate GDK_NATIVE_WINDOWS to child processes
Generally you only need to work around bugs in one specific app, so we
don't want to affect the applications that application will start.
Thus we unset GDK_NATIVE_WINDOWS after reading it.
2009-08-31 15:06:01 +02:00
Alexander Larsson
4d3b19fa7c Update shape handling
For toplevels, never apply clip as shape, instead apply shape.
This way we don't have to re-set it all the time as the window size
changes. Furthermore, this change fixes unsetting a shape on a
toplevel window which didn't actually unset the shape before.

Additionally we never apply clips as shape if the shape would just
be the same as the regular window size. This means we won't unnecessarily
add a useless shape to most native child windows (and additionally this
helps apps that do weird X stuff that don't expect these shaped windows).
2009-08-31 15:06:01 +02:00
Alexander Larsson
cc5b22cc81 Don't update window->shaped from backends
This is properly updated from the main code these days and
should not be touched by the backend code.
2009-08-31 15:06:01 +02:00
Alexander Larsson
154be115ec Use temporary impl_iface variable to make lines shorter
I.e. we use:
 impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
And then use impl_iface instead of the full macro when calling vfuncs.

Also, in some places we avoid getting the iface multiple times.
2009-08-31 15:06:01 +02:00
Alexander Larsson
397951cc85 Add and use gdk_window_is_toplevel when possible
This makes a lot of code cleaner and easier to understand
2009-08-31 15:06:01 +02:00
Alexander Larsson
028610b104 Add window type an shape to window print for nicer debugging 2009-08-31 15:06:01 +02:00
Alexander Larsson
d3d7070995 Support DEBUG_WINDOW_PRINTING even with GDK_NATIVE_WINDOWS 2009-08-31 15:06:00 +02:00
Piotr Drąg
c5621f857b Updated Polish translation 2009-08-31 14:51:43 +02:00
Runa Bhattacharjee
de89bf3e71 Updated Bengali India Translations 2009-08-31 17:59:19 +05:30
Shankar Prasad
e2f561aae0 Updated Kannada(kn) translation 2009-08-31 15:20:18 +05:30
Shankar Prasad
ced22b1540 Updated Kannada(kn) translation 2009-08-31 14:36:51 +05:30
Matthias Clasen
b6b64353a1 Add an migration chapter for CSW 2009-08-31 01:26:11 -04:00
Matthias Clasen
953d391a34 Cosmetic fixes 2009-08-31 01:08:31 -04:00
Matthias Clasen
f649237bf2 Minor doc fix 2009-08-31 00:55:57 -04:00
Matthias Clasen
5e5ab90a57 Improve CSW docs 2009-08-31 00:55:32 -04:00
Matthias Clasen
97d4b25d02 Add an offscreen window demo 2009-08-31 00:20:39 -04:00
Petr Kovar
ab93e1b8e8 Updated Czech translation 2009-08-30 18:31:22 +02:00
Matthias Clasen
2421e641f4 Warn when a parent is destroyed
Previously gdk_window_new would silently return NULL. Bug 590921.
2009-08-30 11:14:40 -04:00
Matthias Clasen
13147323d7 Forgotten part of the lpi change 2009-08-30 11:11:46 -04:00
Marek Kasik
f117777c20 Return meaningful default values for lpi and resolution
Change default values returned by gtk_print_settings_get_printer_lpi()
and gtk_print_settings_get_resolution{_x, _y}(). New values are 150 for
lpi and 300 for resolution (instead of 0) (#590861).
2009-08-29 21:34:05 -04:00
Marek Kasik
3b336186ee Add CUPS events as soon as possible when printing
CUPS events are added in prepare part of the main loop. These
events are initialized before their addition (#434318, #586466).
2009-08-29 21:32:01 -04:00
Paolo Borelli
2d8b8e054a buffer_backspace should delete \r\n in one go
Special case \r\n in gtk_text_buffer_backspace since \r should not be
reinserted even if we are deleting one char at a time. Also add
corresponding unit test. Fixes bug #544724.
2009-08-29 21:29:57 -04:00
Marek Kasik
f7cfe2bfea Emit "update-custom-widget" when the page setup changes
Previously, the signal was only emitted when the user selected
another printer. Bug 593001.
2009-08-29 21:19:44 -04:00
Christian Persch
2105d946cf Plug a mem leak
GtkWindow was leaking the startup_id, reported in bug 593317.
2009-08-29 21:19:44 -04:00
Davyd Madeley
44adf811ea [GtkSizeGroup] don't recurse into yourself 2009-08-30 10:47:52 +10:00
Christian Persch
a2420c7db5 Plug a mem leak
The filechooser was leaking tooltips. Reported in bug bug 593080.
2009-08-29 20:40:50 -04:00
Carlos Garcia Campos
c51830f453 Do not emit action-activated signal when there are not actions selected
This was causing problems for epiphanys location entry, reported
in bug 593481.
2009-08-29 20:36:28 -04:00
Pascal Terjan
047a91322c Show the icon window back after changing pixbuf
Otherwise, there is no way to get icons to show again after calling
_clear() once. Reported in bug 593135.
2009-08-29 20:27:23 -04:00
Matthias Clasen
a8715045ce Fix --enable-{cups,papi} handling
The configure script was not doing the right thing when these
options where explicitly given. Reported by Marvin Schmidt in bug 593012.
2009-08-29 20:23:07 -04:00
Matthias Clasen
7e4e2c636e Fix a documentation error
Reported by Eduard Bagrov in bug 592862.
2009-08-29 20:23:07 -04:00
Petr Kovar
64cd8c3f52 Updated Czech translation 2009-08-29 20:26:45 +02:00
Matthias Clasen
8005fd9e4d Updates 2009-08-29 14:02:37 -04:00
Matthias Clasen
ca3b8e8eda Updates 2009-08-29 13:22:15 -04:00
Matthias Clasen
145fdcbb9e Make beeps work again
Yay, beeps !
2009-08-29 13:06:04 -04:00
Tomasz Dominikowski
ca75ead34a Updated Polish translation 2009-08-29 15:21:45 +02:00
Michael Natterer
cc8927a589 Add gtk_widget_set_window()
New function as replacement for setting widget->window directly.
Should only be used in GtkWidget::realize().
2009-08-28 16:51:48 +02:00
Michael Natterer
0e52286d53 Bug 69872 - GTK_WIDGET_SET_FLAGS should be deprecated
Add gtk_widget_is_toplevel() for GTK_WIDGET_TOPLEVEL()
and gtk_widget_is_drawable() for GTK_WIDGET_DRAWABLE()
2009-08-28 16:27:26 +02:00
Manoj Kumar Giri
e6af9279f3 Updated Oriya Translation 2009-08-28 17:50:41 +05:30
Manoj Kumar Giri
6c3aca7345 Updated Oriya Translation 2009-08-28 17:41:59 +05:30
Kristian Rietveld
44469e4684 Make gtk_tree_view_real_set_cursor() handle non-existing paths
Such paths (eg. a child node that is collapsed) should be ignored.  This
is fixed by checking the return value of _gtk_tree_view_find_node(),
which returns a partial return value (the parent node) when it returns
TRUE.  Also added a unit test.
2009-08-28 11:04:54 +02:00
Miloš Popović
8d936d3cde Updated Serbian translation 2009-08-28 02:52:14 +02:00
Miloš Popović
25cf6517e8 Updated Serbian translation 2009-08-28 02:47:28 +02:00
Michael Natterer
591b37d7ce Add accessors for sealed member "flippable"
One step closer to makes GtkRange properly subclassable, but still
quite some accessors missing.
2009-08-27 21:14:21 +02:00
Michael Natterer
d30c31d6e1 marks_start_element(): initialize "value" to get rid of a compiler warning 2009-08-27 21:14:21 +02:00
Michael Natterer
6a278af6d2 Fix casts in calls to g_utf8_validate()
The "end" parameter is (const gchar **), not (const gchar *).
2009-08-27 21:14:21 +02:00
Tommi Vainikainen
3e5934e5c2 Updated Finnish translation 2009-08-27 22:13:02 +03:00
Kristian Rietveld
ec7187e039 Bug 543310 - set_enable_tree_lines doesn't work when a cellrenderer...
Reorder drawing in gtk_tree_view_bin_expose() so that the tree lines are
drawn after the cells have been drawn.  This is because cell-background
is handled in the cell renderer, so the tree lines need to be drawn
after this.
2009-08-27 18:12:54 +02:00
Kristian Rietveld
786b3914cd Bug 588199 - GtkTreeView rendering glitch while using a default ...
Contrary to what was believed before, do_validate_rows() does need to
queue a normal resize (including a redraw) when it has to.  The redraw
is required because of the size of the tree has changed because new
row(s) have been validated.
2009-08-27 18:12:54 +02:00
Kristian Rietveld
de1c79c721 Bug 592883 - Spin cell rendererer problem with double click
Block 2BUTTON and 3BUTTON press events using a button press event
handler in GtkCellRendererSpin, so that they won't be eaten and
processed by tree view.
2009-08-27 18:12:54 +02:00
Dan Winship
05b246accc fix gtk-doc syntax on GtkWidget:double-buffered, so Since gets picked up 2009-08-27 10:49:16 -04:00
Alexander Larsson
858e6bcd65 Allow x and y to be NULL in gdk_window_get_geometry
Fixes a crash reported in bug #593249
2009-08-27 13:34:00 +02:00
Alexander Larsson
1932f32ef2 Correct generation of broken grabs
We send a broken grab when a *parent* gets unmapped, not when
a child gets unmapped!
2009-08-27 13:32:01 +02:00
Alexander Larsson
41054425b9 Make sure we only send one grab broken event
We were incorrectly sending grab broken events in two places which
could cause multiple events for a single grab broken.
2009-08-27 13:32:01 +02:00
Benjamin Otte
51f140bfdc Document ownership for return value of gtk_file_chooser_get_file() 2009-08-27 11:53:24 +02:00
Benjamin Otte
4a0f78b72f Bug 592606 - Activate the default button in a respose-request callback
Previously the rightmost button with a proper response id was activated,
this is now only done if there is no default button set.

With this patch the right widget gets activated when there are multiple
widgets wth response ids conforming to is_stock_accept_response_id() as
the selected widget is made the new default widget before showing the
overwrite confirmation dialog.
2009-08-27 11:51:43 +02:00
Alexander Larsson
cf73930869 Don't unnecessarily set the event mask as that can cause X errors
For instance, two clients selecting for button events can cause BadAccess.
This fixes bug 592624, where a gdk_window_reparent caused us to re-set
the event mask, breaking the workaround for the mozilla BadAccess bug.
2009-08-26 14:53:27 +02:00
Alexander Larsson
2400e1440e Propagate the "send_event" flag for emulated events
This fixes bug 593011, where we were getting a bogus time on sent events
and the gnome-panel specifically looked for this and worked around it.
2009-08-26 10:36:26 +02:00
Mikel González
a2edc3c6bf Updated Asturian translation 2009-08-26 10:14:22 +02:00
Inaki Larranaga Murgoitio
ccf988e23d Updated Basque language 2009-08-26 10:15:35 +02:00
Rajesh Ranjan
4739118988 hindi updated by Rajesh Ranjan 2009-08-26 11:52:58 +05:30
Rajesh Ranjan
1937d1df5c hindi updated by Rajesh Ranjan 2009-08-26 11:51:44 +05:30
Alexander Larsson
7cc8cf2888 Fix cairo clipping to client side windows
When updating the clip region on cairo context (due to window changes or
paints of different sizes) we reset the old clip region, but this was
erronously done inside a cairo_save/cairo_restore pair, which made the
reset not take effect.

This fixes bug #592263.
2009-08-25 15:47:09 +02:00
Christian Dywan
c91cb2f71a Bug 592901 - Crash in JPEG pixbuf loader instead of error
Initialize the error structure early enough to ensure that it
propagates properly in the case of an error. Patch by Nokia.
2009-08-25 12:01:54 +02:00
ifelix
33c70e9b52 Updated Tamil Translations 2009-08-25 14:16:19 +05:30
ifelix
a202dc2e9f Updated Tamil Translations 2009-08-25 14:16:19 +05:30
Alexander Larsson
c2546c859d Clean up gdk_draw_drawable() composite handling
Instead of doing some magic in gdk_draw_drawable() to avoid double
offsetting when calling gdk_draw_drawable on the impl we call
the vfunc directly on the impl. Thus removing the weird magic from
gdk_draw_drawable().

I tested this with the testgtk test "text", where if the original magic
code is disabled typing a newline in the middle of a text line causes
the double offset issue to appear.
2009-08-25 10:37:18 +02:00
Alexander Larsson
c0084e2142 Fix clipping issue with clip masks
When the clip mask is completely inside the drawable clip region we
don't change the clip at all. However, we did set region_tag_applied,
so when the drawable clip was removed we removed the original clip mask.
This is no good, so we fix that by returning early in this case.

Fixes issue reported in bug #592752.
2009-08-25 10:37:18 +02:00
Alexander Larsson
0ad0646daf Fix clipping of drawn pixbufs in the no-render case
The fallback pixbuf rendering case ends up calling gdk_draw_image() on the
destination drawable wrapper, which resets the previously set clip region.
So, we need to manually get the impl and draw on that directly.

This fixes bug 592752 where we don't clip pixbuf rendering on non-render
Xservers.
2009-08-25 10:37:18 +02:00
Matthias Clasen
9e12297d69 Bump version 2009-08-24 19:45:14 -04:00
Matthias Clasen
e6cfb7b19f 2.17.9 2009-08-24 18:54:51 -04:00
Matthias Clasen
9bad2f70a4 Documentation fixes 2009-08-24 18:17:54 -04:00
Matthias Clasen
b09f8f6e30 Updates 2009-08-24 16:31:46 -04:00
Matthias Clasen
23b88f26b9 Document GDK_NATIVE_WINDOWS
Add a section in the release notes about it and list it
in the docs with all the other environment variables.
2009-08-24 15:20:57 -04:00
Gil Forcada
9d1dc2dae9 Minor fix to Catalan translation 2009-08-24 20:16:29 +02:00
Carles Ferrando
c268892e39 Updated Catalan (Valencian) translation 2009-08-24 20:16:02 +02:00
Gil Forcada
37c3413beb Minor fix to Catalan translation 2009-08-24 20:09:26 +02:00
Carles Ferrando
1f446d0658 Updated Catalan (Valencian) translation 2009-08-24 20:06:44 +02:00
Christian Persch
e8dcf330cc Preserve errno, and always use g_strerror()
Bug #592461.
2009-08-24 15:30:00 +02:00
Alexander Larsson
a79f929dd6 Add support for enabling only native windows
Some applications make weird assumtions on Gtk+ that do not work anymore
with the new client-side windows support. For instance SWT/Eclipse reorders
the stacking order of the X windows directly without telling gdk this,
which breaks gdk drawing as gdk now relies on knowing the stacking order
for window clipping.

This introduces a GDK_NATIVE_WINDOWS environment variable, which if set
causes Gtk+ to always use native windows. Its more compatible with
pre-csw Gtk+ behaviour if you do weird X-specific hacks, although it does
limit the size of GdkWindows to 65535x65535.
2009-08-24 15:22:29 +02:00
Denis Arnaud
deda8b97f6 Updated breton translation 2009-08-24 12:42:24 +02:00
Sweta Kothari
6dd6d44f98 Updated Gujarati Translations 2009-08-24 14:55:18 +05:30
Tor Lillqvist
17f9ba3a15 Update README.win32 2009-08-24 10:08:53 +03:00
Duarte Loreto
abf088f132 Updated Portuguese translation 2009-08-23 23:36:39 +01:00
Duarte Loreto
d1eea9cf1f Updated Portuguese translation 2009-08-23 23:21:56 +01:00
Jamil Ahmed
c45c51ecd9 Updated Bengali translation 2009-08-24 03:43:39 +07:00
Kristian Rietveld
4449acbb82 Remove broken logic in backwards walks in validate_visible_area()
In validate_visible_area() it was assumed that gtk_tree_path_prev()
would always return the correct path of the preceding node.  This is
obviously not true.  The if-clause has been removed so that we now
always use _gtk_tree_view_find_path() to get the path from the tree,
node.
2009-08-23 22:06:16 +02:00
Kristian Rietveld
7b4f09a589 Add a scrolling test case involving creating new rows in tree stores
Based on a bug report from Miroslav Rajcic, details are in the tree view
scrolling suite source code.
2009-08-23 22:06:16 +02:00
Kristian Rietveld
105e0be70e Rework naming of tests to make better use of path matching feature 2009-08-23 22:06:16 +02:00
Kristian Rietveld
a4a5d3da0e Change prefix of tree view scrolling tests into TreeView 2009-08-23 22:06:16 +02:00
Kristian Rietveld
ebc6a00015 Clean up code in gtk_tree_store_set_n_columns()
Clean up GtkTreeStore likewise as Benjamin Otte has done for
GtkListStore in commit 3c97f037.
2009-08-23 22:06:15 +02:00
Kristian Rietveld
9976554c6e Bug 528283 - Problems when using PageUp & PageDown to navigate...
Patch from Jonathan Matthew to make focus grabbing of page up/down,
home/end and left/right movements consistent with up/down.
2009-08-23 22:06:15 +02:00
Daniel Nylander
2f3cf2c449 Updated Swedish translation 2009-08-23 20:08:35 +02:00
Ivar Smolin
bb8fbde89f Updating Estonian translation 2009-08-23 19:41:38 +03:00
Kristian Rietveld
6320b12e8c Bug 526149 - GtkCellRendererAccel editing conflicts with mnemonics
GtkCellRendererAccel also needs to acquire the GTK+ grab in addition to
a GDK keyboard grab.  With the GDK keyboard grab, KeyPress and
KeyRelease events are delivered as usual, although we only want to
receive them for our grab widget.
2009-08-23 08:59:34 +02:00
Kristian Rietveld
f84df976a7 Bug 478519 - GtkTooltip segfaults on NULL gdk-display-current-tooltip
Make the tooltip code a bit more robust for a case that only occurs when
GTK+ is used from a language binding.  It looks like this case appears
because the memory management / ref counting is handled differently in
some of the language bindings.  Instead of asserting, we will fail
silently.  Also fix a think-o in gtk_tooltip_start_delay().  Patch from
O. Andrieu.
2009-08-22 23:21:44 +02:00
Changwoo Ryu
e86fab56df Update Korean translation 2009-08-23 01:33:10 +09:00
Theppitak Karoonboonyanan
7272169665 Updated Thai translation. 2009-08-22 23:09:28 +07:00
Alexander Shopov
8de2dbb440 Updated Bulgarian translation 2009-08-22 19:04:13 +03:00
Jorge González
61ea6875d2 Updated Spanish translation 2009-08-22 12:11:53 +02:00
A S Alam
9d611b1435 Updating Punjabi Translation Update 2009-08-22 07:34:04 +05:30
A S Alam
16f72308ec Updating Punjabi Translation Update 2009-08-22 07:21:13 +05:30
A S Alam
0fe210c6da Added Punjabi (Gurmukhi) Translaiton) by A S Alam 2009-08-22 07:19:38 +05:30
Kjartan Maraas
65ccceea9d Added Norwegian bokmål translation. 2009-08-21 13:41:16 +02:00
Li Yuan
0780a4975b Return state_set directly if there is no parent.
Bug #592403. Return state_set directly if there is no parent. Fix crash.
2009-08-21 15:29:51 +08:00
Matthias Clasen
e0a1e78a5a Silence the conversion from xatom to atom too 2009-08-20 18:06:35 -04:00
Shixin Zeng
277d840616 Deprecate also GdkFontPrivateWin32 2009-08-20 23:57:41 +03:00
Shixin Zeng
02457e3a93 Return value from non-void function 2009-08-20 23:56:52 +03:00
Shixin Zeng
bbe16ec60f Use g_object_ref/unref instead of deprecated specializations 2009-08-20 23:55:51 +03:00
Shixin Zeng
89a8fade6f Don't use stream before it is created 2009-08-20 23:53:57 +03:00
Shixin Zeng
e10db38f0d Put variable definitions at start of block 2009-08-20 23:51:38 +03:00
Alexander Larsson
428d7bd27b More reentrancy protection for process_updates
Protect against exposes destroying windows in some more places.
Hopefully this fixes bug 589367.
2009-08-20 17:09:08 +02:00
Antón Méixome
bbd96c5161 Updated Galician Translation 2009-08-19 16:26:24 +02:00
Seán de Búrca
dc7feb27e4 Updated Irish translation 2009-08-19 06:37:36 -06:00
Antón Méixome
97ec7f76df Updated Galician Translation 2009-08-19 13:39:19 +02:00
Leonardo Ferreira Fontenelle
e6e3d0adb3 Updated Brazilian Portuguese translation. 2009-08-18 22:15:12 -04:00
Andre Klapper
feb9580621 Add missing file. 2009-08-18 19:24:54 +02:00
Andre Klapper
7a76996606 Add missing file. 2009-08-18 19:22:38 +02:00
Marek Kasik
c21373dbe2 Use gtk-save icon for GtkPrintBackendFile
Use gtk-save icon instead of gtk-floppy for GtkPrintBackendFile.
2009-08-18 16:05:31 +02:00
Marek Kasik
3dc377a2ca Correctly select default printer when there is more than one (CUPS)
Select a local default printer if there is one instead of a remote
default printer (specified by the "printer-type" CUPS attribute)
(#591549).
2009-08-18 13:22:23 +02:00
Michael Natterer
9c151ba3e1 Shut up warning about calling gtk_object_get_type() having no effect 2009-08-18 12:10:03 +02:00
Matthias Clasen
9389d53504 Bump version 2009-08-17 23:53:36 -04:00
Matthias Clasen
a84f36028e 2.17.8 2009-08-17 23:51:50 -04:00
Matthias Clasen
93c8b1fdee Updates 2009-08-17 22:19:24 -04:00
Javier Jardón
c930f3a748 Support silent build rules with automake 1.11 (GnomeBug:591998)
Support silent build rules, requires at least automake-1.11.
Enable by either passing --enable-silent-rules to configure or
passing V=0 to make.
2009-08-17 20:15:23 +02:00
Matthias Clasen
270a95f12e Handle accelerators involving virtual modifiers better
The previous code would trigger on an unmodified 'S' key for a
'Super+S' accel. The current code avoids that at the cost of breaking
combinations like 'Mod4+Super+S' which are too exotic to worry about...
Bug 591526
2009-08-17 13:46:30 -04:00
Matthias Clasen
be83e8789c Tiny docs improvement
Mention that gdk_xid_table_lookup may return  NULL. Bug 591432.
2009-08-17 13:46:30 -04:00
Paolo Borelli
30ffad76f5 Bug 592003 - Shift+click should always modify selection
Shift-click inside an existing selection reduces the selection to the
range from the insert mark to the clicked point instead of removing the
selection. This makes GtkTextView more consistent with GtkEntry.
2009-08-17 17:07:50 +02:00
Alexander Larsson
f7185ec704 Don't crash on NULL parent
The parent window can be NULL, check for that before dereferencing.
2009-08-17 16:59:47 +02:00
Seán de Búrca
155140160c Updated Irish translation 2009-08-17 03:17:30 -06:00
Alexander Larsson
44b84fe12d Remove unused variable 2009-08-16 22:32:58 +02:00
Alexander Larsson
528546733f Fix gdk_window_get_geometry for native children with non-native parent
gdk_window_get_geometry calls the native function for all non-native
windows. This returns coords relative to the native parent. We need
to convert this to be relative to the client side parent.

This fixes DnD coordinates in firefox (bug 588437).
2009-08-16 22:27:19 +02:00
Paolo Borelli
03018f1d01 Fix memory leaks when using add_objects 2009-08-14 15:56:44 +02:00
Paolo Borelli
0696bc8e86 Fix memory leaks in unit tests 2009-08-14 15:56:44 +02:00
Paolo Borelli
6cfb23d185 Fix duplicated id detection in gtkbuilder
Fix memory handling of duplicated id hashtable and add unit test
2009-08-14 15:56:44 +02:00
Alexander Larsson
bd0755753a Always queue antiexposes after flushing outstanding moves
If antiexposures are queued and then we do the outstanding moves
we will queue translations that will affect incomming exposes
wrongly wrt the antiexposure. So, make sure we process the outstanding
moves before doing the antiexposure.

Additionally this commit adds a bunch of comments about how the
expose handling works and fixes a small bug that made us always
flush outstanding moves a little to early than necessary.
2009-08-14 12:09:02 +02:00
Alexander Larsson
f1f7df6443 Fix type mismatch warnings
Cast g_list_foreach args to GFunc.
2009-08-14 11:20:12 +02:00
Tor Lillqvist
341b8a4752 Initialize missing methods on Windows
Set the input_window_destroy and input_window_crossing methods of the
GdkWindowImplIface on Windows. Add implementation of
_gdk_input_crossing_event that is mostly dummy, though.
2009-08-13 22:49:35 +03:00
Cody Russell
a5f6b812be Add gtk_widget_set_allocation to gtkwidget.h and gtk.symbols 2009-08-13 11:22:57 -05:00
Cody Russell
5c89bbf3de Make the allocation parameter const 2009-08-13 11:21:15 -05:00
Cody Russell
2ba836defb Add widget->allocation setter method
Add gtk_widget_set_allocation() to be used by size_allocate() methods,
since widget->allocation is now sealed.  Bug #585211
2009-08-13 11:14:55 -05:00
Alexander Larsson
9f82243197 Make _gdk_window_process_updates_recurse reentrancy safe
Apps may change the window hierarchy while recursing over it by
destroying windows from the expose event handler. We need to copy
the children list and ref all the children while recursing.

This fixes some crashers in gedit (bug #589367, bug #591434)
2009-08-13 17:00:00 +02:00
Alexander Larsson
7667c4d8dc Fix leaks of clip region and outstanding moves
We're never freeing these, do so when destroying.
Fixes bug 589877
2009-08-13 16:49:58 +02:00
Matthias Clasen
9ec4fb60f2 Don't return uninitialized pointers
This was giving me segfaults somewhere else.
2009-08-13 09:47:20 -04:00
Alexander Larsson
939e55223c Ensure that queue_translation is paired with the right X operation
The X11 queue_translation operation uses NextRequest to get the serial
of the XCopyArea operation where the translation should end. However,
if the gc passed to gdk_draw_drawable has a non-flushed clip region
(which it commonly has now for the window clipping) then the next
operation will be the GC flush, not the XCopyArea.

To handle this right we now pass in the GC to be used to
queue_translation and ensure that it is flushed before calling
NextRequest().
2009-08-13 14:46:02 +02:00
Alexander Larsson
e25ac0b5cb Clarify comment 2009-08-13 14:46:01 +02:00
Alexander Larsson
043ca236f2 Invalidate old source in gdk_window_move_region
When we copy the region we need to also re-expose the areas of
the copied region that was not also in the destination.
And, we need to do this invalidation after the move, as the
move also moves any invalid area.
2009-08-13 14:46:01 +02:00
Alexander Larsson
8a517dc0bb Modify window system exposes wrt outstanding moves
If there are outstanding moves in an area that intersects
the source of an outstanding move we need to move the invalid
area correspondingly, otherwise we will expose the wrong area
as the outstanding move copy will happen before we expose
the invalid area.
2009-08-13 14:46:01 +02:00
Alexander Larsson
a3ee8271a9 Check for GraphicsExpose too in expose_serial_predicate
GraphicsExpose cause invalidation too, so we need to look for such
events in addition to normal Expose events.
2009-08-13 14:46:01 +02:00
Alexander Larsson
f019047402 Don't un-invalidate area that will be immediately invalidated again.
When moving an area we move any invalid region in this area to the
new place, but there really is no need to remove the old invalid
area as it would just be invalidated again (being newly exposed).
2009-08-13 14:46:01 +02:00
Alexander Larsson
ff558e2ec6 Remove C++ comment 2009-08-13 14:46:01 +02:00
Alexander Shopov
5745760450 Updated Bulgarian translation 2009-08-13 12:05:29 +03:00
Daniel Nylander
c167c7a613 Updated Swedish translation 2009-08-13 10:31:54 +02:00
Daniel Nylander
d2e14a7669 Updated Swedish translation 2009-08-13 10:29:36 +02:00
Daniel Nylander
8ad5076d7e Updated Swedish translation 2009-08-13 10:08:20 +02:00
Alexander Shopov
4327141289 Updated Bulgarian translation 2009-08-13 07:33:11 +03:00
Alexander Shopov
ee67900024 Updated Bulgarian translation 2009-08-13 07:16:05 +03:00
Leonardo Ferreira Fontenelle
d170ab22a6 Updated Brazilian Portuguese translation. 2009-08-12 23:02:15 -03:00
Benjamin Otte
e3bdf9291f Bug 590959 - Set child_has_focus flag properly (second try)
Previously, this flag wasn't cleared properly when the notebook lost
focus, but only when the notebook was focussed again later.
As this flag is only used to advance correctly focus pages by grabbing
focus to the new page after switching the page, this is not good.
In particular, it can cause a focus grab when programmatically switching
the notebook page and the focus is inside a completely different widget.

A previous attempt at this fix in
6e0af6c252 has been reverted in
dfe0c8c0ca because it didn't work
correctly.
2009-08-12 14:49:02 +02:00
Matthias Clasen
860fdbe3ba Bump version 2009-08-11 15:07:15 -04:00
Matthias Clasen
4df049d218 2.17.7 2009-08-11 15:06:02 -04:00
Matthias Clasen
bdffae7f6c Make setting the root cursor work again
This used to work, and CSW broke it. Bug 591462, 589844.
2009-08-11 14:19:35 -04:00
Matthias Clasen
f96d9132d6 Fix make check 2009-08-11 14:18:13 -04:00
Matthias Clasen
dffb6283a0 Updates 2009-08-11 12:47:09 -04:00
Alexander Larsson
fa21459066 Fix clearing of window background for some transparent notification icons
This extends the usage of the native clear region call such that its
called also for windows that have parent relative background all the
way up to a native window. That way we get true background relative
background clearing even to a foreign parent, which means that some
transparent notification icons look right again.
2009-08-11 15:41:23 +02:00
Alexander Larsson
60fa0da96d Implement fallback for old draw_drawable vfunc
GdkDrawable->draw_drawback was replaced with a new vfunc
draw_drawback_with_src that is now called from gdk_draw_drawable.
However, some code seems to call the vfunc directly (see bug #591288),
so make it chain to the new call.

Note that such direct vfunc calls are a bad idea and won't work for all
cases.
2009-08-11 12:58:48 +02:00
Alexander Larsson
f30cfd729a Show/Hide native window when updating viewable
This moves the native show/hide calls to the generic code
for calculating viewable rather than in its own separate code
called from gdk_window_show/hide. This simplifies the code a bit,
but most significantly it means things are correctly shown when
they become viewable for other reasons than a show/hide call.

For instance, this fixes bug 590442 (gvim embedding) where the
toplevel GtkPlug is mapped by the embedder and we didn't previously
pick up that the native children became viewable and should be shown.
2009-08-11 11:35:35 +02:00
Marek Kasik
70efa73311 Print when Enter pressed in certain GtkEntries of the print dialog
Print when Enter pressed in Name entry or Command Line entry in the
print dialog (#564695).
Add gtk_printer_option_set_activates_default() function and
gtk_printer_option_get_activates_default() function to control
behaviour of GtkPrinterOptionWidget.
2009-08-11 09:24:18 +02:00
Ivar Smolin
527e0937a8 Updating Estonian translation 2009-08-11 09:29:08 +03:00
Inaki Larranaga Murgoitio
f04a410dc5 Updated Basque language 2009-08-10 19:59:45 +02:00
Antón Méixome
321c034cd6 Updated Galician translation 2009-08-10 17:19:30 +02:00
Inaki Larranaga Murgoitio
67718230c7 Updated Basque language 2009-08-10 18:50:51 +02:00
Inaki Larranaga Murgoitio
4d49969d5f Updated Basque language 2009-08-10 18:49:34 +02:00
Alexander Larsson
19c1c11322 Don't invalidate unnecessary areas on raise
We used to invalidate the whole window when raised, but this is
unnecessary much, we now just invalidate the visible area minus the
previously visible area.

This also fixes a problem where expose calling raise caused a loop (#588438)
2009-08-10 15:35:33 +02:00
Alexander Larsson
0fc8c475a8 Remove old comment about guffaw scrolling
We no longer use guffaw scrolling since the client side windows
branch was merged.
2009-08-10 14:27:53 +02:00
Alexander Larsson
7f92684237 Don't ever invalidate the root window
This never worked before csw since the root window is never
set as IS_MAPPED, but with the new viewable check (which is
true for the root window) we could erronously queue exposes
on the root window.

This happened unexpectedly in bug 589369, where metacity
got a GraphicsExpose event on the root window due to some
graphics operation, queueing an expose which would be handled
by clearing that area. That is fixed with this commit.
2009-08-10 14:13:06 +02:00
Inaki Larranaga Murgoitio
c68194b951 Updated Basque language 2009-08-10 14:35:05 +02:00
Marek Kasik
d878dc8e1a Increment page sequence before print of the page, not after
When printing, increment page sequence before rendering of the page,
not after (#590084).
In opposite case it runs "end_page" function with wrong parameters when
drawing a page in another thread.
2009-08-10 11:37:32 +02:00
Javier Jardón
ec7c24d227 Remove some unused variables (GnomeBug:591218) 2009-08-10 11:06:54 +02:00
Matthias Clasen
54863bbba6 Correct a doc comment
Add 'papi' to the list of possible print backends, and mention 'file'
instead of 'pdf'.
2009-08-08 22:43:16 -04:00
Matthias Clasen
69fc109c22 Avoid some gratitious behaviour changes
Go back to allowing a lot of the WM-level functions on foreign windows,
since we used to allow that before csw. Fixes bug 589732.
2009-08-08 22:00:07 -04:00
Khaled Hosny
913c95a5b5 Updated Arabic translation 2009-08-08 21:32:20 +03:00
Seán de Búrca
a6632e9499 Updated Irish translation 2009-08-08 02:23:01 -06:00
Jorge González
f57e212695 Updated Spanish translation 2009-08-07 19:54:02 +02:00
Jorge González
ea746ed151 Updated Spanish translation 2009-08-07 19:29:25 +02:00
Jorge González
9124254974 Updated Spanish translation 2009-08-07 18:51:12 +02:00
Xan Lopez
dfe0c8c0ca Revert "Bug 590959 - Set child_has_focus flag properly"
This reverts commit 6e0af6c252.

The patch seems to break focus handling in some applications, like
Epiphany.
2009-08-07 15:51:17 +03:00
Michael Natterer
8296bf7035 Bug 69872 – GTK_WIDGET_SET_FLAGS should be deprecated
Add gtk_widget_has_grab() as replacement for GTK_WIDGET_HAS_GRAB().
2009-08-07 14:48:00 +02:00
Seán de Búrca
8a6bb818a4 Updated Irish translation 2009-08-07 02:27:58 -06:00
Carlos Garcia Campos
c775906e4a Add gtk_print_operation_get_n_pages_to_print()
It returns the number of pages that will be printed to allow tracking
the progress of a print operation. Fixes bgo#582964.
2009-08-07 09:42:03 +02:00
Seán de Búrca
d468aee5d9 Updated Irish translation 2009-08-07 01:17:14 -06:00
Michael Natterer
eb0a5721d9 Bug 69872 – GTK_WIDGET_SET_FLAGS should be deprecated
Add gtk_widget_get_visible(). For symmetry reasons and for convenience
when a widget's visibility state is available as a boolean condition,
also add gtk_widget_set_visible() (which simply calls show()/hide()).
2009-08-07 08:53:32 +02:00
Matthias Clasen
b514c6ac22 Fix a logic error in gdk_window_set_title on OS X
Also fix a similar error in gdk_window_set_transient_for.
This fixes bug 589738
2009-08-07 00:13:44 -04:00
Matthias Clasen
5002976fab Fix a logic error in gdk_window_set_title on OS X
This fixes bug 589738
2009-08-07 00:10:43 -04:00
Matthias Clasen
549ffcbf5c Add a GtkIconView::item-padding property
The property can be used to fine-tune who much space each column
needs. See bug 586100.
2009-08-06 23:56:30 -04:00
Matthias Clasen
ae37d2097e Emit GtkAssistant::apply before computing the next step
This fixes bug 589745.
2009-08-06 23:52:18 -04:00
Matthias Clasen
d769808cbb Fix a typo
This was reported in bug 586808.
2009-08-06 23:49:02 -04:00
Matthias Clasen
00c439dfcb Fix a typo
This was reported in bug 586347.
2009-08-06 23:44:00 -04:00
Pascal Terjan
f8171ce092 Update tooltip if no removable one is selected 2009-08-06 23:28:49 +02:00
Benjamin Otte
6e0af6c252 Bug 590959 - Set child_has_focus flag properly
Previously, this flag wasn't cleared properly when the notebook lost
focus, but only when the notebook was focussed again later.
As this flag is only used to advance correctly focus pages by grabbing
focus to the new page after switching the page, this is not good.
In particular, it can cause a focus grab when programmatically switching
the notebook page and the focus is inside a completely different widget.
2009-08-06 16:39:19 +02:00
Marek Kasik
c44b0d2f7a Check for details request before print
Checks for details request before sending a job to a printer.
Shows busy state indication (cursor + status field).
This avoids printing to wrong printer (bug #576601).
2009-08-06 09:11:31 +02:00
Marek Kasik
94bc87c637 Get default cover sheets from each printer separately
Fixes bug #590309.
Add default_cover_before string and default_cover_after string
to GtkPrinterCups and fill it when getting list of printers.
2009-08-05 10:34:27 +02:00
Jorge González
d4ac4f69d1 Updated Spanish translation 2009-08-04 19:31:33 +02:00
Jorge González
d6d39154a2 Updated Spanish translation 2009-08-04 19:31:27 +02:00
Ivar Smolin
e87a9021a2 Updating Estonian translation 2009-08-04 10:23:58 +03:00
Ivar Smolin
055c7aa454 Updating Estonian translation 2009-08-03 20:48:29 +03:00
Marek Kasik
39b960216c Add SVG support to GtkPrintBackendFile
This add support for printing to SVG 1.2 files (#357655).
2009-08-03 11:25:19 +02:00
Denis Arnaud
f29b9e2daf Updated breton translation 2009-08-03 06:07:58 +02:00
Kjartan Maraas
1fa297c82f Updated Norwegian bokmål translation. 2009-08-03 00:21:24 +02:00
Sam Thursfield
ad3be19251 Make gdk-pixbuf-csource work on Windows also in the build tree.
Patch from bug #590448.
2009-08-02 10:40:13 +03:00
Sam Thursfield
2f0dd2d806 Fix configure.in to work without --with-gdktarget on non-X11.
Patch from bug #590086.
2009-08-02 10:32:47 +03:00
Ivar Smolin
5ab28ed9fa Updating Estonian translation 2009-08-02 09:39:18 +03:00
Leonardo Ferreira Fontenelle
c009f49f93 Updated Brazilian Portuguese translation. 2009-08-02 01:27:31 -03:00
Kristian Rietveld
8c8e1daefa Add stubs for missing GDK windowing functions to Quartz backend
This seems to more or less fix the build.  On Tiger there are still issues
with libresolv missing on the link line, I will figure out what's up with
that soonish.
2009-07-31 21:22:54 +02:00
Yaron Sharabani
1946086d8b updated hebrew translation 2009-07-31 17:25:36 +03:00
Stefan Kost
493d386834 docs: don't invent new docbook tags, it is <type> not <typename> 2009-07-31 13:27:48 +03:00
Stefan Kost
bd439f65e2 docs: fix include by adding GtkLabel-links doc to expand_content_files 2009-07-31 10:33:04 +03:00
Kristian Rietveld
d743b2fbea Bug 586374 – code does not follow documentation
Properly invalidate iterators in iter_next, iter_children,
iter_nth_child and iter_parent when FALSE is returned.  ListStore was
actually already mostly in order as the GSequence pointers are very
strictly checked, but to be a little stricter we've added stamp = 0
lines.  TreeStore did not invalidate its iterators, so stamp = 0 lines
were added where appropriate.  Unit tests have been added to check this.

Fixes bug 586374, reported by Mike Gemunde.
2009-07-30 21:23:47 +02:00
Kristian Rietveld
a79ef0866b Bug 555109 – selection broken when typeahead active
gtk_tree_view_enter_notify() now "ignores" the synthesized crossing
events.  The synthesized crossing events always have (0, 0) as
coordinates, which messes things up.  This patch does not fix all issues,
at least it makes the behavior much more reasonable again.  Watch bug
555109 for further discussion on the issue.
2009-07-30 20:24:31 +02:00
Kristian Rietveld
bce2a5173d Bug 573321 – additional check in gtk_tree_model_filter_convert_*
Added checks to see whether the passed iterators are not the same in
convert_child_iter_to_iter() and iter_to_child_iter() functions in both
the sort and filter models.

Fixes bug 573321, suggestion by Vadim Godunko.
2009-07-30 20:24:31 +02:00
Kristian Rietveld
069a593b0f Bug 539377 – Unnecessary warnings when GtkTreeView is not realized
Adapt gtk_tree_view_get_path_at_pos() and
gtk_tree_view_get_drag_dest_row() to just return FALSE when bin_window
is NULL and not hit a warning.  Makes this case consistent with the tree
view not having a model.  Documentation has been updated to clarify
this, unit test has been added.

Fixes bug 539377, based on a patch by Bjorn Lindqvist.
2009-07-30 20:24:31 +02:00
Kristian Rietveld
ff10f9ce02 Bug 498010, 546005 - fix assertion in gtk_tree_view_set_cursor_on_cell
Instead of failing with warning on !tree_view->priv->tree, return
silently when tree_view->priv->model is NULL.  Clarified in the
documentation that for invalid paths (and every path is invalid when no
model is set), the function will fail silently although the current
cursor will be unset.

Fixes bugs 498010 and 546005.
2009-07-30 20:24:31 +02:00
Kristian Rietveld
531c7e535b Start general GtkTreeView unit tests
Includes a test case for bug 546005 to start with, logic provided by
Paul Pogonyshev and Bjorn Lindqvist.  In the future, we should maybe
merge treeview-scrolling.c with this one to create one large monolithic
tree view tester.
2009-07-30 20:24:31 +02:00
Pascal Terjan
a4514f993e Allow disabling New Folder button in File Choser
Bug #570516. Add a new property "create-folders" meaning that the
"New Folder" button should be displayed in the modes where it used
to be.
2009-07-30 16:58:42 +02:00
Matthias Clasen
d75ccb5c0d Correct a thinko
The xml way of saying %s is &percnt;s, not &amp;s.
2009-07-30 09:13:23 -04:00
Emmanuele Bassi
2d79405118 Bug #514260 – Better filtering for "Recently Used" files
Instead of refiltering the recently used files we should rebuild
the list altogether when the current GtkFileFilter changes; this
allows us to keep showing the maximum amount of recently used
files.

Fixes bug:

  http://bugzilla.gnome.org/show_bug.cgi?id=514260
2009-07-30 11:16:29 +01:00
Emmanuele Bassi
6f0f5f8dc7 Fix gdk_window_get_cursor() documentation
The 'Return value' annotation is missing from the documentation
of gdk_window_get_cursor().
2009-07-30 11:12:27 +01:00
Emmanuele Bassi
1811ecfb58 Add missing gdk_window_get_cursor to the GDK symbols 2009-07-30 11:12:26 +01:00
Kristian Rietveld
c035c122e2 Remove unused dirty iter discovery functions
gtk_tree_view_discover_dirty_iter() and gtk_tree_view_discover_iter()
have been in the tree forever, but unused since 1.3.8 or so.  I guess we
no longer need them, so removed them.  Fixes a compiler warning as well.
2009-07-30 12:02:18 +02:00
Michael Natterer
6007761549 Fix gtk_widget_get_allocation()
- add it to the header
- add the symbol to gtk.symbols
- fix coding style and check for allocation != NULL
2009-07-30 11:49:47 +02:00
Ivar Smolin
94f887390c Updating Estonian translation 2009-07-30 08:50:39 +03:00
Cody Russell
1780361b79 add gdk_window_get_cursor() 2009-07-29 22:38:36 -05:00
Cody Russell
4a73b41a34 add getter function for widget->allocation
Add gtk_widget_get_allocation() to retrieve a widget's allocation.
Needed as a step to enable GSEAL building.

This fixes bug #585211
2009-07-29 22:28:17 -05:00
Alejandro Piñeiro Iglesias
f22239c4aa Report ATK_STATE_SHOWING only when all parents are visible
Bug #509650. Checks if all the predecesors (the parent widget,
his parent, etc) are visible. Only reports ATK_STATE_SHOWING when
all parents are visible.
Signed-off-by: Li Yuan <li.yuan@sun.com>
2009-07-29 11:55:53 +08:00
Jamy
a96bf76db3 Updated breton translation 2009-07-28 13:46:41 +02:00
Jamy
29870ca2f9 Updated breton translation 2009-07-28 13:45:35 +02:00
Stefan Kost
0e6d121b83 docs: add missing <variablelist> tags
Fixes docbook validation for these files.
2009-07-28 11:21:49 +03:00
Stefan Kost
ed58c1028a docs: inline see_also to sections docs and add missing <variablelist>
This fixes docbook validation for the file.
2009-07-28 11:20:22 +03:00
Federico Mena Quintero
d55ff39ad0 bgo#161489 - In the file chooser, let the left/right arrow keys switch focus between the file list and shortcuts
Based on a patch by Christian Neumair <cneumair@gnome.org>

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-07-27 19:24:42 -05:00
Federico Mena Quintero
b50548e350 From the shortcuts pane, focus the GtkEntry and redirect unhandled keystrokes to it
This lets us do this:

1. click on a folder in the shortcuts pane
2. start typing a filename

Then, the typed filename will actually go to the filename entry, like
the user expects.  (Or to the search entry, in case the user clicked
on the Search shortcut.)

Also, removed the obsolete callback that made "/" and "~" typed in the
shortcuts pane bring up the location entry.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-07-27 19:12:41 -05:00
Federico Mena Quintero
0f5f7539f3 bgo#534462: Disable interactive search in the file chooser's shortcuts pane
People often do this:
1. Bring up a SAVE dialog
2. Click on a folder in the shortcuts pane
3. Start typing a filename
4. Oops!  The interactive-search entry in the shortcuts pane appears.

With this, the shortcuts pane will not bring up the interactive-search entry.  Then it
will be clear that you are not typing in the right place.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-07-27 19:12:41 -05:00
Daniel Nylander
00ff4d622b Updated Swedish translation 2009-07-28 02:22:30 +02:00
Cody Russell
313b6f39a6 _gdk_window_impl_new() on directfb 2009-07-27 15:39:28 -05:00
Kjartan Maraas
10e249f035 Fix translation 2009-07-27 16:36:56 +02:00
Hans Breuer
a7394dc887 Implement GdkDrawableImplWin32::draw_pixbuf 2009-07-26 19:14:08 +02:00
Hans Breuer
45344cdf7c Use G_DEFINE_TYPE (GdkDrawableImplWin32, ...) 2009-07-26 19:14:07 +02:00
Hans Breuer
c5c87a918f Some cursor work for csw(win32), more left to do 2009-07-26 19:14:06 +02:00
Hans Breuer
31357a7ab6 Enable big_window bench on win32, dialog for everyone 2009-07-26 19:14:05 +02:00
Hans Breuer
4d2c165b75 Formatting and removing commented/obsolete code 2009-07-26 19:14:04 +02:00
Philip Withnall
f9a1bfb7b9 Bug 589336 – Add GtkTreeViewColumn:sort-column-id property
Add the property, change notifications and documentation stubs.
2009-07-26 10:52:30 +01:00
Matthias Clasen
88d96c7246 Bump version 2009-07-24 23:51:47 -04:00
Matthias Clasen
a99a4d35e4 2.17.6 2009-07-24 23:49:37 -04:00
Matthias Clasen
012ff55b84 Updates 2009-07-24 22:52:21 -04:00
Alexander Larsson
a504784b4b Fix cairo rendering on large subwindows
We get the real pixmap size and use as cairo surface size rather
than doing some magic to try to get clipping on the right hand size
(and the magic looks wrong anyway).

The previous code could result in the width/height being to big for
the cairo 28.4 fix point size and thus not drawing anything.

This fixes bug #588076.
2009-07-24 21:44:57 +02:00
Li Yuan
ee876f94b1 Remove both SHOWING and SELECTED states when menuitem is not visible
Bug #582674 and Bug #574674. Remove SHOWING state also.
2009-07-24 16:23:57 +08:00
Li Yuan
de718dbe93 Remove ATK_STATE_SHOWING state when menuitem is not visible
When the menu is not selected, remove ATK_STATE_SHOWING state. And
emit state change signal if the menu is selected/unselected.
2009-07-24 16:17:59 +08:00
Matthias Clasen
9660bfe9da Fix issues with resize handles
The resize handles were not correctly redrawn and not positioned
correctly, initially.
2009-07-24 00:47:09 -04:00
Alexander Larsson
9d69355e6f Fix clipping of pixbuf drawing to windows
When the fallback for gdk_draw_pixbuf (gdk_drawable_real_draw_pixbuf)
is called with a window destination we have already applied any clip
regions and offsets for the window, but the window we get is a wrapper
and not an impl. We have to ensure we really draw to the impl, as
otherwise the pixbuf drawing will be clipped by client side subwindows.

This fixes bug 588553.
2009-07-23 22:03:15 +02:00
Alexander Larsson
e71c5d3ab5 Avoid unnecessary indirect call
Call klass->draw_pixbuf directly inside gdk_window_draw_pixbuf
instead of gdk_draw_pixbuf to avoid doing all checks twice.
2009-07-23 22:03:15 +02:00
Ivar Smolin
82ba9628e5 Updating Estonian translation 2009-07-23 19:08:44 +03:00
Daniel Nylander
141e983d24 Updated Swedish translation 2009-07-22 14:23:31 +02:00
Daniel Nylander
0c5e3b390b Updated Swedish translation 2009-07-22 13:51:09 +02:00
Tristan Van Berkom
cfc27be34e Slightly updated grammer in migrating-GtkBuilder.sgml
Just fixes the previous patch concerning using Glade if
possible before resorting to gtk-builder-convert to have
better grammer.
2009-07-21 12:54:33 -04:00
Javier Jardón
f4d1246700 Suggesto to use Glade instead gtk-builder-convert script (GnomeBug:587337)
* docs/reference/gtk/migrating-GtkBuilder.sgml
2009-07-21 12:54:32 -04:00
Cody Russell
d84b575cd0 Bug 589275 – [csw] Trying to destroy NULL regions
gdk_window_input_shape_combine_mask() can accept NULL for the mask
parameter, but it wasn't checking for NULL before passing the
resulting GdkRegion to gdk_region_destroy().  Fixes #589275
2009-07-21 11:44:25 -05:00
Alexander Larsson
18048308e4 Revert all handling of clip_region being unset for non-viewable windows
This is now handled by explicitly setting it to empty for all non-viewable
windows.

This reverts these commits:
82e609c2a0
36861cf608
454160ad9e
7adf894a29
ed2c837574
2009-07-20 23:26:02 +02:00
Alexander Larsson
3c03683e09 Set clip region to empty for non-viewable windows
This lets us avoid lots of viewable checks and still not waste
time computing clip regions for non-viewable windows
2009-07-20 23:15:34 +02:00
Alexander Larsson
82e609c2a0 Make gdk_window_begin/end_paint handle non-viewable windows
These are updated to not read clip region is not viewable
2009-07-20 22:36:02 +02:00
Alexander Larsson
36861cf608 Make gdk_drawable_get_visible/clip_region handle the !viewable case
We can't access ->clip_region for these cases as its not yet calculated.
2009-07-20 22:30:48 +02:00
Alexander Larsson
bf78db5690 Calculate clip region when window goes viewable
Since we're no longer calculating clip regions for non-viewable windows
we need to calculate it when it goes viewable.
2009-07-20 22:19:35 +02:00
Jorge González
6e4aff8608 Updated Spanish translation 2009-07-20 20:28:40 +02:00
Jorge González
6b3613d30c Updated Spanish translation 2009-07-20 20:27:43 +02:00
Jorge González
dbc80f47b1 Updated Spanish translation 2009-07-20 20:19:09 +02:00
Paolo Borelli
c564b3ef2b Microoptimization in interactive search handling 2009-07-20 15:54:48 +02:00
Paolo Borelli
48f1b45b62 Bug 588943 – set correct selection before emitting cursor-changed when searching
Make sure the correct selection is set when emitting cursor-changed
during an interactive search
2009-07-20 15:54:35 +02:00
Xan Lopez
3484246dc3 g_strdup_print does not exist, the function is g_strdup_printf. 2009-07-20 09:58:22 +03:00
Matthias Clasen
267d209441 Remove markup from translatable strings
Pointed out in bug 588964. String change !
2009-07-20 01:10:52 -04:00
Matthias Clasen
8430e215a7 Remove a duplicate include.
This was pointed out in bug 588897.
2009-07-20 00:31:20 -04:00
Matthias Clasen
d6afa6eff2 Fix a typo in the startup-id property definition
As well as some new GtkPrintOperation properties, which were not
correctly set up. This was noticed in bug 588958.
2009-07-19 23:52:58 -04:00
Matthias Clasen
4f49287659 Add a translator comment
This fixes bug 589035.
2009-07-19 23:21:52 -04:00
Alexander Larsson
aa47fca68f Exit remove_child_area when region is empty
When the region is empty we can return early, because there
is no more area to remove. This happens often for children
of scrolled windows (i.e. things that are clipped out.
2009-07-19 22:38:06 +02:00
Alexander Larsson
a057c03889 Optimize remove_child_area for children outside region
If a child is totally outside the current region, bail early instead
of doing costly calculations to subtract the child region.
2009-07-19 22:38:06 +02:00
Jorge González
ef8ce08edf Updated Spanish translation 2009-07-19 18:45:41 +02:00
Theppitak Karoonboonyanan
e87db9e44a Updated Thai translation. 2009-07-19 13:02:49 +07:00
Alexander Larsson
454160ad9e Fix read of non-initialized clip_region
Foreign children are always viewable but may not have a viewable
parent, so ensure we don't read the parent for them.
2009-07-18 23:15:57 +02:00
Alexander Larsson
7adf894a29 Don't read non-initialized clip region
The clip region is only initialized (and needed) for viewable windows.
2009-07-18 23:15:57 +02:00
Alexander Larsson
b36b7000f1 Only handle viewable windows in collect_native_child_region
There is no need to handle non-viewable windows and additionally
they may not have the clip region set yet.
2009-07-18 23:15:57 +02:00
Alexander Larsson
ed2c837574 Only apply clip_region shape for viewable windows
This fixes a problem where the clip region is not yet calculated
2009-07-18 23:15:57 +02:00
Alexander Larsson
7cbb573ca9 Only calculate clipping regions for viewable windows 2009-07-18 23:15:51 +02:00
Alexander Larsson
027f411150 Check for viewable to avoid doing work instead of mapped
This is now cheap and allows us to avoid more work.
2009-07-18 23:12:02 +02:00
Alexander Larsson
aa8693f2cb Track viewable for GdkWindow 2009-07-18 23:11:54 +02:00
Claude Paroz
7efa439fb3 Updated French translation
Contributed by Laurent Coudeur and Claude Paroz.
2009-07-18 20:45:09 +02:00
Alexander Larsson
db4dabf5e7 GDK_WINDOW_TYPE does a runtime typecheck, don't call it unnecessary
Looking at a profile the typecheck from GDK_WINDOW_TYPE stood out quite
a bit, which is fixed by not using it unnecessarily.
2009-07-18 15:06:27 +02:00
Jorge González
cf08a43eaa Updated Spanish translation 2009-07-18 14:40:07 +02:00
Jorge González
dd0d0753e9 Updated Spanish translation 2009-07-18 13:53:50 +02:00
Hans Breuer
1e765d2df0 Use perl to make gtkalias.h without warnings 2009-07-18 13:31:51 +02:00
Hans Breuer
f3668e96e7 Bug #588398 - Leak with testgtk::preview_(color|gray) and more
Revert to gdk_win32_ref_cairo_surface() implementation from gtk-2-16
and make _gdk_windowing_create_cairo_surface() simply delegate to it.
2009-07-18 13:13:13 +02:00
Matthias Clasen
630441030f Bump version 2009-07-17 23:11:12 -04:00
Matthias Clasen
37b1a1acf6 2.17.5 2009-07-17 23:08:51 -04:00
Michael Natterer
40408e74dd Two more getters for flags plus one new property
More stuff based on patches from Christian Dywan:
- gtk_widget_get_app_paintable()
- gtk_widget_get_double_buffered()
- r/w property "double-buffered"
2009-07-17 21:51:47 +02:00
Benjamin Otte
33ada9e938 Bug 588273 - Make number of validated rows depend on time, not row count
Previously, do_validate_rows() validated 300 rows per iteration. While
this is usually not problematic, as the typical tree view contains less
than 100 rows. Tree views with a lot of columns or complex cell
renderers could take inacceptably long, like:
- Epiphany's location bar entry completion has multiline and marked up
  text in every cell. Validating a single row took ~1.5ms here.
- In the list view in Nautilus, When enabling all columns, validating a
  single row would take ~3ms.
With 300 rows per iteration, that made those examples take 500ms/1s in a
signle main loop callback, and this obviously caused responsiveness
problems.

Now the code uses a timer and limits the time for validating rows to
30ms. This can cause less lines to be invalidated per call, so the
function might be called more often, but generally results in more
responsive applications.
2009-07-17 21:35:32 +02:00
Michael Natterer
74ca4e2482 Add API for more widget flags
Add the following functions based on a patch from Christian Dywan:
- gtk_widget_set/get_can_focus()
- gtk_widget_set/get_can_default()
- gtk_widget_has_default()
2009-07-17 21:20:14 +02:00
Matthias Clasen
c28d6b84fa Correct property types 2009-07-17 15:16:38 -04:00
Matthias Clasen
20dc8509f8 Complete the get_buffer() conversion
There was one direct buffer access in gtk_entry_real_delete_text
leftover, and it promptly made our testsuite fail.
2009-07-17 15:09:35 -04:00
Matthias Clasen
b923f9cf54 Updates 2009-07-17 14:31:00 -04:00
Matthias Clasen
b2c8cb55c2 Fix DND onto an empty icon view
This did not work due to a copy and paste bug from the time when
the treeview DND code was turned into iconview DND code. Fixes
bug 599484.
2009-07-17 13:30:37 -04:00
Hans Breuer
d0cf137ed9 More efficient version of _gdk_win32_window_queue_translation()
Don't create create an extraneous expose event for any scroll operation
that gtk+ does. Thanks to Alex for the hint.
2009-07-17 17:26:48 +02:00
Hans Breuer
d8d62ceb99 Fix inconsistent line-endings
They are causing trouble with core.autocrlf=true, see:
http://mail.gnome.org/archives/gtk-devel-list/2009-July/msg00041.html
2009-07-17 17:26:17 +02:00
Marek Kasik
98cdcce349 Change position of paper's dimensions according to reading direction
Change position of paper's dimensions in GtkPrintUnixDialog according
to reading direction.
2009-07-17 16:33:16 +02:00
Tristan Van Berkom
51149246c0 Fixed crashes when GtkEntry's internal buffer is not available (bug 588395)
To fix this I replaced the code that creates an internal buffer
at init and construction time with code that creates a buffer
at _get_buffer() time, this is the same as GtkTextView does and
fixes the crashes for me.
2009-07-16 23:52:46 -04:00
Matthias Clasen
7f83be8595 Make suitable GtkAssistant buttons default
We grab the default to the apply, forward or close buttons, as
appropriate. Also, make sure that the logic for setting the focus
to the best place on page change is applied to the initial page.
2009-07-16 22:06:40 -04:00
Matthias Clasen
c41e36ad8a Make jasper support optional
To enable it, one must now pass --with-libjasper to configure.
2009-07-16 20:54:42 -04:00
Tor Lillqvist
4d282879be Disable the GDI+ loaders by default as they are broken. 2009-07-16 22:05:17 +03: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
André Gondim
6a98939720 Updated Brazilian Portuguese translation. 2009-07-15 21:31:37 -03:00
Matthias Clasen
143b55c3cb Add a tooltip to the save folder combo
Add a tooltip that shows the full path of the current folder, to avoid
ambiguity. We only show the tooltip when the expander is collapsed to
avoid cluttering the full file chooser.
2009-07-15 19:17:36 -04:00
Matthias Clasen
a47c0754d7 Use G_CONST_RETURN for const return values 2009-07-15 18:29:13 -04:00
Matthias Clasen
9a3af66a21 Avoid gratitious behaviour change
gtk_entry_set_text() used to emit the ::delete-text, ::insert-text
signals. Changing to GtkEntryBuffer should not change this.
2009-07-15 18:25:02 -04:00
Matthias Clasen
b5dab96b45 Make GtkEntryBuffer::max-length and int property
This avoid a behaviour change in a corner case and should not make
any difference.
2009-07-15 16:12:09 -04:00
Matthias Clasen
b29fb1e609 Fix a typo 2009-07-14 22:33:14 -04:00
Michael Natterer
548f3a8c69 Add API for sealed member "visible" 2009-07-15 03:22:22 +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
Claude Paroz
2bd2a024ed Add missing files in POTFILES.in 2009-07-14 20:46:24 +02: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
Michael Natterer
2686930bfd Add gtk_widget_get_state() for accessing the sealed member "state" 2009-07-14 02:45:42 +02:00
Michael Natterer
8f60176229 Add API for some sealed widget flags
- gtk_widget_has_focus() for GTK_WIDGET_HAS_FOCUS()
- gtk_widget_get_sensitive() for GTK_WIDGET_SENSITIVE()
- gtk_widget_is_sensitive() for GTK_WIDGET_IS_SENSITIVE()
2009-07-14 02:12:40 +02:00
Michael Natterer
66ae394eb5 Add API for the sealed member "activatable" 2009-07-14 01:53:56 +02:00
Michael Natterer
dffc1bf19d Add API for sealed members xpad, ypad, xalign, yalign and sensitive 2009-07-14 01:45:03 +02:00
Michael Natterer
9e5b3a46b1 No need to have single-include guards in a private header 2009-07-14 01:33:52 +02:00
Matthias Clasen
0e8fe66f09 Fix some problems with prelighting of icons in entries 2009-07-13 14:48:10 -04:00
Matthias Clasen
ea3184f129 Make gtk_editable_get_chars work as before
It used to return actual entry contents, regardless of visiblity.
Make it do that again. This was reported in bug 588461.
2009-07-13 13:37:35 -04: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
Cody Russell
ecd961fcf7 more directfb updates 2009-07-13 08:36:40 -05:00
Kjartan Maraas
8e9436daae Updated Norwegian bokmål translation. 2009-07-13 11:16:46 +02:00
Hans Breuer
e7737dbd19 Implement _gdk_win32_window_destroy() and more cleanup
Implement _gdk_win32_window_destroy() by just renaming
_gdk_windowing_window_destroy(), removed superfuous stub.

Also cleaned up implementations of  gdk_win32_window_set_background()
and gdk_win32_window_set_back_pixmap() - removed stuff now done at the
respective gdk_window_*() function.
2009-07-13 09:45:07 +02:00
Hans Breuer
e96c161643 Implement _gdk_win32_window_queue_translation() 2009-07-13 09:45:06 +02:00
Hans Breuer
52941c5089 Mark gtk_custom_paper_unix_dialog_get_type() unix only 2009-07-13 09:45:06 +02:00
Hans Breuer
b72960f12d Bug #588388 - shape rendering is back
Just mapping exisiting implementations to new GdkWindow API.

http://bugzilla.gnome.org/show_bug.cgi?id=588388
2009-07-13 09:45:05 +02:00
Hans Breuer
4c2c45740d Make more use of defines in $(TOP)/build/win32/make.msc 2009-07-13 09:45:04 +02:00
Hans Breuer
c99b4e775b Bug #588379 - testgtk::panes does not change the cursor on mouse over
That one was easy, just removing Alex's #ifdef TODO_CSW ;)

http://bugzilla.gnome.org/show_bug.cgi?id=588379
2009-07-13 09:45:03 +02:00
Hans Breuer
e2000ac366 Bug #588373 - Menus broken by client-side-windows
Resurrcetion and adaption of find_window_for_mouse_event(). The window
receiving the WM_MOUSEMOVE, WM_?BUTTONDOWN is not necessarily the one
interested in GDK_(ENTER|MOTION|LEAVE)_NOTIFY

http://bugzilla.gnome.org/show_bug.cgi?id=588373

Also added some more more TODO_CSW and disabled print_event(): it can not
cope with the new _gdk_windowing_got_event() eating/morphing events.
2009-07-13 09:45:02 +02:00
Hans Breuer
fcdeab5456 Fix gccism - pointer arithmetic with void pointers 2009-07-13 09:45:01 +02:00
Hans Breuer
c6f9e39762 Fix c99ism - declaration in the mid of a block 2009-07-13 09:45:00 +02:00
Hans Breuer
b97ccecd5d Update msvc build 2009-07-13 09:45:00 +02:00
Hans Breuer
3750ecc821 Build more testapps, use G_PI instead of M_PI 2009-07-13 09:44:59 +02:00
Matthias Clasen
26e67850a7 Revert 8031432c09
We can't disallow single-includes unconditionally because gtkentrybuffer.h
is included in gtkentry.h.
2009-07-12 23:04:57 -04:00
Chao-Hsiung Liao
2c0e3be61f Updated Traditional Chinese (Hong Kong and Taiwan) 2009-07-12 15:41:40 +08:00
Jorge González
5b02063c9f Updated Spanish translation 2009-07-11 14:44:51 +02:00
Jorge González
31d6d3ea17 Updated Spanish translation 2009-07-11 14:44:43 +02:00
Matthias Clasen
d7f18ddad9 Remove outdated text from README.in
The PATCH and API keywords are no longer in use. Pointed out in 588229.
2009-07-10 22:29:50 -04:00
Matthias Clasen
417e5f86cf Bump version to 2.17.5 2009-07-10 19:45:21 -04:00
Matthias Clasen
4ff4eb544d 2.17.4 2009-07-10 19:42:44 -04:00
Alexander Larsson
d0366e5160 Don't draw to unviewable windows
The scrolling and region moving code needs to avoid drawing when the
window is mapped, which it did. However, it also needs to avoid
drawing when any of its parents are not mapped, which it didn't so
switch to using gdk_window_is_viewable().

This fixes the index rendering in evolution (#588169)
2009-07-11 00:33:52 +02:00
Matthias Clasen
c25ef64c70 Exclude GtkEntry::buffer from default value testing 2009-07-10 18:12:42 -04:00
Matthias Clasen
66f108874b Make pltcheck pass 2009-07-10 18:12:22 -04:00
Matthias Clasen
369ffae8dc Update 2009-07-10 14:39:07 -04:00
Michael Natterer
b664c328b4 Create a buffer in init() so subclasses can use the entry in their init() 2009-07-10 20:27:33 +02:00
Alexander Larsson
9063e5b3bf Ensure that windows used for selections are native
This fixes cut and paste in gvim (#588115)
2009-07-10 19:36:38 +02:00
Alexander Larsson
ccb09d1c6f Manually update toplevel_under_pointer when a grab changes to owner_events
When we ungrab the pointer we don't get enter events for the window the
pointer is in at the time of the ungrab, so we manually query for the
window the pointer is in. The same thing actually happens on re-grab if
the previous grab was !owner_events (meaning we don't get crossing events
for windows other than the grab) but the new grab is owner_events (and
thus non-grab windows need to get crossing events).

This factors out some common code and enables it also for the re-grab
to owner_events case.
2009-07-10 17:38:05 +02:00
Marek Kasik
0ef74c936f Add paper size combo and orientation combo to print dialog
Paper size combo and orientation combo can be added by
gtk_print_operation_set_embed_page_setup_dialog() to GtkPrinUnixDialog
now. This function induce calling of
gtk_print_unix_dailog_set_embed_page_setup_dialog() after creation of
dialog. These two functions control embed-page-setup-dialog properties
in GtkPrintOperation and in GtkPrintUnixDialog.
There is also new function gtk_print_unix_dialog_get_page_setup_set()
which says whether page setup was set by user.
Selected page setup is stored as default page setup in
GtkPrintOperation.
New class is added, its name is GtkCustomPaperUnixDialog. The class
manages custom sizes. It is derived from GtkPageSetupUnixDialog's
CustomPaperDialog structure.
Page layout preview is modified, so, it shows dimensions of current
page setup (mm or inch - depends on locale). It also shows the name of
actual paper if page setup dialog is not embedded (paper size combo is
not visible).
gtk-demo is actualized to include this new feature.
2009-07-10 11:28:31 +02:00
Cody Russell
6ca5430a74 Merge branch 'directfb-csw' 2009-07-10 03:21:28 +01:00
Cody Russell
e6605b091c get directfb building with csw 2009-07-09 23:53:26 +01:00
Maxim V. Dziumanenko
6445943ff9 Updated Ukrainian translation 2009-07-09 23:55:59 +03:00
Jorge González
8fbdbed18c Updated Spanish translation 2009-07-09 20:58:54 +02:00
Matthias Clasen
2bb2820272 Make link coloring in labels optional
Turns out that link coloring is expected for actual hypertext-like
use, but when using links just as 'mutant button', then it gets
in the way.
2009-07-09 13:59:35 -04:00
Michael Natterer
3d1f55b68d Add xevent->xcrossing.mode to GDK_NOTE() for enter and leave notify events 2009-07-09 17:59:41 +02:00
Alexander Larsson
305979d5a1 Remove accidentally added debug spew 2009-07-09 17:10:56 +02:00
Alexander Larsson
9044ec9bb9 Correctly set enter/leave events as detail=nonlinear
If we get a nonlinear enter/leave notify on the toplevel we need
to set nonlinear in all the events we send, even if the in-toplevel
tree is linear.

This fixes combobox menus popping down immediately when you click
(not hold). (bug #587559)
2009-07-09 17:06:46 +02:00
Michael Natterer
8031432c09 Disallow single-include unconditionally because this is a new file 2009-07-09 16:31:27 +02:00
Michael Natterer
becb5057fc Add single-include guard 2009-07-09 16:30:52 +02:00
Tino Meinen
690af10d65 Dutch translation updated 2009-07-09 11:36:05 +01:00
Tino Meinen
ba184fc5af Dutch translation updated 2009-07-09 11:35:03 +01:00
Maxim V. Dziumanenko
57032100bf Updated Ukrainian translation 2009-07-09 10:48:54 +03:00
Maxim V. Dziumanenko
d0f4532d90 Updated Ukrainian translation 2009-07-09 10:45:55 +03:00
Jorge González
a003b1b5f2 Updated Spanish translation 2009-07-09 07:36:52 +02:00
Stef Walter
eab02f697a GtkEntryBuffer holds text for GtkEntry
Adds a 'model' type buffer for GtkEntry in which the actual
textual data is stored. GtkEntryBuffer can be subclassed.

Among other things, this allows GtkEntry to be used for secrets
that need to be stored in non-pageable memory. It also allows
buffers to be shared by entries.

See bug #576801.
2009-07-08 20:41:53 -05:00
Alexander Larsson
9ef87ea11e Handle non-native windows in the gdk test utils
We need to add the non-native offset to the root coords when
sending events.
2009-07-08 18:47:43 +02:00
Alexander Larsson
a90d43bed6 Don't emulate map/unmap events for native windows
We really need to wait for the MapNotify from the xserver to ensure
that the window has been mapped, as it may be delayed by the WM, network
or similar things.

This fixes a problem in the /ui-tests/keys-events gtk test
2009-07-08 18:47:43 +02:00
Alexander Larsson
8ebf278ebb Fix defaultvalue test due to csw
Initialize GdkWindowAttr required fields. This makes sure toplevel
windows are not accidentally larger than 16bit.
2009-07-08 18:47:43 +02:00
Benjamin Otte
a0ab93ca13 Remove unused variable 2009-07-08 17:57:30 +02:00
Michael Natterer
2de23ea6cf Fix the remaining issues that broke the PLT check
Add internal API for the default button box layouts to so we don't
need to call deprectated GTK+ functions (which are invisible with
GTK_DISABLE_DEPRECATED).
2009-07-08 17:01:32 +02:00
Alexander Larsson
6fc6903c16 Move get_cells implementation from deprecated function
This way the deprecated function calls the new one instead of the other
way around, which fixes pltcheck.sh
2009-07-08 16:46:26 +02:00
Alexander Larsson
fb1aeab052 Move get_cells implementation from deprecated function
This way the deprecated function calls the new one instead of the other
way around, which fixes pltcheck.sh
2009-07-08 16:46:26 +02:00
Michael Natterer
11ec2ede56 Some indentation fixes and minor cleanup 2009-07-08 16:37:29 +02:00
Matthias Clasen
872152d56b Make gdk build with GDK_DISABLE_DEPRECATED
Turns out gdk_window_get_deskrelative_origin is now called in
gdk as well.
2009-07-08 09:54:39 -04:00
Kjartan Maraas
b6b9004885 Use g_object_unref instead of deprecated gdk_pixmap_unref 2009-07-08 15:48:51 +02:00
Nguyễn Thái Ngọc Duy
8c685884bd po/vi.po: updated key names 2009-07-08 13:42:16 +10:00
Ivar Smolin
ba44717959 Updating Estonian translation 2009-07-08 00:07:16 +03:00
Jorge González
a7681f4c1a Updated Spanish translation 2009-07-07 22:39:47 +02:00
Andre Klapper
a338c0f5ea Improve translator comment. Fixes bug #569393. 2009-07-07 16:37:07 +01:00
Alexander Larsson
62db28607b The shape is in window coordinate, so properly offset it when using it 2009-07-07 17:10:49 +02:00
Alexander Larsson
52e3d2cf0e Optimize clip-to-window with clipmask case when fully visible or obscured
This avoids creating alot of bitmaps in common trivial cases.
2009-07-07 17:10:49 +02:00
Alexander Larsson
2678a454e5 Make clipmasks work for pixbuf rendering
This is more important in the client side windows world, as clip masks
may be used for clipping to non-native subwindows. This fixes a bug
in aisleriot where it uses masked pixbuf drawing and it ends up drawing
over the moving card subwindow.
2009-07-07 17:10:49 +02:00
Alexander Larsson
5f12fe2b3b Add _gdk_gc_get_clip_mask
Internal function to get the clip mask of a gc (if set)
2009-07-07 17:10:49 +02:00
Daniel Nylander
a7e48466d4 Updated Swedish translation 2009-07-07 17:02:17 +02:00
Matthias Clasen
3b1a673ccd Reenable tests 2009-07-07 01:08:01 -04:00
Matthias Clasen
b55ac3523d Bump version 2009-07-07 01:07:27 -04:00
Matthias Clasen
b3969a3d75 2.17.3 2009-07-07 01:05:29 -04:00
Matthias Clasen
27f972cd34 Fix some distcheck issues 2009-07-07 00:29:14 -04:00
Matthias Clasen
1c6cd91b64 Temporarily turn of tests
Since there are some csw regressions.
2009-07-07 00:14:31 -04:00
Matthias Clasen
93556ea899 Make distcheck pass 2009-07-06 23:06:46 -04:00
Matthias Clasen
91701d685a Fix a typo 2009-07-06 21:37:42 -04:00
Matthias Clasen
2163081bc6 Update NEWS 2009-07-06 20:25:17 -04:00
David Zeuthen
200d5dde04 Bug 587485 – GMountOperation::show-processes support
- Add support for GMountOperation::show-processes

 - Implement process look up for the X11 target
2009-07-06 14:23:03 -04:00
Matthias Clasen
dab552dc22 Use gdk_display_sync instead of XSync 2009-07-06 02:03:21 -04:00
Matthias Clasen
42e7318b62 Fix redraw issues in GtkInfoBar
This was reported in bug 587716. I have no idea why this used
to work just fine for me...
2009-07-06 01:56:05 -04:00
Matthias Clasen
91868f5e76 Fix the doc build 2009-07-06 01:20:35 -04:00
Matthias Clasen
a213b00d8b More documentation fixes 2009-07-05 20:56:45 -04:00
Matthias Clasen
3b3e4e2a4b More small documentation fixups 2009-07-05 20:56:45 -04:00
Matthias Clasen
44bb1fb30e Small documentation fixes 2009-07-05 20:56:44 -04:00
Alexander Larsson
0e07d8b189 Hack that works around firefox plugin crash
It turns out that mozilla, as per the gtk2xt code selects for input on
the socket with a mask of 0x0fffff (for god knows why) which includes
ButtonPressMask, causing a BadAccess if someone else also selects for
this. As per the client-side windows merge we always normally selects
for button press so we can emulate it on client side children that
selects for button press. However, we don't need this for GtkSocket,
so we unselect it here, fixing the crashes in firefox.
2009-07-04 20:21:26 +02:00
Yaron Shahrabani
84c51a6089 Updated Hebrew translation 2009-07-04 20:49:39 +03:00
Hans Breuer
cd58baa7e3 Updated msvc build 2009-07-04 12:19:13 +02:00
Hans Breuer
7e116727d7 Fix condition to deliver root coords 2009-07-04 12:19:12 +02:00
Hans Breuer
23b1b350b0 Enable window creation with GDK_WINDOW_CHILD again 2009-07-04 12:19:11 +02:00
Hans Breuer
1bc0954495 Initialize 'private' before use 2009-07-04 12:19:10 +02:00
Hans Breuer
fbf0f2d0ec Fix includes for missing prototypes 2009-07-04 12:19:09 +02:00
Hans Breuer
37957aea34 Use G_PI rather than M_PI 2009-07-04 12:19:08 +02:00
Hans Breuer
bff092a0d5 Undef USE_MMX for msvc build 2009-07-04 12:19:07 +02:00
Hans Breuer
b11c4d9fae gtk_status_icon_get_title() must return a value 2009-07-04 12:19:06 +02:00
Hans Breuer
fbf73aada9 Updated msvc build 2009-07-04 12:19:05 +02:00
Hans Breuer
bbd62f4ad8 Conditionally define WS_EX_COMPOSITED 2009-07-04 12:19:04 +02:00
Matthias Clasen
6b56aea518 Add another bug ref 2009-07-03 15:22:02 -04:00
Matthias Clasen
8031910e21 Add doc stubs 2009-07-03 15:22:02 -04:00
Matthias Clasen
837e16789f Add new symbols 2009-07-03 15:22:02 -04:00
Matthias Clasen
6ba2dd8d60 Update for 2.17.3 2009-07-03 15:22:01 -04:00
Hendrik Richter
9503034262 Updated German translation. 2009-07-03 08:22:10 +02:00
Matthias Clasen
584c9c8a02 Make stock buttons have mnemonics again
We used to treat stock buttons as having an implicit use-underline.
A recent but fix lost that.
2009-07-01 19:02:45 -04:00
Matthias Clasen
bde64ecda2 Add a testcase for use-stock/use-underline in buttons
The fix for bug 586330 caused some unexpected behaviour changes, that
this testcase ought to illustrate.
2009-07-01 19:02:45 -04:00
Cody Russell
6060dab77a fix wrap width calculations that caused item height to be wrong
Fix by logari81 to the wrap width calculations fir GtkIconView. #490724
2009-07-01 13:17:51 -05:00
Alexander Larsson
2e3866b5b2 Make GdkDrawable draw_drawable backwards compat
Turns out pygtk build broke due to the argument addition to draw_drawable.
So, we now add a new vfunc for the new draw_drawable and are thus
backwards compat.
2009-07-01 19:50:49 +02:00
Alexander Larsson
0111030586 Merge branch 'client-side-windows' 2009-07-01 16:15:03 +02:00
Alexander Larsson
038398d493 Move new draw_drawable argument to end to make it more backwards compat 2009-07-01 16:13:31 +02:00
Alexander Larsson
10bf7ca744 Clean up embedding api
we now use gdk_offscreen_window_set_embedder() instead of a signal
to get the parent. This also replaces set_has_offscreen_changes.

Rename "parent" in all embedding related names to "embedder" to make it
more obviously different than the normal parent.

Rename gdk_window_get_offscreen_pixmap to gdk_offscreen_window_get_pixmap
to match the other offscreen calls.

Rename gdk_window_offscreen_children_changed to gdk_window_geometry_changed
as this is more descriptive.
2009-07-01 14:36:36 +02:00
Alexander Larsson
681c3c288b Remove debug spew, add TODO_CSW 2009-07-01 13:33:45 +02:00
Alexander Larsson
199582aed3 gdk_win32_blit, don't get the size of the impl 2009-07-01 13:33:06 +02:00
Alexander Larsson
b1df568239 Some win32 cleanups 2009-07-01 12:06:57 +02:00
Alexander Larsson
593d5441d4 Fix win32 GC set_region handling of reset_region 2009-07-01 12:06:04 +02:00
Benjamin Otte
3c97f037a9 clean up code in gtk_list_store_set_n_columns()
Previous code's messiness noted by Francisco Javier Taboada Aguado
in http://mail.gnome.org/archives/gtk-devel-list/2009-June/msg00001.html
2009-07-01 10:57:11 +02:00
Alexander Larsson
5341efd4d4 Make win32 backend build and minimally work 2009-07-01 10:28:06 +02:00
Alexander Larsson
11a96ce2f6 Don't use GDK_WINDOW_SCREEN, as its an X11 specific macro 2009-07-01 10:28:05 +02:00
Alexander Larsson
0c6f64a76c Don't return value from void function
This fixes the previous commit where the return value was removed.
2009-07-01 10:27:54 +02:00
Nguyễn Thái Ngọc Duy
89e3a9bc08 po/vi.po: updated Vietnamese translation 2009-07-01 14:15:19 +10:00
Alexander Larsson
413b39962f Add missing symbols to gdk.symbols 2009-06-30 12:40:51 +02:00
Alexander Larsson
b50dfa6923 Add gdk_window_get_root_coords to gdk.symbols 2009-06-30 10:55:06 +02:00
Alexander Larsson
3b6cf72f39 Move destroyed check to common code for get_origin & get_root_coords
Also remove weird return value from get_root_coords
2009-06-30 09:30:53 +02:00
Matthias Clasen
d78f449deb Improve printing example
Handle Documents folder being NULL, and handle output formats.
2009-06-28 16:58:00 -04:00
Matthias Clasen
8cca80d6a2 Improve handling of print-to-file uri
Going from print-to-file to a real printer and back used to nuke
an app-provided uri; now we keep the initial settings around to
avoid that.  Fixes bug 587086.
2009-06-28 16:14:21 -04:00
Matthias Clasen
1a42be00b4 Whitespace cleanups 2009-06-28 16:13:33 -04:00
Jorge Gonzalez
dea3b845b9 Updated Spanish translation 2009-06-27 14:57:54 +02:00
Benjamin Otte
271a635a2f make the size column resizable 2009-06-27 11:33:23 +02:00
Benjamin Otte
02ac8ea3af make sure the "Create folder" button doesn't get shown accidentally
Switching to search or recent files mode and back to browse mode made
the button visible previously
2009-06-27 11:32:57 +02:00
Benjamin Otte
6c18c25adb check for allowed NULL inside g_return_if_fail() statements
This patch replaces

if (foo != NULL)
  g_return_if_fail (GTK_IS_FOO (foo));

with

g_return_if_fail (foo == NULL || GTK_IS_FOO (foo));
2009-06-27 11:31:13 +02:00
Benjamin Otte
adf8db68c7 clarify the init value for the default sort column id
The patch is basically s/-2/GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID/
2009-06-27 11:30:06 +02:00
Benjamin Otte
655e0d8ddc unconditionally set right alignment for the size column 2009-06-27 11:29:36 +02:00
Benjamin Otte
4d49843317 remove unused variables 2009-06-27 11:28:07 +02:00
Alexander Larsson
64e7c7828d Don't hide foreign children when emulating visibility
We emulate visibility by unmapping (in X) all mapped (according to
gdk) windows that are not visible (all parents mapped). This is because
there may be client side windows inbetween the native windows in the
hierarchy, so you can't know a native window is visible just because
all the parent native windows are mapped.

However, we don't want to unmap foreign windows, as that may cause all
sort of unexpected issues. This should be safe, because generally the
parent of a foreign window is a native window (e.g. a socket), so its
gdk visibility state is the same as the Xserver one.

This fixes an issue with the GDM notification area where the unmap of
the plug caused spurious UnmapNotify events that confused GtkSocket and
caused icons to become one pixel wide.
2009-06-26 20:11:57 +02:00
Alexander Larsson
c84c0e92f8 Better implementation of native clear_area
Last commit was bad, as it didn't clip against client side
children. This implements such clipping first and then
only clears the rectangles that need to be cleared.
2009-06-26 17:07:24 +02:00
Alexander Larsson
0e548579de Implement gdk_window_clear_area natively for foreign windows
This fixes a redraw issue with the notification area in xfce4.
2009-06-26 15:45:53 +02:00
Alexander Larsson
4e902cd223 Clip cairo drawing against client-side child windows
This is how cairo works with native children.
This fixes an issue where the drag target outline is visible on the
evolution folder treeview when it isn't with native windows.
2009-06-26 14:20:05 +02:00
David Zeuthen
a92c9ce9a5 Bug 586691 – Better GtkInfoBar defaults
Signed-off-by: David Zeuthen <davidz@redhat.com>
2009-06-25 15:23:40 -04:00
Ivar Smolin
986b78b667 Updating Estonian translation 2009-06-25 19:29:22 +03:00
Alexander Larsson
43bc999e6d Ensure that we always calculate clip regions for root windows
Without this we can't draw to them, which caused problems for e.g.
gnome-settings-daemon clearing the background when the desktop
background changed.

Note: We don't actually clip away child windows from the root window,
the clip is just based on the size of the root window.
2009-06-25 17:05:21 +02:00
Alexander Larsson
794f2815de Fix g_signal_emit calls
The switch to g_signal_emit was all messed up, I forgot to add signals[]
around the signal enum and did not pass in the detail quark.
2009-06-25 17:04:18 +02:00
Michael Natterer
f35c317b68 Fix warning about uninitialized variable plus spacing and indentation cleanup 2009-06-25 13:30:15 +02:00
Matthias Clasen
99b42cf006 Demo setting an output name for print to file
It turns out that no application is doing this, since it is not
obvious. Adding a demo here is at least a start.
2009-06-25 01:23:50 -04:00
Alexander Larsson
cf1c6bc2ed Fix typos 2009-06-24 20:59:29 +02:00
Alexander Larsson
955da9fc76 Factor out common code to sync_native_window_stack_position 2009-06-24 20:56:05 +02:00
Alexander Larsson
7969c1842a Remove old obsolete comment 2009-06-24 20:35:15 +02:00
Alexander Larsson
b093db8da9 Use g_signal_emit instead of g_signal_emit_by_name when possible 2009-06-24 20:33:13 +02:00
Alexander Larsson
8518aa2bf3 Rename accumulate_get_parent to accumulate_get_window
This function is used in several places, not just get_parent
2009-06-24 20:25:40 +02:00
Alexander Larsson
ca06216f20 Simplify _gdk_display_get_last_pointer_grab using g_list_last 2009-06-24 20:20:33 +02:00
Matthias Clasen
724ab58244 Add a way to turn off toggle spacing in menus
Reserving toggle space is nice for consistency in main menus
and context menus, but it gets in the way in special situations,
such as combo boxes, tabular menus, etc.
2009-06-24 01:01:51 -04:00
Marco Túlio Gontijo e Silva
839aa0421e Updated Brazilian Portuguese translation 2009-06-23 19:19:36 -03:00
Stanislav Brabec
a39b2dcee4 bgo#529908 - Sanitize handling of motion events in GtkNotebook
GtkNotebook used gdk_window_get_pointer() incorrectly, as it already
had coordinates from various GdkEvents.  Using get_pointer() means
that you get pointer positions *after* the event has happened, which
leads to visual out-of-sync results, or inadvertently detached tabs if
you click on them while your machine is being slow.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-23 14:36:22 -05:00
Bastien Nocera
b436f5b8a3 Bug 461944 – pressing the volume icon in full screen shuts down the sound
Don't pass the click on the button through to the scale when the
dock popup will be moved, otherwise we could end up changing the
sound in unexcepted ways (to zero for vertical popups at the bottom
of the screen for example).
2009-06-22 17:25:21 +01:00
Tristan Van Berkom
515a0b61a1 Accelerators failed for submenus (GNOME bug 582025)
gtk/gtkmenuitem.c: Override custom_tag_finished() for "accelerator" and search
the correct toplevel GtkWindow to attach accelerators to menu items.

gtk/gtkwidget.[ch]: Added _gtk_widget_buildable_finish_accelerator() to allow
subclasses to specify a toplevel window to associate with when parsing <accelerator>
tags
2009-06-22 12:19:56 -04:00
Matthias Clasen
d3ae855ce6 Forgotten header file 2009-06-22 11:46:03 -04:00
Matthias Clasen
af219b818f Don't force toggle size for tabular menus either 2009-06-22 10:00:19 -04:00
Matthias Clasen
8f57c91766 Remove extra padding from comboboxes
We do want to have consistent padding in menus in menubars and context
menus, but the menus used in comboboxes don't need the extra padding.
Add private GtkMenu API for turning this off. Bug 564063
2009-06-22 00:53:14 -04:00
Matthias Clasen
823151ba8c Fix 'Add to bookmarks' initial sensitivity
Make sure that we always call bookmarks_check_add_sensitivity() at
least once before popping up a newly created menu. Fixes bug 585858.
2009-06-21 23:30:27 -04:00
Jorge Gonzalez
05cef0731f Updated Spanish translation 2009-06-21 10:54:57 +02:00
Matthias Clasen
0e04566d54 Update some links in the tutorial
This fixes bug 585953.
2009-06-20 20:51:37 -04:00
Matthias Clasen
0f00d3fdb0 Reduce roundtrips
Setting a tooltip on a widget unfortunately triggers several roundtrips
to the X server. We reduce this overhead by only doing it if the
widget is visible, and by deferring to an idle. See bug 585626.
2009-06-20 16:34:54 -04:00
Matthias Clasen
374aa04954 Add a title property to GtkStatusIcon
This can be used to give ATs a string to display for tray icons.
See bug 585802.
2009-06-20 13:53:32 -04:00
Richard Hult
52ca2f29cc Update _gdk_windowing_pointer_grab 2009-06-20 11:50:10 +02:00
Richard Hult
56efcf62c4 Remove duplicate definition of GdkInputWindow 2009-06-20 11:50:10 +02:00
Richard Hult
f26fe5bb49 Update gdk_window_quartz_show, ..._get_origin, ..._get_pointer 2009-06-20 11:50:03 +02:00
Richard Hult
eb70b75118 Rename gdk_window_beep to _gdk_windowing_window_beep 2009-06-20 11:28:57 +02:00
Matthias Clasen
3dcb40e6be Correct a couple of typos 2009-06-19 09:14:18 -04:00
Federico Mena Quintero
3d527afadb bgo#586315 - gtk_file_chooser_list_shortcut_folders() was crashing
The virtual method list_shortcut_folders returns a GSList * of GFile *.
In turn, gtk_file_chooser_list_shortcut_folders() converts those to strings.

However, the delegate in gtkfilechooserutils.c was calling
gtk_file_chooser_list_shortcut_folders() every time, so we were trying
to convert invalid data.

Now we have an internal function that deals with GFile *.  That
function is called by the delegate, and the conversion is done only
once by the API entry points.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-18 21:57:54 -05:00
Matthias Clasen
6382eac6d8 Fix an oversight in mnemonic handling
In some situations, GtkButton would ignore the use-underline
property. This was reported in bug 586330.
2009-06-18 22:12:26 -04:00
Federico Mena Quintero
68171b506f Show the size column by default in the file chooser
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-18 19:48:38 -05:00
Ryan Lortie
6fe357965a Use g_mapped_file_unref()
- drop deprecated use of g_mapped_file_free()
  - bump glib version requirement
2009-06-18 15:11:57 -04:00
Alexander Larsson
0c7a26690d Fix spelling of synthesize 2009-06-18 20:58:13 +02:00
Federico Mena Quintero
3c75004474 Don't set the sort column when there is no model
We can't set the sort column when we load the GtkFileChooser's settings, as the
file models may not have been created yet.  Wait until the models are actually
present; then we can set the sort column.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-17 20:33:57 -05:00
Alexander Larsson
7303f3c9fd Merge branch 'master' into client-side-windows
This updates client-side-windows to the the latest soname
change for easier testing.

Conflicts:
	gdk/x11/gdkwindow-x11.c
	tests/Makefile.am
2009-06-17 12:56:05 +02:00
Benjamin Otte
1a385c50f0 fix compile warnings
Fallout from running make CFLAGS="-Werror"; mostly missing casts and
constness issues.
2009-06-17 10:28:03 +02:00
Alexander Larsson
c08bf93fe5 Don't reset window hints when showing multiple times
gdk_window_show() should only set the initial hints on the first
run, not if the window is already mapped when gdk_window_show is
called.
2009-06-16 21:34:37 +02:00
Daniel Nylander
272c30bbc2 Updated Swedish translation 2009-06-16 21:04:18 +02:00
Vincent Untz
d50cfd192b Use g_return_val_if_fail instead of g_return_if_fail 2009-06-16 18:40:01 +02:00
Matthias Clasen
3bf1c7adad More uses of the get_cell_renderers functions 2009-06-16 12:37:33 -04:00
Matthias Clasen
c12a8388f6 More instances of those deprecated functions 2009-06-16 12:21:36 -04:00
Matthias Clasen
6fc9f57848 Forgot one use in libgail 2009-06-16 11:48:16 -04:00
Matthias Clasen
d51132e584 Don't use deprecated api internally 2009-06-16 11:27:06 -04:00
Matthias Clasen
09f41f5000 Bump version to 2.17.3 2009-06-15 21:48:53 -04:00
Matthias Clasen
b645bb9e02 2.17.2 2009-06-15 21:46:07 -04:00
Matthias Clasen
350757e78c Update NEWS 2009-06-15 20:46:34 -04:00
Matthias Clasen
6810564f42 Add missing GtkInfoBar functions to the docs 2009-06-15 20:07:37 -04:00
Matthias Clasen
f02dedde6d Don't export a private function 2009-06-15 20:05:49 -04:00
Matthias Clasen
f6890e3b35 Fix docs build 2009-06-15 20:05:24 -04:00
Matthias Clasen
23fa53f1bc Properly export gtk_info_bar_response
Also fix up its docs.
2009-06-15 20:04:48 -04:00
Matthias Clasen
de3cc27706 Cleanup some translation handling
Use g_*gettext functions in gdk-pixbuf instead direct gettext
calls to benefit from the maybe-dont-translate functionality
in GLib. Also, replace a hand-rolled version by g_dpgettext2
in gtkbuilderparser.c. Fixes bug 585791.
2009-06-15 18:25:04 -04:00
Matthias Clasen
362127c33c Fix the docs for gtk_recent_info_get_application_info()
The documentation for the function says that the app_exec string
should be freed, but we return a pointer to the internal string
without duplicating it. Since the app_exec string is valid as long
as the GtkRecentInfo is valid the documentation should be fixed
and the out argument should be constified. Fixes #584832.
2009-06-15 18:25:04 -04:00
Matthias Clasen
b6fc50c855 Add some more font sizes
Make 15 and 17 available in the list. See bug 585371
2009-06-15 18:25:04 -04:00
Matthias Clasen
6abc52a29d Deprecate get_cell_renderers implementations
These have been superseded by gtk_cell_layout_get_cells.
Fixes bug 562335.
2009-06-15 18:25:04 -04:00
Daniel Elstner
21594f5574 Terminate case with break in switch statement
* gtk/gtkstatusicon.c (gtk_status_icon_set_property): Add missing
break statements to unterminated case blocks inside switch.
2009-06-15 22:07:50 +02:00
Matthias Clasen
ed33a20b29 Bug 565317 - Resulting image of GtkCellRendererPixbuf depends on order of set properties
(gtk_cell_renderer_pixbuf_set_property): add back evil code that makes
sure that the current image is only unset if the new image was created
from the same property or the new property is not NULL.
2009-06-15 21:10:34 +02:00
Federico Mena Quintero
2b3de3dd75 bgo#580560 - Make Backspace work in the file chooser to to to the parent directory
GtkFileChooserDefault actually implements a binding signal for
Backspace, to make it go to the parent directory.  However,
GtkTreeView was eating our Backspace, and thus the file chooser was
not getting a chance to execute its binding signal.

GtkTreeView implements a Backspace binding itself, which it uses to
move to the parent node of the current cursor node.  However, the
binding handler would return TRUE even if there was no parent to the
current node.  Now the binding handler only returns TRUE if it
actually changed the cursor.

Additionally, gtk_tree_view_key_press() sees if no bindings handled a
key press; in that case, it re-sends the key press to the treeview's
search entry.  However, sending a Backspace to an empty entry makes
the entry beep.  Thus, we add a flag that gets set from GtkTreeView's
Backspace binding handler, to tell gtk_tree_view_key_press() when it
should *not* re-emit the key press on the search entry.  Sort of,
"yeah, I didn't handle this key press, but I don't want you to send it
to the search entry, either!".

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-15 12:37:07 -05:00
Matthias Clasen
bc42bca9dd Add entry about xdg user dir icons 2009-06-15 01:50:27 -04:00
Davyd Madeley
0532056349 Merge branch 'button-box-orientable-584598' 2009-06-15 09:48:14 +08:00
Davyd Madeley
2901695dfd Support GtkOrientable for GtkButtonBox
Edit: Update for coding style
2009-06-15 09:14:17 +08:00
Davyd Madeley
1fe7308dd1 Testcase for GtkOrientable 2009-06-15 09:14:00 +08:00
Jorge Gonzalez
b9a27c2636 Updated Spanish translation 2009-06-13 13:21:01 +02:00
Benjamin Gramlich
1d4cba6876 bgo#484922 - Remember the sort column and order in the file chooser
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 17:31:28 -05:00
Benjamin Gramlich
69a0611391 Add load/save functions for the sort column order in GtkFileChooserSettings
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 16:40:25 -05:00
Federico Mena Quintero
bb362f754a Add an --initial-folder option to testfilechooser.c
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 14:09:47 -05:00
Federico Mena Quintero
c98ebe3165 Add an --initial-filename option to testfilechooser.c
We can use this to test bugs that happen when setting a filename before the
file chooser is shown, as in bgo#161670

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 14:02:37 -05:00
Federico Mena Quintero
2accf2fd21 Fix compiler warnings
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 13:59:29 -05:00
Milan Bouchet-Valat
67632a578b bgo#562579 - Don't show errors when the initial folder does not exist
The previous patch for this bug was about the initial *file* not existing,
but this also handles the initial *folder* not existing
(such as /usr/nonexistent/nonexistent.txt).

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 13:25:26 -05:00
Milan Bouchet-Valat
d87dbd66d6 bgo#171416 - Don't create a folder with the default name 'Type name of new folder'
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-12 11:45:43 -05:00
Matthias Clasen
3f20ccd710 Add a missing newline
There was a missing newline in one of the g_printerr messages
in updateiconcache.c. String change.
2009-06-12 10:21:42 -04:00
Alexander Larsson
d44d5301a6 Remove ununsed variables 2009-06-12 12:47:20 +02:00
Alexander Larsson
bd0e95081f Always return FALSE from idle callback to avoid loop
In the destroyed window case in do_synthesize_crossing_event we didn't
return a value which can cause infinite "loops". Always return FALSE
to make sure the idle doesn't run again.
2009-06-12 12:45:31 +02:00
Milan Bouchet-Valat
a27e748586 bgo#355851 - Hide backup files in the file chooser
Backup files are hidden along with dotfiles, just like Nautilus.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-11 19:58:51 -05:00
Milan Bouchet-Valat
de280cc5c8 bgo#486839 - The path bar's area shouldn't change vertical size to avoid the browse widgets jumping
We now use a GtkSizeGroup to control the vertical size of the various widgets
that get put in the path bar's area:  the location bar, the search entry,
the recently-used title label.

This keeps the shortcuts pane and the file list from jumping up and down
when one switches between operation modes (browse/search/recently-used).

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-11 18:50:05 -05:00
Alexander Larsson
56dfbd997e Handle gdk_window_beep on offscreen windows 2009-06-11 22:11:48 +02:00
Alexander Larsson
5dc6709ea0 Handle the window being destroyed in do_synthesize_crossing_event
This can happen since we ref the window and do the function in an idle.
2009-06-11 21:56:02 +02:00
Alexander Larsson
278e5bd170 Send crossing event due to geometry change in idle
Doing this directly had some issues with picking going recursive in
clutter-gtk. Furthermore, doing it in an idle means we can coalesce
multiple calls (which is common due to widget changes) in the same
toplevel to just one call.
2009-06-11 21:49:17 +02:00
Alexander Larsson
4987ca9235 Add gdk_window_offscreen_children_changed call
You can call this if you have offscreen children and the geometry of
them changed. This will cause re-picking of the active window sending
enter and leave events as needed.
2009-06-11 12:06:01 +02:00
Jorge Gonzalez
b521039fc3 Updated Spanish translation 2009-06-11 09:24:31 +02:00
Jorge Gonzalez
97dc802ec3 Updated Spanish translation 2009-06-11 09:24:26 +02:00
Matthias Clasen
cf0ab196fe Add a long description for GtkSettings
Among other things, the description mentions the problem in
bug 585024, that some settings may not be available before the
widget class has been realized.
2009-06-11 01:28:39 -04:00
Manoj Kumar Giri
7b8d2096a2 Added entries for Hindi Translation updated by Rajesh Ranjan 2009-06-10 19:53:08 +05:30
Manoj Kumar Giri
766b97cf5a Updated Hindi Translation on behalf of Rajesh Ranjan 2009-06-10 19:51:40 +05:30
Kjartan Maraas
0135c33e48 Updated Norwegian bokmål translation. 2009-06-10 09:50:37 +02:00
Ivar Smolin
8eed87383d Updating Estonian translation 2009-06-09 23:00:46 +03:00
Christian Persch
a70f5ff12a Fix "srdcir" typo 2009-06-09 18:15:24 +02:00
Runa Bhattacharjee
20bc246960 Updated Bengali India Translations 2009-06-09 10:24:18 +05:30
Alexander Larsson
89e187e7c1 Use gdk_window_get_root_cords to get popup position for combobox
This makes us handle transformed offscreen widgets much better.
2009-06-08 20:01:05 +02:00
Alexander Larsson
4d54de336b Add gdk_window_get_root_coords
We want to be able to map any window coordinate to a root coordinate, not
just the origin, because you can't rely anymore on a simple translation
from window coordinates to parent with offscreen windows. This lets
us e.g. pop up menus in the right place even if they are popped up from
a no-window widget.
2009-06-08 20:01:05 +02:00
Alexander Larsson
a8549898ab Update event emulation to handle offscreen children
We use the offscreen signals for getting parent, picking
children at a point and mapping coordinates between windows
embedding offscreens and offscreens.

This means we have two hierarchies more or less, one visible to apps via
the standard APIs and for drawing where the offscreens are their own
separate toplevels, and another one for event handling where embedded
offscreens appear as if they were children of the embedding window.
2009-06-08 19:42:34 +02:00
Alexander Larsson
8670fbdbaa Implement the new offscreen signals in GtkOffscreenBox
This implements get-offscreen-parent, pick-offscreen-child,
to-parent and from-parent signals for GtkOffscreenBox
2009-06-08 19:40:47 +02:00
Alexander Larsson
904f0ccb7c Base pointer grab on get-offscreen-parent 2009-06-08 19:39:14 +02:00
Alexander Larsson
f195fbc221 Implement offscreen get_pointer with offscreen signals 2009-06-08 19:39:14 +02:00
Alexander Larsson
e1b52da0ab Add signals for offscreen window embedding
3 signals are for offscreen windows
get-offscreen-parent: Get the parent window an offscreen is embedded in
to-parent: Convert coordinates from offscreen to parent
from-parent: Convert coordinates from parent to offscreen

1 signal is for the window embedding offscreens:
pick-offscreen-child: This picks what (if any) offscreen is at a specific position

The last signal is only used if you call gdk_window_set_has_offscreen_children
to tell gdk that the window has embedded offscreen children.
Add get-pointer signal for offscreen window pointer getting

Apps using offscreen windows can connect to get-pointer on offscreen
windows in order to make gdk_window_get_pointer() return correct
values.

Add get-offscreen-parent signal

Add signals for from-parent and to-parent coordinate mapping

Add pick-offscreen-child signal
2009-06-08 19:39:06 +02:00
Matthias Clasen
a01a4df697 Update docs to match actual API
Remove references to gtk_info_bar_set_contents(), and update
the example to use gtk_info_bar_get_content_area().
2009-06-08 10:16:51 -04:00
Manoj Kumar Giri
9ae398f60e Updated Oriya Translation 2009-06-08 19:35:26 +05:30
Marek Kasik
a12a583c99 Add ability to print selection
Add a new radio button "Selection" to the print dialog. Its presence
depends on calling of functions gtk_print_operation_set_support_selection()
and gtk_print_dialog_unix_set_support_selection().
Sensitivity of the radio depends on calling of
functions gtk_print_operation_set_has_selection() and
gtk_print_dialog_unix_set_has_selection().
There are new properties GtkPrintUnixDialog::support-selection,
GtkPrintUnixDialog::has-selection, GtkPrintOperation::support-selection
and GtkPrintOperation::has-selection. Corresponding getters are
gtk_print_dialog_unix_get_support_selection(),
gtk_print_dialog_unix_get_has_selection(),
gtk_print_operation_get_support_selection() and
gtk_print_operation_get_has_selection().
Application has to set number of pages to which the selection will be formated
in GtkPrintOperation::begin-print's callback by the
gtk_print_operation_set_n_pages() function (bug #344519).
There is also new property GtkPrintUnixDialog::manual-capabilities controled by
gtk_print_unix_dialog_set_manual_capabilities() and
gtk_print_unix_dialog_get_manual_capabilities().
2009-06-08 15:37:32 +02:00
Mattias Põldaru
9a4122a130 Updating Estonian translation 2009-06-08 11:52:27 +03:00
Matthias Clasen
c981ddf92f Don't grab the keyboard during DND
Instead use passive grabs for the few keys we care about.
With a corresponding metacity change, this will allow workspace
switching and focus cycling during DND, which is very useful.
Fixes bug 390312.
2009-06-07 22:19:52 -04:00
Björn Lindqvist
beb617c206 Halt configure if selected cairo backend is missing, fixes Bug 565998 2009-06-06 21:46:41 +02:00
Matthias Clasen
c7a0a513f5 Remove nonworking conditionals
Don't pretend that we care about XShape-less builds anymore.
See bug 584637.
2009-06-05 23:06:12 -04:00
Matthias Clasen
4b16b875db Avoid warnings in atom conversion
Cave in and revert to silently converting GDK_NONE to None.
Fixes bug 580511.
2009-06-05 22:36:48 -04:00
Matthias Clasen
dccfd423ca Don't unselect when resizing
This was causing problems in Epiphany. Fixes bug 584805.
2009-06-05 20:11:44 -04:00
Matthias Clasen
8da1c40d72 Update NEWS for GtkInfoBar 2009-06-05 18:00:26 -04:00
Matthias Clasen
a85fac7145 Add a message area widget
It is called GtkInfoBar. See bug 555344.
2009-06-05 18:00:26 -04:00
Denis Chertykov
4d7bbd058e bgo#327152 - Ellipsize long directory names in GtkPathBar, and better layout for the pathbar
Ellipsize labels in the Save folder's combo so they don't grow too wide.

Ellipsize labels in normal directory buttons in the pathbar, and make
their requisition's width reasonably small.  Use a tooltip for buttons
that got ellipsized.

Instead of placing the down-slider directly beside the last button in
the pathbar, use the remaining space in the pathbar for the last
button.  Use a different method to find the first visible button.
Walk down from the end, adding buttons until we use all free space.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-05 14:13:03 -05:00
Og Maciel
5bf51be576 Updated Brazilian Portuguese translaiton. Fixes b.g.o. #584922 2009-06-05 12:16:57 -04:00
Alexander Larsson
4720bbc15e Make window_get_pointer a window impl virtual 2009-06-05 15:18:36 +02:00
Alexander Larsson
247e1945a0 window_get_pointer should return the direct child
We returned the innermost child that has the pointer, which is not right.
Only the direct child that has the pointer in it should be reported (if any).
2009-06-05 15:18:36 +02:00
Alexander Larsson
55ee12c296 Set the right parent root window for the offscreen windows 2009-06-05 15:18:36 +02:00
Brian Cameron
3302114358 Improve Solaris Xinerama configure detection
The latest releases of Solaris now ship with the X.org Xserver, so it is
better to use the Xfree Xinerama interfaces if available.  This commit fixes
the configure script so that it first tries to use the Xfree interfaces and
only falls back to the Solaris-specific interfaces if they are not available.
This way, older releases of Solaris which do not use X.org also will work.
(Bug 580079)
2009-06-05 00:46:25 -05:00
Marek Kasik
961ab2e5c1 Print in correct order when printing 4 pages per sheet to landscape
Rotates page layout according to selected paper orientation
when printing through CUPS backend (#420335).
2009-06-04 18:49:29 +02:00
Alexander Larsson
cd7afc14fd Update GdkOffscreenWindow to new draw_drawable prototype
All rendering of drawables on offscreen was broken due to this change which
had not been implemented fully in offscreen windows.
2009-06-04 12:51:04 +02:00
Alexander Larsson
953be03acf Fix too many args warning
Apparently we missed one place when converting gdk_window_ensure_native
2009-06-03 14:50:10 +02:00
Alexander Larsson
9437138db2 Fix some warnings added by the input handling
Add casting and actually fix parenthisation of boolean expression
2009-06-03 11:24:27 +02:00
Praveen Arimbrathodiyil
4bcf3e59d5 important transltion fixes to undo, redo and about 2009-06-01 23:38:22 -07:00
Alexander Larsson
609b03c517 Further clean up window drawing redirection/clipping
This combines the OFFSET_GC and various SETUP/RESTORE gc macros
to a single BEGIN/END_DRAW macro pair.
2009-06-01 14:48:11 +02:00
Alexander Larsson
1d739c2ff6 Fix up gdk_window_set_has_native rename issues
Seems like i forgot a bunch of things.
2009-06-01 14:47:38 +02:00
Alexander Larsson
e123931a65 Add more GdkWindow implementation docs 2009-06-01 13:38:04 +02:00
Alexander Larsson
a84cc4e9f3 Whitespace cleanup gdkwindow.c
Almost everything here changed anyway, so might as well clean it up.
2009-06-01 12:04:36 +02:00
Alexander Larsson
287b821705 Rename gdk_window_set_has_native to gdk_window_ensure_native
This also removes the (unimplemented) possibility to change a window to
non-native. This seems generally not very useful, and there are some problems
with it, for instance if two "users" need a window to be native and then
one of the "users" doesn't need it anymore it can't change it back, because
it is unaware of the other reason the window is native.
2009-06-01 11:57:59 +02:00
Matthias Clasen
597a24edf6 Improve GtkMenuPositionFunc docs
Add a note about gtk_menu_set_monitor().
2009-05-30 23:26:37 -04:00
Ask H. Larsen
d2cd949ca1 Updated Danish translation 2009-05-30 22:16:31 +02:00
Matthias Clasen
64b8f4e039 Avoid assertions due to invalid page sequence
It is much nicer to handle this gracefully in compute_last_button_state.
Fixes bug 584125.
2009-05-30 02:14:03 -04:00
Cody Russell
47db0f0020 Improve GtkEntry handling of invalid stock ids
Instead of silently showing no icon, show a "missing image"
icon, like GtkImage does in the same situation. Fixes bug 579590.
2009-05-30 00:10:14 -04:00
Caolan McNamara
5964109ef3 Plug a memory leak in Xrandr code 2009-05-30 00:05:35 -04:00
Matthias Clasen
ac0ed81b6f Bump version to 2.17.2 2009-05-29 19:46:56 -04:00
Matthias Clasen
44690f17c8 2.17.1 2009-05-29 19:29:49 -04:00
Matthias Clasen
d2ac65c8ba Fix a typo in the ::update-custom-widget docs 2009-05-29 18:47:23 -04:00
Matthias Clasen
7b49379b55 Fix a typo in the docs 2009-05-29 18:40:10 -04:00
Matthias Clasen
2a87eb83d1 Update for 2.17.1 2009-05-29 17:26:32 -04:00
Eitan Isaacson
8166a0e1af Fix GtkAssistant's accessible children. Fixes bug #575319. 2009-05-29 19:25:43 +02:00
Alexander Larsson
d1f5050262 Make disabled xinput work again 2009-05-29 16:45:06 +02:00
Alexander Larsson
7372379c24 Initial version of input support 2009-05-29 16:39:12 +02:00
Alexander Larsson
a6e3da1319 Add some test for draw_drawable graphics exposures 2009-05-27 17:10:37 +02:00
Alexander Larsson
0b586a5ad7 Add support for client side graphics exposures in gdk_draw_drawable 2009-05-27 17:10:32 +02:00
Alexander Larsson
44c7264bc7 Add _gdk_gc_get_exposures 2009-05-27 17:06:46 +02:00
Alexander Larsson
8cb385cd31 Add support for visibility notification 2009-05-26 20:53:48 +02:00
Alexander Larsson
6c76f8f6ce Add gdk_region_rect_equal to compare a region with a rect 2009-05-26 20:48:10 +02:00
Alexander Larsson
8a689f2e15 Handle flushing implicit paint while there is a paint outstanding
If a native window or a window with a native subwindow is moved or resized
then the client window moves and implicit paints need to be flushed since
the native window move will copy/overwrite data. This may happen while there
is an outstanding paint if the move is inside an expose event (weird, but
flash embedded in webkit hit this).

Right now we're asserting here, but the right fix is to allow this but
to not flush the parts that are currently in a (non-implicit) paint. This
means we flush all results from previous not-yet-flushed exposes, but not
the ones being drawn.
2009-05-26 11:30:46 +02:00
Lebedev Roman
d1f921b5bc Updated Russian translation 2009-05-26 02:49:34 +04:00
Seán de Búrca
73a9c40b51 Updated Irish translation 2009-05-25 19:50:56 +01:00
Alexander Larsson
7698daf97a Merge branch 'master' into client-side-windows
Conflicts:
	gdk/x11/gdkwindow-x11.c
2009-05-25 14:30:01 +02:00
Lin Ma
d0f887ddb1 Fix GtkTooltip destroy the custom widget
Fixed 576091, Custom_widget does not get destroyed when the tooltip
goes away. Add a release note for this fix.
2009-05-25 10:01:04 +08:00
Seán de Búrca
48c8818fa2 Updated Irish translation 2009-05-25 00:33:42 +01:00
Matthias Clasen
96912b564f Avoid another case of treating None as an atom 2009-05-24 00:30:58 -04:00
Matthias Clasen
478cc88f8d Fix a formatting error in the docs
Need to replace % by %amp; in examples. This was noticed in
bug 583522.
2009-05-24 00:17:49 -04:00
Claude Paroz
1199b3f741 Updated French translation 2009-05-23 19:03:31 +02:00
Carlos Garcia Campos
7437a79b85 Fix a crash when printing with defer drawing enabled
Fixes bgo#582963
2009-05-23 11:12:56 +02:00
Matthias Clasen
e18a4fa047 Improve gtk_combo_box_get_active_text() docs
Make it more explicit that the return value needs to be freed.
Fixes bug 583050.
2009-05-23 01:20:39 -04:00
James Andrewartha
bd84d95e63 add missing include $(top_srcdir)/git.mk to modules/papi/Makefile.am
Signed-off-by: Davyd Madeley <davyd@madeley.id.au>
2009-05-21 14:45:25 +08:00
Stefan Kost
e07d8adcca docs: document the GtkUpdateType enum.
Add documentation based on the description from gtk_range_set_update_policy()
2009-05-20 14:27:36 +03:00
mark@ecs.vuw.ac.nz
1eff9aba24 Signalize that CUPS connection is available when EISCONN occurs
Add test for EISCONN error when testing whether a connection to CUPS server
is available (#576678 - patch by mark@ecs.vuw.ac.nz).

Signed-off-by: Marek Kasik <mkasik@redhat.com>
2009-05-19 16:08:21 +02:00
Davyd Madeley
3969d1b969 Add papi to DIST_SUBDIRS 2009-05-19 16:31:52 +08:00
Davyd Madeley
bcf754ea1d Merge commit 'origin/master' 2009-05-19 15:32:10 +08:00
Davyd Madeley
a746df7d37 Fix broken SGML in gtk reference.
Introduced in commit 9dbb30482b
2009-05-19 15:29:53 +08:00
Alexander Shopov
7fe8fb35b5 Updated Bulgarian translation 2009-05-19 07:54:51 +03:00
Carlos Garcia Campos
9b7fa7a904 Use nr_of_pages_to_print instead of nr_of_pages when updating printing progress
Fixes bgo#582950.
2009-05-18 09:43:13 +02:00
Matthias Clasen
122e0b40ba Improve GtkNotbook behaviour with too little space
This fixes bug 582488. The patch was provided by Morten Welinder.
2009-05-17 23:47:30 -04:00
Davyd Madeley
f64ef8ea51 Fix broken compile: s/gtk_selection_atom/gtk_selection_atoms
Introduced in 94b63ec9b7
2009-05-18 10:48:21 +08:00
Matthias Clasen
94b63ec9b7 Avoid a warning when persisting clipboards
Correctly handle conversion to SAVE_TARGETS as a side-effect target
with no side-effect, by returning a zero-sized property of type NULL.
See section 2.6.3 of the ICCCM.
2009-05-17 20:41:50 -04:00
Matthias Clasen
375d19aa92 Avoid warnings when handling SelectionNotify
The property field in SelectionNotify events may be None instead
of an atom.
2009-05-17 20:41:49 -04:00
Ask H. Larsen
5133d934f6 Updated Danish translation 2009-05-18 01:54:21 +02:00
Jorge Gonzalez
7ca16dad51 Updated Spanish translation 2009-05-17 21:46:31 +02:00
Martin Nordholts
f253b6927c Avoid memory corruption on complicated confirm-overwrite logic
Dup the file chooser entry string because the string may be modified
depending on what clients do in the confirm-overwrite signal and this
corrupts the pointer.
2009-05-15 22:20:30 +02:00
Marek Kasik
91190ce281 Add ability to print in number-up mode for file backend and lpr backend
GtkPrintOperation is now able to render multiple pages per sheet by its
own. The most important changes are in these functions:
  * increment_page_sequence
  * prepare_data
  * common_render_page
  * print_pages_idle
Patch also changes set of choices for 2 pages per sheet mode when
landscape orientation is used to "Top to bottom" and "Bottom to top".
2009-05-13 18:28:42 +02:00
Federico Mena Quintero
26c10075f9 Merge fix for bgo#315462 - Make GtkLabel deal with too-small height allocations gracefully
Merge branch 'gtk-2-16'
2009-05-12 19:13:33 -05:00
Federico Mena Quintero
4134c346f9 Merge fix for bgo#463773 - Handle a NULL display in gtk_clipboard_get_for_display() so Flash won't hang 2009-05-12 13:50:45 -05:00
gheet
c57fc80465 Adding PAPI printbackend
Adding a new print backend module using libpapi detals see GNOME#382676.
(gheet)
2009-05-11 18:33:08 +01:00
Matthias Clasen
0fd185fa6d Make gtk-update-icon-cache not fall over leftover temp files
When called with the --force option, try to remove the .icon-theme.cache
file before giving up. This fixes rh#500163.
2009-05-11 12:02:06 -04:00
Tobias Mueller
dc0dde995d Removed deprecated call to gtk_scale_button_get_orientation
and use gtk_orientable_set_orientation instead.
Fixes bug 581878.
2009-05-11 13:52:16 +02:00
Tobias Mueller
ac9ea01ec9 Replaced deprecated call to gtk_action_connect_proxy with call to gtk_activatable_set_related_action
Fixes bug 581876.
2009-05-11 13:52:16 +02:00
Matthias Clasen
ae94c371d1 Add a separate keybinding signal for activating links
Keeping the keybinding signal and the regular signal separate is
cleaner and allows us to pass the uri as a parameter to the
activate-link signal.
2009-05-11 02:44:12 -04:00
Matthias Clasen
2f60e18c70 Add a migration chapter for label links 2009-05-11 02:08:32 -04:00
Matthias Clasen
563e8e8e1d Mention url label support in NEWS 2009-05-11 01:31:14 -04:00
Matthias Clasen
9dbb30482b Add link support to GtkLabel
This patch is based on SexyUrlLabel, but with significantly enhanced
functionality: keynav, tooltips, context menu, theming.
2009-05-11 01:23:13 -04:00
Matthias Clasen
141ddd99f3 Avoid unintended side-effect in gdk_window_get_events
Calling gdk_window_get_events() had the side-effect of letting
property change notification through to the application, which
was not intended. Now we keep StructureNotify and PropertyNotify
filtered out when they were before. Reported in bug 582003.
2009-05-10 02:08:41 -04:00
Matthias Clasen
4fc49fd8db Don't enforce property change events on the root window
The code in gdk_x11_window_set_events is only meant to enforce
property change events on child windows. Pointed out in bug 531490.
2009-05-10 01:54:43 -04:00
Marios Zindilis
038dfa53d0 Updated Greek translation 2009-05-09 14:15:33 +01:00
Christian Kirbach
f2d4669ff8 Updated German translation. 2009-05-06 13:11:12 +02:00
Matthias Clasen
6fc6b8b4e8 Add diagnostics for XID collisions
This should help with diagnosing crashes caused by over-eager XID
reuse in Xlib, see bug 581526.
2009-05-05 19:29:05 -04:00
Behdad Esfahbod
a398c840be Add git.mk to generate .gitignore files
Add four new doc templates that were not in repository.
2009-05-04 14:29:21 -04:00
Matthias Clasen
e5702523ff Bump version to 2.17.1 2009-05-04 02:09:12 -04:00
Matthias Clasen
cc4cf97d62 GTK+ 2.17.0 2009-05-04 01:54:06 -04:00
Matthias Clasen
ce517a4152 Bump version to 2.17.0 2009-05-04 00:43:49 -04:00
Matthias Clasen
86e5df91c1 Update NEWS for 2.17.0 2009-05-04 00:43:19 -04:00
Matthias Clasen
44c6b24fc7 Avoid double browser windows from the about dialog. 2009-05-03 23:49:24 -04:00
Tobias Mueller
4ea26a6864 Remove a deprecated call to gtk_status_icon_set_tooltip
This fixes bug 574386.
2009-05-03 23:44:01 -04:00
Matthias Clasen
4f4643207e Point to better place for git documentation 2009-05-03 23:44:01 -04:00
Matthias Clasen
b125eeae9d Make GtkAssistant keep its padding when built with GtkBuilder 2009-05-03 23:44:01 -04:00
Li Yuan
5d617ee80b Emit property-changed:accessible-name for gailcombobox
Fix bug #579741. Emit property-changed:accessible-name when selection
of combobox changed.
2009-05-04 11:38:44 +08:00
Matthias Clasen
6eb95098b1 Don't leak RequiresInfo when parsing GtkBuilder files
This fixes bug 579366.
2009-05-03 23:32:33 -04:00
Itay Perl
850965101f Fix handling of child widgets in the presence of bidi text
GtkTextLayout incorrectly assumed that pango iterates in logical
order. Fixes bug 580814.
2009-05-03 23:26:11 -04:00
Matthias Clasen
7f6a534d0f Handle translated combobox models better
Make gtk-builder-convert keep translated combobox models translated.
Fixes bug 553385.
2009-05-03 22:50:27 -04:00
Matthias Clasen
3dc395ad4e Make GtkHandleBox work on multiple displays 2009-05-03 22:27:12 -04:00
Matthias Clasen
6aa6338578 Fix handling of GDK_NONE
Don't intern "NONE" and warn if GDK_NONE is converted to an
X atom. Problem pointed out in bug 580511.
2009-05-03 21:38:54 -04:00
Matthias Clasen
e4bbfd9a4b Fix whitespace 2009-05-03 19:39:22 -04:00
Matthias Clasen
e6373738fc Forward-port a GtkAdjustment compatibility fix
We reverted GtkAdjustment to its traditional behaviour wrt. to
clamping in 2.14.3, but the fix was lost between 2.14 and 2.16.
2009-05-03 13:04:06 -04:00
Petr Kovar
46bc2ec740 Updated Czech translation 2009-05-03 18:52:07 +02:00
Matthias Clasen
dc8f36e254 Support scale marks in builder markup 2009-05-03 12:15:28 -04:00
Matthias Clasen
6e51533ec3 Fix a shadowed variable and a few other compiler warnings 2009-05-03 12:15:28 -04:00
Matthias Clasen
bc74cdb8ae Make an internal function static 2009-05-03 12:15:28 -04:00
Jorge Gonzalez
06ff893683 Updated Spanish translation 2009-05-02 12:47:29 +02:00
Mattias Põldaru
60b62e6c88 Updating Estonian translation 2009-05-02 11:10:55 +03:00
Jorge Gonzalez
c92f56531c Updated Spanish translation 2009-05-01 19:32:09 +02:00
Matthias Clasen
8076c8fbbf Test the new style property 2009-04-30 14:41:49 -04:00
Matthias Clasen
8f1a578ade Add a GtkEntry::invisible-char style property
Allow themes to set a preferred invisible character. GTK+ will
still fall back to other candidates if the character is not available
in the font.
2009-04-30 14:40:22 -04:00
Manoj Kumar Giri
5457956c79 Updated Oriya Translation. 2009-04-30 13:59:01 +05:30
Brian Cameron
33f4ead506 Minor fix for GTK+ mediaLib code.
After doing some performance analysis, it was found that the GTK+ mediaLib code
triggers unnecessary lazy loading of dependent libraries.  The current code
uses RTLD_DEFAULT, RTLD_PROBE, RTLD_NEXT, and RTLD_SELF.  However, RTLD_PROBE
is all that is necessary, and avoids triggering the lazy loading.  So this
commit fixes the code to just use RTLD_PROBE.  (Bug 580678)
2009-04-29 18:52:32 -05:00
Mattias Põldaru
dae20e2561 Updating Estonian translation 2009-04-29 07:50:18 +03:00
Tomasz Mon
812e129cd6 fix build for gtkdial example
Replace use of deprecated GTK_SIGNAL_FUNC with G_CALLBACK,
and add depth to blankstyle.  Fixes Bug #578634.
2009-04-28 14:34:44 -04:00
Maxim V. Dziumanenko
09607127d4 Update Ukrainian translation 2009-04-26 16:42:14 +03:00
Brian Cameron
fa00f3e50a Fix casting problem in gmodule code.
This fixes bug 579884.  Previously the return value of g_slist_find_custom was
being recasted as type (GtkModuleInfo *).  This patch sets the return value
to a temporary variable of type (GSList *), and sets info to temp->data.  This
avoids a crashing problem.
2009-04-24 17:20:03 -05:00
Jorge Gonzalez
459b6a2e72 Updated Spanish translation 2009-04-24 20:36:13 +02:00
Mike Gorse
3f00129e17 Fix Selectable state for gailButton
Only remove Selectable state from a GailButton if it is not Focusable (ie,
a TreeView column header); do not add Selectable for all focusable
buttons.  Fixes a bug introduced with the fix to 433324.
2009-04-23 14:36:51 +01:00
Manoj Kumar Giri
5b4855d40e Updated Oriya Translations 2009-04-23 17:58:12 +05:30
Manoj Kumar Giri
1632d64a51 Updated Oriya Translation 2009-04-23 17:58:12 +05:30
Vladimir Melo
aa6045b137 Updated Brazilian Portuguese translation. 2009-04-22 20:52:02 -03:00
Daniel Nylander
24b8f2dfec Updated sv translation 2009-04-21 14:52:43 +02:00
Marek Kasik
2c5ae21cdc Adds authentication support of CUPS backend
Adds authentication support of CUPS backend against CUPS server.
Print dialog is now capable to ask user for password and pass it
to the CUPS server. It is also possible to authenticate user
through Kerberos (GSS-API) (#384940).
2009-04-21 14:24:32 +02:00
Marek Kasik
6e121ee85e Allow the custom widget to actualize on a printer change
Passes print settings and page setup to the custom widget
through a new "update-custom-widget" signal (#564854).
2009-04-21 13:06:49 +02:00
Christian Persch
4059557491 Add default URL and Email hooks to GtkAboutDialog
Adds default URL and Email hooks which use gtk_show_uri(). It is still
possible to provide one's own hooks, and one can disable the default
hooks by setting NULL hooks. Bug #577793.
2009-04-20 14:55:13 +02:00
Christian Persch
45d076fcc2 Display invalid accelerators as "Invalid" in GTK mode.
When in GTK_CELL_RENDERER_ACCEL_MODE_GTK, display accelerator key
combinations that don't pass gtk_accelerator_valid() as "Invalid".
Bug #572799.
2009-04-20 14:54:59 +02:00
Christian Persch
0e99a5849e Allow unsetting the icon title set with gdk_window_set_icon_name
Change gdk_window_set_icon_name to allow using NULL to unset a
previously set icon title, so that the icon title tracks the normal
title again. Bug #535557.
2009-04-20 14:53:51 +02:00
Khaled Hosny
dcc506aa6e Updated Arabic translation 2009-04-19 19:58:00 +02:00
Claudio Saavedra
a982cea9ce Deselect all other selected items when clicking a selected one
When clicking on an GtkIconView item inside a selection, deselect
all other selected items. (#506862)
2009-04-18 18:47:07 +03:00
Luca Ferretti
cf68d7f1d5 Updated Italian translation
Completed Italian translation

Signed-off-by: Milo Casagrande <milo@ubuntu.com>
2009-04-18 14:35:07 +02:00
Claudio Saavedra
3c9e7c73bf Allow GdkPixbufSimpleAnim to loop
Add a GdkPixbufSimpleAnim:loop boolean property and its accessors.
Based on a patch by Tim Evans. (#561139)
2009-04-18 15:16:22 +03:00
David Planella
09602ccff7 Updated Catalan translation 2009-04-18 11:37:32 +02:00
Deng Xiyue
5d1a16b74e Updated zh_CN translation 2009-04-18 07:41:45 +02:00
Matthias Clasen
cedc4415b4 Add a GtkBuildable implementation to GtkAssistant
Expose the action area as internal child, and support child
properties.
2009-04-18 01:23:20 -04:00
Runa Bhattacharjee
24fde41c85 Committing the Pashto Translations as per request made by Zabeeh Khan on the gnome-i18n list 2009-04-17 11:01:49 +05:30
Gabor Kelemen
7ecf03e84a Hungarian translation updated 2009-04-16 11:50:00 +02:00
Cody Russell
1288ef1707 Grab changes 2009-04-02 10:16:30 +02:00
Cody Russell
f4331caf83 grabs 2009-04-02 10:16:30 +02:00
Cody Russell
49a0ec6e95 Updates 2009-04-02 10:16:30 +02:00
Cody Russell
08961c4def Get width/height from GetSystemMetrics() 2009-04-02 10:16:30 +02:00
Alexander Larsson
d64b51de4d Fix coordinates for background clearing when redirecting
Backport from svn of this fix
2009-04-02 10:16:30 +02:00
Richard Hult
730a44a516 Tweak the click-through handling so active apps get it (but not inactive ones) 2009-04-02 10:16:30 +02:00
Richard Hult
255756cfc8 Improve explicit drawing and flushing (fixes GtkRuler)
Use the same code path to get a CGContext for both gdk_draw_* and
gdk_cairo_create and make sure we unlockFocus in both cases. This
fixes the broken rendering in GtkRuler. Also use an average of flush
intervals when checking whether we can flush or not, since otherwise
we get too sensitive and block almost all explicit flushes that are
caused by mouse movements for example.
2009-04-02 10:16:30 +02:00
Alexander Larsson
255ec543b1 Ensure offscreen windows are not used as non-toplevels 2009-04-02 10:16:30 +02:00
Alexander Larsson
532818909c Move the new parts of GdkWindowObject to a private header
Unfortunately the old GdkWindowObject is public and accessed
from macros, etc. So, we publish a limited copy of GdkWindowObject
and use the full one internally when building gdk.
2009-04-02 10:16:30 +02:00
Alexander Larsson
2c877d4c2d Remove offscreen hooks support
In the new world offscreen windows are not put in the hierarchy, but are
rather toplevels for themselves. Offscreen hooks don't make any sense
in this model.
2009-04-02 10:16:30 +02:00
Alexander Larsson
b48c9f37fb Make offscreen windows not be in hierarchy
In the new world offscreen windows are a form of toplevels. So,
they don't have a parent, nor do we use the offscreen hooks.
2009-04-02 10:16:30 +02:00
Alexander Larsson
1208c2fa11 Fix x vs y typo 2009-04-02 10:16:29 +02:00
Cody Russell
3fdd1333b2 Misc stuff 2009-04-02 10:16:29 +02:00
Cody Russell
a93c6cd6e1 CSW Win32 work in progress - builds but does not work yet. 2009-04-02 10:16:29 +02:00
Richard Hult
97996ff00c Only add up native subwindow offsets for gdk_window_quartz_get_origin 2009-04-02 10:16:29 +02:00
Richard Hult
0092c1ebf0 Limit manual flushing so we don't get hit by quartz' fps limiting 2009-04-02 10:16:29 +02:00
Richard Hult
9af5f2b495 Disable/enable screen updates around process_all_updates to speed up rendering 2009-04-02 10:16:29 +02:00
Richard Hult
53b3343d1b Get the right event window for non-grabbed windows too 2009-04-02 10:16:29 +02:00
Richard Hult
6af4450641 Try to reduce risk of triggering the "beam sync" penalty in quartz 2009-04-02 10:16:29 +02:00
Alexander Larsson
05d3fc6bbd Try to combine consecutive window moves into one
It often happens that we move region A to B and then we move a subset
of B to C. When possible we'd like to replace this with a move from
A directly to C, and a suplimentary move from A to the areas of B not
overwritten by C.

Getting an optimal move combiner seems quite complicated, but this
simple approach gets most of the interesting cases right and isn't
all to complicated.
2009-04-02 10:16:29 +02:00
Alexander Larsson
f0fb3f450f Free region also if its empty (we're taking ownership now) 2009-04-02 10:16:29 +02:00
Alexander Larsson
c35e0e11da Move unnecessary window copies to the right place
This code got placed wrong, it should happen when processing updates
on the impl window so it affects the whole expose, not in begin_updates.
2009-04-02 10:16:28 +02:00
Alexander Larsson
51010ca066 Remove invalid source area from copy in move_region_on_impl
There is no need to copy something that is already invalid and will
be marked as invalid in the destination anyway, so we remove this
area from the region to copy.
2009-04-02 10:16:28 +02:00
Alexander Larsson
e4b26d3231 Move GdkWindowRegionMove construction/destruction to separate functions 2009-04-02 10:16:28 +02:00
Alexander Larsson
3866ea0539 Use clearer names for GdkWindowRegionMove members 2009-04-02 10:16:28 +02:00
Alexander Larsson
184dbd5782 queue expose translations after the actual pixel copy
The expose translation is useful for tracking how outstanding
invalid (exposed on server) areas are copied, and how we need to
compensate for that on the client side to redraw the right area.

So, we should queue the translation at the time we actually move
the bits on the server side, not when moving the window on the
client side.

Also, clean up some naming of parameters.
2009-04-02 10:16:28 +02:00
Alexander Larsson
fb3032af04 Fix order of outstanding moves in queue
The last added move should be done last, so we need to append moves
not prepend
2009-04-02 10:16:28 +02:00
Alexander Larsson
5742005aa1 Make outstanding window moves work with the new model
We now copy outstanding window moves directly on the window and
not to an intermediary pixmap, this means our previous code to
combine window copies was wrong (it relied on each copy not
destroying the source date).

Furthermore, we can't just remove all the update area from the
destination of the outstanding moves, as sometimes things get
copied into that area and then used as the source of another
copy.

We replace the previous window copy combining with a naive
version that just queues each move, just to get things right.
Further work to optimize copies is possible.

Also, we don't remove copy destinations that are used as source
for later copies.

We also clean up the memory management by not having
move_region_on_impl taking ownership of the passed in region.
2009-04-02 10:16:28 +02:00
Alexander Larsson
5ccc8b2ff1 Don't clear background on no exposure mask if NULL background pixmap set
This is the same as background None in X, i.e. never draw the background.
2009-04-02 10:16:28 +02:00
Alexander Larsson
96bc993786 Don't event process updates for foreign windows 2009-04-02 10:16:28 +02:00
Alexander Larsson
8690d19f03 Don't touch private->parent after its been change
The backend reparent may change private->parent, so we must use
the old saved value.
2009-04-02 10:16:27 +02:00
Alexander Larsson
7d51b4179d Clear background on expose with no EXPOSURE_MASK
Apps that set no exposure mask rely on the system clearing things
to the window background, so we need to do this ourselves.

Also, don't do this on foreign windows, as they are not controlled
by us. In fact don't do exposes on foreign windows either.
2009-04-02 10:16:27 +02:00
Alexander Larsson
16b4c3ade8 Call backend show() in gdk_window_show even if window is mapped
This is required for the GtkSocket code, as it shows the plug child
even though the current cached state is (wrongly) that its already
mapped.

This makes blink work for non-local case in testsocket.
2009-04-02 10:16:27 +02:00
Alexander Larsson
aa20a6b0b5 Refactor background clearing code so we can clear a general region 2009-04-02 10:16:25 +02:00
Alexander Larsson
490cbf84cd Be more explicit about when to flush moves
Also makes the non-doublebuffered case work better by flushing before we
call _gdk_windowing_window_process_updates_recurse.
2009-04-02 10:15:33 +02:00
Alexander Larsson
22da9d08da Destroy native children when recursing from a destroy on a virtual window
Native descendants of a virtual children are not automatically destroyed
with the parent as if it was a native window, so we need to handle
the native recursion tracking manually in _gdk_window_destroy_hierarchy()
2009-04-02 10:15:33 +02:00
Alexander Larsson
d35b723261 Only translate native motion events to motion events
Crossing events don't have the device field, which we would like to
pass on, so only do motion events from motion events.
2009-04-02 10:15:33 +02:00
Alexander Larsson
50a5f6046d Don't set the background for input only window
This is not allowed and will cause X errors.
2009-04-02 10:15:33 +02:00
Alexander Larsson
a7b6139029 Fix assert, it was checking the wrong window
We keep the update freeze count in the impl_window, not in
child windows.
2009-04-02 10:15:33 +02:00
Alexander Larsson
c72e93de16 Workaround X11 clipping bug
It turns out that XCopyArea handling of obscured source regions is
buggy. It clears the destination area even outside the GC clip
region. We work around this for the pixmap->window case as that
can happen in gtk+ and is easy to work around.

X Bug report at:
http://lists.freedesktop.org/archives/xorg/2009-February/043318.html
2009-04-02 10:15:33 +02:00
Alexander Larsson
53511cb653 Enable custom event masks for native windows
Some apps really need to set custom event masks on native child windows,
for example emacs sets the event masks with gdk, but then reads out
the raw X events via a filter, so gdk event emulation doesn't work for that.

When we get motion or button events we map back from the event position and
window to the toplevel before doing anything, because a toplevel native window
could e.g. overlap a child window or whatever.
2009-04-02 10:15:32 +02:00
Alexander Larsson
fe3c410048 Filter out all native grab/ungrab events with detail INFERIOR
These are generated when we get an implicit grab on a native
child window, and we can't filter them with _has_grab() because
they are sent before the button press event where we detect
the implicit grab.

This makes clicks work in the flash plugin again
2009-04-02 10:15:32 +02:00
Richard Hult
f51a3f5e33 Make owner_events grabs work again, use the pointer window, not the event window 2009-04-02 10:15:32 +02:00
Richard Hult
6d1a8853c4 Don't ignore all events when inactive, only clicks 2009-04-02 10:15:32 +02:00
Richard Hult
41d40786b1 Relax the check for ignoring events above the content view 2009-04-02 10:15:32 +02:00
Richard Hult
651335bc7e Remove workaround for missing enter events on newly popped up windows
The reason for the issue was that we got entered/exited events for the
title bar buttons. Now we properly ignore those instead.
2009-04-02 10:15:32 +02:00
Richard Hult
aeeb54ddf0 Remove re-declared variable 2009-04-02 10:15:32 +02:00
Richard Hult
64195589dc Remove unused code and fix some indentation 2009-04-02 10:15:32 +02:00
Richard Hult
6d01d16d48 Button press and release can share the same fill_button_event call 2009-04-02 10:15:32 +02:00
Richard Hult
77ee2feda2 Remove tracking of "current mouse window", this is handled in the common code now 2009-04-02 10:15:32 +02:00
Richard Hult
3c7a37d10d Remove old cursor setting and make it work with client-side windows 2009-04-02 10:15:32 +02:00
Richard Hult
e6f2a809b2 Update for latest changes in the common code for grab tracking 2009-04-02 10:15:32 +02:00
Richard Hult
f455b478e7 Ignore all events if the app is not active 2009-04-02 10:15:31 +02:00
Richard Hult
2c043566fc When breaking grabs on deactivation, the unset should be implicit 2009-04-02 10:15:31 +02:00
Richard Hult
30f83d8398 Use _gdk_display_unset_has_*_grab in break_all_grabs() 2009-04-02 10:15:31 +02:00
Richard Hult
65aef2099a Use cooca to convert coordinats from event window to grab window instead of homegrown code 2009-04-02 10:15:31 +02:00
Richard Hult
a180f7588f Replace quartz specific keyboard grab code with common code 2009-04-02 10:15:31 +02:00
Richard Hult
f06d432ebe Cast to avoid warning 2009-04-02 10:15:31 +02:00
Richard Hult
06e583e536 Remove unused variable 2009-04-02 10:15:31 +02:00
Richard Hult
152614966f Use the common pointer grab code instead of tracking it ourselves 2009-04-02 10:15:31 +02:00
Richard Hult
55c71f18a4 Use isKeyWindow instead of isMainWindow for the non-click-through check 2009-04-02 10:15:31 +02:00
Richard Hult
e8d6ac71b7 Apply non-click-through policy on unfocused windows even if the app is active 2009-04-02 10:15:31 +02:00
Richard Hult
c36625879b Fix coords returned by _gdk_windowing_window_get_pointer, fixes scribble demo 2009-04-02 10:15:31 +02:00
Richard Hult
ccd982f8bd Remove unused remainders from the old implicit grab code 2009-04-02 10:15:31 +02:00
Richard Hult
79d9a8f960 Get implicit grabs working 2009-04-02 10:15:31 +02:00
Richard Hult
3d72fe16c0 Leave AppKit events unhandled 2009-04-02 10:15:30 +02:00
Richard Hult
0fc2c36ee7 Use event_type we already have instead of regetting it 2009-04-02 10:15:30 +02:00
Richard Hult
7abde8388f Get the correct root coordinates for events 2009-04-02 10:15:30 +02:00
Alexander Larsson
20c81eca6a Return ignoring of native grab/ungrab events when we don't have a grab
It turns out we really have to ignore grab/ungrab events or we'll
report double crossing events when we grab or ungrab.

However, we also can't ignore crossing events from grabs from other clients
as that leads to missed enter/leave events on e.g. alt-tab in metacity.

Fortunately we now track grabs very precisely, so we know with certainty
whether we have a grab at the time (serial) of the native crossing events,
and only if we do we ignore them.
2009-04-02 10:15:30 +02:00
Alexander Larsson
53269a5042 Handle crossing events with subwindows unknown to gdk
If we get crossing events with subwindow unexpectedly being NULL
that means there is a native subwindow that gdk doesn't know about.
We track these and forward them, with the correct virtual window
events inbetween.

This is important to get right, as metacity uses gdk for the frame
windows, but gdk doesn't know about the client windows reparented
into the frame.
2009-04-02 10:15:30 +02:00
Alexander Larsson
7776c87f3f enable motion hints - use last sent request
We were using the next request, but there is no guarantee
on is sent. This caused trouble in e.g. the handlebox dragging.
2009-04-02 10:15:30 +02:00
Alexander Larsson
7b67393b8a Make sure we report grab broken on window destroy 2009-04-02 10:15:30 +02:00
Alexander Larsson
025b6aa741 Report the steady state in gdk_display_pointer_is_grabbed
For instance if we grab the pointer and then check if its grabbed
so that we know to ungrab we don't care that the grab is not
yet active, so report the steady state (i.e. the last grab)
2009-04-02 10:15:30 +02:00
Alexander Larsson
5be3f38535 Move implicit grab tracking totally to common code 2009-04-02 10:15:30 +02:00
Alexander Larsson
d6ad734c7f Don't send crossing events to destroyed windows 2009-04-02 10:15:30 +02:00
Alexander Larsson
26cbf87d7d New approach for grab tracking code
We try to track the exact grab state, i.e. whats valid on the client
now and whats comming soon via the xserver roundtrip (and when).
2009-04-02 10:15:30 +02:00
Alexander Larsson
526ff6dd68 Ref windows during _gdk_x11_roundtrip_async 2009-04-02 10:15:29 +02:00
Alexander Larsson
abb7a32fbe Fix up indentation 2009-04-02 10:15:29 +02:00
Alexander Larsson
1cc4712ea1 Move bitfield in GdkWindowImplX11 to make struct more compact 2009-04-02 10:15:29 +02:00
Alexander Larsson
a6e647863d Only sync the display if creating a native window implicitly 2009-04-02 10:15:29 +02:00
Alexander Larsson
e631d2d2d4 Sync the display when creating a native window.
This is needed because we want to be able to use the xid immediately
even from another process or another connection to the display.
2009-04-02 10:15:29 +02:00
Alexander Larsson
089c9ca2f1 Don't warn about unexpected events on foreign windows
We don't really control these events so its not wrong per se
to have them generate stuff we don't expect.
2009-04-02 10:15:29 +02:00
Alexander Larsson
bfd29e62b5 Update clip region etc, when creating a foreign window 2009-04-02 10:15:29 +02:00
Alexander Larsson
177b53a079 Fix typo in gdk_window_input_shape_combine_region 2009-04-02 10:15:29 +02:00
Alexander Larsson
8b7d8431aa Make gdk_window_get_toplevel() for CHILD window with root as parent
Having GDK_WINDOW_CHILD windows with root as the parent apparently works,
and metacity uses it. The current gdk_window_get_toplevel() returns the
root window for that, which is wrong, so we check that explicitly.
2009-04-02 10:15:29 +02:00
Alexander Larsson
33c0c1fba8 Don't mess with any events on the root window.
This causes all sorts of weirdness with pointer_over_window
being the rootwindow and then crashing gdk_window_get_toplevel() later.

With this metacity stops crashing madly.
2009-04-02 10:15:29 +02:00
Alexander Larsson
6e56179b03 Don't crash if window->parent is NULL
This happens for events on the root window.
2009-04-02 10:15:28 +02:00
Alexander Larsson
d9fcda1072 Don't recursively set bg none on the parent when e.g. moving children
To avoid drawing the window background of other windows in the area
where the window was we set the bg to none recursively. However, this
is quite costly it the moved window has many siblings. Furthermore, it
is uncommon that siblings overlap, so this cost has little gain.

So, we only set bg None on the parent, which means that there will
be some more flicker in the uncommon case of overlapping siblings.
2009-04-02 10:15:28 +02:00
Alexander Larsson
de2d5f299d Simplify do_move_region_bits_on_impl by removing unused arguments 2009-04-02 10:15:28 +02:00
Alexander Larsson
8de6ae26e4 Remove_gdk_pixmap_set_as_backing etc, as this is not used anymore
We don't copy from a window to a pixmap anymore, so all the code
for this can be removed.
2009-04-02 10:15:28 +02:00
Alexander Larsson
e542f734a8 Fix warning about XChangeProperty argument type 2009-04-02 10:15:28 +02:00
Alexander Larsson
3eb2b62120 Remove unused code 2009-04-02 10:15:28 +02:00
Alexander Larsson
75cb664049 Fix warning about wrong type in assignment 2009-04-02 10:15:28 +02:00
Alexander Larsson
482b333d92 Fix warning due to typo 2009-04-02 10:15:28 +02:00
Alexander Larsson
b272456023 Remove unused label 2009-04-02 10:15:28 +02:00
Alexander Larsson
a006d85928 Avoid warnings about non-handled GDK_EVENT_LAST enum 2009-04-02 10:15:28 +02:00
Alexander Larsson
a711f51629 Fix setting of private->shaped when setting input shape
I.e. it should only be set/unset when setting ShapeBounding.
2009-04-02 10:15:28 +02:00
Alexander Larsson
fe6f46c589 Don't look for EXPOSE mask set to disable bg none setting
We always set EXPOSE in the client-side-windows world, so this
doesn't make sense anymore.
2009-04-02 10:15:28 +02:00
Alexander Larsson
cc32207534 Fix typos in X11 details of new OSX APIs 2009-04-02 10:15:27 +02:00
Alexander Larsson
5ca1865f5d Don't ignore native CROSSING_GRAB/UNGRAB events
These are sent when someone else grabs the pointer, and we don't
want to miss these expose events. For instance, we missed enter
and leave events on alt-tab.

There were some issues with these wrt out-of-sync grab information
in the client, but that should now be handled. So, it should work
or at least be fixable if we find some bug.
2009-04-02 10:15:27 +02:00
Alexander Larsson
016c5fd081 Track pointer grabs on Xserver time
After a successful grab/ungrab we wait for an xserver
roundtrip until we change the tracked grab in GdkDisplay.
This way that data is always up-to-date wrt events comming in.
2009-04-02 10:15:27 +02:00
Alexander Larsson
d2c1c0a8db Add _gdk_x11_roundtrip_async 2009-04-02 10:15:27 +02:00
Richard Hult
24aa1620bf Update for changes in the paintable interface
Get rid of invalidate_maybe_recurse and process_updates. Implement
_gdk_windowing_{before,after}_process_all_updates(), and keep track of
when we're inside process_all_updates in the common code so we know
when to flush windows. Implement
_gdk_windowing_window_process_updates_recurse by means of
setNeedsDisplayInRect: displayIfNeeded. Use the added window argument
in begin_paint_region to get the right window (the paintable is always
the impl window now).
2009-04-02 10:15:27 +02:00
Richard Hult
65b5644cda Call _gdk_window_process_updates_recurse() in drawRect instead of creating our own expose events 2009-04-02 10:15:27 +02:00
Richard Hult
1a47356485 Remove invalidate_maybe_recurse and process_updates from the paintable interface
Replace them with two new functions
_gdk_windowing_{before,after}_process_all_updates() that are called
around the guts of gdk_window_process_all_updates(). Add empty ones
for X11 (nothing more needed), quartz ones will be implemented next.
2009-04-02 10:15:27 +02:00
Richard Hult
1ee03b35d0 Expose _gdk_window_process_updates_recurse for backends
We use this in the added windowing function
_gdk_windowing_window_process_updates_recurse. The X11 implementation
just calls _gdk_window_process_updates_recurse directly, but at least
quartz will need to do some more work.
2009-04-02 10:15:27 +02:00
Richard Hult
72d4403eed Add a window argument to begin_paint_region in the paintable interface
The paintable itself is now the impl window, which can be different
from the window.
2009-04-02 10:15:27 +02:00
Richard Hult
95cbc754d4 Setup ->impl_window on the root window 2009-04-02 10:15:27 +02:00
Richard Hult
9e0899bd2f Add gdk_windowing_window_get_next_serial 2009-04-02 10:15:27 +02:00
Richard Hult
19951c064e Remove gdk_keyboard_grab_info_libgtk_only which moved to the common code 2009-04-02 10:15:26 +02:00
Richard Hult
defc779df5 Add serial argument to _gdk_windowing_got_event 2009-04-02 10:15:26 +02:00
Alexander Larsson
32a070d09a Fix gdk_window_has_no_impl typo 2009-04-02 10:15:26 +02:00
Alexander Larsson
ca1aeff814 Only set cursors on toplevel.
This fixes a problem where we used to set them on a native window, but we
never unset it becase when the pointer moved to another native window
we just set the cursor on that window. Always setting on the toplevel
fixes this.
2009-04-02 10:15:26 +02:00
Alexander Larsson
e24c9e291d Switch motion hint emulation to be serial based.
For backends not supporting serials, just have
_gdk_windowing_window_get_next_serial return zero.
2009-04-02 10:15:26 +02:00
Alexander Larsson
19cd4d6af8 Revert "Convert all pending X events in _gdk_events_queue"
This reverts commit 7cc15ec6ea1504133dfe6febbdb12615550bb966.

Its risky to convert all the events in a go like this, as it
increases the out-of-order issues. It also isn't a full solution
to the motion hint issue as it will only work for the events
we happen to convert. It would be better to use serials to
handle motion hinting.
2009-04-02 10:15:26 +02:00
Alexander Larsson
6a0d317866 Keep track of the impl windows wrapper directly with a ref
This is needed so that the ->wrapper of the impl window doesn't
go away while there are virtual windows referencing the impl
window.
2009-04-02 10:15:26 +02:00
Alexander Larsson
cf54a2c68e Ungrab keyboard if virtual window is hidden or destroyed 2009-04-02 10:15:26 +02:00
Alexander Larsson
290de401a5 Move keyboard grab state tracking code to common code 2009-04-02 10:15:26 +02:00
Alexander Larsson
e60af9d315 Move keyboard grab info to common code
This is the first stage in tracking keyboard grabs in the common code.
This lets us handle destroying or unmapping virtual window with a
keyboard grab.
2009-04-02 10:15:26 +02:00
Alexander Larsson
c0ad534d81 Convert all pending X events in _gdk_events_queue
If we only convert the first then motion hint emulation won't
work since we don't see the next motion even until we've
fully handled this one.

However, this changes a behaviour that has been like this since
the mists of time. I don't know if it could cause other issues.
I haven't seen any yet though.
2009-04-02 10:15:25 +02:00
Alexander Larsson
cb05af0a61 Implement GDK_POINTER_MOTION_HINT_MASK support 2009-04-02 10:15:25 +02:00
Alexander Larsson
d267452bb7 New flicker flicker fixing approach
There was a performance problem with the old flicker fixing
approach. For moved windows we copied the window data to the double
buffer pixmap and then back to the window with the rest of the
expose data. In some cases the copy from window data to pixmap was
very slow because the pixmap was allocated in system memory and
the window in video memory.

The new approach is to delay all window moves and then replay them
after the expose has drawn to the double buffer pixmap but before
drawing it to the window. Furthermore, we remove all exposed areas
from the destination of the delayed moves so we won't copy something
just to then immediately draw over it.

This makes scrolling in firefox fast, and it makes tests/flicker not
show any (detectable) flicker.
2009-04-02 10:15:25 +02:00
Alexander Larsson
3155fdcd41 gdk_window_process_updates_internal only needs to flush outstanding moves 2009-04-02 10:15:25 +02:00
Alexander Larsson
4455db353f Split out the flushing of outstanding moves
Some places need to only flush the outstanding moves, split
this into gdk_window_flush_outstanding_move
2009-04-02 10:15:25 +02:00
Alexander Larsson
a9fd3ae249 Flush any outstanding stuff in the window in non-buffered get_internal_paint_info case
We return the raw window drawable, so its likely the app will do some
weird stuff to it, like draw using non-gdk operations. We don't want
the app to see any half-drawn state, so flush everything.

This fixes a scroll issue in firefox at least.
2009-04-02 10:15:25 +02:00
Alexander Larsson
815f0d7605 Clip exposed area to the visible region.
This avoids extra work, and it means we won't allocate large pixmaps
for double buffering.
2009-04-02 10:15:25 +02:00
Alexander Larsson
7da48afcaa Don't allow native window > 65535 pixels 2009-04-02 10:15:25 +02:00
Richard Hult
89f1cb5178 First cut at getting events working 2009-04-02 10:15:25 +02:00
Richard Hult
08bc1864cc Attempt to implement draw_drawable with src = dest = window 2009-04-02 10:15:25 +02:00
Richard Hult
2ea8ea2f0d Remove unused function _gdk_quartz_window_scroll 2009-04-02 10:15:24 +02:00
Richard Hult
80c8976c28 Fix typos that broke loading without lazy symbol lookup 2009-04-02 10:15:24 +02:00
Richard Hult
7ab3435a58 Remove autoreleasepool in drawRect, not necessary 2009-04-02 10:15:24 +02:00
Richard Hult
f12a992be2 Only setup tracking rect for toplevels, we only want enter/leave for those 2009-04-02 10:15:24 +02:00
Richard Hult
348abef6f2 Don't use drawable_get,release_context in _gdk_windowing_create_cairo_surface
This fixes a mismatch in save/release gstate for the CGContext. If
this function is ever used for pixmaps, we need to add support for
that, probably will have to do so soon.
2009-04-02 10:15:24 +02:00
Richard Hult
edb35763a2 Get rid of all the synthesized crossing events except for ANCESTOR one on the toplevel 2009-04-02 10:15:24 +02:00
Richard Hult
330e790fb2 Rename _gdk_quartz_events_send_map_events to ..._event 2009-04-02 10:15:24 +02:00
Richard Hult
32555badb5 Clean up some whitespace 2009-04-02 10:15:24 +02:00
Richard Hult
54e6878001 Add fill_crossing_event to be used soon 2009-04-02 10:15:24 +02:00
Richard Hult
c3637ab20f Only send map events for toplevels 2009-04-02 10:15:24 +02:00
Richard Hult
8e8aa53298 Add enter/leave notify to get_event_mask_from_ns_event now that those are handled like other events 2009-04-02 10:15:24 +02:00
Richard Hult
da8666d745 Clean up the scroll support a little 2009-04-02 10:15:24 +02:00
Richard Hult
25b311bac3 Make the various fill_*_event functions consistent 2009-04-02 10:15:24 +02:00
Richard Hult
4c01ca7ddd Rework the event translation to look more like X11
Put the event in the queue with a pending flag, remove again if not
handled.
2009-04-02 10:15:24 +02:00
Richard Hult
036e045d53 Update the window size after getting windowDidResize 2009-04-02 10:15:23 +02:00
Richard Hult
e7eb75c0ca Remove the old workarond for broken tracking rects
The one that puts windows outside the screen and moves them in when
showing. It might not be needed anymore and the workaround doesn't
work with the client-side window branch anyway because the window is
already mapped when we get showed for some reason.
2009-04-02 10:15:23 +02:00
Richard Hult
257dea55a7 Handle NULL event mask in _gdk_windowing_window_at_pointer 2009-04-02 10:15:23 +02:00
Richard Hult
19b1f6a93a Fix bug from first patch round, get private from window, not from impl 2009-04-02 10:15:23 +02:00
Richard Hult
e9d3f22ac8 Offset subviews with the parent's abs coordinate 2009-04-02 10:15:23 +02:00
Richard Hult
546a1e4cd6 Change window check to quartz window check in gdkinput 2009-04-02 10:15:23 +02:00
Richard Hult
5eacab593b Setup iface for queue_translation/antiexpose 2009-04-02 10:15:23 +02:00
Richard Hult
0e1f51ecd1 Add quartz window check macro 2009-04-02 10:15:23 +02:00
Richard Hult
a362be9979 Add stubs for queue_translation/antiexpose 2009-04-02 10:15:23 +02:00
Richard Hult
cb8a3386c7 Implement _gdk_windowing_create_cairo_surface 2009-04-02 10:15:23 +02:00
Richard Hult
f080825430 Remove gdk_display_pointer_is_grabbed and gdk_pointer_grab_info_libgtk_only 2009-04-02 10:15:23 +02:00
Richard Hult
47ed2c553d Remove gdk_window_set_child_input_shapes 2009-04-02 10:15:23 +02:00
Richard Hult
cede19dc65 Update more toplevel checks and update set_background and back_pixmap 2009-04-02 10:15:23 +02:00
Richard Hult
68640f9e99 Add mask argument to _gdk_windowing_window_at_pointer, and update more checks 2009-04-02 10:15:22 +02:00
Richard Hult
068b6f88e0 Update gdk_window_get_deskrelative_origin, gdk_window_get_root_origin, gdk_window_get_frame_extents 2009-04-02 10:15:22 +02:00
Richard Hult
3f7e3a22f5 Update gdk_window_quartz_set_background and gdk_window_quartz_set_back_pixmap 2009-04-02 10:15:22 +02:00
Richard Hult
4cf7fe5832 Add more toplevel window checks 2009-04-02 10:15:22 +02:00
Richard Hult
93d1d51e3b Update set_urgency_hint/geometry_hints/modal_hint/set_skip_taskbar_hint/set_skip_pager_hint 2009-04-02 10:15:22 +02:00
Richard Hult
27a80094bc Update gdk_window_set_type_hint and gdk_window_get_type_hint 2009-04-02 10:15:22 +02:00
Richard Hult
ff86156762 Update gdk_window_focus 2009-04-02 10:15:22 +02:00
Richard Hult
1e5a22dabe Remove gdk_window_quartz_clear_area 2009-04-02 10:15:22 +02:00
Richard Hult
f5806eac0c Update gdk_window_quartz_reparent 2009-04-02 10:15:22 +02:00
Richard Hult
2517076f76 Update gtk_window_quartz_hide 2009-04-02 10:15:22 +02:00
Richard Hult
afdb3f2ee8 Update signature for gdk_window_quartz_show and adapt the implementation 2009-04-02 10:15:22 +02:00
Richard Hult
650223ca3b Rename _gdk_windowing_window_destroy to _gdk_quartz_window_destroy and add to the impl iface 2009-04-02 10:15:22 +02:00
Richard Hult
b20991af9b Update _gdk_window_impl_new and add private variables where we changed impl to private 2009-04-02 10:15:22 +02:00
Richard Hult
b1b358c820 Remove width/height from GdkWindowImplQuartz and use those in GdkWindowObject 2009-04-02 10:15:22 +02:00
Richard Hult
774cebae69 Remove get_size and get_visible region 2009-04-02 10:15:21 +02:00
Richard Hult
1ee805f7be Don't init size in gdk_window_impl_quartz_init 2009-04-02 10:15:21 +02:00
Richard Hult
57214245da Include check for offscreen windows in WINDOW_IS_TOPLEVEL 2009-04-02 10:15:21 +02:00
Richard Hult
ff9822a833 Add reset_origin argument to _gdk_windowing_gc_set_clip_region 2009-04-02 10:15:21 +02:00
Alexander Larsson
13766991a7 testwindows - support for manually selecting window pos and size 2009-04-02 10:15:21 +02:00
Alexander Larsson
4ec5b7648b Fix typo in pixmap window backing
It should be backing_y_offset, not backing_x_offset for exposure_y_offset.
2009-04-02 10:15:21 +02:00
Alexander Larsson
d82cee80c3 Don't send expose events if region is empty 2009-04-02 10:15:21 +02:00
Alexander Larsson
8a0ef57ba3 Don't expose a temporary grab during a scrollwheel button press/release cycle.
If we do this there is a short window where we think there is a grab, and
if we generate a client side pointer motion event in this time (e.g. from
a window move) we could be delivering that according to the grab. But in
the Xserver that grab is infinitely short as it sends Press and then
Release immediately.

To see a problem from this, try using the scrollwheel to quickly scroll
in the testgtk list of buttons.
2009-04-02 10:15:21 +02:00
Alexander Larsson
7cebc68bde Handle native children correctly in gdk_window_scroll
This is basically the same fix as was done for
gdk_window_move_resize_internal. We make sure not to move the native
child window contents twice and we don't copy data that was overwritten
by the moving of the native child windows.
2009-04-02 10:15:21 +02:00
Alexander Larsson
c2ee81ea86 Add support for scrolling to testwindows 2009-04-02 10:15:21 +02:00
Alexander Larsson
50d9a9018a Ifdef out x11 specific code 2009-04-02 10:15:21 +02:00
Alexander Larsson
e718893611 Fix performance issue with find_native_sibling_above
It keep recursing a lot, unnecessary
2009-04-02 10:15:20 +02:00
Alexander Larsson
b298ebc415 Fix resize of native children
We now set the size to the right value before calling move_resize, so
the check for if the move_resize is just a move broke. Always call
move_resize()
2009-04-02 10:15:20 +02:00
Alexander Larsson
1084b8e6a1 Call backend move_resize with the right coords/size
We calculated and set the new position and size, just pass that.
This avoids parsing the "special values" again
2009-04-02 10:15:20 +02:00
Alexander Larsson
5fa1855a83 Make _gdk_x11_window_tmp_unset_parent_bg not change above the toplevel window 2009-04-02 10:15:20 +02:00
Alexander Larsson
905d328933 Make moving subwindows correctly handle native windows
Whenever a native window is moved this causes an immediate change in
the window (the window content is copied). This change conflicts can
conflict with outstanding moves or other cached changed, so we need
to flush all outstanding moves in the related windows.

To simplify the code for window move/resize the toplevel version was
split out to its own function.

Move native windows after recomputing so that we get the right new
shape before moving (and the implied copy). This means we're not
copying too much data.

Take into account the area of a moved window that contains native
subwindows, as these affect things in two ways:

First of all we shouldn't copy the original window location, as that
is copied by the native window move.

Secondly, we can't copy things  that would end up copying from the
native window move destination, as the data that used to be there is
now destroyed by the native window move.
2009-04-02 10:15:20 +02:00
Alexander Larsson
df4f4c14c7 do_move_region_bits_on_impl needs to copy from overlapping native windows too
It can happen that another native window is re-shaped over the region to
be moved, this will not destroy the data (since we're unsetting the background
when we reshape), but it will mean we need to read from this window.

We already used INCLUDE_INFERIORS, but that only handle subwindows. We fix
this by doing the copy on the toplevel, offsetting the copy to compensate for
this.
2009-04-02 10:15:20 +02:00
Alexander Larsson
6b15e248fa move_region_on_impl - shortcut if region is empty 2009-04-02 10:15:20 +02:00
Alexander Larsson
ed9cd90b72 Fix various problem with temporarily unsetting background
All the calls that unset private->parent failed if that was
not a native window (impl), instead we need to find the impl window
for the parent. Add some helper functions for this and use them.

For move/resize of child windows, we really need to recursively unset
on the parent, because moving the window could expose other native
children of the parent.

In do_shape_combine_region, only unset background if we're changing
the bounding shape (i.e. not the input shape)
2009-04-02 10:15:20 +02:00
Alexander Larsson
3c5c7f4b4d Avoid extending implicit paint size due to empty regions not working well with gdk_rectangle_union on clipbox 2009-04-02 10:15:20 +02:00
Alexander Larsson
c31ef39d76 Don't flicker when unsetting shape (using bg none) 2009-04-02 10:15:20 +02:00
Alexander Larsson
9f3e348e32 Make testwindows support multiple selected windows 2009-04-02 10:15:19 +02:00
Alexander Larsson
ef3d1893b6 Always set the shape when creating a native window.
This is not always done by recompute_visible_regions, as
the clip region doesn't change.
2009-04-02 10:15:19 +02:00
Alexander Larsson
c967cabc35 Avoid lots of unnecessary computation when moving toplevel windows
There is no need to do all these computations when moving toplevels
as that can't really change any visible regions. Nor will it cause
any exposes we need to handle.
2009-04-02 10:15:19 +02:00
Alexander Larsson
cdb405dfcf Restack native window after reparent put it on top 2009-04-02 10:15:19 +02:00
Alexander Larsson
c1884ce403 Fix up native window handling in gdk_window_lower too 2009-04-02 10:15:19 +02:00
Alexander Larsson
28c4518cca Fix up gdk_window_raise and native window creation to not move native window above windows outside the non-native parent 2009-04-02 10:15:19 +02:00
Alexander Larsson
377ca19c9f Add restack_under method to GdkWindomImpl 2009-04-02 10:15:19 +02:00
Alexander Larsson
cce1ff8eb8 Move all backend specific raise/lower code into _internal helpers 2009-04-02 10:15:19 +02:00
Alexander Larsson
e918b64088 Make sure we handle clipping in gdk_window_draw_pixbuf if gc == NULL 2009-04-02 10:15:19 +02:00
Alexander Larsson
78bbac87ed Send expose events to exposed area when changing the window shape 2009-04-02 10:15:19 +02:00
Alexander Larsson
82b181e643 Force native windows for all windows used with input events 2009-04-02 10:15:18 +02:00
Alexander Larsson
283160c712 Make xfree gdkinput code compile 2009-04-02 10:15:18 +02:00
Alexander Larsson
d6ecaca166 Handle GDK_WA_CURSOR in non-native window creation 2009-04-02 10:15:18 +02:00
Alexander Larsson
764ceead66 Include inferiors when moving window parts 2009-04-02 10:15:18 +02:00
Alexander Larsson
1ad01acbf2 Add _gdk_drawable_get_subwindow_scratch_gc as a way to get cached gcs with GDK_INCLUDE_INFERIORS 2009-04-02 10:15:18 +02:00
Alexander Larsson
4d187531e4 Set bg none while changing so we don't draw the bg color 2009-04-02 10:15:18 +02:00
Alexander Larsson
4e207a0336 tests/testwindows - play with GdkWindows 2009-04-02 10:15:18 +02:00
Alexander Larsson
5378324a18 Ref imp even in non-native windows and don't NULL out in destroy so that get_screen works after destroy. 2009-04-02 10:15:18 +02:00
Alexander Larsson
e63de13f40 Correct type checks on gdk_window_set_group entry. 2009-04-02 10:15:18 +02:00
Alexander Larsson
40827b99db When creating native window, set the native background 2009-04-02 10:15:18 +02:00
Alexander Larsson
959d940812 Need to split up impl changing and reparenting so we can recompute abs_x/y inbetween 2009-04-02 10:15:17 +02:00
Alexander Larsson
26569bd54f Avoid flickering by using more temp unset bg 2009-04-02 10:15:17 +02:00
Alexander Larsson
c8bdac7508 Recompute abs_x/y before reparenting windows due to new native window parent 2009-04-02 10:15:17 +02:00
Alexander Larsson
acf1954f12 Don't destroy NULL region 2009-04-02 10:15:17 +02:00
Alexander Larsson
4202cc0c60 Fix gdk_window_get_root_origin and gdk_window_get_frame_extents when called on non-toplevels 2009-04-02 10:15:17 +02:00
Alexander Larsson
ed5564ee3a Ensure we show native window when creating them for already visible windows 2009-04-02 10:15:17 +02:00
Alexander Larsson
d73859fe16 Move native window showing/hiding out of is_impl, we may need to do this for emulated windows too 2009-04-02 10:15:17 +02:00
Alexander Larsson
9f2c97dd80 Ensure that we always invalidate newly exposed areas, as X may not (due to temp bg none) 2009-04-02 10:15:17 +02:00
Alexander Larsson
4a0cb4a240 Various fixes for native windows:
move_region_on_impl() - doesn't need to copy anything if dx/dy == 0
Ensure that we queue an update when invalidating an empty area but we have outstanding moves
Temporarily unset background when moving native child windows
2009-04-02 10:15:17 +02:00
Alexander Larsson
76e23f00da Update abs_x/y before moving native children 2009-04-02 10:15:17 +02:00
Alexander Larsson
4442463481 Move all native children (recursively) in gdk_window_scroll 2009-04-02 10:15:16 +02:00
Alexander Larsson
f6e1b0ac17 Ensure that we're properly hiding impl window if one of its parent non-impl windows are hidden
Also, add some debug printing code to list the GdkWindow tree
2009-04-02 10:15:16 +02:00
Alexander Larsson
a38e797941 Don't remove composited childrens area when processing updates
Handle shape when processing updates
Make sure we reset the old clips before setting new cairo clips
2009-04-02 10:15:16 +02:00
Alexander Larsson
890503099f Handle mask == NULL in shape_combine_mask 2009-04-02 10:15:16 +02:00
Alexander Larsson
d7e369c27a Implement input shapes 2009-04-02 10:15:16 +02:00
Alexander Larsson
e14e05addc Remove shape_combine_mask from backend. Make X11 backend use XShapeCombineMask directly to unset region 2009-04-02 10:15:16 +02:00
Alexander Larsson
4ba2b181bf Implement shaped windows 2009-04-02 10:15:16 +02:00
Alexander Larsson
062da50b9f Add _gdk_windowing_window_get_shape 2009-04-02 10:15:16 +02:00
Alexander Larsson
0d540e935b Create _gdk_drawable_create_cairo_surface to ugly typechecking 2009-04-02 10:15:15 +02:00
Alexander Larsson
0ba99e6e7b Make gdk_windowing_window_destroy a GdkWindowImpl method 2009-04-02 10:15:15 +02:00
Alexander Larsson
36ce54878b Make _gdk_windowing_window_queue_translation a GdkWindiwImpl call 2009-04-02 10:15:15 +02:00
Alexander Larsson
f22211c881 Remove unnecessary clear_area method in GdkWindowImpl 2009-04-02 10:15:15 +02:00
Alexander Larsson
d093be43e7 For implicit grabs, we grab the *event* window, not the pointer window 2009-04-02 10:15:15 +02:00
Alexander Larsson
83ee69740e Handle cursors right with grabs 2009-04-02 10:15:15 +02:00
Alexander Larsson
7b2b9a0219 Implement cursors 2009-04-02 10:15:15 +02:00
Alexander Larsson
f2b50ff638 Fix crossing event order and some details 2009-04-02 10:15:15 +02:00
Alexander Larsson
b771c9924d New approach to motion event handling 2009-04-02 10:15:11 +02:00
Alexander Larsson
afc81c9e64 gdk_window_draw_points() - make sure we use the offset points 2009-04-02 10:14:08 +02:00
Alexander Larsson
d74d94ce69 Implement flicker free handling of window moves/resizes 2009-04-02 10:14:08 +02:00
Alexander Larsson
1f5e104495 Add _gdk_pixmap_set_as_backing which is a way to get GraphicsExposures on pixmaps reported to the window they are backing store for 2009-04-02 10:14:08 +02:00
Alexander Larsson
5587130d48 Don't access event after freeing it 2009-04-02 10:14:08 +02:00
Alexander Larsson
1babb5400b Share the code to copy impl window regions w/ update_area 2009-04-02 10:14:08 +02:00
Alexander Larsson
dc0e339697 Don't actually clear background when mapped, as that causes ugly flashed. Just queue a repaint.
This is what the X backend does too.
2009-04-02 10:14:08 +02:00
Alexander Larsson
ee4211b9a8 Move flushing code to non-implicit-paint only call.
This is in preparation for other types of buffering
2009-04-02 10:14:08 +02:00
Alexander Larsson
62a52f8fd3 Don't include composited childen in window clip region, update region when setting composited 2009-04-02 10:14:08 +02:00
Alexander Larsson
191e8d1587 Ensure native window if composite requested 2009-04-02 10:14:08 +02:00
Alexander Larsson
a9ca08f6eb Don't draw on input_only windows 2009-04-02 10:14:07 +02:00
Alexander Larsson
bb709321f0 Store colormap on impl window (necessary for e.g. foreign windows) 2009-04-02 10:14:07 +02:00
Alexander Larsson
2fa6f32d8e When reparenting, remove from old parent before setting the new parent
(otherwise we remove from the wrong parent)
2009-04-02 10:14:07 +02:00
Alexander Larsson
7536708c4b Don't sent native MotionHint masks on pointer grabs as then we won't get enought motion events reported. 2009-04-02 10:14:07 +02:00
Alexander Larsson
533d3058b8 Fix some return value warnings 2009-04-02 10:14:07 +02:00
Alexander Larsson
ede9c2cf74 Handle gdk_window_get_impl_window on root window 2009-04-02 10:14:07 +02:00
Alexander Larsson
077eab6edf Clear to end of window if passing zero width or height to gdk_window_clear_area (fixes clist/ctree clearing) 2009-04-02 10:14:07 +02:00
Alexander Larsson
ec5d176278 Move gdk_window_get_deskrelative_origin to the GdkWindowImpl and make the common code handle abs_x/y 2009-04-02 10:14:07 +02:00
Alexander Larsson
891440d288 The double get_composite_drawable case can happen for pixmap targets too, so move the code to gdk_draw_drawable 2009-04-02 10:14:07 +02:00
Alexander Larsson
b6e84d3105 Fix draw_drawable being offset when using window as source (testgtk text test) 2009-04-02 10:14:07 +02:00
Alexander Larsson
ac637d9d15 gdk_bitmap_create_from_data - drawable may be NULL 2009-04-02 10:14:06 +02:00
Alexander Larsson
be863a9056 gdk_pixmap_new - drawable may be NULL 2009-04-02 10:14:06 +02:00
Alexander Larsson
51d4efd8d2 gdk_pixmap_draw_pixbuf - gc may be NULL 2009-04-02 10:14:06 +02:00
Alexander Larsson
c7554a2c76 Don't convert foreign windows to child when reparented to non-toplevel 2009-04-02 10:14:06 +02:00
Alexander Larsson
b647c6e5fd Track clip_mask in GdkGC. Fix gdk_gc_add_drawable_clip to handle clip masks 2009-04-02 10:14:06 +02:00
Alexander Larsson
864649157d Move _gdk_gc_remove_drawable_clip from after each time its set to before each pixmap set and when adding a new different region
This means we can avoid changing the clip if we're drawing with the same gc to the same clip region
2009-04-02 10:14:06 +02:00
Alexander Larsson
e9ee842db1 Move drawable clip tracking into GdkGC 2009-04-02 10:14:06 +02:00
Alexander Larsson
5ff017e64e Move clip offsetting into _gdk_gc_intersect_clip_region 2009-04-02 10:14:06 +02:00
Alexander Larsson
6a82287005 Fix coordinates reported from gdk_window_get_pointer (had sign reversed) 2009-04-02 10:14:06 +02:00
Alexander Larsson
47acf79494 Actually report x/y_root against the root window 2009-04-02 10:14:06 +02:00
Alexander Larsson
2e3661e453 Avoid crash by not passing in NULL mask pointer to _gdk_windowing_get_pointer 2009-04-02 10:14:05 +02:00
Alexander Larsson
3a6d68e836 Add g_warning to not yet supported code 2009-04-02 10:14:05 +02:00
Alexander Larsson
aee3c571b0 Ensure we have native window before reparenting to toplevel 2009-04-02 10:14:05 +02:00
Alexander Larsson
2b9dc3338a Fix up keyboard grab handling 2009-04-02 10:14:05 +02:00
Alexander Larsson
d47ee4d797 Grab pointer on toplevel window, not on nearest native, so that we always get all events on toplevel 2009-04-02 10:14:05 +02:00
Alexander Larsson
f39bdc7e0f Make sure we change the event mask on native window if they change between toplevel and child 2009-04-02 10:14:05 +02:00
Alexander Larsson
07f76be87a Change assert to warning with some information 2009-04-02 10:14:05 +02:00
Alexander Larsson
6b1d7fd53d Make synchronized_configure work for child windows (used by in-process plugs) and ensures a native window exist 2009-04-02 10:14:05 +02:00
Alexander Larsson
346acdca54 Never set shapes on foreign windows 2009-04-02 10:14:05 +02:00
Alexander Larsson
ec4f8baa08 For foreign parents, use the real parent not the root (which is what we list as parent in the APIs) 2009-04-02 10:14:05 +02:00
Alexander Larsson
d326a638fb Really create a native window when getting xid 2009-04-02 10:14:04 +02:00
Alexander Larsson
32cd341f60 Export gdk_window_set_has_native 2009-04-02 10:14:04 +02:00
Alexander Larsson
8fc7a9547c Create native window when requesting xid 2009-04-02 10:14:04 +02:00
Alexander Larsson
579d81dc01 Add testcase showing Gtk+ flickering a lot 2009-04-02 10:14:04 +02:00
Alexander Larsson
e2d31e1447 Add offscreen testcase 2009-04-02 10:14:04 +02:00
Alexander Larsson
eabac453e6 Initial client-side-windows work
The history before this was kind of twisted as several different
approaches were tested, so that was all squashed into this initial
commit to hide the uninteresting changes and files that were later
removed.
2009-04-02 10:14:01 +02:00
Alexander Larsson
e2a2ba9d98 Revert patch that conflicts with client-side-windows work
Revert commit f4090b5c84, as that
conflicts with the client-side-windows work. Furthermore, that
change is already applied as part of the client-side-windows work.
2009-04-02 10:06:01 +02:00
1671 changed files with 532148 additions and 631702 deletions

View File

@@ -3,19 +3,11 @@ 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, GdkPixbuf, ATK and cairo libraries, available at
the same location as GTK+. GTK+ @GTK_VERSION@ requires at least
GLib 2.23.6, Pango 1.20, GdkPixbuf 2.21.0 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
these libraries are available from:
http://www.libtiff.org/
http://www.libpng.org/
http://www.ijg.org/
libtiff must be version 3.6.0 or higher.
- gobject-introspection 0.6.7 or newer.
Simple install procedure
========================

View File

@@ -1,11 +1,10 @@
## Makefile.am for GTK+
include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
SRC_SUBDIRS = gdk gtk modules demos tests perf
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
EXTRA_DIST += \
HACKING \
@@ -49,14 +48,10 @@ EXTRA_DIST += \
examples/buttons/info.xpm \
examples/calendar/Makefile \
examples/calendar/calendar.c \
examples/clist/Makefile \
examples/clist/clist.c \
examples/entry/Makefile \
examples/entry/entry.c \
examples/eventbox/Makefile \
examples/eventbox/eventbox.c \
examples/filesel/Makefile \
examples/filesel/filesel.c \
examples/gtkdial/Makefile \
examples/gtkdial/dial_test.c \
examples/gtkdial/gtkdial.c \
@@ -67,11 +62,8 @@ EXTRA_DIST += \
examples/helloworld2/helloworld2.c \
examples/label/Makefile \
examples/label/label.c \
examples/list/Makefile \
examples/list/list.c \
examples/menu/Makefile \
examples/menu/menu.c \
examples/menu/itemfactory.c \
examples/notebook/Makefile \
examples/notebook/notebook.c \
examples/packbox/Makefile \
@@ -101,14 +93,10 @@ EXTRA_DIST += \
examples/statusbar/statusbar.c \
examples/table/Makefile \
examples/table/table.c \
examples/text/Makefile \
examples/text/text.c \
examples/tictactoe/Makefile \
examples/tictactoe/tictactoe.c \
examples/tictactoe/tictactoe.h \
examples/tictactoe/ttt_test.c \
examples/tree/Makefile \
examples/tree/tree.c \
examples/wheelbarrow/Makefile \
examples/wheelbarrow/wheelbarrow.c \
examples/fixed/fixed.c \
@@ -118,45 +106,65 @@ EXTRA_DIST += \
examples/spinbutton/spinbutton.c \
examples/spinbutton/Makefile \
examples/find-examples.sh
MAINTAINERCLEANFILES = \
$(srcdir)/INSTALL \
$(srcdir)/README \
$(srcdir)/aclocal.m4 \
$(srcdir)/autoscan.log \
$(srcdir)/compile \
$(srcdir)/config.guess \
$(srcdir)/config.h.in \
$(srcdir)/config.sub \
$(srcdir)/configure.scan \
$(srcdir)/depcomp \
$(srcdir)/install-sh \
$(srcdir)/ltmain.sh \
$(srcdir)/missing \
$(srcdir)/mkinstalldirs \
$(srcdir)/omf.make \
$(srcdir)/xmldocs.make \
$(srcdir)/gtk-doc.make \
$(srcdir)/ChangeLog \
`find "$(srcdir)" -type f -name Makefile.in -print`
GDKTARGET=@gdktarget@
## Copy .pc files to target-specific names
gtk+-$(GDKTARGET)-2.0.pc: gtk+-2.0.pc
rm -f gtk+-$(GDKTARGET)-2.0.pc && \
cp gtk+-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
gtk+-$(GDKTARGET)-3.0.pc: gtk+-3.0.pc
rm -f gtk+-$(GDKTARGET)-3.0.pc && \
cp gtk+-3.0.pc gtk+-$(GDKTARGET)-3.0.pc
gdk-$(GDKTARGET)-2.0.pc: gdk-2.0.pc
rm -f gdk-$(GDKTARGET)-2.0.pc && \
cp gdk-2.0.pc gdk-$(GDKTARGET)-2.0.pc
gdk-$(GDKTARGET)-3.0.pc: gdk-3.0.pc
rm -f gdk-$(GDKTARGET)-3.0.pc && \
cp gdk-3.0.pc gdk-$(GDKTARGET)-3.0.pc
gtk+-$(GDKTARGET)-2.0-uninstalled.pc: gtk+-2.0-uninstalled.pc
rm -f gtk+-$(GDKTARGET)-2.0-uninstalled.pc && \
cp gtk+-2.0-uninstalled.pc gtk+-$(GDKTARGET)-2.0-uninstalled.pc
gtk+-$(GDKTARGET)-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
rm -f gtk+-$(GDKTARGET)-3.0-uninstalled.pc && \
cp gtk+-3.0-uninstalled.pc gtk+-$(GDKTARGET)-3.0-uninstalled.pc
gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
rm -f gdk-$(GDKTARGET)-2.0-uninstalled.pc && \
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
gdk-$(GDKTARGET)-3.0-uninstalled.pc: gdk-3.0-uninstalled.pc
rm -f gdk-$(GDKTARGET)-3.0-uninstalled.pc && \
cp gdk-3.0-uninstalled.pc gdk-$(GDKTARGET)-3.0-uninstalled.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gail.pc
pkgconfig_DATA = gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail-3.0.pc
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-2.0.pc
pkgconfig_DATA += gtk+-unix-print-3.0.pc
endif
DISTCLEANFILES = \
gtk+-unix-print-2.0.pc \
gtk+-$(GDKTARGET)-2.0.pc \
gdk-$(GDKTARGET)-2.0.pc \
gail.pc \
gtk+-$(GDKTARGET)-2.0-uninstalled.pc \
gdk-$(GDKTARGET)-2.0-uninstalled.pc \
gail-uninstalled.pc \
gtk+-unix-print-3.0.pc \
gtk+-$(GDKTARGET)-3.0.pc \
gdk-$(GDKTARGET)-3.0.pc \
gail-3.0.pc \
gtk+-$(GDKTARGET)-3.0-uninstalled.pc \
gdk-$(GDKTARGET)-3.0-uninstalled.pc \
gail-3.0-uninstalled.pc \
config.lt
distclean-local:
if test $(srdcir) = .; then :; else \
if test "$(srcdir)" = "."; then :; else \
rm -f ChangeLog; \
fi
@@ -174,21 +182,21 @@ ChangeLog:
echo A git checkout and git-log is required to generate this file >> $@); \
fi
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
## copy the default target for this platform to gdk-3.0.pc and gtk+-3.0.pc
DEFAULT_GDKTARGET=x11
install-data-hook:
(cd $(DESTDIR)$(pkgconfigdir) && \
test -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc && \
test -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc && \
rm -f gdk-2.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc gtk+-2.0.pc) || \
test -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc && \
test -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc && \
rm -f gdk-3.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc gdk-3.0.pc && \
rm -f gtk+-3.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc gtk+-3.0.pc) || \
(cd $(DESTDIR)$(pkgconfigdir) && \
rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
rm -f gdk-3.0.pc && cp -f gdk-$(GDKTARGET)-3.0.pc gdk-3.0.pc && \
rm -f gtk+-3.0.pc && cp -f gtk+-$(GDKTARGET)-3.0.pc gtk+-3.0.pc)
uninstall-local:
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
dist-hook:
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
@@ -222,4 +230,20 @@ 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 \
po-properties/Makefile.in \
po-properties/Makefile \
po-properties/*.gmo \
po-properties/*.mo \
po-properties/POTFILES \
po-properties/stamp-it \
po-properties/.intltool-merge-cache
-include $(top_srcdir)/git.mk

1476
NEWS

File diff suppressed because it is too large Load Diff

View File

@@ -27,6 +27,48 @@ 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.
* GTK+ now includes introspection data, as a consequence, it gained a
dependency on gobject-introspection. It is possible to build without
introspection by passing --disable-introspection to configure.
Release notes for 2.18
======================
* gtk_tooltip_set_custom now accept a NULL custom_widget to unset the
old custom_widget. Custom_widget does not get destroyed when the
tooltip goes away.
* JPEG2000 support is no longer enabled by default. It must be
explicitly turned on, by passing --with-libjasper to configure.
* GDK has been reworked to implement 'client-side windows'. This offers
exciting new possibilities, such as transformed, offscreen rendering,
but it breaks some long-standing assumptions that applications may
have about GDK windows. Setting the environment variable
GDK_NATIVE_WINDOWS makes GDK create a native X11 window for each
GDK window, which might make problematic applications work better.
* GTK+ calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore
SIGPIPE signals, since these are almost never wanted in graphical
applications. If you do need to handle SIGPIPE for some reason, reset
the handler after gtk_init(), but notice that other libraries (e.g.
libdbus or gvfs) might do similar things.
Release notes for 2.16
======================
@@ -69,15 +111,11 @@ Release notes for 2.14
to GTK_SENSITIVITY_ON, so that the button is always sensitive or
GTK_SENSITIVITY_OFF to make it insensitive respectively.
* In the early 2.14.x releases, GtkAdjustment was changed to enforce
that values are restricted to the range [lower, upper - page_size].
This has always been the documented behaviour, and the recommended
practice is to set page_size to 0 when using adjustments for simple
scalar values, like in a slider or spin button.
Due to the large number of applications that are affected by this
change, the behaviour has been reverted to the old behaviour in
2.14.3, with an explicit warning that this change will be
reintroduced in 2.90.
* GtkAdjustment now enforces that values are restricted to the
range [lower, upper - page_size]. This has always been the documented
behaviour, and the recommended practice is to set page_size to 0
when using adjustments for simple scalar values, like in a slider
or spin button.
* gdk-pixbuf will use GIO for mime type detection if possible. For
this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS
@@ -419,8 +457,4 @@ report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
keyword fields. If the patch adds to or changes the GTK+ programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)
Patches should be in unified diff form. (The -up option to GNU diff.)

View File

@@ -1,117 +1,184 @@
The Win32 backend in GTK+ is not as stable or correct as the X11 one.
For prebuilt runtime and developer packages see
http://ftp.gnome.org/pub/gnome/binaries/win32/
Building GTK+ on Win32
======================
First you obviously need developer packages for the compile-time
dependencies: Pango, atk, glib, gettext-runtime, libiconv, libpng,
zlib, libtiff at least. See
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
After installing the dependencies, there are two ways to build GTK+
for win32.
1) GNU tools, ./configure && make install
-----------------------------------------
This requires you have mingw and MSYS.
Use the configure script, and the resulting Makefiles (which use
libtool and gcc to do the compilation). I use this myself, but it can
be hard to setup correctly.
The full script I run to build GTK+ 2.10 unpacked from a source
distribution is as below. This is from bulding GTK+ 2.10.9, slightly
edited to make it match this 2.11 development branch. Actually I don't
use any script like this to build the development branch, as I don't
distribute any binaries from development branches.
MOD=gtk+
VER=2.10.9
THIS=$MOD-$VER
HEX=`echo $THIS | md5sum | cut -d' ' -f1`
TARGET=c:/devel/target/$HEX
DEPS="`/devel/src/tml/latest.sh glib atk cairo pango`"
sed -e 's/need_relink=yes/need_relink=no # no way --tml/' <ltmain.sh >ltmain.temp && mv ltmain.temp ltmain.sh
usedev
usemsvs6
MY_PKG_CONFIG_PATH=""
for D in $DEPS; do
PATH=/devel/dist/$D/bin:$PATH
MY_PKG_CONFIG_PATH=/devel/dist/$D/lib/pkgconfig:$MY_PKG_CONFIG_PATH
done
PKG_CONFIG_PATH=$MY_PKG_CONFIG_PATH:$PKG_CONFIG_PATH CC='gcc -mtune=pentium3 -mthreads' CPPFLAGS='-I/opt/gnu/include -I/opt/gnuwin32/include -I/opt/misc/include' LDFLAGS='-L/opt/gnu/lib -L/opt/gnuwin32/lib -L/opt/misc/lib -Wl,--enable-auto-image-base' LIBS=-lintl CFLAGS=-O2 ./configure --with-gdktarget=win32 --enable-debug=yes --disable-gtk-doc --disable-static --prefix=$TARGET &&
libtoolcacheize &&
unset MY_PKG_CONFIG_PATH &&
PATH=/devel/target/$HEX/bin:.libs:$PATH make install &&
(cd $TARGET/bin; strip --strip-unneeded *.dll *.exe) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/loaders; strip --strip-unneeded *.dll) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/immodules; strip --strip-unneeded *.dll) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/engines; strip --strip-unneeded *.dll) &&
PATH=$TARGET/bin:$PATH gdk-pixbuf-query-loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|LoaderDir =' <$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp &&
mv $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|ModulesPath =' <$TARGET/etc/gtk-2.0/gtk.immodules >$TARGET/etc/gtk-2.0/gtk.immodules.temp &&
mv $TARGET/etc/gtk-2.0/gtk.immodules.temp $TARGET/etc/gtk-2.0/gtk.immodules &&
./gtk-zip.sh &&
(cd /devel/src/tml && zip /tmp/$MOD-dev-$VER.zip make/$THIS.make) &&
manifestify /tmp/$MOD*-$VER.zip
You should not just copy the above blindly. There are some things in
the script that are very specific to *my* build setup on *my* current
machine. For instance the "latest.sh" script, the "usedev" and
"usemsvs6" shell functions, the /devel/dist folder. The above script
is really just meant for reference, to give an idea. You really need
to understand what things like PKG_CONFIG_PATH are and set them up
properly after installing the dependencies before building GTK+.
As you see above, after running configure, one can just say "make
install", like on Unix. A post-build fix is needed, running
gdk-pixbuf-query-loaders once more to get a correct gdk-pixbuf.loaders
file.
2) Microsoft's tools
--------------------
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
Unix.
I use method 1 myself. Hans Breuer has been taking care of the MSVC
makefiles. At times, we disagree a bit about various issues, and for
instance the makefile.msc files might not produce identically named
DLLs and import libraries as the "autoconfiscated" makefiles and
libtool do. If this bothers you, you will have to fix the makefiles.
Using GTK+ on Win32
===================
To use GTK+ on Win32, you also need either one of the above mentioned
compilers. Other compilers might work, but don't count on it. Look for
prebuilt developer packages (DLLs, import libraries, headers) on the
above website.
Multi-threaded use of GTK+ on Win32
===================================
Multi-threaded GTK+ programs might work on Windows in special simple
cases, but not in general. Sorry. If you have all GTK+ and GDK calls
in the same thread, it might work. Otherwise, probably not at
all. Possible ways to fix this are being investigated.
Wintab
======
The tablet support uses the Wintab API. The Wintab development kit is
no longer required. The wintab.h header file is bundled with GTK+
sources. Unfortunately it seems that only Wacom tablets come with
support for the Wintab API nowadays.
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>
The Win32 backend in GTK+ is not as stable or correct as the X11 one.
For prebuilt runtime and developer packages see
http://ftp.gnome.org/pub/gnome/binaries/win32/
Building GTK+ on Win32
======================
First you obviously need developer packages for the compile-time
dependencies: Pango, atk, glib, gettext-runtime, libiconv, libpng,
zlib, libtiff at least. See
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
After installing the dependencies, there are two ways to build GTK+
for win32.
1) GNU tools, ./configure && make install
-----------------------------------------
This requires you have mingw and MSYS.
Use the configure script, and the resulting Makefiles (which use
libtool and gcc to do the compilation). I use this myself, but it can
be hard to setup correctly.
The full script I run to build GTK+ 2.16 unpacked from a source
distribution is as below. This is from bulding GTK+ 2.16.5. I don't
use any script like this to build the development branch, as I don't
distribute any binaries from development branches.
# This is a shell script that calls functions and scripts from
# tml@iki.fi's personal work envíronment. It is not expected to be
# usable unmodified by others, and is included only for reference.
MOD=gtk+
VER=2.16.5
REV=1
ARCH=win32
THIS=${MOD}_${VER}-${REV}_${ARCH}
RUNZIP=${MOD}_${VER}-${REV}_${ARCH}.zip
DEVZIP=${MOD}-dev_${VER}-${REV}_${ARCH}.zip
HEX=`echo $THIS | md5sum | cut -d' ' -f1`
TARGET=c:/devel/target/$HEX
usedev
usemsvs6
(
set -x
DEPS=`latest --arch=${ARCH} glib atk cairo pango libpng zlib libtiff jpeg`
PROXY_LIBINTL=`latest --arch=${ARCH} proxy-libintl`
PKG_CONFIG_PATH=
for D in $DEPS; do
PATH=/devel/dist/${ARCH}/$D/bin:$PATH
[ -d /devel/dist/${ARCH}/$D/lib/pkgconfig ] && PKG_CONFIG_PATH=/devel/dist/${ARCH}/$D/lib/pkgconfig:$PKG_CONFIG_PATH
done
LIBPNG=`latest --arch=${ARCH} libpng`
ZLIB=`latest --arch=${ARCH} zlib`
LIBTIFF=`latest --arch=${ARCH} libtiff`
JPEG=`latest --arch=${ARCH} jpeg`
patch -p0 <<'EOF'
EOF
lt_cv_deplibs_check_method='pass_all' \
CC='gcc -mtune=pentium3 -mthreads' \
CPPFLAGS="-I/devel/dist/${ARCH}/${LIBPNG}/include \
-I/devel/dist/${ARCH}/${ZLIB}/include \
-I/devel/dist/${ARCH}/${LIBTIFF}/include \
-I/devel/dist/${ARCH}/${JPEG}/include \
-I/devel/dist/${ARCH}/${PROXY_LIBINTL}/include" \
LDFLAGS="-L/devel/dist/${ARCH}/${LIBPNG}/lib \
-L/devel/dist/${ARCH}/${ZLIB}/lib \
-L/devel/dist/${ARCH}/${LIBTIFF}/lib \
-L/devel/dist/${ARCH}/${JPEG}/lib \
-L/devel/dist/${ARCH}/${PROXY_LIBINTL}/lib -Wl,--exclude-libs=libintl.a \
-Wl,--enable-auto-image-base" \
LIBS=-lintl \
CFLAGS=-O2 \
./configure \
--with-gdktarget=win32 \
--disable-gdiplus \
--with-included-immodules \
--without-libjasper \
--enable-debug=yes \
--enable-explicit-deps=no \
--disable-gtk-doc \
--disable-static \
--prefix=$TARGET &&
libtoolcacheize &&
rm gtk/gtk.def &&
(PATH="$PWD/gdk-pixbuf/.libs:/devel/target/$HEX/bin:$PATH" make -j3 install || (rm .libtool-cache* && PATH="/devel/target/$HEX/bin:$PATH" make -j3 install)) &&
PATH="/devel/target/$HEX/bin:$PATH" gdk-pixbuf-query-loaders >/devel/target/$HEX/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|LoaderDir =' <$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp &&
mv $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|ModulesPath =' <$TARGET/etc/gtk-2.0/gtk.immodules >$TARGET/etc/gtk-2.0/gtk.immodules.temp &&
mv $TARGET/etc/gtk-2.0/gtk.immodules.temp $TARGET/etc/gtk-2.0/gtk.immodules &&
./gtk-zip.sh &&
mv /tmp/${MOD}-${VER}.zip /tmp/$RUNZIP &&
mv /tmp/${MOD}-dev-${VER}.zip /tmp/$DEVZIP
) 2>&1 | tee /devel/src/tml/packaging/$THIS.log
(cd /devel && zip /tmp/$DEVZIP src/tml/packaging/$THIS.{sh,log}) &&
manifestify /tmp/$RUNZIP /tmp/$DEVZIP
You should not just copy the above blindly. There are some things in
the script that are very specific to *my* build setup on *my* current
machine. For instance the "latest" command, the "usedev" and
"usemsvs6" shell functions, the /devel/dist folder. The above script
is really just meant for reference, to give an idea. You really need
to understand what things like PKG_CONFIG_PATH are and set them up
properly after installing the dependencies before building GTK+.
As you see above, after running configure, one can just say "make
install", like on Unix. A post-build fix is needed, running
gdk-pixbuf-query-loaders once more to get a correct gdk-pixbuf.loaders
file.
For a 64-bit build you need to remove the gtk/gtk.def file and let it
be regenerated by the makefilery. This is because the 64-bit GTK dll
has a slightly different list of exported function names. This is on
purpose and not a bug. The API is the same at the source level, and
the same #defines of some function names to actually have a _utf8
suffix is used (just to keep the header simpler). But the
corresponding non-suffixed function to maintain ABI stability are not
needed in the 64-bit case (because there are no older EXEs around that
would require such for ABI stability).
2) Microsoft's tools
--------------------
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
Unix.
I use method 1 myself. Hans Breuer has been taking care of the MSVC
makefiles. At times, we disagree a bit about various issues, and for
instance the makefile.msc files might not produce identically named
DLLs and import libraries as the "autoconfiscated" makefiles and
libtool do. If this bothers you, you will have to fix the makefiles.
Using GTK+ on Win32
===================
To use GTK+ on Win32, you also need either one of the above mentioned
compilers. Other compilers might work, but don't count on it. Look for
prebuilt developer packages (DLLs, import libraries, headers) on the
above website.
Multi-threaded use of GTK+ on Win32
===================================
Multi-threaded GTK+ programs might work on Windows in special simple
cases, but not in general. Sorry. If you have all GTK+ and GDK calls
in the same thread, it might work. Otherwise, probably not at
all. Possible ways to fix this are being investigated.
Wintab
======
The tablet support uses the Wintab API. The Wintab development kit is
no longer required. The wintab.h header file is bundled with GTK+
sources. Unfortunately it seems that only Wacom tablets come with
support for the Wintab API nowadays.
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>

View File

@@ -14,16 +14,19 @@ DIE=0
have_libtool=false
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
libtool_version=`libtoolize --version |
head -1 |
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*|2.2*)
2.2*)
have_libtool=true
;;
esac
fi
if $have_libtool ; then : ; else
echo
echo "You must have libtool 1.4 installed to compile $PROJECT."
echo "You must have libtool 2.2 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
DIE=1
@@ -45,16 +48,20 @@ fi
DIE=1
}
if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.11
ACLOCAL=aclocal-1.11
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.10
ACLOCAL=aclocal-1.10
else
echo
echo "You must have automake 1.7.x installed to compile $PROJECT."
echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
fi
fi
if test "$DIE" -eq 1; then
exit 1
@@ -65,7 +72,12 @@ test $TEST_TYPE $FILE || {
exit 1
}
if test -z "$AUTOGEN_SUBDIR_MODE"; then
# NOCONFIGURE is used by gnome-common; support both
if ! test -z "$AUTOGEN_SUBDIR_MODE"; then
NOCONFIGURE=1
fi
if test -z "$NOCONFIGURE"; then
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
@@ -98,7 +110,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 $?
@@ -109,7 +121,7 @@ $AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
if test -z "$AUTOGEN_SUBDIR_MODE"; then
if test -z "$NOCONFIGURE"; then
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
echo

4
build/Makefile.am Normal file
View File

@@ -0,0 +1,4 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = \
win32

4
build/win32/Makefile.am Normal file
View File

@@ -0,0 +1,4 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = \
vs9

View File

@@ -0,0 +1,16 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk+.vsprops \
gdk-pixbuf.vcproj \
gdk-pixbuf-csource.vcproj \
gdk-pixbuf-query-loaders.vcproj \
gdk-win32.vcproj \
gdk.vcproj \
gdk.vcprojin \
gtk.vcproj \
gtk.vcprojin \
gtk-demo.vcproj \
install.vcproj

View File

@@ -0,0 +1,22 @@
Note that all this is rather experimental.
This VS9 solution and the projects it includes are intented to be used
in a GTK+ source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment or manual work to expand
the files needed, like config.h.win32.in into config.h.win32 and the
.vcprojin files here into corresponding actual .vcproj files.
You will need the parts from below in the GTK+ stack: pango, atk and
glib. External dependencies are at least zlib, libpng, proxy-libintl,
fontconfig, freetype, expat. See the corresponding README.txt file in
glib for details where to unpack them.
The "install" project will copy build results and headers into their
appropriate location under <root>\vs9\<PlatformName>. For instance,
built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
<root>\vs9\<PlatformName>\lib and GTK+ headers into
<root>\vs9\<PlatformName>\include\gtk-2.0. This is then from where
project files higher in the stack are supposed to look for them, not
from a specific GLib source tree.
--Tor Lillqvist <tml@iki.fi>

View File

@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="gdk-pixbuf-csource"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}"
RootNamespace="gdkpixbufcsource"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-csource.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gdk-pixbuf-query-loaders"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}"
RootNamespace="gdkpixbufqueryloaders"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND;$(GtkPrefixDefine);$(GdkPixbufLibdirDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\gdk-pixbuf\queryloaders.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,258 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gdk_pixbuf"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}"
RootNamespace="gdk_pixbuf"
Keyword="Win32Proj"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;$(GdkPixbufDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libpng.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="$(GdkPixbufDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libpng.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;$(GdkPixbufDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libpng.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="$(GdkPixbufDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libpng.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf.symbols"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk-pixbuf.def"
CommandLine="$(GtkGenerateGdkPixbufDef)"
Outputs="$(IntDir)\gdk-pixbuf.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk-pixbuf.def"
CommandLine="$(GtkGenerateGdkPixbufDef)"
Outputs="$(IntDir)\gdk-pixbuf.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk-pixbuf.def"
CommandLine="$(GtkGenerateGdkPixbufDef)"
Outputs="$(IntDir)\gdk-pixbuf.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk-pixbuf.def"
CommandLine="$(GtkGenerateGdkPixbufDef)"
Outputs="$(IntDir)\gdk-pixbuf.def"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-aliasdef.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-animation.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-data.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-enum-types.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-io.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-loader.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-scale.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-scaled-anim.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-simple-anim.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-util.c" />
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixdata.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-ani.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-ani-animation.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-utils.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-animation.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-bmp.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-emf.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-gif.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-ico.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-jpeg.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-tiff.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-wmf.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-gif-animation.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-icns.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-pcx.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-png.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-pnm.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-ras.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-tga.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-wbmp.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-xbm.c" />
<File RelativePath="..\..\..\gdk-pixbuf\io-xpm.c" />
<File RelativePath="..\..\..\gdk-pixbuf\pixops\pixops.c" />
</Filter>
</Files>
</VisualStudioProject>

View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gdk-win32"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}"
RootNamespace="gdkwin32"
Keyword="Win32Proj"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines);INSIDE_GDK_WIN32"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines);INSIDE_GDK_WIN32"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\gdk\win32\gdkapplaunchcontext-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkcolor-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkcursor-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdisplay-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdnd-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdrawable-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkevents-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkfont-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkgc-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkgeometry-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkglobals-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkim-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkimage-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkinput-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkinput.c" />
<File RelativePath="..\..\..\gdk\win32\gdkkeys-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkmain-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkpixmap-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkproperty-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkscreen-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkselection-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkspawn-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdktestutils-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkvisual-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkwin32id.c" />
<File RelativePath="..\..\..\gdk\win32\gdkwindow-win32.c" />
</Filter>
</Files>
</VisualStudioProject>

View File

@@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gdk"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
RootNamespace="gdk"
Keyword="Win32Proj"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk"
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib imm32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath="..\..\..\gdk\gdk.symbols"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk.def"
CommandLine="$(GtkGenerateGdkDef)"
Outputs="$(IntDir)\gdk.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk.def"
CommandLine="$(GtkGenerateGdkDef)"
Outputs="$(IntDir)\gdk.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk.def"
CommandLine="$(GtkGenerateGdkDef)"
Outputs="$(IntDir)\gdk.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gdk.def"
CommandLine="$(GtkGenerateGdkDef)"
Outputs="$(IntDir)\gdk.def"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "libgdk.sourcefiles"
</Filter>
</Files>
</VisualStudioProject>

122
build/win32/vs9/gtk+.sln Normal file
View File

@@ -0,0 +1,122 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf", "gdk-pixbuf.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf-csource", "gdk-pixbuf-csource.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf-query-loaders", "gdk-pixbuf-query-loaders.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-win32", "gdk-win32.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-demo", "gtk-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,390 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="gtk+props"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0"
PreprocessorDefinitions="HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES"
ForcedIncludeFiles="msvc_recommended_pragmas.h"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
/>
<Tool
Name="VCPreBuildEventTool"
CommandLine="
if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
:DONE_CONFIG_H&#x0D;&#x0A;
if exist ..\..\..\gdk\gdkconfig.h goto DONE_GDKCONFIG_H&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h&#x0D;&#x0A;
:DONE_GDKCONFIG_H&#x0D;&#x0A;
"
/>
<UserMacro
Name="GtkApiVersion"
Value="3.0"
/>
<UserMacro
Name="GtkBinaryVersion"
Value="2.10.0"
/>
<UserMacro
Name="GtkDummyPrefix"
Value="/dummy"
/>
<UserMacro
Name="GtkPrefixDefine"
Value="GTK_PREFIX=\&quot;$(GtkDummyPrefix)\&quot;"
/>
<UserMacro
Name="GdkPixbufIncludedLoaderDefines"
Value="INCLUDE_ani;INCLUDE_icns;INCLUDE_pcx;INCLUDE_ras;INCLUDE_tga;INCLUDE_png;INCLUDE_pnm;INCLUDE_wbmp;INCLUDE_xbm;INCLUDE_xpm;INCLUDE_gdiplus"
/>
<UserMacro
Name="GdkPixbufDefines"
Value="GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND;$(GtkPrefixDefine);$(GdkPixbufIncludedLoaderDefines)"
/>
<UserMacro
Name="GdkPixbufLibdirDefine"
Value="PIXBUF_LIBDIR=\&quot;$(GtkDummyPrefix)/lib/gtk-$(GtkApiVersion)/$(GtkBinaryVersion)/loaders\&quot;"
/>
<UserMacro
Name="GdkDefines"
Value="GDK_COMPILATION;G_LOG_DOMAIN=\&quot;Gdk\&quot;"
/>
<UserMacro
Name="GtkIncludedImmodulesDefines"
Value="INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr"
/>
<UserMacro
Name="GtkDefines"
Value="GTK_COMPILATION;G_LOG_DOMAIN=\&quot;Gtk\&quot;;GTK_HOST=\&quot;i686-pc-vs9\&quot;;GTK_PRINT_BACKENDS=\&quot;file\&quot;;GTK_PRINT_PREVIEW_COMMAND=\&quot;undefined-gtk-print-preview-command\&quot;;$(GtkIncludedImmodulesDefines);GTK_LIBDIR=\&quot;$(GtkDummyPrefix)/lib\&quot;;GTK_DATADIR=\&quot;$(GtkDummyPrefix)/share\&quot;GTK_DATA_PREFIX=\&quot;$(GtkDummyPrefix)\&quot;;GTK_SYSCONFDIR=\&quot;$(GtkDummyPrefix)/etc\&quot;;MULTIPRESS_CONFDIR=\&quot;$(GtkDummyPrefix)/etc/gtk-$(GtkApiVersion)\&quot;;MULTIPRESS_LOCALEDIR=\&quot;$(GtkDummyPrefix)/share/locale\&quot;;GTK_VERSION=\&quot;$(GtkVersion)/etc\&quot;;GTK_BINARY_VERSION=\&quot;$(GtkBinaryVersion)/etc\&quot;;GDK_DISABLE_DEPRECATED"
/>
<UserMacro
Name="GtkDoInstall"
Value="
echo on&#x0D;&#x0A;
mkdir $(OutDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(OutDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(OutDir)\bin&#x0D;&#x0A;
mkdir $(OutDir)\lib&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-animation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-core.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-enum-types.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-features.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-io.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-loader.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-marshal.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-simple-anim.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-transform.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixbuf.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
copy ..\..\..\gdk-pixbuf\gdk-pixdata.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdk.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkapplaunchcontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcairo.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcolor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcursor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplay.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplaymanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdrawable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkenumtypes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkevents.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkfont.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkgc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdki18n.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkimage.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkinput.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeys.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeysyms.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpango.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpixbuf.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpixmap.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkprivate.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkproperty.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkregion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkrgb.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkscreen.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkspawn.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdktestutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdktypes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkvisual.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtk.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaboutdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccelgroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccellabel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccelmap.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccessible.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkactiongroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkactivatable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkadjustment.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkalignment.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkarrow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaspectframe.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkassistant.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbin.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbindings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuildable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuilder.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcalendar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelleditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelllayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendereraccel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderercombo.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererprogress.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererspin.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderertext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcheckbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcheckmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkclipboard.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkclist.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorsel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorseldialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcombo.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcombobox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcomboboxentry.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcontainer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkctree.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcurve.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdebug.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdrawingarea.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentry.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentrybuffer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentrycompletion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkenums.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeventbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkexpander.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooser.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilefilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilesel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfixed.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontsel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkframe.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgamma.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhandlebox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhsv.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkiconfactory.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkicontheme.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkiconview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimage.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimagemenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontextsimple.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimmodule.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimmulticontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinfobar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinputdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinvisible.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkitemfactory.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklabel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklinkbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklist.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklistitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkliststore.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmain.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmarshal.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenubar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenushell.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenutoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmessagedialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmisc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmodules.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmountoperation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtknotebook.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkobject.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoldeditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoptionmenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkorientable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpagesetup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpapersize.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpixmap.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkplug.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpreview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintcontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintoperation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintoperationpreview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintsettings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprivate.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprogress.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprogressbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradioaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiobutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiomenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiotoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrange.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooser.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentfilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentmanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscalebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrolledwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparatormenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparatortoolitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksettings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkshow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksignal.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksizegroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksocket.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkspinbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstatusbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstatusicon.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstock.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyle.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktearoffmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktestutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbuffer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbufferrichtext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextchild.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextdisplay.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextiter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextlayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextmark.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttag.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttagtable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktipsquery.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoggleaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktogglebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoggletoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolshell.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktooltip.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktooltips.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktree.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreednd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodelfilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodelsort.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreesortable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreestore.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeviewcolumn.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypebuiltins.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypeutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkuimanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkversion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkviewport.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvolumebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
mkdir $(OutDir)\lib\gtk-$(GtkApiVersion)\include&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h $(OutDir)\lib\gtk-$(GtkApiVersion)\include&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib&#x0D;&#x0A;
"
/>
<UserMacro
Name="GtkGenerateGdkPixbufDef"
Value="echo EXPORTS &gt;&quot;$(IntDir)\gdk-pixbuf.def&quot; &amp;&amp; cl /EP -DG_OS_WIN32 -DINCLUDE_VARIABLES -DALL_FILES -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= ..\..\..\gdk-pixbuf\gdk-pixbuf.symbols &gt;&gt;&quot;$(IntDir)\gdk-pixbuf.def&quot;"
/>
<UserMacro
Name="GtkGenerateGdkDef"
Value="echo EXPORTS &gt;&quot;$(IntDir)\gdk.def&quot; &amp;&amp; cl /EP -DGDK_WINDOWING_WIN32 -DALL_FILES -DG_GNUC_CONST= ..\..\..\gdk\gdk.symbols &gt;&gt;&quot;$(IntDir)\gdk.def&quot;"
/>
<UserMacro
Name="GtkGenerateGtkDef"
Value="echo EXPORTS &gt;&quot;$(IntDir)\gtk.def&quot; &amp;&amp; cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols &gt;&gt;&quot;$(IntDir)\gtk.def&quot;"
/>
<UserMacro
Name="GtkLibtoolCompatibleDllPrefix"
Value="lib"
/>
<UserMacro
Name="GtkLibtoolCompatibleDllSuffix"
Value="-$(GtkApiVersion)-0"
/>
<UserMacro
Name="GtkSeparateVS9DllPrefix"
Value=""
/>
<UserMacro
Name="GtkSeparateVS9DllSuffix"
Value="-2-vs9"
/>
<!-- Change these two to GtkLibtoolCompatibleDllPrefix and
GtkLibtoolCompatibleDllSuffix if that is what you want -->
<UserMacro
Name="GtkDllPrefix"
Value="$(GtkLibtoolCompatibleDllPrefix)"
/>
<UserMacro
Name="GtkDllSuffix"
Value="$(GtkLibtoolCompatibleDllSuffix)"
/>
<UserMacro
Name="GlibEtcInstallRoot"
Value="..\..\..\..\..\vs9\$(PlatformName)"
/>
</VisualStudioPropertySheet>

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk-demo"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
RootNamespace="gtkdemo"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\demos\gtk-demo\appwindow.c" />
<File RelativePath="..\..\..\demos\gtk-demo\assistant.c" />
<File RelativePath="..\..\..\demos\gtk-demo\builder.c" />
<File RelativePath="..\..\..\demos\gtk-demo\button_box.c" />
<File RelativePath="..\..\..\demos\gtk-demo\changedisplay.c" />
<File RelativePath="..\..\..\demos\gtk-demo\clipboard.c" />
<File RelativePath="..\..\..\demos\gtk-demo\colorsel.c" />
<File RelativePath="..\..\..\demos\gtk-demo\combobox.c" />
<File RelativePath="..\..\..\demos\gtk-demo\dialog.c" />
<File RelativePath="..\..\..\demos\gtk-demo\drawingarea.c" />
<File RelativePath="..\..\..\demos\gtk-demo\editable_cells.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_buffer.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview_edit.c" />
<File RelativePath="..\..\..\demos\gtk-demo\images.c" />
<File RelativePath="..\..\..\demos\gtk-demo\infobar.c" />
<File RelativePath="..\..\..\demos\gtk-demo\links.c" />
<File RelativePath="..\..\..\demos\gtk-demo\list_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\main.c" />
<File RelativePath="..\..\..\demos\gtk-demo\menus.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<File RelativePath="..\..\..\demos\gtk-demo\panes.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pickers.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pixbufs.c" />
<File RelativePath="..\..\..\demos\gtk-demo\printing.c" />
<File RelativePath="..\..\..\demos\gtk-demo\rotated_text.c" />
<File RelativePath="..\..\..\demos\gtk-demo\search_entry.c" />
<File RelativePath="..\..\..\demos\gtk-demo\sizegroup.c" />
<File RelativePath="..\..\..\demos\gtk-demo\spinner.c" />
<File RelativePath="..\..\..\demos\gtk-demo\stock_browser.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textscroll.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\toolpalette.c" />
<File RelativePath="..\..\..\demos\gtk-demo\tree_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\ui_manager.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
RootNamespace="gtk"
Keyword="Win32Proj"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath="..\..\..\gdk\gtk.symbols"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gtk.def"
CommandLine="$(GtkGenerateGtkDef)"
Outputs="$(IntDir)\gtk.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gtk.def"
CommandLine="$(GtkGenerateGtkDef)"
Outputs="$(IntDir)\gtk.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gtk.def"
CommandLine="$(GtkGenerateGtkDef)"
Outputs="$(IntDir)\gtk.def"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating gtk.def"
CommandLine="$(GtkGenerateGtkDef)"
Outputs="$(IntDir)\gtk.def"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "libgtk.sourcefiles"
<File RelativePath="..\..\..\modules\input\gtkimcontextime.c" />
<File RelativePath="..\..\..\modules\input\gtkimcontextmultipress.c" />
<File RelativePath="..\..\..\modules\input\gtkimcontextthai.c" />
<File RelativePath="..\..\..\modules\input\imam-et.c" />
<File RelativePath="..\..\..\modules\input\imcedilla.c" />
<File RelativePath="..\..\..\modules\input\imcyrillic-translit.c" />
<File RelativePath="..\..\..\modules\input\imime.c" />
<File RelativePath="..\..\..\modules\input\iminuktitut.c" />
<File RelativePath="..\..\..\modules\input\imipa.c" />
<File RelativePath="..\..\..\modules\input\immultipress.c" />
<File RelativePath="..\..\..\modules\input\imthai.c" />
<File RelativePath="..\..\..\modules\input\imti-er.c" />
<File RelativePath="..\..\..\modules\input\imti-et.c" />
<File RelativePath="..\..\..\modules\input\imviqr.c" />
<File RelativePath="..\..\..\modules\input\thai-charprop.c" />
</Filter>
</Files>
</VisualStudioProject>

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="install"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
RootNamespace="install"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(GtkDoInstall)"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(GtkDoInstall)"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
WholeProgramOptimization="1"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(GtkDoInstall)"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
OutputDirectory="$(GlibEtcInstallRoot)"
ConfigurationType="10"
CharacterSet="2"
WholeProgramOptimization="1"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="$(GtkDoInstall)"
/>
</Configuration>
</Configurations>
</VisualStudioProject>

View File

@@ -5,6 +5,9 @@
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* Define if gio can sniff image data */
/* #undef GDK_PIXBUF_USE_GIO_MIME */
/* The prefix for our gettext translation domains. */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
@@ -12,7 +15,7 @@
#define GTK_COMPILED_WITH_DEBUGGING "yes"
/* Define the location where the catalogs will be installed */
#define GTK_LOCALEDIR "c:/devel/target/HEAD/share/locale"
#define GTK_LOCALEDIR "NONE/share/locale"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
@@ -97,6 +100,9 @@
/* Define to 1 if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 if libpapi available */
/* #undef HAVE_PAPI */
/* Define to 1 is libjpeg supports progressive JPEG */
/* #undef HAVE_PROGRESSIVE_JPEG */
@@ -106,9 +112,6 @@
/* Have the Xrandr extension library */
/* #undef HAVE_RANDR */
/* Define to 1 if the XShape extension is available */
/* #undef HAVE_SHAPE_EXT */
/* Define to 1 if shm.h is available */
/* #undef HAVE_SHM_H */
@@ -199,7 +202,7 @@
/* Define to 1 if XFree Xinerama is available */
/* #undef HAVE_XFREE_XINERAMA */
/* Define to 1 is Xinerama is available */
/* Define to 1 if xinerama is available */
/* #undef HAVE_XINERAMA */
/* Define to 1 if you have the `XInternAtoms' function. */
@@ -229,12 +232,23 @@
/* Define to 1 if you have the `_NSGetEnviron' function. */
/* #undef HAVE__NSGETENVIRON */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define if <X11/extensions/XIproto.h> needed for xReply */
/* #undef NEED_XIPROTO_H_FOR_XREPLY */
/* Define to 1 if fd_set is not available */
#define NO_FD_SET 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#ifndef _MSC_VER
/* #undef NO_MINUS_C_MINUS_O */
#else
#define NO_MINUS_C_MINUS_O 1
#endif
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
@@ -269,7 +283,11 @@
/* #undef USE_MEDIALIB25 */
/* Define to 1 if XXM is available and should be used */
#define USE_MMX 1
#ifndef _MSC_VER
# define USE_MMX 1
#else
# undef USE_MMX
#endif
/* Define to 1 if no XInput should be used */
/* #undef XINPUT_NONE */

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +0,0 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS =
if USE_X11
SUBDIRS += gdk-pixbuf-xlib
endif

View File

@@ -1,354 +0,0 @@
=== ChangeLog discontinued ===
With the move to git, GTK+ is switching from a ChangeLog file
to relying on commit messages to provide change history. Please
see README.commits for guidance on the expected message format.
2009-03-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.16.0 ===
2009-03-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.5 ===
2009-02-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.4 ===
2009-02-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.3 ===
2009-01-27 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.2 ===
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.1 ===
2009-01-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.0 ===
2008-09-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.2 ===
2008-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.1 ===
2008-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.0 ===
2008-08-18 Matthias Clasen <mclasen@redhat.com>
* ==== Released 2.13.7 ===
2008-08-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.6 ===
2008-07-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.5 ===
2008-07-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.4 ===
2008-06-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.3 ===
2008-06-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.2 ===
2008-05-29 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.1 ===
2008-05-26 Michael Natterer <mitch@imendio.com>
* gdk-pixbuf-xlib.h
* gdk-pixbuf-xlibrgb.h: use G_BEGIN/END_DECLS.
2008-02-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.0 ===
2007-10-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.1 ===
2007-09-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.0 ===
2007-07-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.6 ===
2007-07-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.5 ===
2007-06-19 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.4 ===
2007-06-15 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.3 ===
2007-06-06 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.2 ===
2007-06-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.1 ===
2007-05-24 Matthias Clasen <mclasen@redhat.com>
* === Released 2.11.0 ===
2006-10-08 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib.c: Apply a cleanup patch by
Kjartan Maraas (#341812)
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.2 ===
2006-07-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.1 ===
2006-07-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.0 ===
2006-06-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.4 ===
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.3 ===
2006-06-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.2 ===
2006-05-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.1 ====
2006-05-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.0 ===
2005-11-17 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib-drawable.c:
* gdk-pixbuf-xlibrgb.c: const correctness fixes
found by Arjan van de Ven and gcc.
2005-10-05 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib-2.0.pc.in (Requires): Require
gmodule-no-export-2.0 instead of gmodule-2.0
2005-08-24 Matthias Clasen <mclasen@redhat.com>
* === Released 2.8.2 ===
* === Released 2.8.1 ===
2005-08-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.8.0 ===
2005-08-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.5 ===
2005-07-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.4 ===
2005-07-15 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.3 ===
2005-07-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.2 ===
2005-07-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.1 ===
2005-06-20 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.0 ===
2005-01-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.1 ===
2004-12-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.0 ===
2004-12-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.6 ===
2004-11-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.5 ===
2004-10-27 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.4 ===
2004-09-19 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.3 ===
2004-08-25 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.2 ===
2004-08-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.1 ===
Tue Jul 20 23:26:10 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-xlibrgb.c: Include config.h first. (#148034)
Sun Jul 18 20:17:41 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* === released 2.5.0 ==
Tue Mar 9 09:33:54 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.6 ===
Wed Mar 3 15:50:28 2004 Owen Taylor <otaylor@redhat.com>
* Makefile.am (libgdk_pixbuf_xlib_2_0_la_LIBADD): Add
a shared library dependency on libgdk-pixbuf (#124687)
Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.3 ===
Fri Feb 13 10:32:09 2004 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf-xlibrgb.h: Remove a couple of unneeded
#includes. Isn't unsupported code fun?
(133833, Gregory Merchan)
Tue Oct 7 23:30:00 2003 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-xlib.h: Add C++ guards. (123955, Harring Figueiredo)
2002-08-06 jacob berkman <jacob@ximian.com>
* Makefile.am (lib_LTLIBRARIES): link against xlibs
2002-01-25 Federico Mena Quintero <federico@ximian.com>
Merge from gdk-pixbuf stable.
* gdk-pixbuf-xlib-drawable.c (rgb565msb): Fixed the endianness
conversion --- swap the individual 16 bit values instead of taking
everying as a 32 bit value.
(rgb565lsb): Likewise.
(rgb555lsb): Likewise.
(rgb555msb): Likewise.
2001-11-26 Akira TAGOH <tagoh@redhat.com>
* Makefile.am (libgdk_pixbuf_xlib_1_3_la_LDFLAGS):
Added -version-info.
2001-05-19 Havoc Pennington <hp@pobox.com>
* gdk-pixbuf-xlibrgb.c: docs
2001-06-04 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-xlibrgb.c (xlib_rgb_init): remove C++ comment,
reported by Dan McNichol
Mon Jan 8 11:41:41 2001 Owen Taylor <otaylor@redhat.com>
* Makefile.am (INCLUDES): Add @x_cflags@ (#36310)
2001-01-02 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-xlib-2.0.pc.in (Description): fix up description a bit.
2000-10-06 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-xlib.c: Put display/screen here, instead of in
the main gdk-pixbuf library as it was in 1.0; since the io-xpm
loader doesn't use these variables anymore it should be OK
2000-09-26 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-xlib-drawable.c
(gdk_pixbuf_xlib_get_from_drawable): Do not use
gdk_screen_{width,height}(). Thanks to John Harper for pointing
this out.
2000-08-26 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-xlibrgb.c: Added API reference docs.
2000-08-25 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-xlib-drawable.c (handle_x_error): Return
0.
(xlib_window_is_viewable): Return FALSE in the last case.
* gdk-pixbuf/gdk-pixbuf-xlib-render.c: Updated the inline docs.
* gdk-pixbuf/gdk-pixbuf-xlib.c: Added API docs.
2000-08-25 John Harper <john@dcs.warwick.ac.uk>
Work to create an Xlib version of gdk-pixbuf (with the Xlib
port of GdkRGB for rendering):
* configure.in: check for X libraries, set and substitute
GDK_PIXBUF_XLIB_{LIBDIR,INCLUDEDIR,LIBS} variables
* gdk_pixbuf_xlibConf.sh.in: new file -- gnome-config details
for the gdk-pixbuf-xlib library
* Makefile.am: build and install gdk_pixbuf_xlibConf.sh
* gdk-pixbuf/gdk-pixbuf-xlib-render.c,
gdk-pixbuf/gdk-pixbuf-xlib.c, gdk-pixbuf/gdk-pixbuf-xlib.h,
gdk-pixbuf/gdk-pixbuf-xlib-private.h,
gdk-pixbuf/gdk-pixbuf-xlib-drawable.c: new files, ported the
GDK dependent parts of gdk-pixbuf to use Xlib. Functions that
were called gdk_pixbuf_FOO are now gdk_pixbuf_xlib_FOO
* gdk-pixbuf/gdk-pixbuf-xlibrgb.c,
gdk-pixbuf/gdk-pixbuf-xlibrgb.h: added Chris Blizzard's Xlib
port of GdkRGB (from Mozilla CVS)
* gdk-pixbuf/Makefile.am: build a library libgdk_pixbuf_xlib.la
including the non-GDK dependent objects from libgdk_pixbuf.la
plus the Xlib ports and xlibrgb

View File

@@ -1,40 +0,0 @@
include $(top_srcdir)/Makefile.decl
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
lib_LTLIBRARIES=libgdk_pixbuf_xlib-2.0.la
INCLUDES = \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
-export-dynamic \
$(no_undefined) \
-version-info $(LT_VERSION_INFO)
libgdk_pixbuf_xlib_2_0_la_LIBADD = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(GDK_PIXBUF_XLIB_DEP_LIBS)
libgdk_pixbuf_xlib_2_0_la_SOURCES = \
gdk-pixbuf-xlib-private.h \
gdk-pixbuf-xlib.c \
gdk-pixbuf-xlib-render.c \
gdk-pixbuf-xlib-drawable.c \
gdk-pixbuf-xlibrgb.c
libgdk_pixbuf_xlibincludedir=$(includedir)/gtk-2.0/gdk-pixbuf-xlib
libgdk_pixbuf_xlibinclude_HEADERS = \
gdk-pixbuf-xlib.h \
gdk-pixbuf-xlibrgb.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdk-pixbuf-xlib-2.0.pc
EXTRA_DIST += gdk-pixbuf-xlib-2.0.pc.in

View File

@@ -1,11 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: GdkPixbuf Xlib
Description: GdkPixbuf rendering for Xlib
Version: @VERSION@
Requires: gobject-2.0,gmodule-no-export-2.0,gdk-pixbuf-2.0
Libs: -L${libdir} -lgdk_pixbuf_xlib-@GTK_API_VERSION@
Cflags: -I${includedir}

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +0,0 @@
/* GdkPixbuf library - Xlib header file
*
* Authors: John Harper <john@dcs.warwick.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef GDK_PIXBUF_XLIB_PRIVATE_H
#define GDK_PIXBUF_XLIB_PRIVATE_H
#include "gdk-pixbuf-xlib.h"
#include <X11/Xlib.h>
extern Display *gdk_pixbuf_dpy;
extern int gdk_pixbuf_screen;
#endif

View File

@@ -1,398 +0,0 @@
/* GdkPixbuf library - Rendering functions
*
* Copyright (C) 1999 The Free Software Foundation
*
* Author: Federico Mena-Quintero <federico@gimp.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* Trivially ported to Xlib(RGB) by John Harper. */
#include "config.h"
#include "gdk-pixbuf-private.h"
#include "gdk-pixbuf-xlib-private.h"
/**
* gdk_pixbuf_xlib_render_threshold_alpha:
* @pixbuf: A pixbuf.
* @bitmap: Bitmap where the bilevel mask will be painted to.
* @src_x: Source X coordinate.
* @src_y: source Y coordinate.
* @dest_x: Destination X coordinate.
* @dest_y: Destination Y coordinate.
* @width: Width of region to threshold.
* @height: Height of region to threshold.
* @alpha_threshold: Opacity values below this will be painted as zero; all
* other values will be painted as one.
*
* Takes the opacity values in a rectangular portion of a pixbuf and thresholds
* them to produce a bi-level alpha mask that can be used as a clipping mask for
* a drawable.
*
**/
void
gdk_pixbuf_xlib_render_threshold_alpha (GdkPixbuf *pixbuf, Pixmap bitmap,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
int alpha_threshold)
{
GC gc;
XColor color;
int x, y;
guchar *p;
int start, start_status;
int status;
XGCValues gcv;
g_return_if_fail (pixbuf != NULL);
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
g_return_if_fail (pixbuf->bits_per_sample == 8);
g_return_if_fail (bitmap != 0);
g_return_if_fail (width >= 0 && height >= 0);
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
g_return_if_fail (alpha_threshold >= 0 && alpha_threshold <= 255);
if (width == 0 || height == 0)
return;
gc = XCreateGC (gdk_pixbuf_dpy, bitmap, 0, &gcv);
if (!pixbuf->has_alpha) {
color.pixel = (alpha_threshold == 255) ? 0 : 1;
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
XFillRectangle (gdk_pixbuf_dpy, bitmap, gc,
dest_x, dest_y, width, height);
XFreeGC (gdk_pixbuf_dpy, gc);
return;
}
color.pixel = 0;
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
XFillRectangle (gdk_pixbuf_dpy, bitmap, gc,
dest_x, dest_y, width, height);
color.pixel = 1;
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
for (y = 0; y < height; y++) {
p = (pixbuf->pixels + (y + src_y) * pixbuf->rowstride + src_x * pixbuf->n_channels
+ pixbuf->n_channels - 1);
start = 0;
start_status = *p < alpha_threshold;
for (x = 0; x < width; x++) {
status = *p < alpha_threshold;
if (status != start_status) {
if (!start_status)
XDrawLine (gdk_pixbuf_dpy, bitmap, gc,
start + dest_x, y + dest_y,
x - 1 + dest_x, y + dest_y);
start = x;
start_status = status;
}
p += pixbuf->n_channels;
}
if (!start_status)
XDrawLine (gdk_pixbuf_dpy, bitmap, gc,
start + dest_x, y + dest_y,
x - 1 + dest_x, y + dest_y);
}
XFreeGC (gdk_pixbuf_dpy, gc);
}
/* Creates a buffer by stripping the alpha channel of a pixbuf */
static guchar *
remove_alpha (GdkPixbuf *pixbuf, int x, int y, int width, int height, int *rowstride)
{
guchar *buf;
int xx, yy;
guchar *src, *dest;
g_assert (pixbuf->n_channels == 4);
g_assert (pixbuf->has_alpha);
g_assert (width > 0 && height > 0);
g_assert (x >= 0 && x + width <= pixbuf->width);
g_assert (y >= 0 && y + height <= pixbuf->height);
*rowstride = 4 * ((width * 3 + 3) / 4);
buf = g_new (guchar, *rowstride * height);
for (yy = 0; yy < height; yy++) {
src = pixbuf->pixels + pixbuf->rowstride * (yy + y) + x * pixbuf->n_channels;
dest = buf + *rowstride * yy;
for (xx = 0; xx < width; xx++) {
*dest++ = *src++;
*dest++ = *src++;
*dest++ = *src++;
src++;
}
}
return buf;
}
/**
* gdk_pixbuf_xlib_render_to_drawable:
* @pixbuf: A pixbuf.
* @drawable: Destination drawable.
* @gc: GC used for rendering.
* @src_x: Source X coordinate within pixbuf.
* @src_y: Source Y coordinate within pixbuf.
* @dest_x: Destination X coordinate within drawable.
* @dest_y: Destination Y coordinate within drawable.
* @width: Width of region to render, in pixels.
* @height: Height of region to render, in pixels.
* @dither: Dithering mode for XlibRGB.
* @x_dither: X offset for dither.
* @y_dither: Y offset for dither.
*
* Renders a rectangular portion of a pixbuf to a drawable while using the
* specified GC. This is done using XlibRGB, so the specified drawable must
* have the XlibRGB visual and colormap. Note that this function will ignore
* the opacity information for images with an alpha channel; the GC must already
* have the clipping mask set if you want transparent regions to show through.
*
* For an explanation of dither offsets, see the XlibRGB documentation. In
* brief, the dither offset is important when re-rendering partial regions of an
* image to a rendered version of the full image, or for when the offsets to a
* base position change, as in scrolling. The dither matrix has to be shifted
* for consistent visual results. If you do not have any of these cases, the
* dither offsets can be both zero.
**/
void
gdk_pixbuf_xlib_render_to_drawable (GdkPixbuf *pixbuf,
Drawable drawable, GC gc,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
XlibRgbDither dither,
int x_dither, int y_dither)
{
guchar *buf;
int rowstride;
g_return_if_fail (pixbuf != NULL);
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
g_return_if_fail (pixbuf->bits_per_sample == 8);
g_return_if_fail (drawable != 0);
g_return_if_fail (gc != 0);
g_return_if_fail (width >= 0 && height >= 0);
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
if (width == 0 || height == 0)
return;
/* This will have to be modified once we support other image types.
* Also, GdkRGB does not have gdk_draw_rgb_32_image_dithalign(), so we
* have to pack the buffer first. Sigh.
*/
if (pixbuf->has_alpha)
buf = remove_alpha (pixbuf, src_x, src_y, width, height, &rowstride);
else {
buf = pixbuf->pixels + src_y * pixbuf->rowstride + src_x * 3;
rowstride = pixbuf->rowstride;
}
xlib_draw_rgb_image_dithalign (drawable, gc,
dest_x, dest_y,
width, height,
dither,
buf, rowstride,
x_dither, y_dither);
if (pixbuf->has_alpha)
g_free (buf);
}
/**
* gdk_pixbuf_xlib_render_to_drawable_alpha:
* @pixbuf: A pixbuf.
* @drawable: Destination drawable.
* @src_x: Source X coordinate within pixbuf.
* @src_y: Source Y coordinates within pixbuf.
* @dest_x: Destination X coordinate within drawable.
* @dest_y: Destination Y coordinate within drawable.
* @width: Width of region to render, in pixels.
* @height: Height of region to render, in pixels.
* @alpha_mode: If the image does not have opacity information, this is ignored.
* Otherwise, specifies how to handle transparency when rendering.
* @alpha_threshold: If the image does have opacity information and @alpha_mode
* is GDK_PIXBUF_ALPHA_BILEVEL, specifies the threshold value for opacity
* values.
* @dither: Dithering mode for XlibRGB.
* @x_dither: X offset for dither.
* @y_dither: Y offset for dither.
*
* Renders a rectangular portion of a pixbuf to a drawable. This is done using
* XlibRGB, so the specified drawable must have the XlibRGB visual and colormap.
*
* When used with #GDK_PIXBUF_ALPHA_BILEVEL, this function has to create a bitmap
* out of the thresholded alpha channel of the image and, it has to set this
* bitmap as the clipping mask for the GC used for drawing. This can be a
* significant performance penalty depending on the size and the complexity of
* the alpha channel of the image. If performance is crucial, consider handling
* the alpha channel yourself (possibly by caching it in your application) and
* using gdk_pixbuf_xlib_render_to_drawable() or GdkRGB directly instead.
**/
void
gdk_pixbuf_xlib_render_to_drawable_alpha (GdkPixbuf *pixbuf, Drawable drawable,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
GdkPixbufAlphaMode alpha_mode,
int alpha_threshold,
XlibRgbDither dither,
int x_dither, int y_dither)
{
Pixmap bitmap = 0;
GC gc;
XGCValues gcv;
g_return_if_fail (pixbuf != NULL);
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
g_return_if_fail (pixbuf->bits_per_sample == 8);
g_return_if_fail (drawable != 0);
g_return_if_fail (width >= 0 && height >= 0);
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
if (width == 0 || height == 0)
return;
gc = XCreateGC (gdk_pixbuf_dpy, drawable, 0, &gcv);
if (pixbuf->has_alpha) {
/* Right now we only support GDK_PIXBUF_ALPHA_BILEVEL, so we
* unconditionally create the clipping mask.
*/
bitmap = XCreatePixmap (gdk_pixbuf_dpy,
RootWindow (gdk_pixbuf_dpy,
gdk_pixbuf_screen),
width, height, 1);
gdk_pixbuf_xlib_render_threshold_alpha (pixbuf, bitmap,
src_x, src_y,
0, 0,
width, height,
alpha_threshold);
XSetClipMask (gdk_pixbuf_dpy, gc, bitmap);
XSetClipOrigin (gdk_pixbuf_dpy, gc, dest_x, dest_y);
}
gdk_pixbuf_xlib_render_to_drawable (pixbuf, drawable, gc,
src_x, src_y,
dest_x, dest_y,
width, height,
dither,
x_dither, y_dither);
if (bitmap)
XFreePixmap (gdk_pixbuf_dpy, bitmap);
XFreeGC (gdk_pixbuf_dpy, gc);
}
/**
* gdk_pixbuf_xlib_render_pixmap_and_mask:
* @pixbuf: A pixbuf.
* @pixmap_return: Return value for the created pixmap.
* @mask_return: Return value for the created mask.
* @alpha_threshold: Threshold value for opacity values.
*
* Creates a pixmap and a mask bitmap which are returned in the @pixmap_return
* and @mask_return arguments, respectively, and renders a pixbuf and its
* corresponding tresholded alpha mask to them. This is merely a convenience
* function; applications that need to render pixbufs with dither offsets or to
* given drawables should use gdk_pixbuf_xlib_render_to_drawable_alpha() or
* gdk_pixbuf_xlib_render_to_drawable(), and
* gdk_pixbuf_xlib_render_threshold_alpha().
*
* If the pixbuf does not have an alpha channel, then *@mask_return will be set
* to None.
**/
void
gdk_pixbuf_xlib_render_pixmap_and_mask (GdkPixbuf *pixbuf,
Pixmap *pixmap_return,
Pixmap *mask_return,
int alpha_threshold)
{
g_return_if_fail (pixbuf != NULL);
if (pixmap_return) {
GC gc;
XGCValues gcv;
*pixmap_return = XCreatePixmap (gdk_pixbuf_dpy,
RootWindow (gdk_pixbuf_dpy,
gdk_pixbuf_screen),
pixbuf->width,
pixbuf->height,
xlib_rgb_get_depth ());
gc = XCreateGC (gdk_pixbuf_dpy, *pixmap_return, 0, &gcv);
gdk_pixbuf_xlib_render_to_drawable (pixbuf, *pixmap_return, gc,
0, 0, 0, 0,
pixbuf->width,
pixbuf->height,
XLIB_RGB_DITHER_NORMAL,
0, 0);
XFreeGC (gdk_pixbuf_dpy, gc);
}
if (mask_return) {
if (pixbuf->has_alpha) {
*mask_return = XCreatePixmap (gdk_pixbuf_dpy,
RootWindow (gdk_pixbuf_dpy,
gdk_pixbuf_screen),
pixbuf->width,
pixbuf->height, 1);
gdk_pixbuf_xlib_render_threshold_alpha (pixbuf,
*mask_return,
0, 0, 0, 0,
pixbuf->width,
pixbuf->height,
alpha_threshold);
} else
*mask_return = 0;
}
}

View File

@@ -1,63 +0,0 @@
/* GdkPixbuf library - Initialization functions
*
* Author: John Harper <john@dcs.warwick.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <X11/Xlib.h>
#include <gdk-pixbuf/gdk-pixbuf-private.h>
#include "gdk-pixbuf-xlib-private.h"
Display *gdk_pixbuf_dpy = NULL;
int gdk_pixbuf_screen = -1;
/**
* gdk_pixbuf_xlib_init:
* @display: X display to use.
* @screen_num: Screen number.
*
* Initializes the gdk-pixbuf Xlib machinery by calling xlib_rgb_init(). This
* function should be called near the beginning of your program, or before using
* any of the gdk-pixbuf-xlib functions.
**/
void
gdk_pixbuf_xlib_init (Display *display, int screen_num)
{
xlib_rgb_init (display, ScreenOfDisplay (display, screen_num));
gdk_pixbuf_dpy = display;
gdk_pixbuf_screen = screen_num;
}
/**
* gdk_pixbuf_xlib_init_with_depth:
* @display: X display to use.
* @screen_num: Screen number.
* @prefDepth: Preferred depth for XlibRGB.
*
* Similar to gdk_pixbuf_xlib_init(), but also lets you specify the preferred
* depth for XlibRGB if you do not want it to use the default depth it picks.
**/
void
gdk_pixbuf_xlib_init_with_depth (Display *display,
int screen_num, int prefDepth)
{
xlib_rgb_init_with_depth (display, ScreenOfDisplay (display, screen_num),
prefDepth);
gdk_pixbuf_dpy = display;
gdk_pixbuf_screen = screen_num;
}

View File

@@ -1,87 +0,0 @@
/* GdkPixbuf library - Xlib header file
*
* Authors: John Harper <john@dcs.warwick.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef GDK_PIXBUF_XLIB_H
#define GDK_PIXBUF_XLIB_H
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
G_BEGIN_DECLS
#include <X11/Xlib.h>
/* init */
void gdk_pixbuf_xlib_init (Display *display, int screen_num);
void gdk_pixbuf_xlib_init_with_depth (Display *display, int screen_num,
int prefDepth);
/* render */
void gdk_pixbuf_xlib_render_threshold_alpha (GdkPixbuf *pixbuf, Pixmap bitmap,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
int alpha_threshold);
void gdk_pixbuf_xlib_render_to_drawable (GdkPixbuf *pixbuf,
Drawable drawable, GC gc,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
XlibRgbDither dither,
int x_dither, int y_dither);
void gdk_pixbuf_xlib_render_to_drawable_alpha (GdkPixbuf *pixbuf,
Drawable drawable,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
GdkPixbufAlphaMode alpha_mode,
int alpha_threshold,
XlibRgbDither dither,
int x_dither, int y_dither);
void gdk_pixbuf_xlib_render_pixmap_and_mask (GdkPixbuf *pixbuf,
Pixmap *pixmap_return,
Pixmap *mask_return,
int alpha_threshold);
/* drawable */
GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
Drawable src,
Colormap cmap, Visual *visual,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height);
G_END_DECLS
#endif /* GDK_PIXBUF_XLIB_H */

File diff suppressed because it is too large Load Diff

View File

@@ -1,188 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "MPL"); you may not use this file except in
* compliance with the MPL. You may obtain a copy of the MPL at
* http://www.mozilla.org/MPL/
*
* Software distributed under the MPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
* for the specific language governing rights and limitations under the
* MPL.
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Library General Public License (the "LGPL"), in
* which case the provisions of the LGPL are applicable instead of
* those above. If you wish to allow use of your version of this file
* only under the terms of the LGPL and not to allow others to use
* your version of this file under the MPL, indicate your decision by
* deleting the provisions above and replace them with the notice and
* other provisions required by the LGPL. If you do not delete the
* provisions above, a recipient may use your version of this file
* under either the MPL or the LGPL.
*/
/*
* This code is derived from GdkRgb.
* For more information on GdkRgb, see http://www.levien.com/gdkrgb/
* Raph Levien <raph@acm.org>
*/
/* Ported by Christopher Blizzard to Xlib. With permission from the
* original authors of this file, the contents of this file are also
* redistributable under the terms of the Mozilla Public license. For
* information about the Mozilla Public License, please see the
* license information at http://www.mozilla.org/MPL/
*/
/* This code is copyright the following authors:
* Raph Levien <raph@acm.org>
* Manish Singh <manish@gtk.org>
* Tim Janik <timj@gtk.org>
* Peter Mattis <petm@xcf.berkeley.edu>
* Spencer Kimball <spencer@xcf.berkeley.edu>
* Josh MacDonald <jmacd@xcf.berkeley.edu>
* Christopher Blizzard <blizzard@redhat.com>
* Owen Taylor <otaylor@redhat.com>
* Shawn T. Amundson <amundson@gtk.org>
*/
#ifndef __XLIB_RGB_H__
#define __XLIB_RGB_H__
#include <glib.h>
G_BEGIN_DECLS
#include <X11/Xlib.h>
#include <X11/Xutil.h>
typedef struct _XlibRgbCmap XlibRgbCmap;
struct _XlibRgbCmap {
unsigned int colors[256];
unsigned char lut[256]; /* for 8-bit modes */
};
void
xlib_rgb_init (Display *display, Screen *screen);
void
xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth);
unsigned long
xlib_rgb_xpixel_from_rgb (guint32 rgb);
void
xlib_rgb_gc_set_foreground (GC gc, guint32 rgb);
void
xlib_rgb_gc_set_background (GC gc, guint32 rgb);
typedef enum
{
XLIB_RGB_DITHER_NONE,
XLIB_RGB_DITHER_NORMAL,
XLIB_RGB_DITHER_MAX
} XlibRgbDither;
void
xlib_draw_rgb_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *rgb_buf,
int rowstride);
void
xlib_draw_rgb_image_dithalign (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *rgb_buf,
int rowstride,
int xdith,
int ydith);
void
xlib_draw_rgb_32_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *buf,
int rowstride);
void
xlib_draw_gray_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *buf,
int rowstride);
XlibRgbCmap *
xlib_rgb_cmap_new (guint32 *colors, int n_colors);
void
xlib_rgb_cmap_free (XlibRgbCmap *cmap);
void
xlib_draw_indexed_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *buf,
int rowstride,
XlibRgbCmap *cmap);
/* Below are some functions which are primarily useful for debugging
and experimentation. */
Bool
xlib_rgb_ditherable (void);
void
xlib_rgb_set_verbose (Bool verbose);
/* experimental colormap stuff */
void
xlib_rgb_set_install (Bool install);
void
xlib_rgb_set_min_colors (int min_colors);
Colormap
xlib_rgb_get_cmap (void);
Visual *
xlib_rgb_get_visual (void);
XVisualInfo *
xlib_rgb_get_visual_info (void);
int
xlib_rgb_get_depth (void);
Display *
xlib_rgb_get_display (void);
Screen *
xlib_rgb_get_screen (void);
G_END_DECLS
#endif /* __XLIB_RGB_H__ */

View File

@@ -12,38 +12,29 @@ INCLUDES = \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
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
# Need to build test-inline-pixbufs.h for testpixbuf
if HAVE_PNG
noinst_PROGRAMS += testpixbuf
BUILT_SOURCES = test-inline-pixbufs.h
endif
if CROSS_COMPILING
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
pixbuf_csource_deps=
else
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders
endif
test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png
$(pixbuf_csource) --raw --build-list \
test-inline-pixbufs.h: apple-red.png gnome-foot.png
$(GDK_PIXBUF_CSOURCE) --raw --build-list \
apple_red $(srcdir)/apple-red.png \
gnome_foot $(srcdir)/gnome-foot.png \
> test-inline-pixbufs.h \
@@ -52,6 +43,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 +51,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 +59,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
@@ -82,3 +76,5 @@ EXTRA_DIST += \
gnu-keys.png
DISTCLEANFILES = test-inline-pixbufs.h
-include $(top_srcdir)/git.mk

View File

@@ -1,9 +1,9 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
democodedir=$(datadir)/gtk-2.0/demo
democodedir=$(datadir)/gtk-$(GTK_API_VERSION)/demo
## These should be in the order you want them to appear in the
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
demos = \
appwindow.c \
@@ -17,14 +17,19 @@ demos = \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_buffer.c \
entry_completion.c \
expander.c \
hypertext.c \
iconview.c \
iconview_edit.c \
images.c \
infobar.c \
links.c \
list_store.c \
menus.c \
offscreen_window.c \
offscreen_window2.c \
panes.c \
pickers.c \
pixbufs.c \
@@ -32,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
@@ -48,16 +55,16 @@ INCLUDES = \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
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) \
-lm
bin_PROGRAMS = gtk-demo
bin_PROGRAMS = gtk3-demo
BUILT_SOURCES = demos.h
@@ -68,15 +75,15 @@ EXTRA_DIST += \
demos.h: @REBUILD@ $(demos) geninclude.pl
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
gtk_demo_SOURCES = \
gtk3_demo_SOURCES = \
$(demos) \
demo-common.h \
main.c \
demos.h
gtk_demo_DEPENDENCIES = $(DEPS)
gtk_demo_LDADD = $(LDADDS)
gtk_demo_LDFLAGS = -export-dynamic
gtk3_demo_DEPENDENCIES = $(DEPS)
gtk3_demo_LDADD = $(LDADDS)
gtk3_demo_LDFLAGS = -export-dynamic
IMAGEFILES= alphatest.png \
apple-red.png \
@@ -91,8 +98,10 @@ IMAGEFILES= alphatest.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png \
gtk-logo-rgb.gif
gtk-logo-rgb.gif
democode_DATA = $(demos) $(IMAGEFILES) demo.ui
DISTCLEANFILES = demos.h
-include $(top_srcdir)/git.mk

View File

@@ -8,6 +8,8 @@
#include "demo-common.h"
static GtkWidget *window = NULL;
static GtkWidget *infobar = NULL;
static GtkWidget *messagelabel = NULL;
static void
activate_action (GtkAction *action)
@@ -16,7 +18,17 @@ activate_action (GtkAction *action)
const gchar *typename = G_OBJECT_TYPE_NAME (action);
GtkWidget *dialog;
if (g_str_equal (name, "DarkTheme"))
{
gboolean value = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme", value,
NULL);
return;
}
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
@@ -29,7 +41,7 @@ activate_action (GtkAction *action)
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
@@ -41,37 +53,32 @@ activate_radio_action (GtkAction *action, GtkRadioAction *current)
gboolean active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (current));
gint value = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (current));
if (active)
if (active)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated radio action: \"%s\" of type \"%s\".\n"
"Current value: %d",
name, typename, value);
gchar *text;
/* Close dialog on user response */
g_signal_connect (dialog,
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
text = g_strdup_printf ("You activated radio action: \"%s\" of type \"%s\".\n"
"Current value: %d",
name, typename, value);
gtk_label_set_text (GTK_LABEL (messagelabel), text);
gtk_info_bar_set_message_type (GTK_INFO_BAR (infobar), (GtkMessageType)value);
gtk_widget_show (infobar);
g_free (text);
}
}
static void
static void
activate_email (GtkAboutDialog *about,
const gchar *link,
gpointer data)
{
g_print ("send mail to %s\n", link);
gchar *text;
text = g_strdup_printf ("send mail to %s", link);
g_print ("%s\n", text);
g_free (text);
}
static void
static void
activate_url (GtkAboutDialog *about,
const gchar *link,
gpointer data)
@@ -147,12 +154,12 @@ about_cb (GtkAction *action,
g_object_unref (transparent);
}
typedef struct
typedef struct
{
GtkAction action;
} ToolMenuAction;
typedef struct
typedef struct
{
GtkActionClass parent_class;
} ToolMenuActionClass;
@@ -179,30 +186,30 @@ static GtkActionEntry entries[] = {
{ "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
{ "New", GTK_STOCK_NEW, /* name, stock id */
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "File1", NULL, /* name, stock id */
"File1", NULL, /* label, accelerator */
"File1", NULL, /* label, accelerator */
"Open first file", /* tooltip */
G_CALLBACK (activate_action) },
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
"_Save","<control>S", /* label, accelerator */
"Save current file", /* tooltip */
G_CALLBACK (activate_action) },
{ "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
"Save _As...", NULL, /* label, accelerator */
"Save _As...", NULL, /* label, accelerator */
"Save to a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Quit", GTK_STOCK_QUIT, /* name, stock id */
"_Quit", "<control>Q", /* label, accelerator */
"_Quit", "<control>Q", /* label, accelerator */
"Quit", /* tooltip */
G_CALLBACK (activate_action) },
{ "About", NULL, /* name, stock id */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
G_CALLBACK (about_cb) },
{ "Logo", "demo-gtk-logo", /* name, stock id */
NULL, NULL, /* label, accelerator */
NULL, NULL, /* label, accelerator */
"GTK+", /* tooltip */
G_CALLBACK (activate_action) },
};
@@ -211,10 +218,15 @@ static guint n_entries = G_N_ELEMENTS (entries);
static GtkToggleActionEntry toggle_entries[] = {
{ "Bold", GTK_STOCK_BOLD, /* name, stock id */
"_Bold", "<control>B", /* label, accelerator */
"_Bold", "<control>B", /* label, accelerator */
"Bold", /* tooltip */
G_CALLBACK (activate_action),
G_CALLBACK (activate_action),
TRUE }, /* is_active */
{ "DarkTheme", NULL, /* name, stock id */
"_Prefer Dark Theme", NULL, /* label, accelerator */
"Prefer Dark Theme", /* tooltip */
G_CALLBACK (activate_action),
FALSE }, /* is_active */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
@@ -226,13 +238,13 @@ enum {
static GtkRadioActionEntry color_entries[] = {
{ "Red", NULL, /* name, stock id */
"_Red", "<control>R", /* label, accelerator */
"_Red", "<control>R", /* label, accelerator */
"Blood", COLOR_RED }, /* tooltip, value */
{ "Green", NULL, /* name, stock id */
"_Green", "<control>G", /* label, accelerator */
"_Green", "<control>G", /* label, accelerator */
"Grass", COLOR_GREEN }, /* tooltip, value */
{ "Blue", NULL, /* name, stock id */
"_Blue", "<control>B", /* label, accelerator */
"_Blue", "<control>B", /* label, accelerator */
"Sky", COLOR_BLUE }, /* tooltip, value */
};
static guint n_color_entries = G_N_ELEMENTS (color_entries);
@@ -245,18 +257,18 @@ enum {
static GtkRadioActionEntry shape_entries[] = {
{ "Square", NULL, /* name, stock id */
"_Square", "<control>S", /* label, accelerator */
"_Square", "<control>S", /* label, accelerator */
"Square", SHAPE_SQUARE }, /* tooltip, value */
{ "Rectangle", NULL, /* name, stock id */
"_Rectangle", "<control>R", /* label, accelerator */
"_Rectangle", "<control>R", /* label, accelerator */
"Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
{ "Oval", NULL, /* name, stock id */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
};
static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
static const gchar *ui_info =
static const gchar *ui_info =
"<ui>"
" <menubar name='MenuBar'>"
" <menu action='FileMenu'>"
@@ -268,6 +280,7 @@ static const gchar *ui_info =
" <menuitem action='Quit'/>"
" </menu>"
" <menu action='PreferencesMenu'>"
" <menuitem action='DarkTheme'/>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
@@ -288,7 +301,7 @@ static const gchar *ui_info =
" <toolitem action='Open'>"
" <menu action='OpenMenu'>"
" <menuitem action='File1'/>"
" </menu>"
" </menu>"
" </toolitem>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
@@ -308,7 +321,7 @@ static void
register_stock_icons (void)
{
static gboolean registered = FALSE;
if (!registered)
{
GdkPixbuf *pixbuf;
@@ -320,12 +333,12 @@ register_stock_icons (void)
"_GTK!",
0, 0, NULL }
};
registered = TRUE;
/* Register our stock items */
gtk_stock_add (items, G_N_ELEMENTS (items));
/* Add our custom icon factory to the list of defaults */
factory = gtk_icon_factory_new ();
gtk_icon_factory_add_default (factory);
@@ -350,7 +363,7 @@ register_stock_icons (void)
/* The gtk-logo-rgb icon has a white background, make it transparent */
transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff);
icon_set = gtk_icon_set_new_from_pixbuf (transparent);
gtk_icon_factory_add (factory, "demo-gtk-logo", icon_set);
gtk_icon_set_unref (icon_set);
@@ -359,7 +372,7 @@ register_stock_icons (void)
}
else
g_warning ("failed to load GTK logo for toolbar");
/* Drop our reference to the factory, GTK will hold a reference. */
g_object_unref (factory);
}
@@ -373,9 +386,9 @@ update_statusbar (GtkTextBuffer *buffer,
gint row, col;
gint count;
GtkTextIter iter;
gtk_statusbar_pop (statusbar, 0); /* clear any previous message,
* underflow is allowed
gtk_statusbar_pop (statusbar, 0); /* clear any previous message,
* underflow is allowed
*/
count = gtk_text_buffer_get_char_count (buffer);
@@ -409,21 +422,21 @@ update_resize_grip (GtkWidget *widget,
GdkEventWindowState *event,
GtkStatusbar *statusbar)
{
if (event->changed_mask & (GDK_WINDOW_STATE_MAXIMIZED |
if (event->changed_mask & (GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN))
{
gboolean maximized;
maximized = event->new_window_state & (GDK_WINDOW_STATE_MAXIMIZED |
maximized = event->new_window_state & (GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN);
gtk_statusbar_set_has_resize_grip (statusbar, !maximized);
}
}
GtkWidget *
do_appwindow (GtkWidget *do_widget)
{
{
if (!window)
{
GtkWidget *table;
@@ -438,10 +451,10 @@ do_appwindow (GtkWidget *do_widget)
GError *error = NULL;
register_stock_icons ();
/* Create the toplevel window
*/
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
@@ -453,15 +466,15 @@ do_appwindow (GtkWidget *do_widget)
G_CALLBACK (gtk_widget_destroyed),
&window);
table = gtk_table_new (1, 4, FALSE);
table = gtk_table_new (1, 5, FALSE);
gtk_container_add (GTK_CONTAINER (window), table);
/* Create the menubar and toolbar
*/
action_group = gtk_action_group_new ("AppWindowActions");
open_action = g_object_new (tool_menu_action_get_type (),
open_action = g_object_new (tool_menu_action_get_type (),
"name", "Open",
"label", "_Open",
"tooltip", "Open a file",
@@ -469,30 +482,30 @@ do_appwindow (GtkWidget *do_widget)
NULL);
gtk_action_group_add_action (action_group, open_action);
g_object_unref (open_action);
gtk_action_group_add_actions (action_group,
entries, n_entries,
gtk_action_group_add_actions (action_group,
entries, n_entries,
window);
gtk_action_group_add_toggle_actions (action_group,
toggle_entries, n_toggle_entries,
gtk_action_group_add_toggle_actions (action_group,
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (action_group,
color_entries, n_color_entries,
gtk_action_group_add_radio_actions (action_group,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (action_group,
shape_entries, n_shape_entries,
gtk_action_group_add_radio_actions (action_group,
shape_entries, n_shape_entries,
SHAPE_SQUARE,
G_CALLBACK (activate_radio_action),
G_CALLBACK (activate_radio_action),
NULL);
merge = gtk_ui_manager_new ();
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge,
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge,
g_object_unref);
gtk_ui_manager_insert_action_group (merge, action_group, 0);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (merge));
if (!gtk_ui_manager_add_ui_from_string (merge, ui_info, -1, &error))
{
g_message ("building menus failed: %s", error->message);
@@ -502,7 +515,7 @@ do_appwindow (GtkWidget *do_widget)
bar = gtk_ui_manager_get_widget (merge, "/MenuBar");
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
bar,
/* X direction */ /* Y direction */
0, 1, 0, 1,
GTK_EXPAND | GTK_FILL, 0,
@@ -511,7 +524,7 @@ do_appwindow (GtkWidget *do_widget)
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
bar,
/* X direction */ /* Y direction */
0, 1, 1, 2,
GTK_EXPAND | GTK_FILL, 0,
@@ -520,6 +533,25 @@ do_appwindow (GtkWidget *do_widget)
/* Create document
*/
infobar = gtk_info_bar_new ();
gtk_widget_set_no_show_all (infobar, TRUE);
messagelabel = gtk_label_new ("");
gtk_widget_show (messagelabel);
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (infobar))),
messagelabel,
TRUE, TRUE, 0);
gtk_info_bar_add_button (GTK_INFO_BAR (infobar),
GTK_STOCK_OK, GTK_RESPONSE_OK);
g_signal_connect (infobar, "response",
G_CALLBACK (gtk_widget_hide), NULL);
gtk_table_attach (GTK_TABLE (table),
infobar,
/* X direction */ /* Y direction */
0, 1, 2, 3,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
@@ -528,20 +560,20 @@ do_appwindow (GtkWidget *do_widget)
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_IN);
gtk_table_attach (GTK_TABLE (table),
sw,
/* X direction */ /* Y direction */
0, 1, 2, 3,
0, 1, 3, 4,
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
0, 0);
gtk_window_set_default_size (GTK_WINDOW (window),
200, 200);
contents = gtk_text_view_new ();
gtk_widget_grab_focus (contents);
gtk_container_add (GTK_CONTAINER (sw),
contents);
@@ -551,7 +583,7 @@ do_appwindow (GtkWidget *do_widget)
gtk_table_attach (GTK_TABLE (table),
statusbar,
/* X direction */ /* Y direction */
0, 1, 3, 4,
0, 1, 4, 5,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
@@ -570,23 +602,25 @@ do_appwindow (GtkWidget *do_widget)
statusbar,
0);
g_signal_connect_object (window,
"window_state_event",
g_signal_connect_object (window,
"window_state_event",
G_CALLBACK (update_resize_grip),
statusbar,
0);
update_statusbar (buffer, GTK_STATUSBAR (statusbar));
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
infobar = NULL;
messagelabel = NULL;
}
return window;

View File

@@ -9,12 +9,35 @@
#include "demo-common.h"
static GtkWidget *assistant = NULL;
static GtkWidget *progress_bar = NULL;
static gboolean
apply_changes_gradually (gpointer data)
{
gdouble fraction;
/* Work, work, work... */
fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (progress_bar));
fraction += 0.05;
if (fraction < 1.0)
{
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);
return TRUE;
}
else
{
/* Close automatically once changes are fully applied. */
gtk_widget_destroy (assistant);
return FALSE;
}
}
static void
on_assistant_apply (GtkWidget *widget, gpointer data)
{
/* Apply here changes, this is a fictional
example, so we just do nothing here */
/* Start a timer to simulate changes taking a few seconds to apply. */
g_timeout_add (100, apply_changes_gradually, NULL);
}
static void
@@ -38,6 +61,13 @@ on_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer data)
title = g_strdup_printf ("Sample assistant (%d of %d)", current_page + 1, n_pages);
gtk_window_set_title (GTK_WINDOW (widget), title);
g_free (title);
/* The fourth page (counting from zero) is the progress page. The
* user clicked Apply to get here so we tell the assistant to commit,
* which means the changes up to this point are permanent and cannot
* be cancelled or revisited. */
if (current_page == 3)
gtk_assistant_commit (GTK_ASSISTANT (widget));
}
static void
@@ -127,6 +157,26 @@ create_page3 (GtkWidget *assistant)
g_object_unref (pixbuf);
}
static void
create_page4 (GtkWidget *assistant)
{
GtkWidget *page;
page = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
progress_bar = gtk_progress_bar_new ();
gtk_container_add (GTK_CONTAINER (page), progress_bar);
gtk_widget_show_all (page);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), page);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, "Applying changes");
/* This prevents the assistant window from being
* closed while we're "busy" applying changes. */
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, FALSE);
}
GtkWidget*
do_assistant (GtkWidget *do_widget)
{
@@ -142,6 +192,7 @@ do_assistant (GtkWidget *do_widget)
create_page1 (assistant);
create_page2 (assistant);
create_page3 (assistant);
create_page4 (assistant);
g_signal_connect (G_OBJECT (assistant), "cancel",
G_CALLBACK (on_assistant_close_cancel), &assistant);
@@ -153,7 +204,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

@@ -203,6 +203,10 @@ do_clipboard (GtkWidget *do_widget)
GtkClipboard *clipboard;
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), "Clipboard demo");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
@@ -310,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

@@ -0,0 +1,65 @@
/* Entry/Entry Buffer
*
* GtkEntryBuffer provides the text content in a GtkEntry.
*
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
GtkWidget *
do_entry_buffer (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *entry;
GtkEntryBuffer *buffer;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkEntryBuffer",
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);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "Entries share a buffer. Typing in one is reflected in the other.");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
/* Create a buffer */
buffer = gtk_entry_buffer_new (NULL, 0);
/* Create our first entry */
entry = gtk_entry_new_with_buffer (buffer);
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
/* Create the second entry */
entry = gtk_entry_new_with_buffer (buffer);
gtk_entry_set_visibility (GTK_ENTRY (entry), FALSE);
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
g_object_unref (buffer);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return 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

@@ -317,6 +317,7 @@ do_images (GtkWidget *do_widget)
GtkWidget *align;
GtkWidget *button;
GdkPixbuf *pixbuf;
GIcon *gicon;
GError *error = NULL;
char *filename;
@@ -415,6 +416,26 @@ do_images (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (frame), image);
/* Symbolic icon */
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Symbolic themed icon</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
gicon = g_themed_icon_new_with_default_fallbacks ("battery-critical-charging-symbolic");
image = gtk_image_new_from_gicon (gicon, GTK_ICON_SIZE_DIALOG);
gtk_container_add (GTK_CONTAINER (frame), image);
/* Progressive */
@@ -450,7 +471,7 @@ do_images (GtkWidget *do_widget)
vbox);
}
if (!GTK_WIDGET_VISIBLE (window))
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}

104
demos/gtk-demo/infobar.c Normal file
View File

@@ -0,0 +1,104 @@
/* Info bar
*
* Info bar widgets are used to report important messages to the user.
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static void
on_bar_response (GtkInfoBar *info_bar,
gint response_id,
gpointer user_data)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"You clicked a button on an info bar");
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
"Your response has id %d", response_id);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}
GtkWidget *
do_infobar (GtkWidget *do_widget)
{
GtkWidget *frame;
GtkWidget *bar;
GtkWidget *vbox;
GtkWidget *vbox2;
GtkWidget *label;
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), "Info Bars");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
bar = gtk_info_bar_new ();
gtk_box_pack_start (GTK_BOX (vbox), bar, FALSE, FALSE, 0);
gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_INFO);
label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_INFO");
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0);
bar = gtk_info_bar_new ();
gtk_box_pack_start (GTK_BOX (vbox), bar, FALSE, FALSE, 0);
gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_WARNING);
label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_WARNING");
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0);
bar = gtk_info_bar_new_with_buttons (GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
g_signal_connect (bar, "response", G_CALLBACK (on_bar_response), window);
gtk_box_pack_start (GTK_BOX (vbox), bar, FALSE, FALSE, 0);
gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_QUESTION);
label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_QUESTION");
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0);
bar = gtk_info_bar_new ();
gtk_box_pack_start (GTK_BOX (vbox), bar, FALSE, FALSE, 0);
gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_ERROR);
label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_ERROR");
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0);
bar = gtk_info_bar_new ();
gtk_box_pack_start (GTK_BOX (vbox), bar, FALSE, FALSE, 0);
gtk_info_bar_set_message_type (GTK_INFO_BAR (bar), GTK_MESSAGE_OTHER);
label = gtk_label_new ("This is an info bar with message type GTK_MESSAGE_OTHER");
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (bar))), label, FALSE, FALSE, 0);
frame = gtk_frame_new ("Info bars");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 8);
vbox2 = gtk_vbox_new (FALSE, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8);
gtk_container_add (GTK_CONTAINER (frame), vbox2);
/* Standard message dialog */
label = gtk_label_new ("An example of different info bars");
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
}
if (!gtk_widget_get_visible (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

84
demos/gtk-demo/links.c Normal file
View File

@@ -0,0 +1,84 @@
/* Links
*
* GtkLabel can show hyperlinks. The default action is to call
* gtk_show_uri() on their URI, but it is possible to override
* this with a custom handler.
*/
#include <gtk/gtk.h>
static void
response_cb (GtkWidget *dialog,
gint response_id,
gpointer data)
{
gtk_widget_destroy (dialog);
}
static gboolean
activate_link (GtkWidget *label,
const gchar *uri,
gpointer data)
{
if (g_strcmp0 (uri, "keynav") == 0)
{
GtkWidget *dialog;
GtkWidget *parent;
parent = gtk_widget_get_toplevel (label);
dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (parent),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"The term <i>keynav</i> is a shorthand for "
"keyboard navigation and refers to the process of using "
"a program (exclusively) via keyboard input.");
gtk_window_present (GTK_WINDOW (dialog));
g_signal_connect (dialog, "response", G_CALLBACK (response_cb), NULL);
return TRUE;
}
return FALSE;
}
static GtkWidget *window = NULL;
GtkWidget *
do_links (GtkWidget *do_widget)
{
GtkWidget *label;
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), "Links");
gtk_container_set_border_width (GTK_CONTAINER (window), 12);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
label = gtk_label_new ("Some <a href=\"http://en.wikipedia.org/wiki/Text\""
"title=\"plain text\">text</a> may be marked up\n"
"as hyperlinks, which can be clicked\n"
"or activated via <a href=\"keynav\">keynav</a>");
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
g_signal_connect (label, "activate-link", G_CALLBACK (activate_link), NULL);
gtk_container_add (GTK_CONTAINER (window), label);
gtk_widget_show (label);
}
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return 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,10 @@ enum
COLUMN_NUMBER,
COLUMN_SEVERITY,
COLUMN_DESCRIPTION,
COLUMN_PULSE,
COLUMN_ICON,
COLUMN_ACTIVE,
COLUMN_SENSITIVE,
NUM_COLUMNS
};
@@ -47,6 +53,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 +89,40 @@ 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_STRING,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN);
/* add data to the list store */
for (i = 0; i < G_N_ELEMENTS (data); i++)
{
gchar *icon_name;
gboolean sensitive;
if (i == 1 || i == 3)
icon_name = "battery-critical-charging-symbolic";
else
icon_name = NULL;
if (i == 3)
sensitive = FALSE;
else
sensitive = TRUE;
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_ICON, icon_name,
COLUMN_ACTIVE, FALSE,
COLUMN_SENSITIVE, sensitive,
-1);
}
return GTK_TREE_MODEL (store);
@@ -78,8 +130,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 +162,88 @@ 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);
/* column for symbolic icon */
renderer = gtk_cell_renderer_pixbuf_new ();
g_object_set (G_OBJECT (renderer), "follow-state", TRUE, NULL);
column = gtk_tree_view_column_new_with_attributes ("Symbolic icon",
renderer,
"icon-name",
COLUMN_ICON,
"sensitive",
COLUMN_SENSITIVE,
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_ICON);
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 +254,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 +274,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 +287,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 +298,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

@@ -941,8 +941,8 @@ main (int argc, char **argv)
if (g_file_test ("../../gdk-pixbuf/libpixbufloader-pnm.la",
G_FILE_TEST_EXISTS))
{
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/gtk.immodules", TRUE);
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/loaders.cache", TRUE);
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE);
}
/* -- End of hack -- */

View File

@@ -2,10 +2,10 @@
*
* There are several widgets involved in displaying menus. The
* GtkMenuBar widget is a menu bar, which normally appears horizontally
* at the top of an application, but can also be layed out vertically.
* The GtkMenu widget is the actual menu that pops up. Both GtkMenuBar
* and GtkMenu are subclasses of GtkMenuShell; a GtkMenuShell contains
* menu items (GtkMenuItem). Each menu item contains text and/or images
* at the top of an application, but can also be layed out vertically.
* The GtkMenu widget is the actual menu that pops up. Both GtkMenuBar
* and GtkMenu are subclasses of GtkMenuShell; a GtkMenuShell contains
* menu items (GtkMenuItem). Each menu item contains text and/or images
* and can be selected by the user.
*
* There are several kinds of menu item, including plain GtkMenuItem,
@@ -22,7 +22,6 @@
* GtkUIManager provides a higher-level interface for creating menu bars
* and menus; while you can construct menus manually, most people don't
* do that. There's a separate demo for GtkUIManager.
*
*/
#include <gtk/gtk.h>
@@ -118,37 +117,35 @@ change_orientation (GtkWidget *button,
}
}
static GtkWidget *window = NULL;
GtkWidget *
do_menus (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkWidget *box;
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *button;
if (!window)
{
GtkWidget *menubar;
GtkWidget *menu;
GtkWidget *menuitem;
GtkAccelGroup *accel_group;
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), "Menus");
g_signal_connect (window, "destroy",
G_CALLBACK(gtk_widget_destroyed), &window);
g_signal_connect (window, "delete-event",
G_CALLBACK (gtk_true), NULL);
accel_group = gtk_accel_group_new ();
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
gtk_window_set_title (GTK_WINDOW (window), "menus");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
box = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show (box);
@@ -156,18 +153,18 @@ do_menus (GtkWidget *do_widget)
box1 = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (box), box1);
gtk_widget_show (box1);
menubar = gtk_menu_bar_new ();
gtk_box_pack_start (GTK_BOX (box1), menubar, FALSE, TRUE, 0);
gtk_widget_show (menubar);
menu = create_menu (2, TRUE);
menuitem = gtk_menu_item_new_with_label ("test\nline2");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
menuitem = gtk_menu_item_new_with_label ("foo");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (3, TRUE));
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
@@ -178,7 +175,7 @@ do_menus (GtkWidget *do_widget)
gtk_menu_item_set_right_justified (GTK_MENU_ITEM (menuitem), TRUE);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
box2 = gtk_vbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
@@ -194,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

@@ -0,0 +1,579 @@
/* Offscreen windows/Rotated button
*
* Offscreen windows can be used to transform parts of a widget
* hierarchy. Note that the rotated button is fully functional.
*/
#include <math.h>
#include <gtk/gtk.h>
#define GTK_TYPE_ROTATED_BIN (gtk_rotated_bin_get_type ())
#define GTK_ROTATED_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ROTATED_BIN, GtkRotatedBin))
#define GTK_ROTATED_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ROTATED_BIN, GtkRotatedBinClass))
#define GTK_IS_ROTATED_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ROTATED_BIN))
#define GTK_IS_ROTATED_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ROTATED_BIN))
#define GTK_ROTATED_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ROTATED_BIN, GtkRotatedBinClass))
typedef struct _GtkRotatedBin GtkRotatedBin;
typedef struct _GtkRotatedBinClass GtkRotatedBinClass;
struct _GtkRotatedBin
{
GtkContainer container;
GtkWidget *child;
GdkWindow *offscreen_window;
gdouble angle;
};
struct _GtkRotatedBinClass
{
GtkContainerClass parent_class;
};
GType gtk_rotated_bin_get_type (void) G_GNUC_CONST;
GtkWidget* gtk_rotated_bin_new (void);
void gtk_rotated_bin_set_angle (GtkRotatedBin *bin,
gdouble angle);
/*** implementation ***/
static void gtk_rotated_bin_realize (GtkWidget *widget);
static void gtk_rotated_bin_unrealize (GtkWidget *widget);
static void gtk_rotated_bin_size_request (GtkWidget *widget,
GtkRequisition *requisition);
static void gtk_rotated_bin_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
static gboolean gtk_rotated_bin_damage (GtkWidget *widget,
GdkEventExpose *event);
static gboolean gtk_rotated_bin_expose (GtkWidget *widget,
GdkEventExpose *offscreen);
static void gtk_rotated_bin_add (GtkContainer *container,
GtkWidget *child);
static void gtk_rotated_bin_remove (GtkContainer *container,
GtkWidget *widget);
static void gtk_rotated_bin_forall (GtkContainer *container,
gboolean include_internals,
GtkCallback callback,
gpointer callback_data);
static GType gtk_rotated_bin_child_type (GtkContainer *container);
G_DEFINE_TYPE (GtkRotatedBin, gtk_rotated_bin, GTK_TYPE_CONTAINER);
static void
to_child (GtkRotatedBin *bin,
double widget_x,
double widget_y,
double *x_out,
double *y_out)
{
GtkAllocation child_area;
double x, y, xr, yr;
double c, s;
double w, h;
s = sin (bin->angle);
c = cos (bin->angle);
child_area = bin->child->allocation;
w = c * child_area.width + s * child_area.height;
h = s * child_area.width + c * child_area.height;
x = widget_x;
y = widget_y;
x -= (w - child_area.width) / 2;
y -= (h - child_area.height) / 2;
x -= child_area.width / 2;
y -= child_area.height / 2;
xr = x * c + y * s;
yr = y * c - x * s;
x = xr;
y = yr;
x += child_area.width / 2;
y += child_area.height / 2;
*x_out = x;
*y_out = y;
}
static void
to_parent (GtkRotatedBin *bin,
double offscreen_x,
double offscreen_y,
double *x_out,
double *y_out)
{
GtkAllocation child_area;
double x, y, xr, yr;
double c, s;
double w, h;
s = sin (bin->angle);
c = cos (bin->angle);
child_area = bin->child->allocation;
w = c * child_area.width + s * child_area.height;
h = s * child_area.width + c * child_area.height;
x = offscreen_x;
y = offscreen_y;
x -= child_area.width / 2;
y -= child_area.height / 2;
xr = x * c - y * s;
yr = x * s + y * c;
x = xr;
y = yr;
x += child_area.width / 2;
y += child_area.height / 2;
x -= (w - child_area.width) / 2;
y -= (h - child_area.height) / 2;
*x_out = x;
*y_out = y;
}
static void
gtk_rotated_bin_class_init (GtkRotatedBinClass *klass)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
widget_class->realize = gtk_rotated_bin_realize;
widget_class->unrealize = gtk_rotated_bin_unrealize;
widget_class->size_request = gtk_rotated_bin_size_request;
widget_class->size_allocate = gtk_rotated_bin_size_allocate;
widget_class->expose_event = gtk_rotated_bin_expose;
g_signal_override_class_closure (g_signal_lookup ("damage-event", GTK_TYPE_WIDGET),
GTK_TYPE_ROTATED_BIN,
g_cclosure_new (G_CALLBACK (gtk_rotated_bin_damage),
NULL, NULL));
container_class->add = gtk_rotated_bin_add;
container_class->remove = gtk_rotated_bin_remove;
container_class->forall = gtk_rotated_bin_forall;
container_class->child_type = gtk_rotated_bin_child_type;
}
static void
gtk_rotated_bin_init (GtkRotatedBin *bin)
{
gtk_widget_set_has_window (GTK_WIDGET (bin), TRUE);
}
GtkWidget *
gtk_rotated_bin_new (void)
{
return g_object_new (GTK_TYPE_ROTATED_BIN, NULL);
}
static GdkWindow *
pick_offscreen_child (GdkWindow *offscreen_window,
double widget_x,
double widget_y,
GtkRotatedBin *bin)
{
GtkAllocation child_area;
double x, y;
if (bin->child && gtk_widget_get_visible (bin->child))
{
to_child (bin, widget_x, widget_y, &x, &y);
child_area = bin->child->allocation;
if (x >= 0 && x < child_area.width &&
y >= 0 && y < child_area.height)
return bin->offscreen_window;
}
return NULL;
}
static void
offscreen_window_to_parent (GdkWindow *offscreen_window,
double offscreen_x,
double offscreen_y,
double *parent_x,
double *parent_y,
GtkRotatedBin *bin)
{
to_parent (bin, offscreen_x, offscreen_y, parent_x, parent_y);
}
static void
offscreen_window_from_parent (GdkWindow *window,
double parent_x,
double parent_y,
double *offscreen_x,
double *offscreen_y,
GtkRotatedBin *bin)
{
to_child (bin, parent_x, parent_y, offscreen_x, offscreen_y);
}
static void
gtk_rotated_bin_realize (GtkWidget *widget)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
GdkWindowAttr attributes;
gint attributes_mask;
gint border_width;
GtkRequisition child_requisition;
gtk_widget_set_realized (widget, TRUE);
border_width = GTK_CONTAINER (widget)->border_width;
attributes.x = widget->allocation.x + border_width;
attributes.y = widget->allocation.y + border_width;
attributes.width = widget->allocation.width - 2 * border_width;
attributes.height = widget->allocation.height - 2 * border_width;
attributes.window_type = GDK_WINDOW_CHILD;
attributes.event_mask = gtk_widget_get_events (widget)
| GDK_EXPOSURE_MASK
| GDK_POINTER_MOTION_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_BUTTON_RELEASE_MASK
| GDK_SCROLL_MASK
| GDK_ENTER_NOTIFY_MASK
| GDK_LEAVE_NOTIFY_MASK;
attributes.visual = gtk_widget_get_visual (widget);
attributes.colormap = gtk_widget_get_colormap (widget);
attributes.wclass = GDK_INPUT_OUTPUT;
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
&attributes, attributes_mask);
gdk_window_set_user_data (widget->window, widget);
g_signal_connect (widget->window, "pick-embedded-child",
G_CALLBACK (pick_offscreen_child), bin);
attributes.window_type = GDK_WINDOW_OFFSCREEN;
child_requisition.width = child_requisition.height = 0;
if (bin->child && gtk_widget_get_visible (bin->child))
{
attributes.width = bin->child->allocation.width;
attributes.height = bin->child->allocation.height;
}
bin->offscreen_window = gdk_window_new (gtk_widget_get_root_window (widget),
&attributes, attributes_mask);
gdk_window_set_user_data (bin->offscreen_window, widget);
if (bin->child)
gtk_widget_set_parent_window (bin->child, bin->offscreen_window);
gdk_offscreen_window_set_embedder (bin->offscreen_window, widget->window);
g_signal_connect (bin->offscreen_window, "to-embedder",
G_CALLBACK (offscreen_window_to_parent), bin);
g_signal_connect (bin->offscreen_window, "from-embedder",
G_CALLBACK (offscreen_window_from_parent), bin);
widget->style = gtk_style_attach (widget->style, widget->window);
gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
gtk_style_set_background (widget->style, bin->offscreen_window, GTK_STATE_NORMAL);
gdk_window_show (bin->offscreen_window);
}
static void
gtk_rotated_bin_unrealize (GtkWidget *widget)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
gdk_window_set_user_data (bin->offscreen_window, NULL);
gdk_window_destroy (bin->offscreen_window);
bin->offscreen_window = NULL;
GTK_WIDGET_CLASS (gtk_rotated_bin_parent_class)->unrealize (widget);
}
static GType
gtk_rotated_bin_child_type (GtkContainer *container)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (container);
if (bin->child)
return G_TYPE_NONE;
return GTK_TYPE_WIDGET;
}
static void
gtk_rotated_bin_add (GtkContainer *container,
GtkWidget *widget)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (container);
if (!bin->child)
{
gtk_widget_set_parent_window (widget, bin->offscreen_window);
gtk_widget_set_parent (widget, GTK_WIDGET (bin));
bin->child = widget;
}
else
g_warning ("GtkRotatedBin cannot have more than one child\n");
}
static void
gtk_rotated_bin_remove (GtkContainer *container,
GtkWidget *widget)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (container);
gboolean was_visible;
was_visible = gtk_widget_get_visible (widget);
if (bin->child == widget)
{
gtk_widget_unparent (widget);
bin->child = NULL;
if (was_visible && gtk_widget_get_visible (GTK_WIDGET (container)))
gtk_widget_queue_resize (GTK_WIDGET (container));
}
}
static void
gtk_rotated_bin_forall (GtkContainer *container,
gboolean include_internals,
GtkCallback callback,
gpointer callback_data)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (container);
g_return_if_fail (callback != NULL);
if (bin->child)
(*callback) (bin->child, callback_data);
}
void
gtk_rotated_bin_set_angle (GtkRotatedBin *bin,
gdouble angle)
{
g_return_if_fail (GTK_IS_ROTATED_BIN (bin));
bin->angle = angle;
gtk_widget_queue_resize (GTK_WIDGET (bin));
gdk_window_geometry_changed (bin->offscreen_window);
}
static void
gtk_rotated_bin_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
GtkRequisition child_requisition;
double s, c;
double w, h;
child_requisition.width = 0;
child_requisition.height = 0;
if (bin->child && gtk_widget_get_visible (bin->child))
gtk_widget_size_request (bin->child, &child_requisition);
s = sin (bin->angle);
c = cos (bin->angle);
w = c * child_requisition.width + s * child_requisition.height;
h = s * child_requisition.width + c * child_requisition.height;
requisition->width = GTK_CONTAINER (widget)->border_width * 2 + w;
requisition->height = GTK_CONTAINER (widget)->border_width * 2 + h;
}
static void
gtk_rotated_bin_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
gint border_width;
gint w, h;
gdouble s, c;
widget->allocation = *allocation;
border_width = GTK_CONTAINER (widget)->border_width;
w = allocation->width - border_width * 2;
h = allocation->height - border_width * 2;
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_get_visible (bin->child))
{
GtkRequisition child_requisition;
GtkAllocation child_allocation;
s = sin (bin->angle);
c = cos (bin->angle);
gtk_widget_get_child_requisition (bin->child, &child_requisition);
child_allocation.x = 0;
child_allocation.y = 0;
child_allocation.height = child_requisition.height;
if (c == 0.0)
child_allocation.width = h / s;
else if (s == 0.0)
child_allocation.width = w / c;
else
child_allocation.width = MIN ((w - s * child_allocation.height) / c,
(h - c * child_allocation.height) / s);
if (gtk_widget_get_realized (widget))
gdk_window_move_resize (bin->offscreen_window,
child_allocation.x,
child_allocation.y,
child_allocation.width,
child_allocation.height);
child_allocation.x = child_allocation.y = 0;
gtk_widget_size_allocate (bin->child, &child_allocation);
}
}
static gboolean
gtk_rotated_bin_damage (GtkWidget *widget,
GdkEventExpose *event)
{
gdk_window_invalidate_rect (widget->window, NULL, FALSE);
return TRUE;
}
static gboolean
gtk_rotated_bin_expose (GtkWidget *widget,
GdkEventExpose *event)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
gint width, height;
gdouble s, c;
gdouble w, h;
if (gtk_widget_is_drawable (widget))
{
if (event->window == widget->window)
{
GdkPixmap *pixmap;
GtkAllocation child_area;
cairo_t *cr;
if (bin->child && gtk_widget_get_visible (bin->child))
{
pixmap = gdk_offscreen_window_get_pixmap (bin->offscreen_window);
child_area = bin->child->allocation;
cr = gdk_cairo_create (widget->window);
/* transform */
s = sin (bin->angle);
c = cos (bin->angle);
w = c * child_area.width + s * child_area.height;
h = s * child_area.width + c * child_area.height;
cairo_translate (cr, (w - child_area.width) / 2, (h - child_area.height) / 2);
cairo_translate (cr, child_area.width / 2, child_area.height / 2);
cairo_rotate (cr, bin->angle);
cairo_translate (cr, -child_area.width / 2, -child_area.height / 2);
/* clip */
gdk_drawable_get_size (pixmap, &width, &height);
cairo_rectangle (cr, 0, 0, width, height);
cairo_clip (cr);
/* paint */
gdk_cairo_set_source_pixmap (cr, pixmap, 0, 0);
cairo_paint (cr);
cairo_destroy (cr);
}
}
else if (event->window == bin->offscreen_window)
{
gtk_paint_flat_box (widget->style, event->window,
GTK_STATE_NORMAL, GTK_SHADOW_NONE,
&event->area, widget, "blah",
0, 0, -1, -1);
if (bin->child)
gtk_container_propagate_expose (GTK_CONTAINER (widget),
bin->child,
event);
}
}
return FALSE;
}
/*** ***/
static void
scale_changed (GtkRange *range,
GtkRotatedBin *bin)
{
gtk_rotated_bin_set_angle (bin, gtk_range_get_value (range));
}
static GtkWidget *window = NULL;
GtkWidget *
do_offscreen_window (GtkWidget *do_widget)
{
if (!window)
{
GtkWidget *bin, *vbox, *scale, *button;
GdkColor black;
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), "Rotated widget");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gdk_color_parse ("black", &black);
gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &black);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_vbox_new (0, FALSE);
scale = gtk_hscale_new_with_range (0, G_PI/2, 0.01);
gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE);
button = gtk_button_new_with_label ("A Button");
bin = gtk_rotated_bin_new ();
g_signal_connect (scale, "value-changed", G_CALLBACK (scale_changed), bin);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), bin, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (bin), button);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -0,0 +1,500 @@
/* Offscreen windows/Effects
*
* Offscreen windows can be used to render elements multiple times to achieve
* various effects.
*/
#include <gtk/gtk.h>
#define GTK_TYPE_MIRROR_BIN (gtk_mirror_bin_get_type ())
#define GTK_MIRROR_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MIRROR_BIN, GtkMirrorBin))
#define GTK_MIRROR_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MIRROR_BIN, GtkMirrorBinClass))
#define GTK_IS_MIRROR_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MIRROR_BIN))
#define GTK_IS_MIRROR_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MIRROR_BIN))
#define GTK_MIRROR_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MIRROR_BIN, GtkMirrorBinClass))
typedef struct _GtkMirrorBin GtkMirrorBin;
typedef struct _GtkMirrorBinClass GtkMirrorBinClass;
struct _GtkMirrorBin
{
GtkContainer container;
GtkWidget *child;
GdkWindow *offscreen_window;
};
struct _GtkMirrorBinClass
{
GtkContainerClass parent_class;
};
GType gtk_mirror_bin_get_type (void) G_GNUC_CONST;
GtkWidget* gtk_mirror_bin_new (void);
/*** implementation ***/
static void gtk_mirror_bin_realize (GtkWidget *widget);
static void gtk_mirror_bin_unrealize (GtkWidget *widget);
static void gtk_mirror_bin_size_request (GtkWidget *widget,
GtkRequisition *requisition);
static void gtk_mirror_bin_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
static gboolean gtk_mirror_bin_damage (GtkWidget *widget,
GdkEventExpose *event);
static gboolean gtk_mirror_bin_expose (GtkWidget *widget,
GdkEventExpose *offscreen);
static void gtk_mirror_bin_add (GtkContainer *container,
GtkWidget *child);
static void gtk_mirror_bin_remove (GtkContainer *container,
GtkWidget *widget);
static void gtk_mirror_bin_forall (GtkContainer *container,
gboolean include_internals,
GtkCallback callback,
gpointer callback_data);
static GType gtk_mirror_bin_child_type (GtkContainer *container);
G_DEFINE_TYPE (GtkMirrorBin, gtk_mirror_bin, GTK_TYPE_CONTAINER);
static void
to_child (GtkMirrorBin *bin,
double widget_x,
double widget_y,
double *x_out,
double *y_out)
{
*x_out = widget_x;
*y_out = widget_y;
}
static void
to_parent (GtkMirrorBin *bin,
double offscreen_x,
double offscreen_y,
double *x_out,
double *y_out)
{
*x_out = offscreen_x;
*y_out = offscreen_y;
}
static void
gtk_mirror_bin_class_init (GtkMirrorBinClass *klass)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
widget_class->realize = gtk_mirror_bin_realize;
widget_class->unrealize = gtk_mirror_bin_unrealize;
widget_class->size_request = gtk_mirror_bin_size_request;
widget_class->size_allocate = gtk_mirror_bin_size_allocate;
widget_class->expose_event = gtk_mirror_bin_expose;
g_signal_override_class_closure (g_signal_lookup ("damage-event", GTK_TYPE_WIDGET),
GTK_TYPE_MIRROR_BIN,
g_cclosure_new (G_CALLBACK (gtk_mirror_bin_damage),
NULL, NULL));
container_class->add = gtk_mirror_bin_add;
container_class->remove = gtk_mirror_bin_remove;
container_class->forall = gtk_mirror_bin_forall;
container_class->child_type = gtk_mirror_bin_child_type;
}
static void
gtk_mirror_bin_init (GtkMirrorBin *bin)
{
gtk_widget_set_has_window (GTK_WIDGET (bin), TRUE);
}
GtkWidget *
gtk_mirror_bin_new (void)
{
return g_object_new (GTK_TYPE_MIRROR_BIN, NULL);
}
static GdkWindow *
pick_offscreen_child (GdkWindow *offscreen_window,
double widget_x,
double widget_y,
GtkMirrorBin *bin)
{
GtkAllocation child_area;
double x, y;
if (bin->child && gtk_widget_get_visible (bin->child))
{
to_child (bin, widget_x, widget_y, &x, &y);
child_area = bin->child->allocation;
if (x >= 0 && x < child_area.width &&
y >= 0 && y < child_area.height)
return bin->offscreen_window;
}
return NULL;
}
static void
offscreen_window_to_parent (GdkWindow *offscreen_window,
double offscreen_x,
double offscreen_y,
double *parent_x,
double *parent_y,
GtkMirrorBin *bin)
{
to_parent (bin, offscreen_x, offscreen_y, parent_x, parent_y);
}
static void
offscreen_window_from_parent (GdkWindow *window,
double parent_x,
double parent_y,
double *offscreen_x,
double *offscreen_y,
GtkMirrorBin *bin)
{
to_child (bin, parent_x, parent_y, offscreen_x, offscreen_y);
}
static void
gtk_mirror_bin_realize (GtkWidget *widget)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
GdkWindowAttr attributes;
gint attributes_mask;
gint border_width;
GtkRequisition child_requisition;
gtk_widget_set_realized (widget, TRUE);
border_width = GTK_CONTAINER (widget)->border_width;
attributes.x = widget->allocation.x + border_width;
attributes.y = widget->allocation.y + border_width;
attributes.width = widget->allocation.width - 2 * border_width;
attributes.height = widget->allocation.height - 2 * border_width;
attributes.window_type = GDK_WINDOW_CHILD;
attributes.event_mask = gtk_widget_get_events (widget)
| GDK_EXPOSURE_MASK
| GDK_POINTER_MOTION_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_BUTTON_RELEASE_MASK
| GDK_SCROLL_MASK
| GDK_ENTER_NOTIFY_MASK
| GDK_LEAVE_NOTIFY_MASK;
attributes.visual = gtk_widget_get_visual (widget);
attributes.colormap = gtk_widget_get_colormap (widget);
attributes.wclass = GDK_INPUT_OUTPUT;
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
&attributes, attributes_mask);
gdk_window_set_user_data (widget->window, widget);
g_signal_connect (widget->window, "pick-embedded-child",
G_CALLBACK (pick_offscreen_child), bin);
attributes.window_type = GDK_WINDOW_OFFSCREEN;
child_requisition.width = child_requisition.height = 0;
if (bin->child && gtk_widget_get_visible (bin->child))
{
attributes.width = bin->child->allocation.width;
attributes.height = bin->child->allocation.height;
}
bin->offscreen_window = gdk_window_new (gtk_widget_get_root_window (widget),
&attributes, attributes_mask);
gdk_window_set_user_data (bin->offscreen_window, widget);
if (bin->child)
gtk_widget_set_parent_window (bin->child, bin->offscreen_window);
gdk_offscreen_window_set_embedder (bin->offscreen_window, widget->window);
g_signal_connect (bin->offscreen_window, "to-embedder",
G_CALLBACK (offscreen_window_to_parent), bin);
g_signal_connect (bin->offscreen_window, "from-embedder",
G_CALLBACK (offscreen_window_from_parent), bin);
widget->style = gtk_style_attach (widget->style, widget->window);
gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
gtk_style_set_background (widget->style, bin->offscreen_window, GTK_STATE_NORMAL);
gdk_window_show (bin->offscreen_window);
}
static void
gtk_mirror_bin_unrealize (GtkWidget *widget)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
gdk_window_set_user_data (bin->offscreen_window, NULL);
gdk_window_destroy (bin->offscreen_window);
bin->offscreen_window = NULL;
GTK_WIDGET_CLASS (gtk_mirror_bin_parent_class)->unrealize (widget);
}
static GType
gtk_mirror_bin_child_type (GtkContainer *container)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (container);
if (bin->child)
return G_TYPE_NONE;
return GTK_TYPE_WIDGET;
}
static void
gtk_mirror_bin_add (GtkContainer *container,
GtkWidget *widget)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (container);
if (!bin->child)
{
gtk_widget_set_parent_window (widget, bin->offscreen_window);
gtk_widget_set_parent (widget, GTK_WIDGET (bin));
bin->child = widget;
}
else
g_warning ("GtkMirrorBin cannot have more than one child\n");
}
static void
gtk_mirror_bin_remove (GtkContainer *container,
GtkWidget *widget)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (container);
gboolean was_visible;
was_visible = gtk_widget_get_visible (widget);
if (bin->child == widget)
{
gtk_widget_unparent (widget);
bin->child = NULL;
if (was_visible && gtk_widget_get_visible (GTK_WIDGET (container)))
gtk_widget_queue_resize (GTK_WIDGET (container));
}
}
static void
gtk_mirror_bin_forall (GtkContainer *container,
gboolean include_internals,
GtkCallback callback,
gpointer callback_data)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (container);
g_return_if_fail (callback != NULL);
if (bin->child)
(*callback) (bin->child, callback_data);
}
static void
gtk_mirror_bin_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
GtkRequisition child_requisition;
child_requisition.width = 0;
child_requisition.height = 0;
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;
requisition->height = GTK_CONTAINER (widget)->border_width * 2 + child_requisition.height * 2 + 10;
}
static void
gtk_mirror_bin_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
gint border_width;
gint w, h;
widget->allocation = *allocation;
border_width = GTK_CONTAINER (widget)->border_width;
w = allocation->width - border_width * 2;
h = allocation->height - border_width * 2;
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_get_visible (bin->child))
{
GtkRequisition child_requisition;
GtkAllocation child_allocation;
gtk_widget_get_child_requisition (bin->child, &child_requisition);
child_allocation.x = 0;
child_allocation.y = 0;
child_allocation.height = child_requisition.height;
child_allocation.width = child_requisition.width;
if (gtk_widget_get_realized (widget))
gdk_window_move_resize (bin->offscreen_window,
allocation->x + border_width,
allocation->y + border_width,
child_allocation.width, child_allocation.height);
gtk_widget_size_allocate (bin->child, &child_allocation);
}
}
static gboolean
gtk_mirror_bin_damage (GtkWidget *widget,
GdkEventExpose *event)
{
gdk_window_invalidate_rect (widget->window, NULL, FALSE);
return TRUE;
}
static gboolean
gtk_mirror_bin_expose (GtkWidget *widget,
GdkEventExpose *event)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
gint width, height;
if (gtk_widget_is_drawable (widget))
{
if (event->window == widget->window)
{
GdkPixmap *pixmap;
cairo_t *cr;
cairo_matrix_t matrix;
cairo_pattern_t *mask;
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);
cr = gdk_cairo_create (widget->window);
cairo_save (cr);
cairo_rectangle (cr, 0, 0, width, height);
cairo_clip (cr);
/* paint the offscreen child */
gdk_cairo_set_source_pixmap (cr, pixmap, 0, 0);
cairo_paint (cr);
cairo_restore (cr);
cairo_matrix_init (&matrix, 1.0, 0.0, 0.3, 1.0, 0.0, 0.0);
cairo_matrix_scale (&matrix, 1.0, -1.0);
cairo_matrix_translate (&matrix, -10, - 3 * height - 10);
cairo_transform (cr, &matrix);
cairo_rectangle (cr, 0, height, width, height);
cairo_clip (cr);
gdk_cairo_set_source_pixmap (cr, pixmap, 0, height);
/* create linear gradient as mask-pattern to fade out the source */
mask = cairo_pattern_create_linear (0.0, height, 0.0, 2*height);
cairo_pattern_add_color_stop_rgba (mask, 0.0, 0.0, 0.0, 0.0, 0.0);
cairo_pattern_add_color_stop_rgba (mask, 0.25, 0.0, 0.0, 0.0, 0.01);
cairo_pattern_add_color_stop_rgba (mask, 0.5, 0.0, 0.0, 0.0, 0.25);
cairo_pattern_add_color_stop_rgba (mask, 0.75, 0.0, 0.0, 0.0, 0.5);
cairo_pattern_add_color_stop_rgba (mask, 1.0, 0.0, 0.0, 0.0, 1.0);
/* paint the reflection */
cairo_mask (cr, mask);
cairo_pattern_destroy (mask);
cairo_destroy (cr);
}
}
else if (event->window == bin->offscreen_window)
{
gtk_paint_flat_box (widget->style, event->window,
GTK_STATE_NORMAL, GTK_SHADOW_NONE,
&event->area, widget, "blah",
0, 0, -1, -1);
if (bin->child)
gtk_container_propagate_expose (GTK_CONTAINER (widget),
bin->child,
event);
}
}
return FALSE;
}
/*** ***/
static GtkWidget *window = NULL;
GtkWidget *
do_offscreen_window2 (GtkWidget *do_widget)
{
if (!window)
{
GtkWidget *bin, *vbox;
GtkWidget *hbox, *entry, *applybutton, *backbutton;
GtkSizeGroup *group;
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), "Effects");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_vbox_new (0, FALSE);
bin = gtk_mirror_bin_new ();
group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
hbox = gtk_hbox_new (FALSE, 6);
backbutton = gtk_button_new ();
gtk_container_add (GTK_CONTAINER (backbutton),
gtk_image_new_from_stock (GTK_STOCK_GO_BACK, 4));
gtk_size_group_add_widget (group, backbutton);
entry = gtk_entry_new ();
gtk_size_group_add_widget (group, entry);
applybutton = gtk_button_new ();
gtk_size_group_add_widget (group, applybutton);
gtk_container_add (GTK_CONTAINER (applybutton),
gtk_image_new_from_stock (GTK_STOCK_APPLY, 4));
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_box_pack_start (GTK_BOX (vbox), bin, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (bin), hbox);
gtk_box_pack_start (GTK_BOX (hbox), backbutton, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), applybutton, FALSE, FALSE, 0);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

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

@@ -13,19 +13,19 @@
#define HEADER_HEIGHT (10*72/25.4)
#define HEADER_GAP (3*72/25.4)
typedef struct
typedef struct
{
gchar *filename;
gdouble font_size;
gint lines_per_page;
gint lines_per_page;
gchar **lines;
gint num_lines;
gint num_pages;
} PrintData;
static void
begin_print (GtkPrintOperation *operation,
begin_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
{
@@ -35,9 +35,9 @@ begin_print (GtkPrintOperation *operation,
double height;
height = gtk_print_context_get_height (context) - HEADER_HEIGHT - HEADER_GAP;
data->lines_per_page = floor (height / data->font_size);
g_file_get_contents (data->filename, &contents, NULL, NULL);
data->lines = g_strsplit (contents, "\n", 0);
@@ -46,7 +46,7 @@ begin_print (GtkPrintOperation *operation,
i = 0;
while (data->lines[i] != NULL)
i++;
data->num_lines = i;
data->num_pages = (data->num_lines - 1) / data->lines_per_page + 1;
@@ -72,10 +72,10 @@ draw_page (GtkPrintOperation *operation,
width = gtk_print_context_get_width (context);
cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT);
cairo_set_source_rgb (cr, 0.8, 0.8, 0.8);
cairo_fill_preserve (cr);
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_set_line_width (cr, 1);
cairo_stroke (cr);
@@ -107,19 +107,19 @@ draw_page (GtkPrintOperation *operation,
pango_layout_get_pixel_size (layout, &text_width, &text_height);
cairo_move_to (cr, width - text_width - 4, (HEADER_HEIGHT - text_height) / 2);
pango_cairo_show_layout (cr, layout);
g_object_unref (layout);
layout = gtk_print_context_create_pango_layout (context);
desc = pango_font_description_from_string ("monospace");
pango_font_description_set_size (desc, data->font_size * PANGO_SCALE);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
cairo_move_to (cr, 0, HEADER_HEIGHT + HEADER_GAP);
line = page_nr * data->lines_per_page;
for (i = 0; i < data->lines_per_page && line < data->num_lines; i++)
for (i = 0; i < data->lines_per_page && line < data->num_lines; i++)
{
pango_layout_set_text (layout, data->lines[line], -1);
pango_cairo_show_layout (cr, layout);
@@ -131,7 +131,7 @@ draw_page (GtkPrintOperation *operation,
}
static void
end_print (GtkPrintOperation *operation,
end_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
{
@@ -147,7 +147,10 @@ GtkWidget *
do_printing (GtkWidget *do_widget)
{
GtkPrintOperation *operation;
GtkPrintSettings *settings;
PrintData *data;
gchar *uri, *ext;
const gchar *dir;
GError *error = NULL;
operation = gtk_print_operation_new ();
@@ -155,37 +158,55 @@ do_printing (GtkWidget *do_widget)
data->filename = demo_find_file ("printing.c", NULL);
data->font_size = 12.0;
g_signal_connect (G_OBJECT (operation), "begin-print",
g_signal_connect (G_OBJECT (operation), "begin-print",
G_CALLBACK (begin_print), data);
g_signal_connect (G_OBJECT (operation), "draw-page",
g_signal_connect (G_OBJECT (operation), "draw-page",
G_CALLBACK (draw_page), data);
g_signal_connect (G_OBJECT (operation), "end-print",
g_signal_connect (G_OBJECT (operation), "end-print",
G_CALLBACK (end_print), data);
gtk_print_operation_set_use_full_page (operation, FALSE);
gtk_print_operation_set_unit (operation, GTK_UNIT_POINTS);
gtk_print_operation_set_embed_page_setup (operation, TRUE);
settings = gtk_print_settings_new ();
dir = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);
if (dir == NULL)
dir = g_get_home_dir ();
if (g_strcmp0 (gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT), "ps") == 0)
ext = ".ps";
else if (g_strcmp0 (gtk_print_settings_get (settings, GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT), "svg") == 0)
ext = ".svg";
else
ext = ".pdf";
uri = g_strconcat ("file://", dir, "/", "gtk-demo", ext, NULL);
gtk_print_settings_set (settings, GTK_PRINT_SETTINGS_OUTPUT_URI, uri);
gtk_print_operation_set_print_settings (operation, settings);
gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW (do_widget), &error);
g_object_unref (operation);
g_object_unref (settings);
g_free (uri);
if (error)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (do_widget),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
gtk_widget_show (dialog);
}
return NULL;
}

View File

@@ -211,19 +211,19 @@ do_rotated_text (GtkWidget *do_widget)
label = gtk_label_new (text);
gtk_container_add (GTK_CONTAINER (box), label);
gtk_label_set_angle (label, 45);
gtk_label_set_angle (GTK_LABEL (label), 45);
/* Set up fancy stuff on the label */
layout = gtk_label_get_layout (label);
layout = gtk_label_get_layout (GTK_LABEL (label));
pango_cairo_context_set_shape_renderer (pango_layout_get_context (layout),
fancy_shape_renderer,
NULL, NULL);
attrs = create_fancy_attr_list_for_layout (layout);
gtk_label_set_attributes (label, attrs);
gtk_label_set_attributes (GTK_LABEL (label), attrs);
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);

View File

@@ -16,5 +16,5 @@ void
pixbuf_init (void)
{
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE);
}

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

@@ -19,3 +19,5 @@ EXTRA_DIST += \
generation.txt \
gtkdocs_fix \
RELEASE-HOWTO
-include $(top_srcdir)/git.mk

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:
@@ -25,16 +26,21 @@ Without those packages make distcheck will *not* pass.
committers, etc. Anybody who is mentioned in ChangeLog gets
credits, but only real names, not email addresses or nicknames.
3) In particular, if this is a major, stable, release, verify that
3) Update the pot files and commit the changes:
make -C po gtk30.pot
make -C po-properties gtk30-properties.pot
4) In particular, if this is a major, stable, release, verify that
README.in contains the relevant release notes and that the
required versions of dependencies in INSTALL.in are in sync
with configure.in.
with configure.ac.
4) Verify that the version in configure.in has been bumped after the last
5) Verify that the version in configure.ac has been bumped after the last
release. (Note that this is critical, a slip-up here will cause the
soname to change).
5) Make sure that make check is happy (If you don't do it here, make distcheck
6) Make sure that make check is happy (If you don't do it here, make distcheck
will also catch it, but it is kind of disheartening to see make distcheck
fail due to an extraneous symbol after watching it build the docs for an
hour...).
@@ -48,7 +54,7 @@ Without those packages make distcheck will *not* pass.
using a function from a different library, which is not yet allowed
by the filter in pltcheck.sh
6) If this is a devel release, make sure that the docs for new symbols
7) If this is a devel release, make sure that the docs for new symbols
are in good shape. Look at the -unused.txt files and add stuff found
there to the corresponding -sections.txt file. Look at the
-undocumented.txt files and see if there is anything in there that
@@ -57,12 +63,12 @@ Without those packages make distcheck will *not* pass.
Since: tags, and that there is an index in the main -docs.sgml for
the next stable version.
7) make distcheck
8) make distcheck
8) Fix broken stuff found by 7), repeat
9) Fix broken stuff found by 8), commit changes: git commit -a, repeat.
9) Commit all changes: git commit -a. You will have a bunch of po file
changes, NEWS and maybe some doc changes too
10) Once distcheck succeeds, verify that the tree is clean: git diff should
come up empty.
10) Now you've got the tarball. Check that the tarball size looks
reasonable compared to previous releases. If the size goes down
@@ -77,7 +83,7 @@ Without those packages make distcheck will *not* pass.
git push origin refs/tags/2.12.10
13) Bump the version number in configure.in and commit and push this change
13) Bump the version number in configure.ac and commit and push this change
14) Upload the tarball to master.gnome.org and run install-module to transfer
it to download.gnome.org. If you don't have an account on master.gnome.org,
@@ -101,7 +107,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

@@ -17,6 +17,8 @@ pdf:
(cd $(srcdir); db2pdf gtk-faq.sgml); \
fi
all-local: html
dist-hook: html
cp -Rp $(srcdir)/html $(distdir)
else
@@ -38,3 +40,5 @@ dist-hook:
endif
.PHONY: html
-include $(top_srcdir)/git.mk

View File

@@ -789,7 +789,7 @@ disgrace to the widget set will gladly be included.</para>
<para>The new widgets that get added to GTK+ are generally either
replacements for existing widgets that are no longer
deemed to be adequate, or have been developed externally to GTK+ but
have been widely tested.
have been widely tested.</para>
<para>Before you spend months of your valuable time implementing your
revolutionary widget, it is highly recommended that you get some
@@ -996,11 +996,11 @@ relevant packages. These are:</para>
or on any GNU mirror.</para>
<para>In order to use the powerful autoconf/automake scheme,
you must create a configure.in which may look like:</para>
you must create a configure.ac which may look like:</para>
<programlisting role="C">
dnl Process this file with autoconf to produce a configure script.
dnl configure.in for a GTK+ based program
dnl configure.ac for a GTK+ based program
AC_INIT(myprg.c)
AM_INIT_AUTOMAKE(mypkgname, 0.0.1)
@@ -1137,8 +1137,7 @@ myapp --display=:1
| | | +GtkCombo
| | | `GtkStatusbar
| | `GtkVBox
| | +GtkColorSelection
| | `GtkGammaCurve
| | `GtkColorSelection
| +GtkButton
| | +GtkOptionMenu
| | `GtkToggleButton
@@ -1160,7 +1159,6 @@ myapp --display=:1
| +GtkToolbar
| `GtkTree
+GtkDrawingArea
| `GtkCurve
+GtkEditable
| +GtkEntry
| | `GtkSpinButton
@@ -1629,11 +1627,7 @@ int main(int argc, char *argv[])
g_signal_connect(G_OBJECT (window), "destroy",
G_CALLBACK(destroy), NULL);
#if (GTK_MAJOR_VERSION == 1) &amp;&amp; (GTK_MINOR_VERSION == 0)
gtk_container_border_width(GTK_CONTAINER (window), 10);
#else
gtk_container_set_border_width(GTK_CONTAINER (window), 10);
#endif
/* add a button to do something useful */
button = gtk_button_new_with_label("Fork me!");
@@ -1898,7 +1892,7 @@ not applied you'll have to use the
function. <literal>gtk_object_class_user_signal_new</literal> allows you
to add a new signal to a predefined GTK+ widget without any
modification of the GTK+ source code. The new signal can be
emited with <literal>gtk_signal_emit</literal> and can be
emited with <literal>g_signal_emit</literal> and can be
handled in the same way as other signals.</para>
<para>Tim Janik posted this code snippet:</para>
@@ -1920,7 +1914,7 @@ gtk_widget_user_action (GtkWidget *widget,
{
g_return_if_fail (GTK_IS_WIDGET (widget));
gtk_signal_emit (GTK_OBJECT (widget), signal_user_action, act_data);
g_signal_emit (widget, signal_user_action, act_data);
}
</programlisting>
@@ -2108,10 +2102,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 +2301,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>
@@ -2527,15 +2521,15 @@ using the following expression:</para>
<para>If you don't want the user to be able to modify the
content of this entry, you can use the
gtk_entry_set_editable() function:</para>
gtk_editable_set_editable() function:</para>
<programlisting role="C">
void gtk_entry_set_editable(GtkEntry *entry,
gboolean editable);
void gtk_editable_set_editable (GtkEditable *editable,
gboolean is_editable);
</programlisting>
<para>Set the editable parameter to FALSE to disable typing
<para>Set the is_editable parameter to FALSE to disable typing
into the entry.</para>
</sect1>
@@ -2559,10 +2553,10 @@ into the entry.</para>
signal handler with</para>
<programlisting role="C">
gtk_signal_connect(GTK_COMBO(cb)->entry,
"changed",
GTK_SIGNAL_FUNC(my_cb_change_handler),
NULL);
g_signal_connect(GTK_COMBO(cb)->entry,
"changed",
G_CALLBACK(my_cb_change_handler),
NULL);
</programlisting>
</sect1>
@@ -2629,8 +2623,8 @@ underlined, and the relevant accelerators are created.</para>
gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
file1 = gtk_menu_item_new_with_label ("");
tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file1)->child),
_("_File"));
gtk_label_set_use_underline (GTK_LABEL (gtk_bin_get_child (GTK_BIN (file1))),
TRUE);
gtk_widget_add_accelerator (file1, "activate_item", accel_group,
tmp_key, GDK_MOD1_MASK, 0);
gtk_object_set_data (GTK_OBJECT (window1), "file1", file1);
@@ -2643,8 +2637,8 @@ underlined, and the relevant accelerators are created.</para>
gtk_menu_item_set_submenu (GTK_MENU_ITEM (file1), file1_menu);
new1 = gtk_menu_item_new_with_label ("");
tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (new1)->child),
_("_New"));
gtk_label_set_use_underline (GTK_LABEL (gtk_bin_get_child (GTK_BIN (new1))),
TRUE);
gtk_widget_add_accelerator (new1, "activate_item", file1_menu_accels,
tmp_key, 0, 0);
gtk_object_set_data (GTK_OBJECT (window1), "new1", new1);
@@ -2670,9 +2664,9 @@ GtkMenuItem with:</para>
/* do stuff with child */
if (GTK_IS_LABEL (child))
{
gchar *text;
const gchar *text;
gtk_label_get (GTK_LABEL (child), &amp;text);
text = gtk_label_get_text (GTK_LABEL (child));
g_print ("menu item text: %s\n", text);
}
}
@@ -2864,9 +2858,9 @@ be:</para>
<programlisting role="C">
entry = gtk_entry_new();
gtk_signal_connect (GTK_OBJECT(entry), "activate",
GTK_SIGNAL_FUNC(entry_callback),
NULL);
g_signal_connect (entry, "activate",
G_CALLBACK(entry_callback),
NULL);
</programlisting>
</sect1>
@@ -3044,8 +3038,8 @@ main (int argc, char *argv[])
gtk_container_add (GTK_CONTAINER (window), text);
/* connect after everything else */
gtk_signal_connect_after (GTK_OBJECT(text), "button_press_event",
GTK_SIGNAL_FUNC (insert_bar), NULL);
g_signal_connect_after (text, "button_press_event",
G_CALLBACK (insert_bar), NULL);
gtk_widget_show_all(window);
gtk_main();
@@ -3108,7 +3102,7 @@ like this:</para>
gc = gdk_gc_new(widget->window);
/* find proper dimensions for rectangle */
gdk_window_get_size(widget->window, &amp;width, &amp;height);
gdk_drawable_get_size(widget->window, &amp;width, &amp;height);
/* the color we want to use */
color = (GdkColor *)malloc(sizeof(GdkColor));
@@ -3130,7 +3124,7 @@ like this:</para>
* displays. Therefore, this call is required so that GDK and X can
* give us the closest color available in the colormap
*/
gdk_color_alloc(gtk_widget_get_colormap(widget), color);
gdk_colormap_alloc_color(gtk_widget_get_colormap(widget), color, FALSE, TRUE);
/* set the foreground to our color */
gdk_gc_set_foreground(gc, color);

View File

@@ -152,10 +152,10 @@ and the AM_PATH_GTK macro. The program used here is the testinput.c
You should first read the introductory portions of the automake
Manual, if you are not already familiar with it.
Two files are needed, 'configure.in', which is used to build the
Two files are needed, 'configure.ac', which is used to build the
configure script:
==configure.in===
==configure.ac===
dnl Process this file with autoconf to produce a configure script.
AC_INIT(testinput.c)

View File

@@ -197,7 +197,7 @@ GtkOptionMenu looks like this:
/* menu_item->ref_count == 1 and it is flagged as `floating'.
*/
gtk_menu_append (GTK_MENU (menu), menu_item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
/* menu_item->ref_count still == 1, but it is no longer `floating'.
*/
@@ -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

@@ -1,5 +1,8 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
SUBDIRS = gdk-pixbuf gdk gtk libgail-util
SUBDIRS = gdk gtk libgail-util
GITIGNOREFILES = */*.1
-include $(top_srcdir)/git.mk

View File

@@ -1,97 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gdk-pixbuf
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-pixbuf.sgml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--source-dir=../../../contrib/gdk-pixbuf-xlib --deprecated-guards="GDK_PIXBUF_ENABLE_BROKEN|GDK_PIXBUF_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gdk-pixbuf
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gdk-pixbuf/*.h $(top_srcdir)/contrib/gdk-pixbuf-xlib/*.h
CFILE_GLOB=$(top_srcdir)/gdk-pixbuf/*.c $(top_srcdir)/contrib/gdk-pixbuf-xlib/*.c
# Header files to ignore when scanning
IGNORE_HFILES= \
pixops \
gdk-pixbuf-alias.h \
gdk-pixbuf-marshal.h \
gdk-pixbuf-xlib-private.h \
gdk-pixbuf-i18n.h \
gdk-pixbuf-private.h \
io-gif-animation.h \
io-ani-animation.h \
xpm-color-table.h \
test-images.h
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
GTKDOC_LIBS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml --name-space=gdk_pixbuf
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml \
gdk-pixbuf-from-drawables.sgml \
gdk-pixbuf-rendering.sgml \
gdk-pixbuf.sgml \
porting-from-imlib.sgml \
gdk-pixbuf-csource.xml \
gdk-pixbuf-query-loaders.xml
# Images to copy into HTML directory
HTML_IMAGES = composite.png
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS= --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in \
composite.png \
composite.dia \
apple-red-1a.png \
apple-red-2c.png \
gnome-gmush-1.png
########################################################################
if ENABLE_MAN
man_MANS = gdk-pixbuf-csource.1 gdk-pixbuf-query-loaders.1
%.1 : %.xml
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
endif
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@@ -1,177 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-csource">
<refmeta>
<refentrytitle>gdk-pixbuf-csource</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gdk-pixbuf-csource</refname>
<refpurpose>C code generation utility for GdkPixbuf images</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-csource</command>
<arg choice="opt">options</arg>
<arg choice="opt">image</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>gdk-pixbuf-csource</command>
<arg choice="opt">options</arg>
<arg choice="plain">--build-list</arg>
<arg rep="repeat">
<arg>name</arg>
<arg>image</arg>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gdk-pixbuf-csource</command> is a small utility that generates C code
containing images, useful for compiling images directly into programs.
</para>
</refsect1>
<refsect1><title>Invocation</title>
<para>
<command>gdk-pixbuf-csource</command> either takes as input one image file name
to generate code for, or, using the <option>--build-list</option> option, a
list of (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
pairs to generate code for a list of images into named variables.
</para>
<refsect2><title>Options</title>
<variablelist>
<varlistentry>
<term><option>--stream</option></term>
<listitem><para>
Generate pixbuf data stream (a single string containing a serialized
<structname>GdkPixdata</structname> structure in network byte order).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--struct</option></term>
<listitem><para>
Generate GdkPixdata structure (needs the <structname>GdkPixdata</structname>
structure definition from <filename>gdk-pixdata.h</filename>).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--macros</option></term>
<listitem><para>
Generate *_ROWSTRIDE, *_WIDTH, *_HEIGHT, *_BYTES_PER_PIXEL and
*_RLE_PIXEL_DATA or *_PIXEL_DATA macro definitions for the image.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--rle</option></term>
<listitem><para>
Enables run-length encoding for the generated pixel data (default).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--raw</option></term>
<listitem><para>
Disables run-length encoding for the generated pixel data.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--extern</option></term>
<listitem><para>
Generate extern symbols.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--static</option></term>
<listitem><para>
Generate static symbols (default).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--decoder</option></term>
<listitem><para>
Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) macro definition
to decode run-length encoded image data.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--name=identifier</option></term>
<listitem><para>
Specifies the identifier name (prefix) for the generated variables or
macros (useful only if <option>--build-list</option> was not specified).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--build-list</option></term>
<listitem><para>
Enables (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
pair parsing mode.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option>, <option>--help</option></term>
<listitem><para>
Print brief help and exit.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option>, <option>--version</option></term>
<listitem><para>
Print version and exit.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--g-fatal-warnings</option></term>
<listitem><para>
Make warnings fatal (causes the program to abort).
</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1><title>See also</title>
<para>
The <structname>GdkPixbuf</structname> documentation, shipped with the
Gtk+ distribution, available from <ulink url="http://www.gtk.org">www.gtk.org</ulink>.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
The runlength encoder gets out of sync with the pixel boundaries, since
it includes the rowstride padding in the encoded stream. Furthermore, it
generates pixbufs with suboptimal rowstride in some cases.
</para>
</refsect1>
<refsect1><title>Author</title>
<para>
<command>gdk-pixbuf-csource</command> was written by Tim Janik
<email>timj@gtk.org</email>.
</para>
<para>
This manual page was provided by Tim Janik <email>timj@gtk.org</email>.
</para>
</refsect1>
</refentry>

View File

@@ -1,29 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-gdk-pixbuf-from-drawables">
<refmeta>
<refentrytitle>Drawables to Pixbufs</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GDK-PIXBUF Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Drawables to Pixbufs</refname><refpurpose>Getting parts of a GDK drawable's image data into a pixbuf.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
The functions to take the image data from a GDK drawable and dump it
into a pixbuf are contained in GDK, see the
<link linkend="gdk-Pixbufs">Pixbufs</link> section of the GDK
documentation.
</para>
</refsect1>
</refentry>

View File

@@ -1,55 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-query-loaders">
<refmeta>
<refentrytitle>gdk-pixbuf-query-loaders</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gdk-pixbuf-query-loaders</refname>
<refpurpose>GdkPixbuf loader registration utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-query-loaders</command>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gdk-pixbuf-query-loaders</command> collects information about loadable
modules for <application>gdk-pixbuf</application> and writes it to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the
<application>gdk-pixbuf</application> loader directory.
</para>
<para>
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
</refsect1>
<refsect1><title>Environment</title>
<para>
The environment variable <envar>GDK_PIXBUF_MODULEDIR</envar> can be used
to specify a different loader directory. The default <application>gdk-pixbuf</application> loader
directory is <filename><replaceable>libdir</replaceable>/gtk-2.0/<replaceable>version</replaceable>/loaders</filename>.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
None known yet.
</para>
</refsect1>
</refentry>

View File

@@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-gdk-pixbuf-rendering">
<refmeta>
<refentrytitle>Rendering</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GDK-PIXBUF Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Rendering</refname><refpurpose>Rendering a pixbuf to a GDK drawable.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
The functions to render pixbufs to GDK drawables are contained in
GDK, see the <link linkend="gdk-Pixbufs">Pixbufs</link> section
of the GDK documentation.
</para>
</refsect1>
</refentry>

View File

@@ -1,300 +0,0 @@
<INCLUDE>gdk-pixbuf/gdk-pixbuf.h</INCLUDE>
<SECTION>
<TITLE>Versioning</TITLE>
<FILE>initialization_versions</FILE>
<SUBSECTION>
gdk_pixbuf_version
gdk_pixbuf_major_version
gdk_pixbuf_minor_version
gdk_pixbuf_micro_version
GDK_PIXBUF_VERSION
GDK_PIXBUF_MAJOR
GDK_PIXBUF_MINOR
GDK_PIXBUF_MICRO
<SUBSECTION Private>
GDK_PIXBUF_VAR
</SECTION>
<SECTION>
<FILE>gdk-pixbuf</FILE>
GdkPixbufError
GDK_PIXBUF_ERROR
GdkColorspace
GdkPixbufAlphaMode
GdkPixbuf
gdk_pixbuf_get_colorspace
gdk_pixbuf_get_n_channels
gdk_pixbuf_get_has_alpha
gdk_pixbuf_get_bits_per_sample
gdk_pixbuf_get_pixels
gdk_pixbuf_get_width
gdk_pixbuf_get_height
gdk_pixbuf_get_rowstride
gdk_pixbuf_get_option
<SUBSECTION Standard>
GDK_TYPE_PIXBUF_ERROR
GDK_TYPE_COLORSPACE
GDK_TYPE_PIXBUF_ALPHA_MODE
GDK_PIXBUF
GDK_TYPE_PIXBUF
GDK_IS_PIXBUF
<SUBSECTION Private>
gdk_pixbuf_get_type
gdk_pixbuf_error_quark
gdk_colorspace_get_type
gdk_pixbuf_alpha_mode_get_type
gdk_pixbuf_error_get_type
</SECTION>
<SECTION>
<FILE>refcounting</FILE>
gdk_pixbuf_ref
gdk_pixbuf_unref
GdkPixbufDestroyNotify
</SECTION>
<SECTION>
<FILE>file-loading</FILE>
gdk_pixbuf_new_from_file
gdk_pixbuf_new_from_file_at_size
gdk_pixbuf_new_from_file_at_scale
gdk_pixbuf_get_file_info
gdk_pixbuf_new_from_stream
gdk_pixbuf_new_from_stream_at_scale
</SECTION>
<SECTION>
<FILE>file-saving</FILE>
gdk_pixbuf_savev
gdk_pixbuf_save
GdkPixbufSaveFunc
gdk_pixbuf_save_to_callback
gdk_pixbuf_save_to_callbackv
gdk_pixbuf_save_to_buffer
gdk_pixbuf_save_to_bufferv
gdk_pixbuf_save_to_stream
</SECTION>
<SECTION>
<FILE>creating</FILE>
gdk_pixbuf_new
gdk_pixbuf_new_from_data
gdk_pixbuf_new_from_xpm_data
gdk_pixbuf_new_from_inline
gdk_pixbuf_new_subpixbuf
gdk_pixbuf_copy
</SECTION>
<SECTION>
<INCLUDE>gdk-pixbuf/gdk-pixdata.h</INCLUDE>
<FILE>inline</FILE>
GdkPixdata
GdkPixdataType
GdkPixdataDumpType
GDK_PIXBUF_MAGIC_NUMBER
GDK_PIXDATA_HEADER_LENGTH
gdk_pixdata_from_pixbuf
gdk_pixbuf_from_pixdata
gdk_pixdata_serialize
gdk_pixdata_deserialize
gdk_pixdata_to_csource
</SECTION>
<SECTION>
<FILE>util</FILE>
gdk_pixbuf_add_alpha
gdk_pixbuf_copy_area
gdk_pixbuf_saturate_and_pixelate
gdk_pixbuf_apply_embedded_orientation
gdk_pixbuf_fill
</SECTION>
<SECTION>
<FILE>animation</FILE>
GdkPixbufAnimation
GdkPixbufAnimationIter
gdk_pixbuf_animation_new_from_file
gdk_pixbuf_animation_ref
gdk_pixbuf_animation_unref
gdk_pixbuf_animation_get_width
gdk_pixbuf_animation_get_height
gdk_pixbuf_animation_get_iter
gdk_pixbuf_animation_is_static_image
gdk_pixbuf_animation_get_static_image
gdk_pixbuf_animation_iter_advance
gdk_pixbuf_animation_iter_get_delay_time
gdk_pixbuf_animation_iter_on_currently_loading_frame
gdk_pixbuf_animation_iter_get_pixbuf
<SUBSECTION>
GdkPixbufSimpleAnim
gdk_pixbuf_simple_anim_new
gdk_pixbuf_simple_anim_add_frame
<SUBSECTION Standard>
GDK_PIXBUF_ANIMATION
GDK_TYPE_PIXBUF_ANIMATION
GDK_IS_PIXBUF_ANIMATION
GDK_IS_PIXBUF_ANIMATION_ITER
GDK_PIXBUF_ANIMATION_ITER
GDK_TYPE_PIXBUF_ANIMATION_ITER
GDK_PIXBUF_SIMPLE_ANIM_GET_CLASS
GDK_IS_PIXBUF_SIMPLE_ANIM
GDK_PIXBUF_SIMPLE_ANIM_CLASS
GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS
GDK_TYPE_PIXBUF_SIMPLE_ANIM
GDK_PIXBUF_SIMPLE_ANIM
GDK_TYPE_PIXBUF_SCALED_ANIM
GDK_TYPE_PIXBUF_SCALED_ANIM_ITER
<SUBSECTION Private>
gdk_pixbuf_non_anim_new
gdk_pixbuf_animation_get_type
gdk_pixbuf_animation_iter_get_type
gdk_pixbuf_simple_anim_get_type
gdk_pixbuf_simple_anim_iter_get_type
GdkPixbufSimpleAnimClass
gdk_pixbuf_scaled_anim_get_type
gdk_pixbuf_scaled_anim_iter_get_type
GdkPixbufScaledAnimClass
GdkPixbufScaledAnim
</SECTION>
<SECTION>
<FILE>scaling</FILE>
GdkInterpType
gdk_pixbuf_scale_simple
gdk_pixbuf_scale
gdk_pixbuf_composite_color_simple
gdk_pixbuf_composite
gdk_pixbuf_composite_color
GdkPixbufRotation
gdk_pixbuf_rotate_simple
gdk_pixbuf_flip
<SUBSECTION Standard>
GDK_TYPE_INTERP_TYPE
GDK_TYPE_PIXBUF_ROTATION
<SUBSECTION Private>
gdk_interp_type_get_type
gdk_pixbuf_rotation_get_type
</SECTION>
<SECTION>
<FILE>gdk-pixbuf-loader</FILE>
<TITLE>GdkPixbufLoader</TITLE>
GdkPixbufLoader
gdk_pixbuf_loader_new
gdk_pixbuf_loader_new_with_type
gdk_pixbuf_loader_new_with_mime_type
gdk_pixbuf_loader_get_format
gdk_pixbuf_loader_write
gdk_pixbuf_loader_set_size
gdk_pixbuf_loader_get_pixbuf
gdk_pixbuf_loader_get_animation
gdk_pixbuf_loader_close
<SUBSECTION Standard>
GDK_PIXBUF_LOADER
GDK_PIXBUF_LOADER_GET_CLASS
GDK_TYPE_PIXBUF_LOADER
GDK_IS_PIXBUF_LOADER
GDK_PIXBUF_LOADER_CLASS
GDK_IS_PIXBUF_LOADER_CLASS
<SUBSECTION Private>
GdkPixbufLoaderClass
gdk_pixbuf_loader_get_type
</SECTION>
<SECTION>
<TITLE>Module Interface</TITLE>
<FILE>module_interface</FILE>
gdk_pixbuf_set_option
gdk_pixbuf_get_formats
gdk_pixbuf_format_get_name
gdk_pixbuf_format_get_description
gdk_pixbuf_format_get_mime_types
gdk_pixbuf_format_get_extensions
gdk_pixbuf_format_is_writable
gdk_pixbuf_format_is_scalable
gdk_pixbuf_format_is_disabled
gdk_pixbuf_format_set_disabled
gdk_pixbuf_format_get_license
GdkPixbufFormat
GdkPixbufFormatFlags
GdkPixbufModulePattern
GdkPixbufModuleFillVtableFunc
GdkPixbufModuleFillInfoFunc
GdkPixbufModuleSizeFunc
GdkPixbufModulePreparedFunc
GdkPixbufModuleUpdatedFunc
GdkPixbufModule
<SUBSECTION Animation>
GdkPixbufAnimationClass
GdkPixbufAnimationIterClass
<SUBSECTION Standard>
GDK_PIXBUF_ANIMATION_GET_CLASS
GDK_IS_PIXBUF_ANIMATION_ITER_CLASS
GDK_PIXBUF_ANIMATION_ITER_CLASS
GDK_IS_PIXBUF_ANIMATION_CLASS
GDK_PIXBUF_ANIMATION_ITER_GET_CLASS
GDK_PIXBUF_ANIMATION_CLASS
</SECTION>
<SECTION>
<FILE>gdk-pixbuf-xlib-init</FILE>
gdk_pixbuf_xlib_init
gdk_pixbuf_xlib_init_with_depth
</SECTION>
<SECTION>
<FILE>gdk-pixbuf-xlib-rendering</FILE>
gdk_pixbuf_xlib_render_threshold_alpha
gdk_pixbuf_xlib_render_to_drawable
gdk_pixbuf_xlib_render_to_drawable_alpha
gdk_pixbuf_xlib_render_pixmap_and_mask
</SECTION>
<SECTION>
<FILE>gdk-pixbuf-xlib-from-drawables</FILE>
gdk_pixbuf_xlib_get_from_drawable
</SECTION>
<SECTION>
<FILE>gdk-pixbuf-xlib-rgb</FILE>
XlibRgbCmap
XlibRgbDither
xlib_rgb_init
xlib_rgb_init_with_depth
xlib_rgb_xpixel_from_rgb
xlib_rgb_gc_set_foreground
xlib_rgb_gc_set_background
xlib_draw_rgb_image
xlib_draw_rgb_image_dithalign
xlib_draw_rgb_32_image
xlib_draw_gray_image
xlib_rgb_cmap_new
xlib_rgb_cmap_free
xlib_draw_indexed_image
xlib_rgb_ditherable
xlib_rgb_set_verbose
xlib_rgb_set_install
xlib_rgb_set_min_colors
xlib_rgb_get_cmap
xlib_rgb_get_visual
xlib_rgb_get_visual_info
xlib_rgb_get_depth
xlib_rgb_get_display
xlib_rgb_get_screen
</SECTION>

View File

@@ -1,189 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>GDK-PixBuf Reference Manual</title>
<releaseinfo>
Version &version;
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://library.gnome.org/devel/gdk-pixbuf/unstable/">http://library.gnome.org/devel/gdk-pixbuf/unstable/</ulink>.
</releaseinfo>
<authorgroup>
<author>
<firstname>Federico</firstname>
<surname>Mena Quintero</surname>
<affiliation>
<address>
<email>federico@gimp.org</email>
</address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>2000</year>
<holder>The Free Software Foundation</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <citetitle>GNU Free
Documentation License</citetitle>, Version 1.1 or any later
version published by the Free Software Foundation with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. You may obtain a copy of the <citetitle>GNU Free
Documentation License</citetitle> from the Free Software
Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing
to:
<address>
The Free Software Foundation, Inc.,
<street>59 Temple Place</street> - Suite 330,
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
<country>USA</country>
</address>
</para>
<para>
Many of the names used by companies to distinguish their
products and services are claimed as trademarks. Where those
names appear in any GNOME documentation, and those trademarks
are made aware to the members of the GNOME Documentation
Project, the names have been printed in caps or initial caps.
</para>
</legalnotice>
</bookinfo>
<reference>
<title>API Reference</title>
<partintro>
<para>
This part presents the class and function reference for the
&gdk-pixbuf; library. Classes are described together with
their methods; individual functions are grouped by functional
group.
</para>
</partintro>
<xi:include href="xml/initialization_versions.xml" />
<xi:include href="xml/gdk-pixbuf.xml" />
<xi:include href="xml/refcounting.xml" />
<xi:include href="xml/file-loading.xml" />
<xi:include href="xml/file-saving.xml" />
<xi:include href="xml/creating.xml" />
<xi:include href="xml/inline.xml" />
<xi:include href="xml/scaling.xml" />
<xi:include href="gdk-pixbuf-rendering.sgml" />
<xi:include href="gdk-pixbuf-from-drawables.sgml" />
<xi:include href="xml/util.xml" />
<xi:include href="xml/animation.xml" />
<xi:include href="xml/gdk-pixbuf-loader.xml" />
<xi:include href="xml/module_interface.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-init.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-rendering.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-from-drawables.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-rgb.xml" />
</reference>
<reference>
<title>Tools Reference</title>
<partintro>
<para>
This part presents the tools which are shipped with the
&gdk-pixbuf; library.
</para>
</partintro>
<xi:include href="gdk-pixbuf-csource.xml" />
<xi:include href="gdk-pixbuf-query-loaders.xml" />
</reference>
<index id="api-index-full">
<title>Index of all symbols</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-deprecated" role="deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="porting-from-imlib.sgml" />
<!-- License -->
<appendix id="license">
<title>License</title>
<para>
This library is free software; you can redistribute it and/or
modify it under the terms of the <citetitle>GNU Library General
Public License</citetitle> as published by the Free Software
Foundation; either version 2 of the License, or (at your option)
any later version.
</para>
<para>
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<citetitle>GNU Library General Public License</citetitle> for
more details.
</para>
<para>
You may obtain a copy of the <citetitle>GNU Library General
Public License</citetitle> from the Free Software Foundation by
visiting <ulink type="http" url="http://www.fsf.org">their Web
site</ulink> or by writing to:
<address>
Free Software Foundation, Inc.
<street>59 Temple Place</street> - Suite 330
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
<country>USA</country>
</address>
</para>
</appendix>
</book>

View File

@@ -1,6 +0,0 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
gdk_pixbuf_get_type
gdk_pixbuf_loader_get_type
gdk_pixbuf_animation_get_type
gdk_pixbuf_animation_iter_get_type

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,358 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
]>
<appendix>
<title>Porting applications from &Imlib; to &gdk-pixbuf;</title>
<para>
This appendix contains the basic steps needed to port an
application that uses the &Imlib; library to use &gdk-pixbuf;
instead.
</para>
<note>
<para>
This appendix refers to version 1 of the &Imlib; library; this
discussion is not relevant to Imlib 2. Also, we discuss the
gdk_imlib API instead of the Xlib-based API.
</para>
</note>
<!-- Introduction -->
<sect1>
<title>Introduction</title>
<para>
Prior to the GNOME 1.2 platform, the &Imlib; library was the
preferred way of loading and rendering images in GNOME
applications. Unfortunately, &Imlib; has important design
limitations that make it hard to write efficient and highly
modular applications.
</para>
<para>
The &gdk-pixbuf; library was designed as a solution to
&Imlib;'s shortcomings. It provides a simple, orthogonal API
and convenience functions for the most common operations. In
addition, it supports full transparency information for
images, or alpha channel. More importantly, it has
well-defined semantics for memory management through the use
of reference counting; &Imlib; has an intractably complex
memory management mechanism and cache that will make your head
spin.
</para>
</sect1>
<!-- Differences between Imlib and gdk-pixbuf -->
<sect1>
<title>Differences between &Imlib; and &gdk-pixbuf;</title>
<para>
Generally, applications that use &Imlib; do not have to be
changed extensively to use &gdk-pixbuf;; its simple and
flexible API makes things easy. This section describes the
differences between &Imlib; and &gdk-pixbuf;; you should take
these into account when modifying your applications to use
&gdk-pixbuf;.
</para>
<!-- Initialization -->
<sect2>
<title>Initialization</title>
<para>
The &gdk-pixbuf; library does not need to be initialized.
</para>
<note>
<para>
In GNOME applications you normally don't need to
initialize &Imlib;, as <function>gnome_init()</function>
calls <function>gdk_imlib_init()</function> automatically.
</para>
</note>
</sect2>
<!-- Memory management -->
<sect2>
<title>Memory management</title>
<para>
The &gdk-pixbuf; library provides a simple, well-defined
memory management mechanism for images in the form of
reference counting. This makes it very convenient to use
for large-scale applications that need to share images
between different parts of the program. In stark contrast,
&Imlib; has a terribly complex mechanism of an image and
pixmap cache which makes it very hard for applications to
share image structures between different parts of the
program. Unfortunately this mechanism makes things very
prone to memory leaks and tricky bugs.
</para>
<para>
The basic principle in &gdk-pixbuf; is that when you obtain
a new <link linkend="GdkPixbuf">GdkPixbuf</link> structure,
it is created with an initial reference count of 1. When
another part of the program wants to keep a reference to the
pixbuf, it should call <function>g_object_ref()</function>;
this will increase the reference count by 1. When some part
of the program does not need to keep a reference to a pixbuf
anymore and wants to release the pixbuf, it should call
<function>g_object_unref()</function>; this will decrease
the reference count by 1. When the reference count drops to
zero, the pixbuf gets destroyed or
<emphasis>finalized</emphasis> and its memory is freed.
</para>
<para>
For applications that need to implement a cache of loaded
images, &gdk-pixbuf; provides a way to hook to the last
unreference operation of a pixbuf; instead of finalizing the
pixbuf, the user-installed hook can decide to keep it around
in a cache instead.
</para>
<para>
Finally, &gdk-pixbuf; does not provide a cache of rendered
pixmaps. This is unnecessary for most applications, since
the scaling and rendering functions are quite fast and
applications may need to use subtly different values each
time they call these functions, for example, to take into
account dithering and zooming offsets.
</para>
<para>
Most applications will simply need to call
<function>g_object_ref()</function> when they want to keep
an extra reference to a pixbuf, and then
<function>g_object_unref()</function> when they are done
with it.
</para>
</sect2>
<!-- The Rendering Process -->
<sect2>
<title>The Rendering Process</title>
<para>
The &gdk-pixbuf; library has the policy of always rendering
pixbufs to GDK drawables you provide; it will not create
them for you. This is in general more flexible than
&Imlib;'s policy of always creating a pixmap and making you
use that instead.
</para>
<para>
The disadvantage of always having a pixmap created for you
is that it wastes memory in the X server if you intend to
copy that rendered data onto another drawable, for example,
the final destination window or a temporary pixmap for
drawing. This is the most common case, unfortunately, so
the &Imlib; policy introduces unnecessary copying.
</para>
<para>
Also, &Imlib; can only render pixmaps that are the whole
size of the source image; you cannot render just a subset
region of the image. This is inconvenient for applications
that need to render small portions at a time, such as
applications that do scrolling. Since the whole image must
be rendered at a time, this can lead to performance and
memory usage problems.
</para>
<para>
The &gdk-pixbuf; library lets you render any rectangular
region from an image onto any drawable that you provide.
This lets the application have fine control the way images
are rendered.
</para>
</sect2>
</sect1>
<!-- Converting Applications to gdk-pixbuf -->
<sect1>
<title>Converting Applications to &gdk-pixbuf;</title>
<para>
This sections describes the actual changes you need to make in
an &Imlib; program to make it use &gdk-pixbuf; instead.
</para>
<!-- Image loading and creation -->
<sect2>
<title>Image loading and creation</title>
<para>
The &gdk-pixbuf; library can load image files synchronously
(i.e. with a single function call), create images from RGB
data in memory, and as a convenience, it can also create
images from inline XPM data.
</para>
<para>
To load an image file in a single function call, simply use
<function>gdk_pixbuf_new_from_file()</function>. Note that
this will make the program block until the whole file has
been read. This function effectively replaces
<function>gdk_imlib_load_image()</function>.
</para>
<para>
If you have RGB data in memory, you can use
<function>gdk_pixbuf_new_from_data()</function> to create a
pixbuf out of it; this is a replacement for
<function>gdk_imlib_create_image_from_data()</function>.
&gdk-pixbuf; does not copy the image data; it is up to you
to define the ownership policy by providing a destroy
notification function that will be called when the image
data needs to be freed. The function you provide can then
free the data or do something else, as appropriate.
</para>
<para>
As a convenience, you can use the
<function>gdk_pixbuf_new_from_xpm_data()</function> function
to create a pixbuf out of inline XPM data that was compiled
into your C program. This is a replacement for
<function>gdk_imlib_create_image_from_xpm_data()</function>.
</para>
<para>
After you have created a pixbuf, you can manipulate it in
any way you please and then finally call
<function>g_object_unref()</function> when you are done
with it. This can be thought of as a replacement for
<function>gdk_imlib_destroy_image()</function> but with much
cleaner semantics.
</para>
</sect2>
<!-- Rendering Images -->
<sect2>
<title>Rendering Images</title>
<para>
Applications that use &Imlib; must first call
<function>gdk_imlib_render()</function> to render the whole
image data onto a pixmap that &Imlib; creates. Then they
must copy that pixmap's data into the final destination for
the image.
</para>
<para>
In contrast, &gdk-pixbuf; provides convenience functions to
render arbitrary rectangular regions of an image onto a
drawable that your application provides. You can use
<function>gdk_draw_pixbuf()</function> to do this; having
your application provide the destination drawable and
specify an arbitrary region means your application has
complete control over the way images are rendered.
</para>
<para>
As a convenience, &gdk-pixbuf; also provides the
<function>gdk_pixbuf_render_pixmap_and_mask()</function>
function; this will create new pixmap and mask drawables for
a whole pixbuf and render the image data onto them. Only
trivially simple applications should find a use for this
function, since usually you want finer control of how things
are rendered.
</para>
</sect2>
<!-- Scaling Images -->
<sect2>
<title>Scaling Images</title>
<para>
&Imlib; lets you render scaled image data at the time you
call <function>gdk_imlib_render()</function>. Again, this
unfortunately scales and renders the whole image onto a new
pixmap.
</para>
<para>
&gdk-pixbuf; provides a number of functions that do scaling
of arbitrary regions of a source pixbuf onto a destination
one. These functions can also perform compositing
operations against the data in the destination pixbuf or
against a solid color or a colored checkerboard.
<footnote>
<para>
You can use a colored checkerboard as the background for
compositing when you want to provide a visual indication
that the image has partially opaque areas. This is
normally used in image editing and viewing programs.
</para>
<para>
Compositing against a single solid color is actually a
special case of a checkerboard; it simply uses checks of
the same color.
</para>
</footnote>
</para>
<para>
Very simple applications may find it sufficient to use
<function>gdk_pixbuf_scale_simple()</function> or
<function>gdk_pixbuf_composite_color_simple()</function>.
These functions scale the whole source image at a time and
create a new pixbuf with the result.
</para>
<para>
More sophisticated applications will need to use
<function>gdk_pixbuf_scale()</function>,
<function>gdk_pixbuf_composite()</function>, or
<function>gdk_pixbuf_composite_color()</function> instead.
These functions let you scale and composite an arbitrary
region of the source pixbuf onto a destination pixbuf that
you provide.
</para>
</sect2>
<!-- Getting Image Data from a Drawable -->
<sect2>
<title>Getting Image Data from a Drawable</title>
<para>
&Imlib; lets you create an image by fetching a drawable's
contents from the X server and converting those into RGB
data. This is done with the
<function>gdk_imlib_create_image_from_drawable()</function>
function.
</para>
<para>
&gdk-pixbuf; provides the
<function>gdk_pixbuf_get_from_drawable()</function> function
instead. It lets you specify a destination pixbuf instead
of always creating a new one for you.
</para>
</sect2>
</sect1>
</appendix>
<!--
Local variables:
mode: sgml
sgml-parent-document: ("gdk-pixbuf.sgml" "book" "book" "")
End:
-->

View File

@@ -1,174 +0,0 @@
<!-- ##### SECTION Title ##### -->
Animations
<!-- ##### SECTION Short_Description ##### -->
Animated images.
<!-- ##### SECTION Long_Description ##### -->
<para>
The &gdk-pixbuf; library provides a simple mechanism to load and represent
animations. An animation is conceptually a series of frames to be displayed
over time. Each frame is the same size. The animation may not be represented
as a series of frames internally; for example, it may be stored as a
sprite and instructions for moving the sprite around a background. To display
an animation you don't need to understand its representation, however; you just
ask &gdk-pixbuf; what should be displayed at a given point in time.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GdkPixbufLoader
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
An opaque struct representing an animation.
</para>
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
<para>
An opaque struct representing an iterator which points to a
certain position in an animation.
</para>
<!-- ##### FUNCTION gdk_pixbuf_animation_new_from_file ##### -->
<para>
</para>
@filename:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_ref ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_unref ##### -->
<para>
</para>
@animation:
<!-- ##### FUNCTION gdk_pixbuf_animation_get_width ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_get_height ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_get_iter ##### -->
<para>
</para>
@animation:
@start_time:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_is_static_image ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_get_static_image ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_advance ##### -->
<para>
</para>
@iter:
@current_time:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_get_delay_time ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_on_currently_loading_frame ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_get_pixbuf ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### STRUCT GdkPixbufSimpleAnim ##### -->
<para>
An opaque struct representing a simple animation.
</para>
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_new ##### -->
<para>
</para>
@width:
@height:
@rate:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_add_frame ##### -->
<para>
</para>
@animation:
@pixbuf:

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