Compare commits

..

447 Commits

Author SHA1 Message Date
YunQiang Su
c0c91c50f3 fix an typo in zh_CN translation 2012-08-18 11:23:53 +08:00
Sandeep Shedmake
67929eac9c fixed incorrect spelling of 'calender'; corrected to 'calendar' 2010-08-19 21:54:18 +05:30
krishnababu k
017ec26350 Corrected string occurrence calendar 2010-08-19 21:09:46 +05:30
Kristjan Schmidt
2985dd58ad Updated Esperanto translation 2010-07-11 11:03:25 +02:00
Kristjan Schmidt
96c9280372 Updated Esperanto translation 2010-07-11 11:03:18 +02:00
Inaki Larranaga
bc9bb250c1 Updated Basque translation 2010-01-05 13:28:23 +01:00
Matej Urbančič
95a8e44796 Added sl for Slovenian translation 2009-11-17 06:51:01 +01:00
Matej Urbančič
2f522f2b8c Added sl for Slovenian translation 2009-11-17 06:50:39 +01:00
Matej Urbančič
e3758bf6ca Updated Slovenian translation 2009-10-15 15:00:09 +02:00
Matej Urbančič
15edfbfd7a Revert "Updated Slovenian translation"
This reverts commit 543cfe8335.
2009-10-15 14:35:23 +02:00
Matej Urbančič
543cfe8335 Updated Slovenian translation 2009-10-15 14:25:04 +02:00
Matej Urbančič
fc6e1b1d5f Updated Slovenian translation 2009-10-13 14:39:30 +02:00
Matej Urbančič
1e71906f51 Updated Slovenian translation 2009-10-13 14:38:59 +02:00
Manoj Kumar Giri
b098b27234 Upadted Oriya Translation 2009-09-15 17:56:37 +05:30
Christian Kirbach
8ab27fbb9c Updated German translation by Nathan-J. Hirscauer <nathanhirschauer@verfriemelt.org> 2009-04-26 02:10:26 +02:00
Pema Geyleg
12f3dd40f0 Updated Dzongkha Translation
svn path=/branches/gtk-2-12/; revision=22569
2009-03-18 03:41:46 +00:00
Pema Geyleg
d920b23642 Updated Dzongkha Translation
svn path=/branches/gtk-2-12/; revision=21857
2008-12-09 06:37:16 +00:00
Ilkka Tuohela
49cdfb697f Updated Finnish translation
svn path=/branches/gtk-2-12/; revision=21462
2008-09-20 10:12:21 +00:00
Matthias Clasen
81510c9f17 Bump version
svn path=/branches/gtk-2-12/; revision=21378
2008-09-13 03:11:58 +00:00
Matthias Clasen
dd96b0da26 2.12.12
svn path=/branches/gtk-2-12/; revision=21376
2008-09-13 03:09:50 +00:00
Matthias Clasen
6f59f4764a Correct a mismerge, spotted by Wouter Bolsterlee.
2008-09-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (browse_files_select_first_row): Correct
        a mismerge, spotted by Wouter Bolsterlee.


svn path=/branches/gtk-2-12/; revision=21375
2008-09-12 13:53:45 +00:00
Matthias Clasen
4dce1ced1c Updates
svn path=/branches/gtk-2-12/; revision=21373
2008-09-12 05:09:36 +00:00
Matthias Clasen
0d07382511 Plug a small memory leak
* gdk-pixbuf-io.c: Plug a small memory leak

        Bug 517233 - Calling gdk_pixbuf_loader_close causes "GError set over
        the top of a previous GError" warning

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Don't overwrite
        errors. Reported by Andrey Tsyvarev


svn path=/branches/gtk-2-12/; revision=21372
2008-09-12 04:51:18 +00:00
Matthias Clasen
6f8e727617 Bug 549711 - Race condition when loading gdk-pixbuf image modules
* gdk-pixbuf-io.c: Fix a race condition in module loading,
        spotted by Chris Lord.


svn path=/branches/gtk-2-12/; revision=21371
2008-09-12 04:44:52 +00:00
Matthias Clasen
a47f916553 Bug 532644 - TIFF loader need to exclude CR2 files
* io-tiff.c: Add a pattern to exclude CR2 files.
        Noticed by Hubert Figuire


svn path=/branches/gtk-2-12/; revision=21370
2008-09-12 04:28:21 +00:00
Matthias Clasen
273e09a0c8 Use gdk_pixbuf_copy_area() to copy between pixbufs. Reported by Andrey
* gdk-pixbuf-utils.c (gdk_pixbuf_saturate_and_pixelate):
        Use gdk_pixbuf_copy_area() to copy between pixbufs.
        Reported by Andrey Tsyvarev



svn path=/branches/gtk-2-12/; revision=21369
2008-09-12 04:26:04 +00:00
Matthias Clasen
fd46b9d477 Bug 551378 - Print dialog: should try UDS when fetching PPD for
localhost

        * modules/printbackends/cups/gtkprintbackendcups.c: Add ability
        to get PPD file from CUPS through Unix domain socket.
        Patch by Marek Kasik


svn path=/branches/gtk-2-12/; revision=21368
2008-09-12 04:23:29 +00:00
Matthias Clasen
596bf1c6ad Bug 551567 – DND mark broken
* gtk/gtktextbtree.c (redisplay_mark): invalidate mark properly
        Patch by Yevgen Muntyan.


svn path=/branches/gtk-2-12/; revision=21367
2008-09-12 04:21:42 +00:00
Matthias Clasen
49dee1b663 Check that the [hv]scrollbar attributes are not-NULL before destroying and
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_destroy,
        gtk_scrolled_window_finalize): Check that the [hv]scrollbar
        attributes are not-NULL before destroying and unparenting them.
        Patch by Björn Lindqvist


svn path=/branches/gtk-2-12/; revision=21366
2008-09-12 04:18:33 +00:00
Matthias Clasen
d17cb8ac8a sets the is_default parameter to the value given by caller. Patch by Marek
* gtk/gtkprinter.c: sets the is_default parameter to the value
        given by caller. Patch by Marek Kasik



svn path=/branches/gtk-2-12/; revision=21365
2008-09-12 04:14:04 +00:00
Matthias Clasen
9977fc50d7 Bug 319849 - gtkcalendar look in RTL locales
* gtk/gtkcalendar.c (calendar_realize_week_numbers), 
        (gtk_calendar_realize): added missing RTL code to handle week numbers
        from gtk_calendar_size_alloc. Patch by Yair Hershkovitz



svn path=/branches/gtk-2-12/; revision=21364
2008-09-12 04:11:20 +00:00
Matthias Clasen
a01b78860c when extending the draw rectangle by the "draw-border" style property,
* gtk/gtkwidget.c (gtk_widget_get_draw_rectangle): when extending
        the draw rectangle by the "draw-border" style property, subtract
        "left" from "x" and "top" from "y", not the other way around.
        Noticed by Michael Natterer


svn path=/branches/gtk-2-12/; revision=21363
2008-09-12 04:07:34 +00:00
Matthias Clasen
b1a004c1ba Bug 550528 - IconView DND interface does not work if only used as
source

        * gtk/gtkiconview.c: Make source-only DND work.  Found by Alex Simon



svn path=/branches/gtk-2-12/; revision=21362
2008-09-12 04:05:04 +00:00
Matthias Clasen
569f3321a5 Bug 549810 – Memory leaks in printing code
* gtk/gtkprintjob.c (gtk_print_job_set_property):
        * modules/printbackends/file/gtkprintbackendfile.c
        (output_file_from_settings):
        * modules/printbackends/test/gtkprintbackendtest.c
        (output_test_from_settings): free some temporary strings.
        Patch by Yevgen Muntyan.


svn path=/branches/gtk-2-12/; revision=21361
2008-09-12 04:02:27 +00:00
Matthias Clasen
527ea27a19 Bug 549354 – Crash trying to open a file on a remote folder
* gtk/gtkfilechooserdefault.c (error_message_with_parent): Handle
        the fact that parent may be NULL without crashing.



svn path=/branches/gtk-2-12/; revision=21360
2008-09-12 03:56:37 +00:00
Matthias Clasen
19d32714e9 Unset the color when setting it to NULL instead of displaying a warning.
* gtk/gtktexttag.c (gtk_text_tag_set_property): Unset the color when
        setting it to NULL instead of displaying a warning.
        Patch by Xavier Claessens

        * gtk/gtkassistant.c: Don't emit signals with extra parameters.
        Patch by Antti Kaijanmäki

        * gtk/gtksettings.c: When reconstructing the color hash, try
        harder to avoid unnecessary notification, since this can lead
        to infinite reloading of rc files in some situations.



svn path=/branches/gtk-2-12/; revision=21359
2008-09-12 03:55:04 +00:00
Matthias Clasen
d61669e6d3 Bug 545875 – evo crashed when trying to print pages 6-7 of a 1 page
email

        * gtk/gtkprintoperation.c: Clamp page ranges to correct ranges.
        Patch by Marek Kasik


svn path=/branches/gtk-2-12/; revision=21358
2008-09-12 03:46:13 +00:00
Matthias Clasen
3083a903d1 Bug 542523 - GtkTextTag should handle setting properties to NULL
* gtk/gtktexttag.c (gtk_text_tag_set_property): Unset the color when
	setting it to NULL instead of displaying a warning.


svn path=/branches/gtk-2-12/; revision=21357
2008-09-12 03:16:46 +00:00
Matthias Clasen
1db39506ab Bug 479780 – Bookmarks in left pane of FileChooser cannot be renamed
* gtk/gtkfilechooserdefault.c (shortcuts_build_popup_menu):
        Call shortcuts_check_popup_sensitivity() every time the
        menu is popped up. Problem reported by Hong Jen Yee


svn path=/branches/gtk-2-12/; revision=21356
2008-09-12 03:14:48 +00:00
Matthias Clasen
779091175d Unset the image when the label is set to "(None)". Reported by Neil
* gtk/gtkfilechooserbutton.c (update_label_and_image): Unset
        the image when the label is set to "(None)". Reported by
        Neil Roberts


svn path=/branches/gtk-2-12/; revision=21355
2008-09-12 03:10:31 +00:00
Matthias Clasen
2146148b46 Skip update of accelerator child node if it has no associated action.
* gtk/gtkuimanager.c (update_node): Skip update of accelerator
        child node if it has no associated action. Fixes #541950.
        Patch by Christian Neumair


svn path=/branches/gtk-2-12/; revision=21354
2008-09-12 03:05:52 +00:00
Matthias Clasen
5981275a1f Bug 528845 – segv from GtkBuilder on attempting <accelerator> under
GtkCellView

        * gtk/gtkcellview.c: Don't blindly chain up in the buildable
        implementation.  Reported by Kevin Ryde.


svn path=/branches/gtk-2-12/; revision=21353
2008-09-12 03:02:01 +00:00
Matthias Clasen
b626e5d50e Bug 541645 – gtkfilechooserdefault segfaults when bookmark does not
contain ://

        * gtk/gtkfilechooserdefault.c (_gtk_file_chooser_label_for_file):
        Be more robust. Reported by  Jelte van der Hoek


svn path=/branches/gtk-2-12/; revision=21352
2008-09-12 02:56:03 +00:00
Matthias Clasen
48251ab74e Bug 538863 – Fixes assertion on entering empty folder
* gtk/gtkfilechooserdefault.c (browse_files_select_first_row): Don't
        select the first row if the folder is empty.
        Patch by Olle Bergkvist.


svn path=/branches/gtk-2-12/; revision=21351
2008-09-12 02:33:15 +00:00
Petr Kovar
0220067376 Updated Czech translation.
2008-09-02  Petr Kovar  <pknbe@volny.cz>

	* cs.po: Updated Czech translation.

svn path=/branches/gtk-2-12/; revision=21258
2008-09-01 23:10:42 +00:00
Cody Russell
5f5b54ebbe Merged from trunk:
2008-08-27  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * gdk/win32/gdkevents-win32.c:
        * gdk/win32/gdkwindow-win32.c (show_window_recurse): Check if
        the window's state has GDK_WINDOW_STATE_MAXIMIZED set before
        calling ShowWindow (), and show using SW_SHOWMAXIMIZED or
        SW_RESTORE accordingly.  This fixes an issue where maximized
        windows that are iconified do not restore back to maximized
        when you click the taskbar. (#528975)


svn path=/branches/gtk-2-12/; revision=21219
2008-08-28 02:43:45 +00:00
Cody Russell
f5b219d5ba Merged from trunk:
2008-08-21  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * gdk/win32/gdkevents-win32.c (doesnt_want_key): Remove the checks
        to see if the window is modally blocked.  This doesn't get us anything,
        and it confuses the search window in GtkTreeView (and potentially other
        utility windows in other apps).  (#520165)


svn path=/branches/gtk-2-12/; revision=21181
2008-08-22 00:31:59 +00:00
Inaki Larranaga Murgoitio
e767d7e37d Updated Basque translation.
2008-08-12  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gtk-2-12/; revision=21084
2008-08-12 08:41:39 +00:00
Sven Neumann
2e8594e553 Merged from trunk:
2008-08-04  Sven Neumann  <sven@gimp.org>

        Merged from trunk:

        * gtk/gtklinkbutton.c (gtk_link_button_set_uri): update the link
        color when the "visited" state is changed.


svn path=/branches/gtk-2-12/; revision=20968
2008-08-04 14:22:36 +00:00
Tor Lillqvist
7b2b2987c2 Bug 538686 - gtkprintoperation-win32.c: devmode_from_settings
2008-08-02  Tor Lillqvist  <tml@novell.com>

	Bug 538686 - gtkprintoperation-win32.c: devmode_from_settings

	* gtk/gtkprintoperation-win32.c (devmode_from_settings): Plug
	potential leak. Thanks to Morten Welinder.


svn path=/branches/gtk-2-12/; revision=20945
2008-08-02 11:30:49 +00:00
Claudio Saavedra
e2a76050f9 Bug 545931 – small documentation typos
2008-08-01  Claudio Saavedra  <csaavedra@igalia.com>

	Bug 545931 – small documentation typos

	* gtk/gtkcomboboxentry.c: Fix some typos in the documentation.


svn path=/branches/gtk-2-12/; revision=20928
2008-08-02 01:27:25 +00:00
Tor Lillqvist
31a5de9c85 Add an empty line.
svn path=/branches/gtk-2-12/; revision=20915
2008-07-30 09:51:21 +00:00
Tor Lillqvist
4094234b65 Fix problems in handling custom paper sizes. The DEVMODE::dmPaperWidth and
2008-07-30  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkprintoperation-win32.c: Fix problems in handling custom
	paper sizes. The DEVMODE::dmPaperWidth and dmPaperLength are in
	tenths of a millimeter, and the RECT passed to CreateEnhMetaFile()
	is in hundredths of a millimeter. Patch by Sven Neumann.


svn path=/branches/gtk-2-12/; revision=20914
2008-07-30 09:48:19 +00:00
Amitakhya Phukan
3e53866811 Updated assamese translations
svn path=/branches/gtk-2-12/; revision=20857
2008-07-17 06:41:02 +00:00
Luca Ferretti
5a2a96f3f8 Updated Italian translation.
2008-07-12  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Updated Italian translation.


svn path=/branches/gtk-2-12/; revision=20821
2008-07-12 13:19:42 +00:00
Murray Cumming
89679badf3 tooltip-text and tooltip-markup properties: Interpret an empty string as a
2008-07-03  Murray Cumming  <murrayc@murrayc.com>

* gtk/gtkwidget.c (gtk_widget_set_property):  tooltip-text and 
tooltip-markup properties: Interpret an empty string as a NULL 
string because an empty tooltip is silly. This will help 
language bindings that do not bother to have the two types of 
empty/null strings.
Bug #541399.

svn path=/branches/gtk-2-12/; revision=20815
2008-07-10 17:47:17 +00:00
Cody Russell
aaaa0915d7 Merged from trunk:
2008-07-07  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        Bug 541964 – [Win32] Setting modal hint to current value might confuse the stack

        * gdk/win32/gdkwindow-win32.c: Check if the value is the same as the
        existing modal hint value before setting it.


svn path=/branches/gtk-2-12/; revision=20810
2008-07-07 22:28:08 +00:00
Cody Russell
fe66c311dd Bug 540994 – [Win32] Some windows don't appear at the top when created
2008-07-07  Cody Russell  <bratsche@gnome.org>

	Bug 540994 – [Win32] Some windows don't appear at the top when created

        * gdk/win32/gdkwindow-win32.c: Raise the window when setting it modal.


svn path=/branches/gtk-2-12/; revision=20807
2008-07-07 22:06:15 +00:00
Jorge Gonzalez Gonzalez
08f278c830 Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=20777
2008-07-05 11:36:05 +00:00
Nickolay V. Shmyrev
d493b42c87 Updated Russian translation.
2008-07-05  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation.


svn path=/branches/gtk-2-12/; revision=20774
2008-07-05 07:57:26 +00:00
Tor Lillqvist
f52c485e71 Bug 540861 - invalid UTF-8 in input device name
2008-07-04  Tor Lillqvist  <tml@novell.com>

	Bug 540861 - invalid UTF-8 in input device name

	* gdk/win32/gdkinput-win32.c: Fetch the device and cursor names in
	Unicode, and convert to UTF-8 for the GdkDevice's name field.


svn path=/branches/gtk-2-12/; revision=20753
2008-07-03 22:48:22 +00:00
Takeshi AIHANA
15d28319ff Updated Japanese translation.
2008-07-03  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-12/; revision=20743
2008-07-03 13:02:34 +00:00
Cody Russell
65188481a2 Merged from trunk:
2008-07-01  Cody Russell  <bratsche@gnome.org>

	Merged from trunk:

        Bug 539164 – Windows' System Menu blocks main loop

        * gdk/win32/gdkevents-win32.c:	Use a modal timer proc in between
	receiving WM_ENTERMENULOOP and	WM_EXITMENULOOP	and pump	the
	GLib mainloop from there.


svn path=/branches/gtk-2-12/; revision=20727
2008-07-01 23:18:59 +00:00
Matthias Clasen
7a89ee2b31 Bump version
svn path=/branches/gtk-2-12/; revision=20722
2008-07-01 15:51:06 +00:00
Matthias Clasen
d33b360c93 2.12.11
svn path=/branches/gtk-2-12/; revision=20720
2008-07-01 15:48:55 +00:00
Matthias Clasen
370c5d7bd8 Updates
svn path=/branches/gtk-2-12/; revision=20714
2008-07-01 05:32:44 +00:00
Matthias Clasen
56a0748b9e Add image/x-win-bitmap to the supported mimetypes, since that is what
2008-06-18  Matthias Clasen  <mclasen@redhat.com>

        * io-ico.c: Add image/x-win-bitmap to the supported mimetypes,
        since that is what shared-mime-info uses for .cur



svn path=/branches/gtk-2-12/; revision=20713
2008-07-01 05:23:32 +00:00
Matthias Clasen
322e7369a9 Fix life cycle to avoid crash. [#536966]
* gtk/gtkprintoperation-win32.c (gtk_print_run_page_setup_dialog) :
          Fix life cycle to avoid crash. [#536966]



svn path=/branches/gtk-2-12/; revision=20712
2008-07-01 05:20:08 +00:00
Matthias Clasen
5a3761d885 check surface status after ceating a pdf. Avoids crashing when the target
* gtk/gtkprintoperation.c : check surface status after ceating a pdf.
        Avoids crashing when the target can not be written, bug #537685



svn path=/branches/gtk-2-12/; revision=20711
2008-07-01 05:04:30 +00:00
Gabor Kelemen
5ad73998fd Translation updated.
2008-06-27  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.

svn path=/branches/gtk-2-12/; revision=20694
2008-06-27 12:03:33 +00:00
Olle Bergkvist
4cd0ea5a14 bgo538784 - Don't change the filename entry in CREATE_FOLDER mode
2008-06-18  Olle Bergkvist <olle.bergkvist@yahoo.se>

	Merged from trunk:

	http://bugzilla.gnome.org/show_bug.cgi?id=538784 - Don't change
	the filename in the name entry in CREATE_FOLDER mode when changing
	folders, so that you can enter a new subfolder name, double-click on a
	folder to change to it, and close the dialog.

	* gtk/gtkfilechooserdefault.c (update_chooser_entry): Don't change
	the filename in the entry in CREATE_FOLDER mode, either.

Signed-off-by: Federico Mena Quintero <federico@novell.com>

svn path=/branches/gtk-2-12/; revision=20458
2008-06-18 22:37:35 +00:00
Olle Bergkvist
ff03c02f25 bgo419737 - Don't clear filename entry in SAVE/CREATE_FOLDER modes
2008-06-18  Olle Bergkvist <olle.bergkvist@yahoo.se>

	    Merged from trunk:

	    http://bugzilla.gnome.org/show_bug.cgi?id=419737#c59 - The file
	    chooser clears the filename entry in SAVE/CREATE_FOLDER modes when
	    it shouldn't.

	    * gtk/gtkfilechooserdefault.c (shortcuts_activate_iter): Don't
	    clear the entry for CREATE_FOLDER either; this needs the same
	    behavior as SAVE mode.
	    (update_chooser_entry): Only clear the entry in OPEN/SELECT_FOLDER
	    modes.

Signed-off-by: Federico Mena Quintero <federico@novell.com>

svn path=/branches/gtk-2-12/; revision=20456
2008-06-18 22:27:29 +00:00
Matthias Clasen
8125ad9bf0 Protect against XKB being stupid. Reported by Pedro Villavicencio.
* gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): Protect
        against XKB being stupid. Reported by Pedro Villavicencio.



svn path=/branches/gtk-2-12/; revision=20414
2008-06-17 02:13:46 +00:00
Matthias Clasen
936d877657 Backport fix for calendar strings
svn path=/branches/gtk-2-12/; revision=20412
2008-06-17 00:17:57 +00:00
Daniel Nylander
f833f22e42 sv.po: Updated Swedish translation
svn path=/branches/gtk-2-12/; revision=20410
2008-06-16 20:53:32 +00:00
Tor Lillqvist
d5b82b8c09 Typo.
svn path=/branches/gtk-2-12/; revision=20400
2008-06-16 13:43:22 +00:00
Leonardo Ferreira Fontenelle
d7beeb09bc Updated Brazilian Portuguese translation by Henrique P. Machado.
2008-06-14  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation by Henrique P.
	Machado.

svn path=/branches/gtk-2-12/; revision=20390
2008-06-15 01:10:00 +00:00
Cody Russell
65bfb383ff Merge from trunk:
2008-06-14  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/gdkselection-win32.c (gdk_win32_selection_add_targets):

        Initialize hwnd to NULL.  This fixes OpenClipboard() failure and,
        according to MSDN docs, associates the open clipboard with the
        current task.  (#378158, reported by Andreas Köhler)


svn path=/branches/gtk-2-12/; revision=20389
2008-06-15 00:02:22 +00:00
Matthias Clasen
c1afab7ace RH bug 248245 and 449379: cups client printing from gnome applications
2008-06-12  Matthias Clasen  <mclasen@redhat.com>

        RH bug 248245 and 449379: cups client printing from gnome
        applications fail

        * modules/printbackends/cups/gtkprintbackendcups.c: Really fix
        printer URI construction. Patch by Marek Kasik


svn path=/branches/gtk-2-12/; revision=20361
2008-06-12 13:07:43 +00:00
Kristian Rietveld
40d7aff8cf Merge from trunk:
2008-06-08  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	always determine what arrow to show if show_sort_indicator is true.
	(#352738, Chris Vine).


svn path=/branches/gtk-2-12/; revision=20338
2008-06-08 20:39:03 +00:00
Gil Forcada Codinachs
f683bffca0 Updated Catalan translation
svn path=/branches/gtk-2-12/; revision=20337
2008-06-08 18:05:17 +00:00
Tor Lillqvist
b8ab05b497 Bug 536990 - updateiconcache.c: 'close ()' is redundant
2008-06-07  Tor Lillqvist  <tml@novell.com>

	Bug 536990 - updateiconcache.c: 'close ()' is redundant

	* gtk/updateiconcache.c (build_cache): Drop redundant close()
	calls. fclose() on a fdopen()ed strema closes the underlying file
	descriptor.


svn path=/branches/gtk-2-12/; revision=20328
2008-06-07 04:20:35 +00:00
Matthias Clasen
933181a5ba Bug 536757 – regression: openoffice.org menus are placed at wrong
2008-06-06  Matthias Clasen  <mclasen@redhat.com>

        Bug 536757 – regression: openoffice.org menus are placed at wrong
        position since 2.12.10

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
        Return the right coordinates.

svn path=/branches/gtk-2-12/; revision=20326
2008-06-06 21:00:40 +00:00
Claude Paroz
3f11289039 Updated French translation.
2008-06-05  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation.

svn path=/branches/gtk-2-12/; revision=20320
2008-06-05 21:18:17 +00:00
Clytie Siddall
8bced4a6e2 Updated Vietnamese translation
svn path=/branches/gtk-2-12/; revision=20318
2008-06-05 09:40:39 +00:00
Tor Lillqvist
2c1c27920f Merge from trunk:
2008-06-05  Tor Lillqvist  <tml@novell.com>

	Merge from trunk:

	* modules/engines/ms-windows/msw_style.c (draw_box): Check that
	the widget is a GtkButton before casting.


svn path=/branches/gtk-2-12/; revision=20314
2008-06-04 21:52:46 +00:00
Matthias Clasen
fee27db187 Bump version
svn path=/branches/gtk-2-12/; revision=20308
2008-06-03 22:37:02 +00:00
Matthias Clasen
b6b8f84530 2.12.10
svn path=/branches/gtk-2-12/; revision=20306
2008-06-03 22:34:31 +00:00
Matthias Clasen
e2fa935e17 Remove reverted bug
svn path=/branches/gtk-2-12/; revision=20299
2008-06-03 04:43:40 +00:00
Matthias Clasen
75c550f662 Forgotten file
svn path=/branches/gtk-2-12/; revision=20298
2008-06-03 04:39:44 +00:00
Matthias Clasen
15d107a2f1 Revert one problematic fix
svn path=/branches/gtk-2-12/; revision=20297
2008-06-03 04:39:12 +00:00
Matthias Clasen
27d8a1f312 Add missing includes
svn path=/branches/gtk-2-12/; revision=20296
2008-06-03 03:35:11 +00:00
Matthias Clasen
dbb99cb02e Updates
svn path=/branches/gtk-2-12/; revision=20295
2008-06-03 03:29:18 +00:00
Matthias Clasen
4960c3c504 Revert a patch that introduced a gio dependency
svn path=/branches/gtk-2-12/; revision=20293
2008-06-03 02:38:10 +00:00
Claudio Saavedra
cd0c47f00a Merge from trunk:
2008-06-02  Claudio Saavedra  <csaavedra@igalia.com>

	Merge from trunk:

        Bug 535862 – gtk_action_create_icon can't create icons from the
        icon themes

        * gtk/gtkaction.c: (gtk_action_create_icon): Look for the icon in
        the default factories as it's supposed.


svn path=/branches/gtk-2-12/; revision=20291
2008-06-03 00:42:39 +00:00
Matthias Clasen
fb090c5816 Bug 535453 - gdk_pixbuf_format_get_license returns NULL for
any of the loaders

        * queryloaders.c (write_loader_info): Add the license info
        after the description.

        * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Read the license info
        from the module file. Reported by Andrey Tsyvarev.


svn path=/branches/gtk-2-12/; revision=20288
2008-06-02 22:22:32 +00:00
Matthias Clasen
3611328d76 Bug 530146 - Setting non-string tooltip with
gtk_tree_view_set_tooltip_column() segfaults

        * gtk/gtktreeview.c (gtk_tree_view_set_tooltip_query_cb): use
        gtk_tree_model_get_value() and explicitly transform the value to a
        string before setting it as tooltip.


svn path=/branches/gtk-2-12/; revision=20287
2008-06-02 22:19:21 +00:00
Matthias Clasen
3e6b263ae7 Bug 56355 – GtkLabel - Not all changes propagate correctly
* gtk/gtklabel.c: (gtk_label_recalculate), (gtk_label_set_label),
        (gtk_label_set_markup_with_mnemonic), (gtk_label_parse_uline),
        (gtk_label_set_text_with_mnemonic), (gtk_label_set_use_underline):
        Call gtk_label_setup_mnemonic from gtk_label_recalculate. Add
        notifications of mnemonic-keyval changes.


svn path=/branches/gtk-2-12/; revision=20286
2008-06-02 22:14:41 +00:00
Matthias Clasen
a70f23c605 Bug 511217 - potential memory corruption after refreshing a tree_view
* gtk/gtktreeview.c (cancel_arrow_animation): Reset
        expanded_collapsed_node when canceling the animation.
        Patch by Nicholas Setton.


svn path=/branches/gtk-2-12/; revision=20285
2008-06-02 22:10:51 +00:00
Matthias Clasen
09c2e41429 Bug 106574 - Inconsistent increment behavior for gtkspinbutton
* gtk/gtkspinbutton.c (gtk_spin_button_real_value_change):
        Commit the entry text before doing an increment. Patch by
        Björn Lindqvist.


svn path=/branches/gtk-2-12/; revision=20284
2008-06-02 22:07:23 +00:00
Matthias Clasen
1ed1d38dbd Bug 531008 – Crash in gtkprintunixdialog.c
* gtk/gtkprintunixdialog.c: Disconnect signal handlers when
        the dialog closes. Patch by Yevgen Muntyan.

svn path=/branches/gtk-2-12/; revision=20283
2008-06-02 22:05:21 +00:00
Matthias Clasen
8db4d1ee79 Bug 523562 - gtk-update-icon-cache core dumps when run concurrently and
when options are missing

        * gtk/updateiconcache.c: Open the cache file (O_CREAT | O_EXCL) so
        that other processes that try to open it will fail gracefully.  Also
        fix a crasher caused by lack of a NULL check.  Report and patch
        by Erwann Chenede.


svn path=/branches/gtk-2-12/; revision=20282
2008-06-02 22:02:45 +00:00
Matthias Clasen
94b7dfbb13 Bug 526635 - _gdk_window_get_toplevel handles FOREIGN windows
* gdk/x11/gdkwindow-x11.c (_gdk_window_get_toplevel): Check
        !WINDOW_IS_TOPLEVEL instead of checking for GDK_WINDOW_CHILD,
        so that we also take into account for foreign windows.
        Report and patch by Nathaniel Smith.


svn path=/branches/gtk-2-12/; revision=20281
2008-06-02 21:59:46 +00:00
Matthias Clasen
98f234e73a Bug 524110 - Gdk should not assume reparenting WMs when retrieving
window frame extents

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
        Use _NET_FRAME_EXTENTS, if available.  Patch by Danny Baumann.


svn path=/branches/gtk-2-12/; revision=20280
2008-06-02 21:57:51 +00:00
Matthias Clasen
d88a3d3f7f Bug 522269 - Evince windows sometimes incorrectly unmaximized,
caused by missing flag initialization

        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Initialize
        top-level private flags correctly.  Patch by Danny Baumann.


svn path=/branches/gtk-2-12/; revision=20279
2008-06-02 21:56:29 +00:00
Matthias Clasen
d554f8b4ff Bug 534463 - non-editable GtkTextView should not call
gtk_im_context_focus_in in focus event

        * gtk/gtktextview.c: Add checks to see if the textview is
        editable.  Patch by Wang Diancheng.


svn path=/branches/gtk-2-12/; revision=20278
2008-06-02 21:52:48 +00:00
Matthias Clasen
1b07b921b3 Add GDK_ACTION_MOVE to the drag actions to allow trash (#137717).
* gtk/gtkfilechooserdefault.c: (create_file_list): Add GDK_ACTION_MOVE
        to the drag actions to allow trash (#137717).


svn path=/branches/gtk-2-12/; revision=20277
2008-06-02 21:49:26 +00:00
Matthias Clasen
3ed0663ea0 check that tracker is actually working before using it. Fixes bug #479197.
* gtk/gtksearchenginetracker.c: (_gtk_search_engine_tracker_new):
        check that tracker is actually working before using it. Fixes
        bug #479197.


svn path=/branches/gtk-2-12/; revision=20276
2008-06-02 21:45:59 +00:00
Matthias Clasen
a5c7f5c708 Ignore G_IO_ERROR_FAILED_HANDLED errors (#532262).
* gtk/gtkfilechooserdefault.c:
        (shortcuts_activate_volume_mount_cb): Ignore G_IO_ERROR_FAILED_HANDLED
        errors (#532262).


svn path=/branches/gtk-2-12/; revision=20275
2008-06-02 21:38:18 +00:00
Matthias Clasen
699973f3c2 Don't try to toggle the visibility of the location entry field in search
* gtk/gtkfilechooserdefault.c: (location_toggle_popup_handler): Don't
        try to toggle the visibility of the location entry field in search and
        recent mode (#526422).


svn path=/branches/gtk-2-12/; revision=20274
2008-06-02 21:18:12 +00:00
Matthias Clasen
f2288088c5 Bug 387972 – gtkassistant drawing problem
* gtk/gtkassistant.c (gtk_assistant_size_allocate): Make
        GtkAssistant work better in glade.


svn path=/branches/gtk-2-12/; revision=20273
2008-06-02 20:44:40 +00:00
Matthias Clasen
441c4ad480 Bug 529841 – incorrect position in directfb
* gdk/directfb/gdkwindow-directfb.c: fix y = abs_x


svn path=/branches/gtk-2-12/; revision=20272
2008-06-02 20:38:48 +00:00
Matthias Clasen
b698461f2d no need to g_return_if_fail(tooltips != NULL);
* gtk/gtktooltips.c (gtk_tooltips_destroy): no need to
        g_return_if_fail(tooltips != NULL);



svn path=/branches/gtk-2-12/; revision=20271
2008-06-02 20:35:06 +00:00
Matthias Clasen
bb1e1c5601 Guard against NULL pointer. (#467051, Gian Mario Tagliaretti)
* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Guard
        against NULL pointer. (#467051, Gian Mario Tagliaretti)


svn path=/branches/gtk-2-12/; revision=20270
2008-06-02 20:25:25 +00:00
Tor Lillqvist
07b2fd4cd5 Merge from trunk:
2008-03-20  Tor Lillqvist  <tml@novell.com>

	Merge from trunk:

	Bug 314084 - GTK+ dialogs should not be placed partially offscreen

	* gtk/gtkwindow.c (clamp): New function. Clamps a window position
	in one dimension, or centered in case it doesn't fit.
	(clamp_window_to_rectangle): Simplify. Call clamp() for x and y
	dimensions.


svn path=/branches/gtk-2-12/; revision=20268
2008-06-02 11:08:54 +00:00
Johan Dahlin
588158cefa Revert #529535, it broke the build
svn path=/branches/gtk-2-12/; revision=20260
2008-05-30 16:11:01 +00:00
Johan Dahlin
0f72cd6f8d Merge from trunk:
2008-05-25  Johan Dahlin  <johan@gnome.org>

    Merge from trunk:

    Bug 534694 – Col id in GtkListStore could be out of range

    * gtk/gtkliststore.c (list_store_start_element): Fix up error handling
    a bit. Pointed out by Jan Arne Petersen.


svn path=/branches/gtk-2-12/; revision=20253
2008-05-30 11:08:37 +00:00
Johan Dahlin
2f5d836635 Merge from trunk:
2008-05-25  Johan Dahlin  <johan@gnome.org>

    Merge from trunk:

    * gtk/gtkliststore.c: (list_store_text): Use type of the correct
    column (#529535).
    * tests/buildertest.c: (test_list_store): Add test.


svn path=/branches/gtk-2-12/; revision=20252
2008-05-30 11:04:30 +00:00
Tor Lillqvist
3b3bf93279 Bug 533108 - leak of GDI region in function 'handle_wm_paint'
2008-05-30  Tor Lillqvist  <tml@novell.com>

	Bug 533108 - leak of GDI region in function 'handle_wm_paint'

	* gdk/win32/gdkevents-win32.c (handle_wm_paint): Patch by Daniel
	Atallah.


svn path=/branches/gtk-2-12/; revision=20249
2008-05-30 07:15:51 +00:00
Kristian Rietveld
85dc52fcec Merge from trunk:
2008-05-28  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	Bug 449625 - crash in gtk_tree_view_real_move_cursor at
	gtktreeview.c:9641

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down):
	cursor_offset *must* be larger than background height of the cursor
	node, not just equal otherwise there is no guarantee there is a next
	node.


svn path=/branches/gtk-2-12/; revision=20220
2008-05-28 14:49:00 +00:00
Kristian Rietveld
36d1dfff9b Merge from trunk:
2008-05-28  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	Bug 504087 - make gtk_tooltip_set_custom a no-op for setting the
	current widget again.

	* gtk/gtktooltip.c (gtk_tooltip_set_custom),
	(gtk_tooltip_reset), (gtk_tooltip_run_requery): use a
	custom_was_reset field to check if the custom widget is set again in
	the query-tooltip callback; if not, we set it to NULL.  Based on a
	patch by Xavier Claessens, insightful comments from Jean-Yves Lefort
	and Christian Persch.


svn path=/branches/gtk-2-12/; revision=20216
2008-05-28 14:00:42 +00:00
Federico Mena Quintero
dda04e8b56 bgo533891 - disallow DnD from the file list into itself
2008-05-27  Federico Mena Quintero  <federico@novell.com>

	Merged from trunk:

	http://bugzilla.gnome.org/show_bug.cgi?id=533891 - Don't allow
	drag and drop from the file list into itself, as it doesn't make
	sense (it would just change the current folder).

	* gtk/gtkfilechooserdefault.c (file_list_dest_targets): Use
	GTK_TARGET_OTHER_WIDGET so we don't DnD from the file list into

Signed-off-by: Federico Mena Quintero <federico@novell.com>

svn path=/branches/gtk-2-12/; revision=20195
2008-05-27 20:41:44 +00:00
Priit Laes
f9995755b7 Translation updated by Ivar Smolin
2008-05-25  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Ivar Smolin

svn path=/branches/gtk-2-12/; revision=20155
2008-05-25 18:24:21 +00:00
Tor Lillqvist
9a677f24ac Style
svn path=/branches/gtk-2-12/; revision=20106
2008-05-13 08:50:56 +00:00
Tor Lillqvist
d947b6b5dc Typo.
svn path=/branches/gtk-2-12/; revision=20103
2008-05-13 08:44:35 +00:00
Tor Lillqvist
a797222ec2 Bug 496958 - Wacom Bamboo Doesn't Function with GTK apps in Win32
2008-05-13  Tor Lillqvist  <tml@novell.com>

	Bug 496958 - Wacom Bamboo Doesn't Function with GTK apps in Win32

	* gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Set
	the "packet rate" of devices to zero instead of 50. This is
	reported to help significantly with Wacom tablet behaviour in GIMP
	and Inkscape. Patch from Thomas Bleeker.


svn path=/branches/gtk-2-12/; revision=20102
2008-05-13 08:44:00 +00:00
Tor Lillqvist
31bd06846b Bug 532558 - Cannot build dll when using separate builddir
2008-05-12  Tor Lillqvist  <tml@novell.com>

	Bug 532558 - Cannot build dll when using separate builddir

	* gdk/Makefile.am
	* gtk/Makefile.am: .def file belongs in $(srcdir). Patch by Marko
	Lindqvist.


svn path=/branches/gtk-2-12/; revision=20099
2008-05-12 08:51:57 +00:00
Tor Lillqvist
038e15813a Bug 532558 - Cannot build dll when using separate builddir
2008-05-12  Tor Lillqvist  <tml@novell.com>

	Bug 532558 - Cannot build dll when using separate builddir

	* Makefile.am: .def file belongs in $(srcdir). Patch by Marko
	Lindqvist.


svn path=/branches/gtk-2-12/; revision=20098
2008-05-12 08:50:36 +00:00
Tor Lillqvist
24333b6835 Bug 532059 - Leak in win32 clipboard manipulation
2008-05-12  Tor Lillqvist  <tml@novell.com>

	Bug 532059 - Leak in win32 clipboard manipulation

	* gdk/win32/gdkselection-win32.c
	(gdk_win32_selection_add_targets): Plug memory leak. Patch by
	Daniel Atallah.


svn path=/branches/gtk-2-12/; revision=20094
2008-05-12 07:07:48 +00:00
Tor Lillqvist
25f6b3d71e Add more man pages to the dev zipfile.
2008-05-07  Tor Lillqvist  <tml@novell.com>

	* gtk-zip.sh.in: Add more man pages to the dev zipfile.


svn path=/branches/gtk-2-12/; revision=20093
2008-05-12 07:07:22 +00:00
Gabor Kelemen
94f3e4c6a2 Translation updated.
2008-05-09  Gabor Kelemen  <kelemeng@gnome.org>

	* hu.po: Translation updated.

svn path=/branches/gtk-2-12/; revision=20088
2008-05-09 21:46:40 +00:00
Tor Lillqvist
d84ecfebe0 Add gtk-update-icon-cache.exe to the dev zipfile.
2008-05-07  Tor Lillqvist  <tml@novell.com>

	* gtk-zip.sh.in: Add gtk-update-icon-cache.exe to the dev zipfile.


svn path=/branches/gtk-2-12/; revision=20081
2008-05-07 08:55:39 +00:00
Richard Hult
d15e6d1564 Revert this commit from 2008-05-01, as it requires more changes to work
2008-05-04  Richard Hult  <richard@imendio.com>

	Revert this commit from 2008-05-01, as it requires more changes to
	work completely:

	* gdk/quartz/gdkevents-quartz.c:
	(get_keyboard_modifiers_from_ns_event), (create_key_event): Map
	Alt to Alt and Cmd to Meta. This is not only more logical but also
	makes it easier to have Mac-like behavior.

svn path=/branches/gtk-2-12/; revision=20073
2008-05-04 20:14:22 +00:00
Richard Hult
db3e94e7e5 Merged from trunk:
2008-05-04  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Check if
	gdk_unicode_to_keyval() worked before using the result. Makes
	function keys work, bug #530156. Also add F16 to the function key
	map.

svn path=/branches/gtk-2-12/; revision=20072
2008-05-04 15:16:35 +00:00
Richard Hult
c2b0b603a8 Merged from trunk:
2008-05-04  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Remove stray
	semicolon after if statement. Fixes bug #530963, patch from Yevgen
	Muntyan.

svn path=/branches/gtk-2-12/; revision=20070
2008-05-04 15:09:20 +00:00
Richard Hult
b0cd81b0be Merged from trunk:
2008-05-01  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gtk/gtkquartz.c (_gtk_quartz_set_selection_data_for_pasteboard):
	Prevent crash, fixes bug #530153. Patch from Yevgen Muntyan.

svn path=/branches/gtk-2-12/; revision=20065
2008-05-01 20:30:50 +00:00
Richard Hult
b03345022a Merged from trunk:
2008-05-01  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c: (_gdk_events_queue): Don't send
	nsevents with the gdk lock held, fixes deadlock when doing manual
	window resizing with threading enabled.

svn path=/branches/gtk-2-12/; revision=20063
2008-05-01 19:14:18 +00:00
Richard Hult
03d6aa295c Merged from trunk:
2008-05-01  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c:
	(get_keyboard_modifiers_from_ns_event), (create_key_event): Map
	Alt to Alt and Cmd to Meta. This is not only more logical but also
	makes it easier to have Mac-like behavior.

svn path=/branches/gtk-2-12/; revision=20062
2008-05-01 19:12:48 +00:00
Matthias Clasen
cec947fed4 Register the right translation domain.
* modules/imput/imthai.c: Register the right translation domain.


svn path=/branches/gtk-2-12/; revision=20061
2008-05-01 14:31:57 +00:00
Matthias Clasen
83feff9fb9 Bug 529386 – Printing options hidden by blacklisted option
* modules/printbackend/cups/gtkprintbackendcups.c
        (cups_printer_get_options): Fix the blacklist handling.
        Patch by Marek Kašík.



svn path=/branches/gtk-2-12/; revision=20059
2008-05-01 00:39:29 +00:00
Hans Breuer
2897be9c73 reverted unintentional commit from revision 19994
2008-04-20  Hans Breuer  <hans@breuer.org>

	* demos/gtk-demo/printing.c gtk/gtkprintoperation-win32.c
	  tests/simple.c : reverted unintentional commit from revision 19994

	* gdk/makefile.msc : define WTKIT if not done before

	* gtk/gtkfilechooserdefault.c : #include <locale.h> for LC_ALL


svn path=/branches/gtk-2-12/; revision=20030
2008-04-20 21:16:08 +00:00
Matthias Clasen
5e941b85e2 Sync xdgmime to the copy in gio.
2008-04-16  Matthias Clasen  <mclasen@redhat.com>

        * Sync xdgmime to the copy in gio.



svn path=/branches/gtk-2-12/; revision=20014
2008-04-17 00:07:58 +00:00
Matthias Clasen
1e5a8ff4b1 Partically revert the last commit after realizing that
2008-04-16  Matthias Clasen  <mclasen@redhat.com>

        Partically revert the last commit after realizing that
        xdg_mime_media_type_equal doesn't have to init at all.

        * xdgmime.h:
        * xdgmime.c: Get rid of _xdg_mime_media_type_equal

        * xdgmimecache.c: Use xdg_mime_media_type_equal


svn path=/branches/gtk-2-12/; revision=20012
2008-04-16 17:26:01 +00:00
Matthias Clasen
6c5da8ef45 Avoid possible memory corruption in xdgmime, fd.o bug 12512, reported by
2008-04-16  Matthias Clasen  <mclasen@redhat.com>

        Avoid possible memory corruption in xdgmime, fd.o bug 12512,
        reported by Joe Shaw and Federico Mena Quintero.

        * xdgmime.c(_xdg_mime_media_type_equal): Implement.
        (xdg_mime_media_type_equal): Turn into a wrapper around the
        _-prefixed version.

        * xdgmimecache.c: Use the _-prefixed versions of
        comparison functions throughout.


svn path=/branches/gtk-2-12/; revision=20010
2008-04-16 17:00:59 +00:00
Carlos Garnacho
c7fb1425a5 2008-04-11 Carlos Garnacho <carlos@imendio.com>D:ChangeLog
* gtk/gtkassistant.c (gtk_assistant_set_current_page): Add current
        page to visited page list instead of next current page. (#527466,
        patch by Marcus Brinkmann)


svn path=/branches/gtk-2-12/; revision=19997
2008-04-11 17:09:48 +00:00
Cody Russell
303ad1b982 Move my documentation changelog entries to the right changelog.
svn path=/branches/gtk-2-12/; revision=19994
2008-04-11 13:51:11 +00:00
Cody Russell
e28b96327d Fix to say g_signal_connect_after rather than g_signal_register_after.
2008-04-10  Cody Russell  <bratsche@gnome.org>

        * docs/reference/gdk/tmpl/windows.sgml: Fix to say
        g_signal_connect_after rather than g_signal_register_after.
        (reported by Guillaume Cottenceau)


svn path=/branches/gtk-2-12/; revision=19992
2008-04-10 21:11:36 +00:00
Cody Russell
2570c46f89 Fix a typo in the markup. (reported by kraai -at- ftbfs.org)
2008-04-10  Cody Russell  <bratsche@gnome.org>

        * docs/reference/gtk/tmpl/gtktreeview.sgml: Fix a typo
        in the markup. (reported by kraai -at- ftbfs.org)


svn path=/branches/gtk-2-12/; revision=19990
2008-04-10 21:03:07 +00:00
Carlos Garnacho
12a70a1c88 Do not call gtk_widget_set_parent_window(), using widget->window instead
2008-04-10  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtknotebook.c (hide_drag_window): Do not call
        gtk_widget_set_parent_window(), using widget->window instead of NULL
        to unset is the wrong thing, and gtk_widget_unparent() will already 
        take care of this (#467698, patch by Sébastien Granjoux)


svn path=/branches/gtk-2-12/; revision=19988
2008-04-10 17:17:44 +00:00
Marcel Telka
11bcc14b56 Updated Slovak translation by Pavol Šimo.
2008-04-08  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation by Pavol Šimo.

svn path=/branches/gtk-2-12/; revision=19986
2008-04-08 14:07:24 +00:00
Tor Lillqvist
36491a2d6b Mark these functions with G_MODULE_EXPORT.
2008-04-08  Tor Lillqvist  <tml@novell.com>

	* demos/gtk-demo/builder.c (quit_activate, about_activate): Mark
	these functions with G_MODULE_EXPORT.


svn path=/branches/gtk-2-12/; revision=19984
2008-04-08 14:01:46 +00:00
Tomas Bzatek
ce627a575e Fix fallback icon rendering size
2008-04-08  Tomas Bzatek  <tbzatek@redhat.com> 

        * gtk/gtkfilesystem.c: (gtk_file_info_render_icon),
        (gtk_file_system_volume_render_icon):
        Fix fallback icon rendering size


svn path=/branches/gtk-2-12/; revision=19983
2008-04-08 13:59:47 +00:00
Alberto Ruiz
d9cf92fe9d Merged from trunk:
2008-04-07  Alberto Ruiz  <aruiz@gnome.org>

	Merged from trunk:

	* gtk/gtkcombobox.c: (gtk_combo_box_size_allocate) The child is now aware of
	both the combobox and frame (if has-frame is set) thickness andd border.
	(bug #521442)


svn path=/branches/gtk-2-12/; revision=19980
2008-04-07 22:38:43 +00:00
Alberto Ruiz
bf3cce478c Merged from trunk:
2008-04-07  Alberto Ruiz  <aruiz@gnome.org>

	Merged from trunk:

	* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc:
	* modules/engines/ms-windows/msw_style.c (draw_box) (draw_arrow)
	(combo_box_draw_arrow) (setup_msw_rc_style): draw box does more intelligent
	separation for the xp theming engine and the classic theme while drawing the
	GtkComboBox button. combobox_draw_arrow is not used	anymore, commented.
	The style has been updated to fix border/thickness glitches in the combobox
	according to the fixes commited	regarding bug	#521442. (bug	#461805)


svn path=/branches/gtk-2-12/; revision=19979
2008-04-07 22:36:17 +00:00
Luca Ferretti
4f1acaaee6 Fixed minor typos.
2008-04-04  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Fixed minor typos.

svn path=/branches/gtk-2-12/; revision=19977
2008-04-04 20:01:01 +00:00
Tor Lillqvist
53e2422ee2 Bug 330743 - Up/down spinbuttons won't take zeros and exhibit very strange
2008-04-03  Tor Lillqvist  <tml@novell.com>

	Bug 330743 - Up/down spinbuttons won't take zeros and exhibit very
	strange behavior

	* gtk/gtkspinbutton.c (gtk_spin_button_insert_text) [Win32]: Add
	workaround for a specific kind of screwed up locale setting.


svn path=/branches/gtk-2-12/; revision=19973
2008-04-03 12:45:42 +00:00
Jordi Mallach
ab22e08d0f Add Valencian-Catalan translation to gtk+-2.12 branch.
svn path=/branches/gtk-2-12/; revision=19971
2008-04-03 10:58:25 +00:00
Matthias Clasen
f141c611fa Don't call XFreeColormap on foreign colormaps. Found by Daniel Berrange.
2008-04-02  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdkcolor-x11.c: Don't call XFreeColormap on foreign
        colormaps.  Found by Daniel Berrange.



svn path=/branches/gtk-2-12/; revision=19970
2008-04-03 05:11:06 +00:00
Matej Urbančič
d148bc6164 Updated Slovenian translation
svn path=/branches/gtk-2-12/; revision=19966
2008-04-02 16:56:17 +00:00
Matej Urbančič
3eee4bb63d Updated Slovenian translation
svn path=/branches/gtk-2-12/; revision=19965
2008-04-02 16:53:59 +00:00
Federico Mena Quintero
4107a925ce bgo492134 - fix tilde expansion in GtkFileSystemUnix
Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19964
2008-04-02 16:53:07 +00:00
Matej Urbančič
f045a8df05 Updated Slovenian translation
svn path=/branches/gtk-2-12/; revision=19963
2008-04-02 16:51:53 +00:00
Matej Urbančič
1901be48e7 Updated Slovenian translation
svn path=/branches/gtk-2-12/; revision=19961
2008-04-02 16:47:18 +00:00
Tor Lillqvist
efd485faad Don't bother compiling gtksearchenginebeagle.c and
2008-04-02  Tor Lillqvist  <tml@novell.com>

	* gtk/Makefile.am: Don't bother compiling gtksearchenginebeagle.c
	and gtksearchenginetracker.c on Windows.

	* gtk/gtksearchengine.c: Don't define HAVE_BEAGLE and HAVE_TRACKER
	on Windows.


svn path=/branches/gtk-2-12/; revision=19960
2008-04-02 10:24:42 +00:00
Petr Kovář
b7a7f4fb87 cs.po: Updated Czech translation.
svn path=/branches/gtk-2-12/; revision=19957
2008-04-02 00:01:22 +00:00
Richard Hult
eedd9aca54 Merged from trunk:
2008-04-01  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c: (gdk_event_translate),
	(_gdk_quartz_events_trigger_crossing_events): Defer the generated
	event to the mainloop and don't generate one at all if the
	toplevel didn't change. Use the actual window and not the toplevel
	as event window. These changes make the generated crossing events
	match the X11 behavior and fixes issues with e.g. tooltips,
	comboboxes and menus.

	* gdk/quartz/GdkQuartzView.c: Don't update the tracking rect if
	the view has no window, it will be updated as soon as it's put
	inside a window.

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_quartz_window_debug_highlight): Make it possible to track
	multiple windows with debug highlighting.
	(show_window_internal): Remove workaround for tooltips and popups
	that is no longer needed with the above changes.

svn path=/branches/gtk-2-12/; revision=19954
2008-04-01 11:20:25 +00:00
Cody Russell
f45b12831b Merged from trunk:
2008-03-31  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * demos/gtk-demo/printing.c (draw_page): Move down each line in
        units of text_height rather than in units of data->font_size.
        (totally awesome catch by Dom Lachowicz)


svn path=/branches/gtk-2-12/; revision=19953
2008-03-31 21:47:57 +00:00
Tor Lillqvist
a3a986f376 Bug 524862 - Using GTK_WIN_POS_CENTER_ALWAYS gives jerky window resizing
2008-03-30  Tor Lillqvist  <tml@novell.com>

	Bug 524862 - Using GTK_WIN_POS_CENTER_ALWAYS gives jerky window
	resizing in Win32

	* gtk/tmpl/gtkenums.sgml: Recommend that GTK_WIN_POS_CENTER_ALWAYS
	is not used.


svn path=/branches/gtk-2-12/; revision=19949
2008-03-30 02:32:06 +00:00
Jovan Naumovski
a9a93701fe 2008-03-29 Jovan Naumovski <jovanna@svn.gnome.org> *mk.po: Updated Macedonian translation.
svn path=/branches/gtk-2-12/; revision=19946
2008-03-29 21:08:03 +00:00
Hendrik Richter
fc13cd5ca3 Updated German translation, fix #524115.
2008-03-29  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation, fix #524115.

svn path=/branches/gtk-2-12/; revision=19945
2008-03-29 18:43:02 +00:00
Tor Lillqvist
112933a0a8 Bug 524422 - assertion when filechooser current name set to string
2008-03-28  Tor Lillqvist  <tml@novell.com>

	Bug 524422 - assertion when filechooser current name set to string
	containing disallowed characters

	* gtk/gtkfilechooserentry.c (check_completion_callback): Patch by
	Daniel Atallah.


svn path=/branches/gtk-2-12/; revision=19941
2008-03-28 16:26:35 +00:00
Nguyễn Thái Ngọc Duy
7c6054c8f6 Update Vietnamese translation
2008-03-27  Nguyễn Thái Ngọc Duy <pclouds@gmail.com>

	* vi.po: Update Vietnamese translation


svn path=/branches/gtk-2-12/; revision=19939
2008-03-27 13:32:49 +00:00
Richard Hult
1441b7ac88 Merged from trunk:
2008-03-25  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_trigger_crossing_events): Bail out early if we
	can't find a matching window.

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Add a
	comment, and only trigger an event for non-temp windows, fixes
	problems for tooltips caused by the workarounds for the
	problematic tracking rect API.

svn path=/branches/gtk-2-12/; revision=19936
2008-03-25 14:21:45 +00:00
Richard Hult
8978c69794 Merged from trunk:
2008-03-25  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Plug a leak and add a
	check that we have a toplevel before accessing it.

2008-03-25  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Patch from Paul Davis,
	only flush the toplevel once per update.

svn path=/branches/gtk-2-12/; revision=19935
2008-03-25 13:56:46 +00:00
Tor Lillqvist
aff352be5a Bug 524151 - Dragging of 0-byte files results in an empty filename on
2008-03-24  Tor Lillqvist  <tml@novell.com>

	Bug 524151 - Dragging of 0-byte files results in an empty filename
	on Windows XP and above

	* gdk/win32/gdkdnd-win32.c (resolve_link): Check for the file
	being empty first. For some reason ISHellLink and IPersistFile
	succeeds in interpreting empty files as shortcuts, claiming the
	target of the shortcut is an empty path.

	Change the function to take the wide character file name that the
	caller already has anyway, to avoid a superfluous conversion from
	UTF-8 to UTF-16.


svn path=/branches/gtk-2-12/; revision=19932
2008-03-24 17:39:26 +00:00
Cody Russell
da3eaddf31 Merged from trunk:
2008-03-23  Cody Russell  <bratsche@gnome.org>

	Merged from trunk:

        * gdk/win32/gdkevents-win32.c (show_window_recurse):
        Check window state for GDK_WINDOW_STATE_ICONIFIED before doing
        ShowWindow (SW_RESTORE).  This fixes a problem where tearing off
        menus from a maximized window would force the window to restore
        its size. (#518846)


svn path=/branches/gtk-2-12/; revision=19927
2008-03-23 15:38:50 +00:00
Johan Dahlin
bfaa163449 Merged from trunk:
2008-03-23  Johan Dahlin  <johan@gnome.org>

        Merged from trunk:

        * gtk/gtk-builder-convert:
        Properly convert GtkImageMenuItems which use stock labels but don't
        have any children.
        (#523932, Brian Pepple)


svn path=/branches/gtk-2-12/; revision=19925
2008-03-23 08:22:14 +00:00
Tor Lillqvist
7689a9cd75 Bug 523782 - Leftover call to GDK_THREADS_LEAVE() in gtktoolbar.c
2008-03-22  Tor Lillqvist  <tml@novell.com>

	Bug 523782 - Leftover call to GDK_THREADS_LEAVE() in gtktoolbar.c

	* gtk/gtktoolbar.c (slide_idle_handler): Remove obviously wrong
	GDK_THREADS_LEAVE() call. Approved by mclasen.


svn path=/branches/gtk-2-12/; revision=19921
2008-03-22 09:02:40 +00:00
Duarte Loreto
f4f85430d6 Updated Portuguese translation.
2008-03-21  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-12/; revision=19919
2008-03-21 20:55:56 +00:00
Laurent Dhima
33133a94a6 Updated Albanian translation.
svn path=/branches/gtk-2-12/; revision=19912
2008-03-20 11:53:32 +00:00
Laurent Dhima
938a8ff8bc Updated Translation
svn path=/branches/gtk-2-12/; revision=19910
2008-03-20 11:01:13 +00:00
Vladimer Sichinava
614c41482e Updated Georgian translation
svn path=/branches/gtk-2-12/; revision=19906
2008-03-19 21:09:14 +00:00
Vladimer Sichinava
55b0c99e50 Updated Georgian translation
svn path=/branches/gtk-2-12/; revision=19904
2008-03-19 21:01:27 +00:00
Kostas Papadimas
1ea77f98ae Updated Greek translation
svn path=/branches/gtk-2-12/; revision=19901
2008-03-18 18:58:39 +00:00
Laurent Dhima
1b3d68b259 Updated Albanian translation.
svn path=/branches/gtk-2-12/; revision=19899
2008-03-18 15:34:29 +00:00
Yang Zhang
e6e9857d5d Updated zh_CN translation
svn path=/branches/gtk-2-12/; revision=19891
2008-03-17 04:12:01 +00:00
Ihar Hrachyshka
635ae20cd8 Updated Belarusian Latin translation.
svn path=/branches/gtk-2-12/; revision=19889
2008-03-16 10:35:43 +00:00
Changwoo Ryu
a74dfbde33 Updated Korean translation.
svn path=/branches/gtk-2-12/; revision=19882
2008-03-15 05:32:01 +00:00
Matthias Clasen
2941a61e2e Set window type hint on the search popup. (#522279, Danny Baumann)
2008-03-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory):
        Set window type hint on the search popup.  (#522279, Danny Baumann)



svn path=/branches/gtk-2-12/; revision=19881
2008-03-15 04:53:03 +00:00
Matthias Clasen
c0073fe550 Emit preedit_start/_end as appropriate. (#521934, Huang Peng)
2008-03-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimcontextsimple.c: Emit preedit_start/_end as
        appropriate.  (#521934, Huang Peng)



svn path=/branches/gtk-2-12/; revision=19879
2008-03-15 04:32:08 +00:00
Claude Paroz
a008f1b30d Updated French translation.
2008-03-14  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation.

svn path=/branches/gtk-2-12/; revision=19873
2008-03-14 12:40:12 +00:00
Sven Neumann
80a96aca60 Merged from trunk:
2008-03-13  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* gtk/gtkfilechooserdefault.c
	* gtk/gtkprintunixdialog.c: set alternative button order for
	overwrite confirmation dialogs (bug #522191).

svn path=/branches/gtk-2-12/; revision=19867
2008-03-13 14:10:09 +00:00
Jonh Wendell S. Santana
17336bc839 minor update in pt_BR language
svn path=/branches/gtk-2-12/; revision=19865
2008-03-13 13:04:29 +00:00
Luca Ferretti
1397596de7 Updated Italian translation.
2008-03-13  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Updated Italian translation.


svn path=/branches/gtk-2-12/; revision=19864
2008-03-13 10:42:56 +00:00
Sven Neumann
48f6bb1a78 Merged from trunk:
2008-03-13  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* gtk/gtkprintunixdialog.c (add_custom_button_to_dialog)
	(overwrite_confirmation_dialog): added some line-breaks for
	readability.

svn path=/branches/gtk-2-12/; revision=19863
2008-03-13 09:24:11 +00:00
Timo Jyrinki
e855e03e46 fix fuzzy
svn path=/branches/gtk-2-12/; revision=19861
2008-03-13 05:38:50 +00:00
Gintautas Miliauskas
84536cf68e Updated Lithuanian translation.
2008-03-12  Gintautas Miliauskas  <gintas@akl.lt>

	* lt.po: Updated Lithuanian translation.


svn path=/branches/gtk-2-12/; revision=19797
2008-03-12 21:44:02 +00:00
Marcel Telka
fc438198f0 Updated Slovak translation by Pavol Šimo.
2008-03-12  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation by Pavol Šimo.

svn path=/branches/gtk-2-12/; revision=19796
2008-03-12 20:50:04 +00:00
Gil Forcada Codinachs
6381413650 Updated Catalan translation by David Planella
svn path=/branches/gtk-2-12/; revision=19794
2008-03-12 20:02:03 +00:00
Jens Granseuer
be7d2921da Merged from trunk:
2008-03-12  Jens Granseuer  <jensgr@gmx.net>

	Merged from trunk:

        * modules/printbackends/cups/gtkprintbackendcups.c:
        (cups_printer_prepare_for_print): Don't define variables in the
        middle of a block. (#522067)

svn path=/branches/gtk-2-12/; revision=19790
2008-03-12 18:39:26 +00:00
Matthias Clasen
155f81666f Add an overwrite confirmation dialog for print-to-file. (#474302, Marek
2008-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintunixdialog.c: Add an overwrite confirmation
        dialog for print-to-file.  (#474302, Marek Kašík)


svn path=/branches/gtk-2-12/; revision=19788
2008-03-12 18:06:03 +00:00
Sebastian Dröge
02030f4f26 Merged from trunk: Include <glib/gstdio.h> for g_fopen().
Merged from trunk:
* modules/printbackends/cups/gtkprintbackendcups.c: Include
<glib/gstdio.h> for g_fopen().

svn path=/branches/gtk-2-12/; revision=19785
2008-03-12 17:52:32 +00:00
Daniel Nylander
41f1c60ee9 sv.po: Updated Swedish translation
svn path=/branches/gtk-2-12/; revision=19784
2008-03-12 17:04:12 +00:00
Matthias Clasen
269804ecbf Don't leak paper_size here. (#488820, Morten Welinder)
2008-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkpagesetup.c (gtk_page_setup_copy): Don't leak
        paper_size here.  (#488820, Morten Welinder)


svn path=/branches/gtk-2-12/; revision=19783
2008-03-12 16:40:51 +00:00
Wouter Bolsterlee
d9be014869 Updated Dutch translation by Wouter Bolsterlee.
2008-03-12  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* nl.po: Updated Dutch translation by Wouter Bolsterlee.


svn path=/branches/gtk-2-12/; revision=19780
2008-03-12 14:56:56 +00:00
Takeshi AIHANA
63e0207772 Updated Japanese translation.
2008-03-12  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-12/; revision=19778
2008-03-12 13:26:11 +00:00
Andre Klapper
2eaef04711 Updated German translation
2008-03-12  Andre Klapper  <a9016009@gmx.de>

	* de.po: Updated German translation


svn path=/branches/gtk-2-12/; revision=19777
2008-03-12 12:36:39 +00:00
Inaki Larranaga Murgoitio
ae7c8f7f6f Updated Basque translation.
2008-03-12  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gtk-2-12/; revision=19776
2008-03-12 12:04:00 +00:00
Jorge Gonzalez Gonzalez
d107e53764 Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=19774
2008-03-12 10:37:05 +00:00
Tor Lillqvist
c8bbc34461 Bug 520286 - Non-deletable window has no minimize / maximize buttons
2008-03-12  Tor Lillqvist  <tml@novell.com>

	Bug 520286 - Non-deletable window has no minimize / maximize buttons

	* gdk/win32/gdkmain-win32.c (_gdk_win32_window_style_to_string):
	New debugging output function that decodes a set of WS_* bits.

	* gdk/win32/gdkprivate-win32.h: Declare it.

	* gdk/win32/gdkwindow-win32.c (update_single_system_menu_entry):
	New function that enables or disables one menu entry in the system
	menu of a top-level window. (The corresponding decoration will
	then also be enabled or disabled (grayed).)

	(update_style_bits): Do as the comment says and don't try to
	update the window style based on the GdkWMFunctions set for the
	window.
		   
	(update_system_menu): New function that enables or disables the
	system menu entries based on a window's stored set of
	GdkWMFunctions.

	(gdk_window_set_functions): Call update_system_menu() instead of
	update_style_bits().


svn path=/branches/gtk-2-12/; revision=19773
2008-03-12 10:32:31 +00:00
Ignacio Casal Quinteiro
af6fbfc5f1 Updated Galician Translation.
svn path=/branches/gtk-2-12/; revision=19772
2008-03-12 09:55:27 +00:00
Sunil Mohan Adapa
46a24bfce6 Updated Telugu traslation done by Krishna Babu K <kkrothap@redhat.com>.
2008-03-12  Sunil Mohan Adapa  <sunilmohan@fsf.org.in>

        * te.po: Updated Telugu traslation done by
        Krishna Babu K <kkrothap@redhat.com>.


svn path=/branches/gtk-2-12/; revision=19771
2008-03-12 08:33:12 +00:00
Philip Withnall
5da0096ce7 Updated British English translation.
2008-03-12  Philip Withnall  <pwithnall@svn.gnome.org>

	* en_GB.po: Updated British English translation.


svn path=/branches/gtk-2-12/; revision=19770
2008-03-12 07:38:39 +00:00
Matthias Clasen
ebb2e413fb Bump version
svn path=/branches/gtk-2-12/; revision=19768
2008-03-12 06:12:10 +00:00
Matthias Clasen
8dd94a9008 2.12.9
svn path=/branches/gtk-2-12/; revision=19766
2008-03-12 06:10:20 +00:00
Matthias Clasen
80140dcbb2 Updates
svn path=/branches/gtk-2-12/; revision=19765
2008-03-12 05:39:21 +00:00
Vladimer Sichinava
619ba1523d Some fixes
svn path=/branches/gtk-2-12/; revision=19764
2008-03-12 02:31:37 +00:00
Matthias Clasen
c7583f3773 Use g_ascii_formatd when formatting custom paper sizes, since cups doesn't
2008-03-11  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Use
        g_ascii_formatd when formatting custom paper sizes, since
        cups doesn't handle , as decimal separator.  (#521548)



svn path=/branches/gtk-2-12/; revision=19763
2008-03-12 01:36:35 +00:00
Vladimer Sichinava
baa373e64a Some fixes
svn path=/branches/gtk-2-12/; revision=19761
2008-03-12 01:26:57 +00:00
Tor Lillqvist
ecebf9ed1d Bug 469868 - Filenames with colon ":" are not saved correctly
2008-03-11  Tor Lillqvist  <tml@novell.com>

	Bug 469868 - Filenames with colon ":" are not saved correctly

	* gtk/gtkfilechooserentry.c (insert_text_callback)
	(delete_text_callback) [Win32]: New functions to make sure that
	colons used otherwise than as a separator after a drive letter, or
	characters that are always illegal in file names, are rejected on
	input. This means that the GTK+ file chooser can't be used to
	input full names of alternate data streams, but oh well. There are
	still more checks that could be done on the file names, see the
	bug report. But this will do for now.
	(_gtk_file_chooser_entry_init) [Win32]: Connect above functions.


svn path=/branches/gtk-2-12/; revision=19760
2008-03-11 23:54:38 +00:00
Djihed Afifi
f8816994fc Updated Arabic Translation by Djihed Afifi.
svn path=/branches/gtk-2-12/; revision=19759
2008-03-11 22:21:54 +00:00
Djihed Afifi
bc0c483119 Updated Arabic Translation by Djihed Afifi.
svn path=/branches/gtk-2-12/; revision=19758
2008-03-11 22:20:29 +00:00
Claudio Saavedra
f1d8efe4a0 Set a GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while still
2008-03-11  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

	* io-bmp.c: (gdk_pixbuf__bmp_image_stop_load): Set a
	GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while
	still reading the headers.  (#505085)


svn path=/branches/gtk-2-12/; revision=19755
2008-03-11 21:00:42 +00:00
Claudio Saavedra
415bfe39e4 Check for the BMP header magic numbers before decoding it. (#505085)
2008-03-11  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

        * io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers
        before decoding it.  (#505085)


svn path=/branches/gtk-2-12/; revision=19754
2008-03-11 20:51:09 +00:00
Alberto Ruiz
bd12de15d5 Merged from trunk:
2008-03-11  Alberto Ruiz  <aruiz@gnome.org>

	Merged from trunk:

  * gtk/gtkcombobox.c (gtk_combo_box_size_allocate):
	Take thickness into account in the size allocation of the child widgets in
	list mode.
	Fixes #521442


svn path=/branches/gtk-2-12/; revision=19748
2008-03-11 13:51:55 +00:00
Wouter Bolsterlee
309b86b222 reviewed by: Matthias Clasen <mclasen@redhat.com>
2008-03-10  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	reviewed by: Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c
	(cups_get_user_options):

	Bug 469210 – Honor CUPS user default options for GtkPrint

	Correctly iterate over filename list, avoiding a
	critical warning/crash.

svn path=/branches/gtk-2-12/; revision=19741
2008-03-10 08:56:14 +00:00
Kjartan Maraas
0f7b37bfe1 Updated Norwegian bokmål translation.
2008-03-09  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-12/; revision=19739
2008-03-09 13:31:34 +00:00
Petr Kovář
d936efe384 Updated Czech translation.
svn path=/branches/gtk-2-12/; revision=19737
2008-03-08 23:35:31 +00:00
Baris Cicek
5157187347 Updated Turkish Translation
svn path=/branches/gtk-2-12/; revision=19736
2008-03-08 20:14:10 +00:00
Alberto Ruiz
080557e033 Merged from trunk:
2008-03-07  Alberto Ruiz  <aruiz@gnome.org>

	Merged from trunk:

	* modules/engines/ms-windows/msw_style.c (draw_shadow):
	Do not draw frame if parent if combobox.
	(draw_box):
	Uses scrollbar width system metrics for combobox button.
	Fixes #461805 for XP theme engine.


svn path=/branches/gtk-2-12/; revision=19734
2008-03-08 07:32:08 +00:00
Federico Mena Quintero
f6e00fcc3b Fix ChangeLog
Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19729
2008-03-07 04:03:38 +00:00
Federico Mena Quintero
8dab597810 bgo505857 - GtkFileChooserDialog ensures its default response
2008-03-06  Federico Mena Quintero  <federico@novell.com>

	Merged from trunk:

	Fix http://bugzilla.gnome.org/show_bug.cgi?id=505857 -
	GtkFileChooserDialog should set a default response button if the
	app doesn't set it.  Based on a patch by Chris Wang <chris.wang@sun.com>.

	* gtk/gtkfilechooserdialog.c (is_stock_accept_response_id): New
	function, refactor from where there was duplicated code.
	(gtk_file_chooser_dialog_new_valist): If the response ID for the
	button is one of the stock ones, make it the default response
	button.

Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19728
2008-03-07 03:58:32 +00:00
Gil Forcada Codinachs
1f30863ca5 Updated Catalan translation by David Planella
svn path=/branches/gtk-2-12/; revision=19717
2008-03-06 08:11:58 +00:00
Alberto Ruiz
aadae9561d Add --disable-cups option. (#513826, Alberto Ruiz)
2008-03-04  Alberto Ruiz  <aruiz@gnome.org>
	* configure.in: Add --disable-cups option.
		(#513826, Alberto Ruiz)


svn path=/branches/gtk-2-12/; revision=19716
2008-03-05 17:17:29 +00:00
Matthias Clasen
d1cbce98da Honor cups user default options from ~/.cups/lpoptions (#469210, Stijn
2008-03-04  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c:
        Honor cups user default options from ~/.cups/lpoptions
        (#469210, Stijn Hoop)



svn path=/branches/gtk-2-12/; revision=19711
2008-03-05 03:48:51 +00:00
Felix I
b839f8c614 updated ta translation
svn path=/branches/gtk-2-12/; revision=19707
2008-03-04 12:25:43 +00:00
Jorge Gonzalez Gonzalez
3bac9cc8a1 Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=19704
2008-03-03 23:59:06 +00:00
Jorge Gonzalez Gonzalez
f61bbb2c16 Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=19703
2008-03-03 23:58:31 +00:00
Jorge Gonzalez Gonzalez
92723128db Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=19702
2008-03-03 23:30:42 +00:00
Philip Withnall
140f28ef7d Updated British English translation.
2008-03-03  Philip Withnall  <pwithnall@svn.gnome.org>

	* en_GB.po: Updated British English translation.


svn path=/branches/gtk-2-12/; revision=19701
2008-03-03 22:57:45 +00:00
Carlos Garnacho
ececb56172 bgo417389 - Scrollwheel for GtkPathBar
2008-03-03  Carlos Garnacho  <carlos@imendio.com>

	Merged from trunk:

	Fix http://bugzilla.gnome.org/show_bug.cgi?id=417389 - Make the
	scrollwheel work in GtkPathBar.

	* gtk/gtkpathbar.h (struct _GtkPathBar): New field event_window.

	* gtk/gtkpathbar.c (gtk_path_bar_realize): New function.  Create
	an input-only window, event_window, which we'll use to capture
	scroll events.
	(gtk_path_bar_map): Show the event_window under the rest of the
	windows, so it will be a catch-all for unhandled events.

Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19700
2008-03-03 21:18:57 +00:00
Philip Withnall
b16a02e4d3 po-properties/en_GB.po Updated British English translation.
2008-03-03  Philip Withnall  <pwithnall@svn.gnome.org>

	* po-properties/en_GB.po
	* po/en_GB.po: Updated British English translation.


svn path=/branches/gtk-2-12/; revision=19698
2008-03-03 21:14:24 +00:00
Sven Neumann
d32b4c4b31 Merged from trunk:
2008-03-03  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* gtk/gtkfilechooserbutton.c (G_DEFINE_TYPE_WITH_CODE): fixed a
	typo in the documentation of the GtkFileChooserButtons::file-set
	signal (see bug #353196).

svn path=/branches/gtk-2-12/; revision=19697
2008-03-03 12:36:36 +00:00
Timo Jyrinki
d21c62afe6 (just update last translated dates, in case ubuntu has problems importing
because of those)

svn path=/branches/gtk-2-12/; revision=19686
2008-03-02 11:08:20 +00:00
Richard Hult
a6d56c1581 Merged from trunk:
2008-03-01  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkwindow-quartz.c: Add debugging code to highlight a
	gdkwindow.

svn path=/branches/gtk-2-12/; revision=19683
2008-03-01 14:21:50 +00:00
Johan Dahlin
7bcdd85f44 Merged from trunk:
2008-02-29  Johan Dahlin  <johan@gnome.org>

        Merged from trunk:

        * gtk/gtkbuilder.c:
        * gtk/gtkbuilderparser.c:
        * gtk/gtkbuilderprivate.h:
        Do not use g_error for a few more errors, instead set
        the GError sent in through add_from_file/add_from_string.
        * tests/buildertest.c:
        Add a couple of new parsing tests.
        (#519199, Pavel Syomin)


svn path=/branches/gtk-2-12/; revision=19682
2008-03-01 13:53:39 +00:00
Nurali Abdurahmonov
9acfc51107 updated uzbek cyrillic translation
svn path=/branches/gtk-2-12/; revision=19680
2008-03-01 05:57:39 +00:00
Nurali Abdurahmonov
3fdeec6bed updated uzbek cyrillic translation
svn path=/branches/gtk-2-12/; revision=19679
2008-03-01 05:52:02 +00:00
Federico Mena Quintero
b822a3f120 When refreshing an existing unix folder, turn off its is_finished_loading state
2008-02-29  Federico Mena Quintero  <federico@novell.com>

	Merged from trunk:

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): When
	refreshing an existing folder (i.e. when we are about to reload
	its file list), turn off the folder's is_finished_loading flag.
	Otherwise callers which do ::is_finished_loading() followed by
	::list_children() will get nothing.

Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19678
2008-03-01 02:34:02 +00:00
Åsmund Skjæveland
82feefe954 Updated Norwegian Nynorsk translation.
2008-02-29  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19675
2008-02-29 13:34:05 +00:00
Nickolay V. Shmyrev
56acf81297 Updated Russian translation.
2008-02-28  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation.


svn path=/branches/gtk-2-12/; revision=19674
2008-02-28 23:59:01 +00:00
Åsmund Skjæveland
cc79b4cb19 Updated Norwegian Nynorsk translation.
2008-02-28  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19672
2008-02-28 21:26:14 +00:00
Åsmund Skjæveland
1fa00a87fc Updated Norwegian Nynorsk translation.
2008-02-27  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19670
2008-02-27 22:46:48 +00:00
Åsmund Skjæveland
a4efc109cc Updated Norwegian Nynorsk translation.
2008-02-27  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19669
2008-02-27 21:54:22 +00:00
Richard Hult
3351655750 Merged from trunk:
2008-02-27  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzView.c:
	* gdk/quartz/GdkQuartzView.h:
	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations):
	Fix performance regression for borderless transparent windows
	with shadow.

svn path=/branches/gtk-2-12/; revision=19667
2008-02-27 10:55:55 +00:00
Sven Neumann
7a8337feb4 Merged from trunk:
2008-02-27  Sven Neumann  <sven@gimp.org>

	Merged from trunk:

	* gtk/Makefile.am (GTK_PRINT_PREVIEW_COMMAND): when building the
	Quartz backend, use a native Mac OS X application for the print
	preview (bug #518624).

svn path=/branches/gtk-2-12/; revision=19664
2008-02-27 10:01:04 +00:00
Åsmund Skjæveland
93a3cc51eb Updated Norwegian Nynorsk translation.
2008-02-26  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19662
2008-02-26 22:58:01 +00:00
Åsmund Skjæveland
876f6600ec Updated Norwegian Nynorsk translation.
2008-02-26  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19661
2008-02-26 22:01:56 +00:00
Åsmund Skjæveland
4ab6bf34f9 Updated Norwegian Nynorsk translation.
2008-02-26  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19660
2008-02-26 19:04:30 +00:00
Åsmund Skjæveland
d9c88a51a1 Updated Norwegian Nynorsk translation.
2008-02-26  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19659
2008-02-26 18:54:39 +00:00
Michael Natterer
145acc18d2 Merged from trunk:
2008-02-26  Michael Natterer  <mitch@imendio.com>

	Merged from trunk:

	* gtk/gtktextbufferserialize.c (parse_info_free): don't g_free()
	the members of info->tag_stack since they are a) gobjects and b)
	not even owned by us, ugh... Fixes crash when deserializing fails.


svn path=/branches/gtk-2-12/; revision=19658
2008-02-26 14:21:41 +00:00
Gabor Keleman
582fd1376b Some quick fixes
svn path=/branches/gtk-2-12/; revision=19653
2008-02-25 23:02:04 +00:00
Gabor Kelemen
339b8ca807 Translation updated
2008-02-25  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated


svn path=/branches/gtk-2-12/; revision=19652
2008-02-25 22:56:05 +00:00
Åsmund Skjæveland
1ec2ccb1b0 Updated Norwegian Nynorsk translation.
2008-02-25  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19651
2008-02-25 21:24:56 +00:00
Matthias Clasen
613e88b80b Fix the build
svn path=/branches/gtk-2-12/; revision=19650
2008-02-25 16:01:34 +00:00
Matthias Clasen
852f235f1e Don't use beagle_query_add_hit_type
svn path=/branches/gtk-2-12/; revision=19648
2008-02-25 15:46:26 +00:00
Matthias Clasen
004651e579 Look for libbeagle.so.1
2008-02-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksearchenginebeagle.c: Look for libbeagle.so.1


svn path=/branches/gtk-2-12/; revision=19647
2008-02-25 15:33:41 +00:00
Richard Hult
e425a25b74 Merged from trunk:
2008-02-25  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c
	(_gdk_quartz_events_trigger_crossing_events): Fix build on tiger.

svn path=/branches/gtk-2-12/; revision=19645
2008-02-25 12:50:46 +00:00
Åsmund Skjæveland
468b7f8aa3 Updated Norwegian Nynorsk translation.
2008-02-24  Åsmund Skjæveland  <aasmunds@ulrik.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.

svn path=/branches/gtk-2-12/; revision=19643
2008-02-24 21:58:17 +00:00
Cody Russell
c04a3608e5 Fixed declaration in the middle of a block that was causing compile
2008-02-24  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkwindow-win32.c: Fixed declaration in the middle of
        a block that was causing compile problems on old compilers.
        (#518398, reported by Kazuki IWAMOTO)


svn path=/branches/gtk-2-12/; revision=19642
2008-02-24 20:07:26 +00:00
Gabor Kelemen
08b8313896 Translation updated
2008-02-24  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated


svn path=/branches/gtk-2-12/; revision=19641
2008-02-24 18:09:32 +00:00
Richard Hult
03255fa874 Merged from trunk:
2008-02-24  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzWindow.c: Prevent hidden windows from being
	shown without gdk's control when clicking the dock icon.

svn path=/branches/gtk-2-12/; revision=19640
2008-02-24 18:00:43 +00:00
Richard Hult
9dfc48823f Merged from trunk:
2008-02-24  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkeventloop-quartz.c: (got_fd_activity), (poll_func):
	Use the subtype field for the custom event that is used to wake up
	the mainloop so we can have other custom event types.

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_trigger_crossing_events):
	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Create
	crossing events after showing a window if necessary, to work
	around problems with the tracking rect API.

svn path=/branches/gtk-2-12/; revision=19639
2008-02-24 17:59:01 +00:00
Luca Ferretti
6837e6ca22 Updated Italian translation.
2008-02-23  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Updated Italian translation.

svn path=/branches/gtk-2-12/; revision=19636
2008-02-23 12:04:17 +00:00
Luca Ferretti
3d2d989079 Updated Italian translation.
2008-02-22  Luca Ferretti  <elle.uca@libero.it>

	* it.po: Updated Italian translation.

svn path=/branches/gtk-2-12/; revision=19633
2008-02-22 16:59:17 +00:00
Jonh Wendell
6fb50c934c Brazilian Portuguese translation updated by Og Maciel.
2008-02-22  Jonh Wendell  <jwendell@gnome.org>

	* pt_BR.po: Brazilian Portuguese translation updated by Og Maciel.

svn path=/branches/gtk-2-12/; revision=19631
2008-02-22 11:57:25 +00:00
Tor Lillqvist
ec021e2f7e Small further change to make it more robust.
svn path=/branches/gtk-2-12/; revision=19627
2008-02-21 16:26:11 +00:00
Tor Lillqvist
5c8107296f Must pass the format string to strftime in the C library's locale's
2008-02-21  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilechooserdefault.c (list_mtime_data_func) [Win32]: Must
	pass the format string to strftime in the C library's locale's
	charset, not the system's. Correspondingly, the return value from
	strftime() is in the C library's locale's charset. (#509885)


svn path=/branches/gtk-2-12/; revision=19624
2008-02-21 12:36:49 +00:00
Richard Hult
2601eff280 Merged from trunk:
2008-02-20  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Set
	the right window level and shadow after recreating the window.

	* gdk/quartz/GdkQuartzView.c: (drawRect): Invalidate the shadow if
	necessary after drawing (bug #517338).

svn path=/branches/gtk-2-12/; revision=19623
2008-02-20 20:12:45 +00:00
Richard Hult
15c471f7b8 Merged from trunk:
2008-02-20  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzWindow.c: (showAndMakeKey): Update the
	position after showing the window since the window manager might
	not place it where we requested in the first place.

svn path=/branches/gtk-2-12/; revision=19621
2008-02-20 19:33:36 +00:00
Richard Hult
e7a79f9009 Merged from trunk:
2008-02-20  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal),
	(_gdk_quartz_window_detach_from_parent),
	(_gdk_quartz_window_attach_to_parent), (gdk_window_focus): Clear
	the toplevel ordering list in all places where the order is
	potentially changed. Fixes mouse focus issues for windows with
	a transient parent set.

svn path=/branches/gtk-2-12/; revision=19620
2008-02-20 19:31:25 +00:00
Pawan Chitrakar
315842bc0a Updated Translation
svn path=/branches/gtk-2-12/; revision=19618
2008-02-20 07:58:16 +00:00
Ignacio Casal Quinteiro
9f55833bd6 Updated Galician Translation.
svn path=/branches/gtk-2-12/; revision=19616
2008-02-19 17:16:32 +00:00
Johan Dahlin
a622849f8e Merged from trunk:
2008-02-17  Johan Dahlin  <johan@gnome.org>

        Merged from trunk:

        * gtk/gtk-builder-convert (GtkBuilderConverter._add_action_from_menuitem): 
        When converting a stock item based on the label, remove the label property.


svn path=/branches/gtk-2-12/; revision=19608
2008-02-17 22:53:29 +00:00
Kjartan Maraas
1255866280 Some more fixes.
2008-02-17  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Some more fixes.

svn path=/branches/gtk-2-12/; revision=19606
2008-02-17 11:15:56 +00:00
Artur Flinta
98e34328dc Updated Polish translation by GNOME PL Team.
2008-02-16  Artur Flinta  <aflinta@gmail.com>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/branches/gtk-2-12/; revision=19601
2008-02-16 17:15:20 +00:00
Richard Hult
9cae0ee065 Merged from trunk:
2008-02-15  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzView.c: Adapt to the change to use frame
	instead of bounds when resizing windows.

svn path=/branches/gtk-2-12/; revision=19600
2008-02-16 09:57:25 +00:00
Richard Hult
885f9d272b Merged from trunk:
2008-02-16  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c (create_scroll_event): Add state
	to the scroll event (bug #516757, Paul Davis).

svn path=/branches/gtk-2-12/; revision=19599
2008-02-16 09:52:49 +00:00
Matthias Clasen
13911b5e62 Prevent a crash with hidden, reorderable tabs. (#513230, Mike Massonnet,
2008-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_stop_reorder): Prevent
        a crash with hidden, reorderable tabs.  (#513230,
        Mike Massonnet, patch by Carlos Garnacho)


svn path=/branches/gtk-2-12/; revision=19594
2008-02-16 04:13:00 +00:00
Claude Paroz
04d270b317 Updated French translation ("Connect" string).
2008-02-15  Claude Paroz  <claude@2xlibre.net>

	* fr.po: Updated French translation ("Connect" string).

svn path=/branches/gtk-2-12/; revision=19581
2008-02-15 21:10:26 +00:00
Amitakhya Phukan
0a52ff76c4 updated assamese translations
svn path=/branches/gtk-2-12/; revision=19576
2008-02-15 10:37:33 +00:00
Runa Bhattacharjee
c89efae603 Added Entry for Kannada Translation Updation by Shankar Prasad
svn path=/branches/gtk-2-12/; revision=19575
2008-02-15 05:34:26 +00:00
Runa Bhattacharjee
01b03a6c0e Updated Kannada Translation by Shankar Prasad
svn path=/branches/gtk-2-12/; revision=19574
2008-02-15 05:33:18 +00:00
Tor Lillqvist
b705df8d77 Don't leak Registry key handles. (#516578)
2008-02-15  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (get_viewable_logical_drives): Don't
	leak Registry key handles. (#516578)


svn path=/branches/gtk-2-12/; revision=19573
2008-02-15 00:29:37 +00:00
Richard Hult
b3bcb11867 Merged from trunk:
2008-02-14  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_focus): Using
	makeKeyWindow unfortunately doesn't work in all cases, we must use
	makeKeyAndOrderFront.

svn path=/branches/gtk-2-12/; revision=19571
2008-02-14 21:55:51 +00:00
Richard Hult
e97aecaf01 Merged from trunk:
2008-02-14  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (get_fullscreen_geometry),
	(gdk_window_hide), (gdk_window_fullscreen),
	(gdk_window_unfullscreen): Make sure we leave fullscreen mode if
	the window is hidden.

svn path=/branches/gtk-2-12/; revision=19570
2008-02-14 21:53:36 +00:00
Richard Hult
e06b15eca5 Merged from trunk:
2008-02-14  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzWindow.c: Set frame, not bounds when
	resizing to be consistent and to avoid introducing an internal
	transform in the view.

svn path=/branches/gtk-2-12/; revision=19569
2008-02-14 21:52:20 +00:00
Richard Hult
8ef8a36c71 Merged from trunk:
2008-02-13  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gtk/gtkclipboard-quartz.c: (gtk_clipboard_wait_for_contents):
	Remove unused variables.
	(gtk_clipboard_set_contents),
	(gtk_clipboard_get_owner), (clipboard_unset),
	(gtk_clipboard_request_targets): Notify the previous clipboard
	owner when the owner changes. Fixes bug #493406.

svn path=/branches/gtk-2-12/; revision=19561
2008-02-13 15:43:50 +00:00
Richard Hult
84b8295d35 Merged from trunk:
2008-02-13  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkcolor-quartz.c: (gdk_colormap_alloc_colors): Fix
	the return value (return number of colors that failed), and handle
	RGBA colormap.
	(gdk_colormap_free_colors): Fix typo in comment.

svn path=/branches/gtk-2-12/; revision=19559
2008-02-13 14:24:46 +00:00
Emmanuele Bassi
bb217039a2 Merge from trunk:
2008-02-13  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentchoosermenu.c:
	(idle_populate_func), (idle_populate_clean_up): Fix possible
	recursion by resetting the idle source id. (#507605, William
	Pitcock)

svn path=/branches/gtk-2-12/; revision=19555
2008-02-13 09:40:10 +00:00
Sunil Mohan Adapa
bdbf92bd55 Updated Telugu translation done by Krishna Babu K <kkrothap@redhat.com>.
2008-02-13  Sunil Mohan Adapa  <sunilmohan@fsf.org.in>

        * te.po: Updated Telugu translation done by
        Krishna Babu K <kkrothap@redhat.com>.


svn path=/branches/gtk-2-12/; revision=19554
2008-02-13 09:22:31 +00:00
Matthias Clasen
fc02ca7c8d Bump version
svn path=/branches/gtk-2-12/; revision=19552
2008-02-12 23:30:46 +00:00
Matthias Clasen
32f58034a8 2.12.8
svn path=/branches/gtk-2-12/; revision=19549
2008-02-12 23:24:09 +00:00
Matthias Clasen
fac16294ac Updates
svn path=/branches/gtk-2-12/; revision=19548
2008-02-12 22:47:46 +00:00
Matthias Clasen
aa84805eb3 Fix some i18n errors. Pointed out by Behdad Esfahbod.
2008-02-12  Matthias Clasen  <mclasne@redhat.com>

        * gtk/gtkpapersize.c:
        * gtk/gtkprintoperation.c:
        * gtk/gtkvolumebutton.c:
        * gtk/gtkbulderparser.c: Fix some i18n errors. Pointed
        out by Behdad Esfahbod.


svn path=/branches/gtk-2-12/; revision=19546
2008-02-12 21:57:41 +00:00
Cody Russell
ef31de52c6 Merged from trunk:
2008-02-12  Cody Russell  <bratsche@gnome.org>

        Merged from trunk:

        * gdk/win32/gdkprivate-win32.h
        * gdk/win32/gdkevents-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gdk/win32/gdkwindow-win32.h
        * gdk/win32/gdkwin32.h:
        Modal window rework.  (#455627, #511111, #514643, #514789)


svn path=/branches/gtk-2-12/; revision=19545
2008-02-12 21:29:57 +00:00
Cody Russell
fbb07bf75a Merged from trunk:
2008-02-10  Cody Russell  <bratsche@gnome.org>

	Merged from trunk:

        * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder_uri):
        Check the return value of _gtk_file_chooser_get_file_system () for
        NULL before passing it to gtk_file_system_path_to_uri ().
        (#515667, Francesco Montorsi)


svn path=/branches/gtk-2-12/; revision=19544
2008-02-12 21:05:32 +00:00
Federico Mena Quintero
0ae179e974 Don't focus the file list even when activating a bookmark with a shortcut key
2008-02-12  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (switch_to_shortcut): Don't focus
	the file list (this was the last place where we would focus the
	file list explicitly).  If you are in the location entry, for
	example, you don't want Alt-Home to take you to the file list; you
	just want the current folder to change.  Thanks to Olle Bergkvist
	<olle.bergkvist@yahoo.se> for pointing this out in
	http://bugzilla.gnome.org/show_bug.cgi?id=419737#c51.
	(focus_browse_tree_view_if_possible): Removed.

svn path=/branches/gtk-2-12/; revision=19542
2008-02-12 19:25:51 +00:00
Matthias Clasen
4cc03789a6 Skip exensions when selecting filenames in the save-as dialog. (#362516,
2008-02-12  Matthias Clasen  <mclasen@redhat.com>

        Skip exensions when selecting filenames in the save-as dialog.
        (#362516, Carlos Garnacho)

        * gtk/gtkfilechooserentry.h:
        * gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_select_filename):
        New function to skip the extension part when selecting a filename.
        (_gtk_file_chooser_entry_set_base_folder): Use it here.

        * gtk/gtkfilechooserdefault.c (gtk_file_chooser_entry_grab_focus):
        ...and here.


svn path=/branches/gtk-2-12/; revision=19541
2008-02-12 17:38:54 +00:00
Matthias Clasen
28f05f2aaa Fix state change reporting for accessibility. (#499835, Rich Burridge,
2008-02-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c: Fix state change reporting for
        accessibility.  (#499835, Rich Burridge, patch by LiYan Zhang)



svn path=/branches/gtk-2-12/; revision=19539
2008-02-12 16:53:17 +00:00
Emmanuele Bassi
2f3adcac97 Merged from trunk:
2008-02-12  Emmanuele Bassi  <ebassi@gnome.org>

	Merged from trunk:

	* gtk/gtkrecentchooser.c:
	(gtk_recent_chooser_class_init): Set the default value of the
	show-not-found property to TRUE, as every implementation sets
	it to TRUE already.

	* gtk/gtkrecentchooserdefault.c:
	(_gtk_recent_chooser_default_init): Sync show_tips to the
	default value of the :show-tips property.

svn path=/branches/gtk-2-12/; revision=19537
2008-02-12 16:42:53 +00:00
Matthias Clasen
a21cbfc272 Don't let the width or height go below 1. (#516024, Christian Persch)
2008-02-12  Matthias Clasen  <mclasne@redhat.com>

        * gdk-pixbuf-io.c (at_scale_size_prepared_cb): Don't let
        the width or height go below 1.  (#516024, Christian Persch)



svn path=/branches/gtk-2-12/; revision=19536
2008-02-12 16:38:15 +00:00
Matthias Clasen
2caa0a86ef Unify the handling of various "Enter" keysyms all over the place.
2008-02-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c: Unify the handling of various "Enter" keysyms
        all over the place.  (#515047, Christian Persch)


svn path=/branches/gtk-2-12/; revision=19532
2008-02-12 16:04:54 +00:00
Kristian Rietveld
8bb6729e21 Merge from trunk:
2008-02-12  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row),
	(gtk_tree_view_real_toggle_cursor_row): guard against people
	deleting the row in question in the selection-changed callback.
	(#514621, Andreas Koehler).


svn path=/branches/gtk-2-12/; revision=19531
2008-02-12 16:00:02 +00:00
Matthias Clasen
011a75e87a Forgotten commit
svn path=/branches/gtk-2-12/; revision=19529
2008-02-12 15:57:09 +00:00
Jorge Gonzalez Gonzalez
6a43975787 Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=19523
2008-02-12 11:03:29 +00:00
Matthias Clasen
71586016d5 Support keynav in status icons. (#473786, Li Yuan)
2008-02-11  Matthias Clasen  <mclasen@redhat.com>

        Support keynav in status icons.  (#473786, Li Yuan)

        * gtk/gtkstatusicon.c: Handle keynav, make the tray icon focusable.

        * gtk/gtktrayicon-x11.c: Draw a focus rectangle when focused.



svn path=/branches/gtk-2-12/; revision=19516
2008-02-12 03:26:11 +00:00
Kristian Rietveld
ffdd1deed6 Merge from trunk:
2008-02-11  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_reorder)
	* gtk/gtkiconview.c (gtk_icon_view_cell_layout_reorder): plug leak
	wrt. link deletion from list; contination of fix for #503569.


svn path=/branches/gtk-2-12/; revision=19514
2008-02-11 15:09:04 +00:00
Emmanuele Bassi
43f4ac3029 Merge from trunk:
2008-02-11  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentchoosermenu.c:
	(gtk_recent_chooser_menu_constructor): Set no-show-all flag
	on the placeholder menu item.

	* tests/testrecentchoosermenu.c: 
	(create_recent_chooser_menu): Use gtk_widget_show_all() to test
	whether the placeholder menu item gets shown.

svn path=/branches/gtk-2-12/; revision=19511
2008-02-11 09:58:29 +00:00
Matthias Clasen
17af886caa Propagate local-only. (#511987, Jonh Wendell)
2008-02-10  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrecentaction.c: Propagate local-only.  (#511987,
        Jonh Wendell)



svn path=/branches/gtk-2-12/; revision=19506
2008-02-10 06:36:55 +00:00
Matthias Clasen
de2bebed70 Try harder to return pixbufs of the requested size. (#494515, Mike
2008-02-10  Matthias Clasen  <mclasne@redhat.com>

        * gdk-pixbuf-scaled-anim.c: Try harder to return pixbufs
        of the requested size.  (#494515, Mike Morrison)


svn path=/branches/gtk-2-12/; revision=19505
2008-02-10 06:30:12 +00:00
Richard Hult
aedbca9c4f Merge from trunk:
2008-02-08  Richard Hult  <richard@imendio.com>

	Merge from trunk:

	* gdk/quartz/gdkevents-quartz.c (gdk_event_translate): Ignore the
	delta from the NSEvent for now, generating multiple scroll events
	results in a lot of events getting queued up and things get really
	slow.

svn path=/branches/gtk-2-12/; revision=19500
2008-02-08 19:14:07 +00:00
Sven Herzberg
f009c071be Adjust the code to match the documentation, examples, "common sense" and
2008-02-08  Sven Herzberg  <sven@imendio.com>

	Adjust the code to match the documentation, examples, "common sense"
	and existing applications.

	* gtk/gtkaction.c: (_gtk_action_sync_menu_visible): take into account
	that a GtkMenu for a <popup> element doesn't have to have a GtkAction
	assigned


svn path=/branches/gtk-2-12/; revision=19498
2008-02-08 00:29:20 +00:00
Yair Hershkovitz
9bd1afdbf5 updated hebrew translation
svn path=/branches/gtk-2-12/; revision=19495
2008-02-07 23:22:26 +00:00
Ignacio Casal Quinteiro
28a934ec50 Updated Galician Translation.
svn path=/branches/gtk-2-12/; revision=19490
2008-02-07 11:02:11 +00:00
Cody Russell
3b72b601e9 Also check that the window is not mapped.
svn path=/branches/gtk-2-12/; revision=19486
2008-02-06 17:03:06 +00:00
Cody Russell
2cc7978998 Merge from trunk:
2008-02-06  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

        * gdk/win32/gdkevents-win32.c: Check if the window is a temp window,
        otherwise things get wonky when you click on a menu.  This fixes
        a regression caused in #505928.  Thanks to Tor for spotting this
        one!  (#514789)


svn path=/branches/gtk-2-12/; revision=19483
2008-02-06 16:35:40 +00:00
Matthias Clasen
e19fe1750f Allow to store half-open ranges.
2008-02-05  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintsettings.c (gtk_print_settings_get_page_ranges):
        Allow to store half-open ranges.



svn path=/branches/gtk-2-12/; revision=19480
2008-02-06 04:06:47 +00:00
Federico Mena Quintero
1b4619a1ab Fix 419737 and 499940 - Don't focus the file list when activating a shortcut
2008-02-05  Federico Mena Quintero  <federico@novell.com>

	Don't focus the file list when shortcuts get activated.  This
	removes a lot of ambiguity in when the file selection should
	change, and makes the overall code flow simpler.

	This fixes http://bugzilla.gnome.org/show_bug.cgi?id=419737 -
	file/save dialog clears the filename entry when changing
	directories.

	Also fixes http://bugzilla.gnome.org/show_bug.cgi?id=499940 -
	focus should not go to the file list when a shortcut is activated.

	* gtk/gtkfilechooserdefault.c
	(shortcuts_activate_volume_mount_cb): Don't focus the file list
	(shortcuts_activate_get_info_cb): Likewise.

Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19476
2008-02-05 23:11:46 +00:00
Federico Mena Quintero
04de2d6d9e Merge Josselin's patch for single-click shortcuts from trunk
2008-02-05  Federico Mena Quintero  <federico@novell.com>

	Merged from trunk (patch by Josselin Mouette <joss@malsain.org>):

	reviewed by: Federico Mena Quintero

	* gtk/gtkfilechooserdefault.c: (shortcuts_append_paths),
	(shortcuts_add_bookmarks), (shortcuts_selection_changed_cb),
	(shortcuts_list_create), (gtk_file_chooser_default_should_respond):
	Make the shortcuts activate with a single click. (#148828)
        Fix a few things affected by the change:
	  - Set selection mode to GTK_SELECTION_SINGLE to allow a case
	    where no shortcut is selected.
	  - Don't activate a shortcut in the response callback.
	  - Filter out duplicate entries in volumes and bookmarks to
	    avoid the selection to change when reordering them with DnD.

Signed-off-by: Federico Mena Quintero <federico@gnu.org>

svn path=/branches/gtk-2-12/; revision=19475
2008-02-05 23:11:32 +00:00
Matthias Clasen
88f4a4fb15 Merge from trunk:
2008-02-05  Matthias Clasen  <mclasen@redhat.com>

        Merge from trunk:

        * gtk/updateiconcache.c: Ignore images in the toplevel theme
        directory, avoiding one source of invalid caches that
        has been spotted in the wild.

        * gtk/updateiconcache.c: Install a printerr handler that
        prepends the program name, since gtk-update-icon-cache output
        often appears in the middle of other output, e.g. rpm
        update logs.



svn path=/branches/gtk-2-12/; revision=19468
2008-02-05 22:24:07 +00:00
Cody Russell
26cafb1ecc More style improvements
svn path=/branches/gtk-2-12/; revision=19460
2008-02-03 05:12:23 +00:00
Leonardo Ferreira Fontenelle
3353b00d41 Brazilian Portuguese translation updated by Luiz Armesto.
2008-02-02  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Brazilian Portuguese translation updated by Luiz Armesto.

svn path=/branches/gtk-2-12/; revision=19459
2008-02-02 17:42:56 +00:00
Ignacio Casal Quinteiro
18a60d65f0 Updated Galician Translation.
svn path=/branches/gtk-2-12/; revision=19458
2008-02-02 14:31:32 +00:00
Ignacio Casal Quinteiro
ad218f70c3 Updated Galician Translation.
svn path=/branches/gtk-2-12/; revision=19457
2008-02-02 14:09:02 +00:00
Cody Russell
ad09810cda Merge from trunk:
2008-02-01  Cody Russell  <cody@jhu.edu>

        Merge from trunk:

        * modules/engines/ms-windows/xp_theme.[ch]
        * modules/engines/ms-windows/xp_theme_defs.h
        * modules/engines/ms-windows/msw_rc_style.c
        * modules/engines/ms-windows/msw_theme_main.c
        * modules/engines/ms-windows/msw_style.c: Re-indented and generally
        attempted to stylize more like the rest of the gtk+ stack's code.


svn path=/branches/gtk-2-12/; revision=19456
2008-02-01 23:25:54 +00:00
Sven Neumann
09a6b649f8 gdk/directfb/gdkdrawable-directfb.c gdk/directfb/gdkimage-directfb.c
2008-02-01  Sven Neumann  <sven@gimp.org>

	* gdk/directfb/gdkdrawable-directfb.c
	* gdk/directfb/gdkimage-directfb.c
	* gdk/directfb/gdkinput-directfb.c
	* gdk/directfb/gdkpixmap-directfb.c
	* gdk/directfb/gdkwindow-directfb.c: applied
	directfb-deprecation-fixes.patch from Debian. Fixes build with
	GLib 2.15 deprecation of G_GNUC_FUNCTION in favor of G_STRLOC.

svn path=/branches/gtk-2-12/; revision=19453
2008-02-01 10:34:47 +00:00
Cody Russell
4152cd0cc9 Merge from trunk:
2008-01-31  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gdk/win32/gdkevents-win32.c:
        Refactored some of the window hiding/showing code from
        WM_ACTIVATE to WM_SIZE and WM_SYSCOMMAND.  Having this
        under WM_ACTIVATE was causing the application to go into
        a weird state when the user right-clicked on the taskbar
        entry of a window that was minimized.  (#505928)


svn path=/branches/gtk-2-12/; revision=19452
2008-01-31 22:42:11 +00:00
Cody Russell
dd5f8231d7 Merge from trunk:
2008-01-31  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtkpaned.c (gtk_paned_set_position):
        Change queue_resize() to queue_draw(), and add a check for
        child2 != NULL in case someone calls this before there is
        a child packed in there.  (#144269 again)


svn path=/branches/gtk-2-12/; revision=19450
2008-01-31 17:56:34 +00:00
Richard Hult
26078768ee Merge from trunk, except for the reverting since that part wasn't applied
2008-01-31  Richard Hult  <richard@imendio.com>

	Merge from trunk, except for the reverting since that part wasn't
	applied here yet:

	* gdk/quartz/GdkQuartzView.c: Another attempt at fixing focus
	issues with undecorated windows. Revert the change done on
	2008-01-25 and fix it by using the view's bounds instead. The
	bounds will always be up to date when setting up the tracking
	rect, so this should be more robust.

svn path=/branches/gtk-2-12/; revision=19446
2008-01-31 15:20:53 +00:00
Marcel Telka
b352f2acf0 Updated Slovak translation by Pavol Šimo.
2008-01-31  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation by Pavol Šimo.

svn path=/branches/gtk-2-12/; revision=19442
2008-01-31 08:49:58 +00:00
Marcel Telka
156c9836ac Updated Slovak translation by Pavol Šimo.
2008-01-31  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation by Pavol Šimo.

svn path=/branches/gtk-2-12/; revision=19441
2008-01-31 08:47:18 +00:00
Nikos Charonitakis
4d31da4bcb Updated Greek translation
svn path=/branches/gtk-2-12/; revision=19437
2008-01-31 00:22:50 +00:00
Nikos Charonitakis
31fa0a3957 Updated Greek translation
svn path=/branches/gtk-2-12/; revision=19436
2008-01-31 00:22:10 +00:00
Daniel Nylander
d811b99ef0 sv.po: Updated Swedish translation
svn path=/branches/gtk-2-12/; revision=19435
2008-01-30 23:57:39 +00:00
Matthias Clasen
dd673b1f62 Bump version
svn path=/branches/gtk-2-12/; revision=19430
2008-01-30 04:38:23 +00:00
Matthias Clasen
12845f1238 2.12.7
svn path=/branches/gtk-2-12/; revision=19428
2008-01-30 04:14:39 +00:00
Matthias Clasen
0e2a177730 Bump version
svn path=/branches/gtk-2-12/; revision=19425
2008-01-29 04:40:22 +00:00
Matthias Clasen
f9d78657c9 2.12.6
svn path=/branches/gtk-2-12/; revision=19423
2008-01-29 04:38:48 +00:00
Matthias Clasen
dc4d1e7b32 Updates
svn path=/branches/gtk-2-12/; revision=19422
2008-01-29 02:31:08 +00:00
Matthias Clasen
6aad7e6ca2 Bump version
svn path=/branches/gtk-2-12/; revision=19421
2008-01-28 19:46:23 +00:00
Paolo Borelli
1d56123af5 do not leak the pango layout, fixes #512375.
2008-01-28  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkprintunixdialog.c (draw_page_cb): do not leak the pango
	layout, fixes #512375.


svn path=/branches/gtk-2-12/; revision=19420
2008-01-28 16:06:47 +00:00
Ihar Hrachyshka
f68def9b26 Reverted previous changes for be.po.
svn path=/branches/gtk-2-12/; revision=19412
2008-01-27 15:15:14 +00:00
Petr Kovář
e55bb28ea3 cs.po: Updated Czech translation.
svn path=/branches/gtk-2-12/; revision=19409
2008-01-25 20:55:04 +00:00
Johan Dahlin
f46e13b2ca Merge from trunk:
2008-01-25  Johan Dahlin  <johan@gnome.org>

	Merge from trunk:

	* gtk/gtk-builder-convert
	(GtkBuilderConverter._convert_adjustment): Handle the case where
	there is no child text node.
	(GtkBuilderConverter): Allow xml comments in most places.

	* gtk/gtk-builder-convert
	(GtkBuilderConverter._convert_combobox_items): Remove the items
	even if there are no items set.
	(GtkBuilderConverter._add_action_from_menuitem): Convert toggled
	signals and tooltips for all menu items subclasses and 
	GtkImageMenuItem:label. 
	Makes it possible to fully convert and run Jokosher.glade.

	* gtk/gtkwidget.c: (gtk_widget_buildable_interface_init),
	(gtk_widget_buildable_get_internal_child), (free_action),
	(free_relation), (gtk_widget_buildable_parser_finished),
	(accessibility_start_element),
	(gtk_widget_buildable_custom_tag_start),
	(gtk_widget_buildable_custom_finished):
	Implement accessible support, fixes #454653.

	* gtk/gtk-builder-convert:
	Add support for migrating old glade files
	
	* tests/buildertest.c: (test_widget), (test_file):
	Add accessible tests and imprve the test_file function to display
	toplevels and run dialogs.


svn path=/branches/gtk-2-12/; revision=19407
2008-01-25 19:52:15 +00:00
Stéphane Raimbault
0345180108 Updated French translation.
svn path=/branches/gtk-2-12/; revision=19397
2008-01-25 08:11:15 +00:00
Sven Herzberg
cc7b318d33 Merge from trunk:
2008-01-25  Sven Herzberg  <sven@imendio.com>

	Merge from trunk:

	Reviewed by Johan Dahlin.

	* gtk/gtkuimanager.c (gtk_ui_manager_remove_ui): emit a warning if
	this is called with something that's not a GtkUIManager


svn path=/branches/gtk-2-12/; revision=19396
2008-01-25 01:08:40 +00:00
Ihar Hrachyshka
a53b4f690c Backported Belarusian translation from gtk-2.14
svn path=/branches/gtk-2-12/; revision=19390
2008-01-21 00:19:27 +00:00
Yang Zhang
ff1a375f1c Updated zh_CN translation from manphiz
svn path=/branches/gtk-2-12/; revision=19388
2008-01-19 14:41:30 +00:00
Yang Zhang
788911254d Updated zh_CN translation from manphiz, backport from trunk
svn path=/branches/gtk-2-12/; revision=19387
2008-01-19 14:10:14 +00:00
Johan Dahlin
2d3b39f09e Merge from trunk:
2008-01-18  Johan Dahlin  <johan@gnome.org>

	Merge from trunk:

	* gtk/gtk-builder-convert (get_property_node): New method
	(GtkBuilderConverter._create_object): Conditionally take a node as
	a property value, so don't lose translate/context attributes if they
	are set. 
	(GtkBuilderConverter._add_action_from_menuitem): Send in Node as
	property values instead of strings.
	(#509153, Erik van Pienbroek)


svn path=/branches/gtk-2-12/; revision=19384
2008-01-18 16:11:00 +00:00
Andre Klapper
91591f61d0 Unbreak the build caused by adding si.po to ALL_LINGUAS.
2008-01-13  Andre Klapper  <a9016009@gmx.de>

	* si.po: Unbreak the build caused by adding si.po 
	to ALL_LINGUAS.


svn path=/branches/gtk-2-12/; revision=19363
2008-01-14 06:59:47 +00:00
Andre Klapper
1d63787d59 add Kannada (kn) and Sinhala (si) to ALL_LINGUAS.
2008-01-12  Andre Klapper  <a9016009@gmx.de>

	* configure.in: add Kannada (kn) and Sinhala (si) to ALL_LINGUAS.


svn path=/branches/gtk-2-12/; revision=19355
2008-01-12 13:23:28 +00:00
Cody Russell
c1928d9215 Merge from trunk:
2008-01-10  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* gdk/win32/gdkwindow-win32.c: (gdk_window_set_transient_for),
	Properly ref/unref windows and parents.  (#506769)


svn path=/branches/gtk-2-12/; revision=19345
2008-01-10 21:03:02 +00:00
Richard Hult
5d99b24899 Merged from trunk:
2008-01-10  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal),
	(gdk_window_hide), (move_resize_window_internal): Move the
	tracking rect workaround from here...

	* gdk/quartz/GdkQuartzWindow.c:
	* gdk/quartz/GdkQuartzWindow.h: ...to here, and ignore window
	movements during showing/hiding operations. Fixes bug #508516.

svn path=/branches/gtk-2-12/; revision=19343
2008-01-10 19:50:56 +00:00
Priit Laes
44ba0ec85a Translation updated by Ivar Smolin
2008-01-10  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Ivar Smolin

svn path=/branches/gtk-2-12/; revision=19338
2008-01-10 13:16:31 +00:00
Kristian Rietveld
f8ce259ffd Merge from trunk:
2008-01-10  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow),
	(_gtk_tree_view_column_start_drag): fully initialize GdkWindowAttr to
	avoid valgrind warnings.  (#507751, patch from Christian Persch).


svn path=/branches/gtk-2-12/; revision=19337
2008-01-10 10:40:57 +00:00
Kristian Rietveld
1817e87aaf Merge from trunk:
2008-01-10  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_path): Fix
	a leak of the path (#504611, patch from Sadrul Habib Chowdhury).


svn path=/branches/gtk-2-12/; revision=19336
2008-01-10 10:39:47 +00:00
Kristian Rietveld
04c303be84 Merge from trunk (omitted unit test updates):
2008-01-10  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk (omitted unit test updates):

	Fix #477175, reported by Juri Pakaste.

	* gtk/gtktreeprivate.h:
	* gtk/gtktreeview.c (gtk_tree_view_top_row_to_dy): do not set
	tree_view->priv->dy here directly, just calculate the new value
	and set it on the adjustment,
	(gtk_tree_view_adjustment_changed): add guards to not call
	gtk_tree_view_dy_to_top_row() if we are currently in
	gtk_tree_view_top_row_to_dy(),
	(gtk_tree_view_put): fix coordinate annotation: these are bin_window
	coordinates, not tree coordinates,
	(gtk_tree_view_real_start_editing): add cast.


svn path=/branches/gtk-2-12/; revision=19335
2008-01-10 10:38:40 +00:00
Johan Dahlin
3391a567ba Merged from trunk:
2007-01-06  Johan Dahlin  <johan@gnome.org>

	Merged from trunk:

	* gtkbuilder.c: remove concept of root objects and just refcount
	all objects in the builder.  Fixes #496651.

	* docs/reference/gtk/tmpl/gtkbuildable.sgml: add clarification stating
	that the construct_child function is responsible for returning a
	reference.
	* gtkbuilder.c (_gtk_builder_construct): remove g_object_ref() for
	objects from constructors
	* gtkuimanager.c (gtk_ui_manager_buildable_construct_child): add
	g_object_ref() to this construction function (it's the only
	implementer in GTK)

	Fixes #496645.


svn path=/branches/gtk-2-12/; revision=19334
2008-01-10 10:20:49 +00:00
Matthias Clasen
32937cbc50 2.12.5
svn path=/branches/gtk-2-12/; revision=19328
2008-01-09 05:23:35 +00:00
Kjartan Maraas
73dd6eced9 Small additions
svn path=/branches/gtk-2-12/; revision=19327
2008-01-08 15:57:58 +00:00
Matthias Clasen
930f8598b3 Bump version
svn path=/branches/gtk-2-12/; revision=19326
2008-01-08 14:51:38 +00:00
Matthias Clasen
147542f4c9 2.12.4
svn path=/branches/gtk-2-12/; revision=19324
2008-01-08 14:41:07 +00:00
Matthias Clasen
ef090e9bd1 Updates
svn path=/branches/gtk-2-12/; revision=19323
2008-01-08 04:15:34 +00:00
Matthias Clasen
fe41c67383 Be more robust when removing the current page. (#499951, Andreas Sandberg)
2008-01-07  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c (remove_page): Be more robust when removing
        the current page.  (#499951, Andreas Sandberg)

2

svn path=/branches/gtk-2-12/; revision=19322
2008-01-08 03:52:22 +00:00
Johan Dahlin
d2f20c569b Merged from trunk:
2007-01-06  Johan Dahlin  <johan@gnome.org>

	Merged from trunk:

	* gtk/gtk-builder-convert (GtkBuilderConverter._strip_root): 
	Make sure that --root works for toplevel widgets.
	(#491847, Phil Lello)


svn path=/branches/gtk-2-12/; revision=19310
2008-01-06 02:22:30 +00:00
Michael Natterer
681d09c445 Merged from trunk:
2008-01-04  Michael Natterer  <mitch@imendio.com>

	Merged from trunk:

	* gdk/x11/gdkinput-x11.c (_gdk_device_get_history): don't forget
	to set the time in the returned GdkTimeCoords.


svn path=/branches/gtk-2-12/; revision=19305
2008-01-04 16:22:30 +00:00
Emmanuele Bassi
90df66719e Backport from trunk
2008-01-03  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from trunk

	* gtk/gtkfilechooserdefault.c (recent_sort_mru): Use the
	correct comparison function (kudos to Christian Persch and
	Claudio Saavedra for spotting this).

	* gtk/gtkrecentchooserutils.c:
	(sort_recent_items_mru),
	(sort_recent_items_lru): Ditto as above.

svn path=/branches/gtk-2-12/; revision=19303
2008-01-03 12:43:00 +00:00
Tor Lillqvist
688bcfb9af Remove fuzzy marker for the metadata entry (the first one, for the string
2008-01-03  Tor Lillqvist  <tml@novell.com>

	* io.po: Remove fuzzy marker for the metadata entry (the first
	one, for the string ""), as having that fuzzy crashes msgfmt from
	gettext 0.17, at least for me.


svn path=/branches/gtk-2-12/; revision=19301
2008-01-03 12:15:48 +00:00
Priit Laes
caf185f203 Translation updated by Ivar Smolin
2008-01-02  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Ivar Smolin

svn path=/branches/gtk-2-12/; revision=19297
2008-01-01 22:58:49 +00:00
Priit Laes
cc7e25a8c5 Translation updated by Ivar Smolin
2008-01-02  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Ivar Smolin

svn path=/branches/gtk-2-12/; revision=19296
2008-01-01 22:58:18 +00:00
Johannes Schmid
7a7b67d9af Also reorder menu when reordering tabs by drag & drop
2007-12-30  Johannes Schmid <jhs@gnome.org>

        * gtk/gtknotebook.c: (gtk_notebook_stop_reorder):
        Also reorder menu when reordering tabs by drag & drop

        * tests/testnotebookdnd.c: (create_notebook_with_notebooks):
        Add a menu to one of the notebooks to have a test-case for
        the change mentioned above.


svn path=/branches/gtk-2-12/; revision=19293
2007-12-31 15:26:47 +00:00
Christian Persch
c098ad9322 Plug a mem leak. Bug #506107.
2007-12-31  Christian Persch  <chpe@gnome.org>

	* gtk/gtkprintunixdialog.c: (gtk_print_unix_dialog_get_property):
	Plug a mem leak. Bug #506107.

svn path=/branches/gtk-2-12/; revision=19291
2007-12-31 00:04:48 +00:00
Johan Dahlin
e990e263ee Merged from trunk:
2007-12-28  Johan Dahlin  <johan@gnome.org>

	Merged from trunk:

	* gtk/gtkdialog.c (gtk_dialog_buildable_custom_finished)
	(gtk_dialog_buildable_custom_tag_start): Chain up. 
	This makes it possible to have accelerators tags on GtkDialog 
	subclasses.


svn path=/branches/gtk-2-12/; revision=19269
2007-12-28 10:38:40 +00:00
Matthias Clasen
13714d2bf9 Fix 0<>NULL confusion in gtk_signal_connect... defines. (#505708, MINAMI
2007-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gkt/gtksignal.h: Fix 0<>NULL confusion in gtk_signal_connect...
        defines.  (#505708,  MINAMI Hirokazu)



svn path=/branches/gtk-2-12/; revision=19254
2007-12-28 03:50:22 +00:00
Inaki Larranaga Murgoitio
26bfe50bda Updated Basque translation.
2007-12-27  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

        * eu.po: Updated Basque translation.


svn path=/branches/gtk-2-12/; revision=19250
2007-12-27 15:21:06 +00:00
Inaki Larranaga Murgoitio
74bc175ff8 Updated Basque translation.
2007-12-27  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

        * eu.po: Updated Basque translation.


svn path=/branches/gtk-2-12/; revision=19249
2007-12-27 15:19:04 +00:00
Jorge Gonzalez Gonzalez
eda5bfe265 Updated Spanish translation
svn path=/branches/gtk-2-12/; revision=19233
2007-12-24 10:59:07 +00:00
Cody Russell
8a41c27cf0 Merged from trunk:
2007-12-23  Cody Russell  <bratsche@gnome.org>

	Merged from trunk:

        * gdk/win32/gdkevents-win32.c (show_window_recurse): Check that
        the window is mapped before setting SW_RESTORE or SW_MINIMIZE.
        Fixes a regression caused by #164537 patch where transient
        windows that are hidden get shown (incorrectly) when their
        parents are minimized. (#504984)


svn path=/branches/gtk-2-12/; revision=19232
2007-12-23 21:18:14 +00:00
Xan Lopez
555fe02158 pass correct argument to g_signal_emit for TEST_EXPAND_ROW (GtkTreeIter*
2007-12-23  Xan Lopez  <xan@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_build_tree): pass correct argument
	to g_signal_emit for TEST_EXPAND_ROW (GtkTreeIter* vs. GtkTreeIter**).

	Patch by Sadrul Habib Chowdhury (#504804)


svn path=/branches/gtk-2-12/; revision=19226
2007-12-23 01:29:15 +00:00
Seán de Búrca
421e584e60 Updated Irish translation.
2007-12-22  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation.

svn path=/branches/gtk-2-12/; revision=19220
2007-12-22 10:01:07 +00:00
Richard Hult
1527fc1dc5 Merged from trunk:
2007-12-21  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_destroy):
	Plug leak of destroyed subviews, fixes bug #504753.

svn path=/branches/gtk-2-12/; revision=19219
2007-12-21 20:23:35 +00:00
Johan Dahlin
322dea23ec Merge from trunk: Refactor to avoid some duplication. Convert toplevel
2007-12-20  Johan Dahlin  <johan@gnome.org>

	Merge from trunk:
	* gtk/gtk-builder-convert (GtkBuilderConverter._remove_window): 
	Refactor to avoid some duplication.
	Convert toplevel GtkMenu's top popups and not menubars in the ui manager.
	Fixes #504749, Yuri Pimenov


svn path=/branches/gtk-2-12/; revision=19214
2007-12-20 23:54:28 +00:00
Seán de Búrca
9c9a94d7d1 Updated Irish translation.
2007-12-20  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation.

svn path=/branches/gtk-2-12/; revision=19212
2007-12-20 19:42:56 +00:00
Richard Hult
ea100431e6 Merged from trunk:
2007-12-20  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzWindow.c:
	* gdk/quartz/GdkQuartzWindow.h: Make manual resizing smoother by
	processing events after changing the size.

svn path=/branches/gtk-2-12/; revision=19207
2007-12-20 13:32:58 +00:00
Kristian Rietveld
4f80d8cad3 Merge from trunk.
2007-12-17  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk.

	* gtk/gtktooltip.c (gtk_tooltip_finalize),
	(gtk_tooltip_set_last_window): use a weak pointer to set last_window
	to NULL as soon as it's destroyed.  (#496546, patch from
	Benjamin Berg).


svn path=/branches/gtk-2-12/; revision=19194
2007-12-17 22:49:10 +00:00
Daniel Nylander
a7f987efde sv.po: Swedish translation updated
svn path=/branches/gtk-2-12/; revision=19193
2007-12-17 18:20:08 +00:00
Daniel Nylander
38f0b9edb7 sv.po: Swedish translation updated
svn path=/branches/gtk-2-12/; revision=19191
2007-12-17 18:13:21 +00:00
Mathias Hasselmann
10a9738f66 Prevent assertion failure in gtk_paned_find_neighbours. (#503824,
Sébastien Granjoux)

* gtk/gtkpaned.c: Call gtk_container_forall instead of
gtk_container_foreach in get_child_panes.

svn path=/branches/gtk-2-12/; revision=19187
2007-12-16 19:24:01 +00:00
Xan Lopez
0df9c38c7c Merged from trunk:
2007-12-15  Xan Lopez  <xan.lopez@nokia.com>

	Merged from trunk:

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_reorder):

	Plug leak: When reordering the info in the list the old node is
	removed but not freed. (#503569)



svn path=/branches/gtk-2-12/; revision=19185
2007-12-15 11:25:54 +00:00
Sebastian Dröge
761534e891 Merged from trunk: Use u32 instead of __u32 and u8 instead of __u8 as the
Merged from trunk:
* gdk/directfb/gdkcursor-directfb.c: (gdk_cursor_new_for_display):
Use u32 instead of __u32 and u8 instead of __u8 as the other types
are deprecated since DirectFB 1.0.0. If compiling with an older
version define the new type name to the old types. Fixes bug #503190.

svn path=/branches/gtk-2-12/; revision=19183
2007-12-15 05:01:43 +00:00
Kostas Papadimas
d75204ce72 Updated Greek translation
svn path=/branches/gtk-2-12/; revision=19158
2007-12-11 15:51:40 +00:00
Richard Hult
109aa20ac8 Merged from trunk:
2007-12-10  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkdrawable-quartz.c:
	(gdk_quartz_drawable_get_context),
	(gdk_quartz_drawable_release_context):
	* gdk/quartz/gdkeventloop-quartz.c: (gdk_event_prepare),
	(gdk_event_check), (gdk_event_dispatch), (poll_func):
	* gdk/quartz/gdkwindow-quartz.h: Replace the autorelease pools
	used for each drawing context and in prepare, dispatch and poll
	with one that exists across each main loop iteration. Fixes leaks
	on leopard and protects against future leaks introduce when the
	underlying system changes again (bug #492977).

svn path=/branches/gtk-2-12/; revision=19150
2007-12-10 20:25:07 +00:00
Richard Hult
1b0b68823f Merged from trunk:
2007-12-10  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (move_resize_window_internal):
	Fix the check for no changes to position and size.

svn path=/branches/gtk-2-12/; revision=19148
2007-12-10 19:51:20 +00:00
Richard Hult
2967e14fd2 Merged from trunk:
2007-12-10  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/GdkQuartzView.c: Ignore drawRect calls with zero
	sized areas at (0, 0), patch from Paul Davis.

svn path=/branches/gtk-2-12/; revision=19146
2007-12-10 19:39:53 +00:00
Richard Hult
4b944e5ceb Merged from trunk:
2007-12-10  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkprivate-quartz.h: 
	* gdk/quartz/gdkeventloop-quartz.c:
	(_gdk_quartz_event_loop_get_pending),
	(_gdk_quartz_event_loop_check_pending),
	(_gdk_quartz_event_loop_release_event), (gdk_event_prepare),
	(gdk_event_check), (gdk_event_dispatch):
	* gdk/quartz/gdkevents-quartz.c: (gdk_events_pending)
	(_gdk_events_queue): Fix a bug where we could end up trying to
	handle the same event more than once. Based on patch from Paul
	Davis.

svn path=/branches/gtk-2-12/; revision=19144
2007-12-10 19:17:45 +00:00
Tor Lillqvist
359f67ff92 Merged from trunk:
2007-12-10  Tor Lillqvist  <tml@novell.com>

	Merged from trunk:

	* gtk-zip.sh.in: Include bin/gtk-builder-convert in the dev
	package. (#502850)


svn path=/branches/gtk-2-12/; revision=19142
2007-12-10 14:29:06 +00:00
Matthias Clasen
f24bc05f6f Another fix to avoid further fallout from the fix for bug 388321.
2007-12-10  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_remove): Another fix
        to avoid further fallout from the fix for bug 388321.



svn path=/branches/gtk-2-12/; revision=19140
2007-12-10 06:21:51 +00:00
Matthias Clasen
ac65b919f6 Fix the spinguard logic for big buffers. (#494667, Ed Catmur)
2007-12-09  Matthias Clasen  <mclasen@redhat.com>

        * io-jpeg.c: Fix the spinguard logic for big buffers.
        (#494667, Ed Catmur)


svn path=/branches/gtk-2-12/; revision=19136
2007-12-09 18:56:27 +00:00
Matthias Clasen
5af07304e6 Don't leak pixbufs. (#502250, Yevgen Muntyan)
2007-12-07  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): Don't
        leak pixbufs.  (#502250, Yevgen Muntyan)


svn path=/branches/gtk-2-12/; revision=19129
2007-12-07 18:58:08 +00:00
Richard Hult
9cbebf285b Merged from trunk:
2007-12-06  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkevents-quartz.c:
	(synthesize_crossing_events_for_ns_event): Fix warning when
	switching spaces in leopard.

svn path=/branches/gtk-2-12/; revision=19120
2007-12-06 12:44:16 +00:00
Matthias Clasen
bc9f7d7d8b Bump version
svn path=/branches/gtk-2-12/; revision=19114
2007-12-04 21:16:02 +00:00
Matthias Clasen
c29a297737 2.12.3
svn path=/branches/gtk-2-12/; revision=19112
2007-12-04 20:36:21 +00:00
Matthias Clasen
9fde410c97 Updates
2007-12-04  Matthias Clasen  <mclasen@redhat.com>

        * NEWS: Updates



svn path=/branches/gtk-2-12/; revision=19111
2007-12-04 19:16:09 +00:00
Richard Hult
5e439f2306 Merged from trunk:
2007-12-04  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_init):
	Fully initialize the root window, fixes bug #501583.

svn path=/branches/gtk-2-12/; revision=19110
2007-12-04 19:10:19 +00:00
Matthias Clasen
6a6b25c93b Modify the tab-label-destroy fix to not crash epiphany.
2007-12-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c: Modify the tab-label-destroy fix to not
        crash epiphany.


svn path=/branches/gtk-2-12/; revision=19108
2007-12-04 18:44:55 +00:00
Richard Hult
4c1bab5db8 Merged from trunk:
2007-12-03  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gtk/gtkquartz.c: (_gtk_quartz_set_selection_data_for_pasteboard):
	Don't crash when dragging from a source that doesn't support uri
	lists (bug #499868, Paul Davis).

svn path=/branches/gtk-2-12/; revision=19103
2007-12-03 19:53:56 +00:00
Richard Hult
4e99673620 Merged from trunk:
2007-12-03  Richard Hult  <richard@imendio.com>

	Merged from trunk:

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_begin_paint_region): Don't crash when a
	parent relative bg pixmap is set, and no parent has a bg
	pixmap. Fixes bug #500804.

svn path=/branches/gtk-2-12/; revision=19101
2007-12-03 19:37:17 +00:00
Seán de Búrca
00caaf8b51 Updated Irish translation.
2007-12-02  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation.

svn path=/branches/gtk-2-12/; revision=19097
2007-12-02 22:09:15 +00:00
Cody Russell
0e9c362952 Merged from trunk:
2007-12-1  Cody Russell  <bratsche@gnome.org>

	Merged from trunk:

	* gtk/gtkpaned.c: (gtk_paned_set_position) [Win32]:      
	On Windows, queue a redraw of child2 whenever we set
	the pane handle position.  This is unfortunately kind
	of hacky, but solves the visual artifacts that were
	occuring on at least certain types of child widgets
	(e.g., text views and tree views) that are inside
	horizontal or vertical panes. (#144269)


svn path=/branches/gtk-2-12/; revision=19096
2007-12-01 22:33:56 +00:00
Stéphane Raimbault
7ec6657e4a Fixed French translation.
2007-11-28  Stéphane Raimbault  <stephane.raimbault@gmail.com>

	* fr.po: Fixed French translation.

svn path=/branches/gtk-2-12/; revision=19089
2007-11-28 08:56:19 +00:00
Priit Laes
21e70a8aee Translation updated by Ivar Smolin.
2007-11-28  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Translation updated by Ivar Smolin.

svn path=/branches/gtk-2-12/; revision=19088
2007-11-28 07:23:18 +00:00
Priit Laes
69d039dfb0 Translation updated by Ivar Smolin.
2007-11-28  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Translation updated by Ivar Smolin.

svn path=/branches/gtk-2-12/; revision=19087
2007-11-28 07:22:39 +00:00
Seán de Búrca
0ce517a221 Updated Irish translation
2007-11-27  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation

svn path=/branches/gtk-2-12/; revision=19086
2007-11-28 06:16:16 +00:00
Tor Lillqvist
c209b1c750 Merged from trunk:
2007-11-28  Tor Lillqvist  <tml@novell.com>

	Merged from trunk: 

	A proper build of GNU libintl is supposed to export the variable
	_nl_msg_cat_cntr. configure looks for that variable in order to
	recognize GNU gettext. If it sees that it is indeed GNU gettext
	that is used, it decides to install message catalogs in
	share/locale, otherwise in lib/locale. Until now on Windows I have
	built GTK+ against a build of GNU gettext that did not export
	_nl_msg_cat_cntr. But this will change, so we can't assume message
	catalogs are always in lib/locale.

	* gtk/gtkmain.c: (_gtk_get_localedir) [Win32]: Rework to handle
	GTK_LOCALEDIR being either in "lib" or "share". Move the function
	before the inclusion of gtkprivate.h so that it sees the original
	GTK_LOCALEDIR.

	* gtk-zip.sh.in: Check whether the message catalogs are in
	share/locale or lib/locale.

	* config.h.win32.in: Tack on "/share/locale" to GTK_LOCALEDIR so
	that the code in _gtk_get_localedir() will find the slashes.


svn path=/branches/gtk-2-12/; revision=19085
2007-11-28 01:16:48 +00:00
Tor Lillqvist
0937798f0e Merged from trunk: Fix #375893, patch by Ben Hague:
2007-11-28  Tor Lillqvist  <tml@novell.com>

	Merged from trunk: Fix #375893, patch by Ben Hague:

	* gtk/gtkfilesystemwin32.c (get_viewable_logical_drives): Wrapper
	around GetLogicalDrives() that takes also the viewable drive
	restrictions in the Registry (which are usually the result of an
	Active Directory Group Policy) into account.

	(check_volumes, gtk_file_system_win32_list_volumes) Call
	get_viewable_logical_drives() instead of GetLogicalDrives().


svn path=/branches/gtk-2-12/; revision=19080
2007-11-27 22:32:27 +00:00
Matthias Clasen
e9a0d2a444 Zero some variables to silence valgrind. (#495124, Morten Welinder)
2007-11-27  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkwindow.c (gtk_window_move_resize): Zero some
        variables to silence valgrind.  (#495124, Morten Welinder)


svn path=/branches/gtk-2-12/; revision=19078
2007-11-27 18:16:59 +00:00
Mart Raudsepp
3dcb893b4b Merged from trunk:
2007-11-27  Mart Raudsepp  <leio@gentoo.org>

        Merged from trunk:

        * tests/buildertest.c: (test_window): fix invalid free

svn path=/branches/gtk-2-12/; revision=19076
2007-11-27 16:21:25 +00:00
Matthias Clasen
b78cefa20b Bump version
svn path=/branches/gtk-2-12/; revision=19069
2007-11-26 20:54:52 +00:00
Matthias Clasen
37e471289f 2.12.2
svn path=/branches/gtk-2-12/; revision=19067
2007-11-26 20:52:44 +00:00
Matthias Clasen
13c588303f Fix up some doc comments
svn path=/branches/gtk-2-12/; revision=19065
2007-11-26 20:13:27 +00:00
Matthias Clasen
10df3fe5ea Updates
svn path=/branches/gtk-2-12/; revision=19064
2007-11-26 19:34:47 +00:00
Matthias Clasen
26a6bcd73b Use $CUPS_CONFIG instead of hardcoded cups-config. (#495574, Richard Hult)
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Use $CUPS_CONFIG instead of hardcoded cups-config.
        (#495574, Richard Hult)


svn path=/branches/gtk-2-12/; revision=19063
2007-11-26 19:07:45 +00:00
Matthias Clasen
310b25767c Short-circuit on destroy. (gtk_notebook_destroy): Destroy tab_label
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_update_labels): Short-circuit on
        destroy.
        (gtk_notebook_destroy): Destroy tab_label widgets. (#388321, Morten
        Welinder)


svn path=/branches/gtk-2-12/; revision=19060
2007-11-26 18:23:16 +00:00
Matthias Clasen
61ae384fcc Improve alternative button ordering. (#476827, Yevgen Muntyan, patch by
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c: Improve alternative button
        ordering.  (#476827, Yevgen Muntyan, patch by Carlos Garnacho)


svn path=/branches/gtk-2-12/; revision=19058
2007-11-26 18:17:21 +00:00
Matthias Clasen
9c262a1e27 Fix a theming problem with colors in GtkCalendar. (#499703, Michael
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcalendar.c: Fix a theming problem with colors
        in GtkCalendar.  (#499703, Michael Hofmann)


svn path=/branches/gtk-2-12/; revision=19056
2007-11-26 17:43:07 +00:00
Matthias Clasen
7d02f89099 Don't use guint8 for bitfields, since some compilers choke on that.
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c:
        * gtk/gtktoolbar.c: Don't use guint8 for bitfields, since
        some compilers choke on that.  (#467722)


svn path=/branches/gtk-2-12/; revision=19052
2007-11-26 17:12:18 +00:00
Tor Lillqvist
66c3f0984b Use the monitor the window currently is on, not always the primary
2007-11-26  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (gdk_window_fullscreen): Use the
	monitor the window currently is on, not always the primary
	monitor. (#463865, Tim Evans)


svn path=/branches/gtk-2-12/; revision=19046
2007-11-25 22:57:32 +00:00
Matthias Clasen
d393a037d9 Fix a typo. (#498922)
2007-11-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_show_expanders): Fix a
        typo.  (#498922)


svn path=/branches/gtk-2-12/; revision=19040
2007-11-25 06:09:47 +00:00
Seán de Búrca
c005046c17 Updated Irish translation.
2007-11-24  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation.

svn path=/branches/gtk-2-12/; revision=19037
2007-11-24 22:46:09 +00:00
Matthias Clasen
9c6e62a231 Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * modules/printbackends/cups/gtkcupsutils.c: Fix a casting problem.
        (#485662, patch by Herbert Valerio Riedel)



svn path=/branches/gtk-2-12/; revision=19031
2007-11-22 06:17:58 +00:00
Matthias Clasen
42c6c0516f Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * gtk/gtktextiter.c: Fix an aliasing problem.  (#347585, Ed Catmur)



svn path=/branches/gtk-2-12/; revision=19030
2007-11-22 06:16:35 +00:00
Matthias Clasen
d6279caadd Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * tests/testrichtext.c (setup_buffer): Fix C89 compilation issue.
        (#467711, The Written Word)



svn path=/branches/gtk-2-12/; revision=19029
2007-11-22 06:15:04 +00:00
Matthias Clasen
6a13e3d82b Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * gtk/gtktoolbar.c: Fix the default value of the toolbar-style
        property.  (#489782, Jan Janech)



svn path=/branches/gtk-2-12/; revision=19028
2007-11-22 06:13:23 +00:00
Matthias Clasen
7306716d4a Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * gtk/gtkimage.c (animation_timeout): Avoid drawing one too many
        frames.  (#107398, Owen Taylor, Miguel Gomez)



svn path=/branches/gtk-2-12/; revision=19027
2007-11-22 06:11:46 +00:00
Matthias Clasen
1818a9cb06 Add branch marker
svn path=/branches/gtk-2-12/; revision=19026
2007-11-22 06:08:23 +00:00
1850 changed files with 425752 additions and 750269 deletions

40
.cvsignore Normal file
View File

@@ -0,0 +1,40 @@
*.lo
config.log
config.h
config.h.in
libtool
config.status
stamp-h
stamp-h1
Makefile
Makefile.in
aclocal.m4
configure
config.h.win32
gtk-config-2.0
config.cache
ABOUT-NLS
intl
stamp-h.in
gtk+.spec
gtk+-2.0.pc
gtk+-2.0-uninstalled.pc
gtk+-unix-print-2.0.pc
gtk+-linux-fb-2.0.pc
gtk+-nanox-2.0.pc
gtk+-x11-2.0.pc
gtk+-quartz-2.0.pc
gdk-2.0.pc
gdk-2.0-uninstalled.pc
gdk-linux-fb-2.0.pc
gdk-nanox-2.0.pc
gdk-x11-2.0.pc
gdk-quartz-2.0.pc
gdk-pixbuf-2.0.pc
gdk-pixbuf-2.0-uninstalled.pc
gtk-zip.sh
missing
install-sh
mkinstalldirs
sgml
autom4te.cache

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

41
HACKING
View File

@@ -15,50 +15,45 @@ can be found here:
http://developer.gnome.org
Information about using git with GNOME can be found here:
including information about using Subversion with GNOME:
http://live.gnome.org/Git
http://developer.gnome.org/tools/svn.html
In order to get GIT gtk+ installed on your system, you need to have
the most recent GIT versions of glib, pango, and atk installed as well.
In order to get SVN gtk+ installed on your system, you need to have
the most recent SVN versions of glib, pango, and atk installed as well.
The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
If at all possible, please use GIT to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from GIT:
If at all possible, please use SVN to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from SVN:
$ git clone git://git.gnome.org/glib
$ git clone git://git.gnome.org/pango
$ git clone git://git.gnome.org/atk
$ git clone git://git.gnome.org/gtk+
$ svn checkout http://svn.gnome.org/svn/glib/trunk glib
$ svn checkout http://svn.gnome.org/svn/pango/trunk pango
$ svn checkout http://svn.gnome.org/svn/atk/trunk atk
$ svn checkout http://svn.gnome.org/svn/gtk+/trunk gtk+
Note: if you plan to push changes to back to the master repository and
have a gnome account, you want to use the following instead:
$ git clone ssh://<username>@git.gnome.org/git/gtk+
To compile the GIT version of gtk+ on your system, you will need to take
To compile the SVN version of gtk+ on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:
gtk+$ ./autogen.sh
Basically this does the following for you:
gtk+$ aclocal; automake; autoconf
The above commands create the `configure' script. Now you
run the `configure' script in `gtk+/' to create all Makefiles.
run the `configure' script in `gtk+/' to create all Makefiles.
More information about that in `INSTALL'.
Before running `autogen.sh' or `configure', make sure you have libtool
in your path.
Before running `autogen.sh' or `configure', make sure you have libtool
in your path.
Note that autogen.sh runs configure for you. If you wish to pass
options like `--prefix=/usr' to `configure' you can give those options
to `autogen.sh' and they will be passed on to `configure'.
For information about submitting patches and pushing changes
to GIT, see the `README' and `README.commits' files. In particular,
don't, under any circumstances, push anything to GIT before
For information about submitting patches and committing changes
to SVN, see the `README' and `README.commits' files. In particular,
don't, under any circumstances, commit anything to SVN before
reading and understanding `README.commmits'.

41
INSTALL Normal file
View File

@@ -0,0 +1,41 @@
Prerequisites
=============
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ 2.12.12 requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- 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.
Simple install procedure
========================
% gzip -cd gtk+-2.12.12.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.12.12 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]
% make install # install GTK+
The Details
===========
Complete information about installing GTK+ and related libraries can be found
in the file:
docs/reference/gtk/html/gtk-building.html
Or online at:
http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html

View File

@@ -4,8 +4,8 @@ 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.
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not

View File

@@ -1,5 +1,4 @@
## 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
@@ -7,7 +6,7 @@ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
EXTRA_DIST += \
EXTRA_DIST = \
HACKING \
makecopyright \
NEWS.pre-1-0 \
@@ -19,9 +18,6 @@ EXTRA_DIST += \
ChangeLog.pre-2-6 \
ChangeLog.pre-2-8 \
ChangeLog.pre-2-10 \
ChangeLog.pre-2-12 \
ChangeLog.pre-2-14 \
ChangeLog.pre-2-16 \
ChangeLog.gtk-async-file-chooser \
ChangeLog.gtk-printing \
README.commits \
@@ -118,26 +114,6 @@ 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@
@@ -159,7 +135,7 @@ gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.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-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-2.0.pc
@@ -169,30 +145,8 @@ 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 \
config.lt
distclean-local:
if test "$(srcdir)" = "."; then :; else \
rm -f ChangeLog; \
fi
ChangeLog:
@echo Creating $@
@if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
(test -f $@ || echo git-log is required to generate this file >> $@)); \
else \
test -f $@ || \
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
echo A git checkout and git-log is required to generate this file >> $@); \
fi
gdk-$(GDKTARGET)-2.0-uninstalled.pc
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
DEFAULT_GDKTARGET=x11
@@ -218,7 +172,7 @@ dist-hook:
&& cp INSTALL README $(distdir) ; \
fi
.PHONY: files release sanity snapshot ChangeLog
.PHONY: files release sanity snapshot
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
@@ -243,15 +197,3 @@ snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds
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

View File

@@ -1,82 +0,0 @@
# GTK+ - The GIMP Toolkit
GTESTER = gtester # in $PATH for non-GLIB packages
GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
# initialize variables for unconditional += appending
EXTRA_DIST =
TEST_PROGS =
### testing rules
# Xvfb based test rules
XVFB = Xvfb -ac -noreset -screen 0 800x600x16
XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 \
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 \
1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 \
9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 \
9995 9996 9997 9998 9999
SKIP_GDKTARGET = \
test "$(gdktarget)" != "x11" \
&& echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
XVFB_START = \
${XVFB} -help 2>/dev/null 1>&2 \
&& XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \
&& { ${XVFB} :$$XID -screen 0 800x600x16 -nolisten tcp -auth /dev/null >/dev/null 2>&1 & \
trap "kill -15 $$! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } \
|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
&& DISPLAY=:$$XID && export DISPLAY
# call as: $(XVFB_START) && someprogram
# test: run all tests in cwd and subdirs
test: ${TEST_PROGS}
@$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
$(XVFB_START) && { set -e; ${GTESTER} --verbose ${TEST_PROGS}; }; \
}
@ for subdir in $(SUBDIRS) ; do \
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done
# test-report: run tests in subdirs and generate report
# perf-report: run tests in subdirs with -m perf and generate report
# full-report: like test-report: with -m perf and -m slow
test-report perf-report full-report: ${TEST_PROGS}
@ ignore_logdir=true ; \
if test -z "$$GTESTER_LOGDIR" ; then \
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
ignore_logdir=false ; \
fi ; \
for subdir in $(SUBDIRS) ; do \
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done ; \
$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
case $@ in \
test-report) test_options="-k";; \
perf-report) test_options="-k -m=perf";; \
full-report) test_options="-k -m=perf -m=slow";; \
esac ; \
$(XVFB_START) && { \
set -e; \
if test -z "$$GTESTER_LOGDIR" ; then \
${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
elif test -n "${TEST_PROGS}" ; then \
${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
fi ; \
}; \
}; \
$$ignore_logdir || { \
echo '<?xml version="1.0"?>' > $@.xml ; \
echo '<report-collection>' >> $@.xml ; \
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
done ; \
echo >> $@.xml ; \
echo '</report-collection>' >> $@.xml ; \
rm -rf "$$GTESTER_LOGDIR"/ ; \
${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
}
.PHONY: test test-report perf-report full-report
# run make test as part of make check
check-local: test

2013
NEWS

File diff suppressed because it is too large Load Diff

369
README Normal file
View File

@@ -0,0 +1,369 @@
General Information
===================
This is GTK+ version 2.12.12. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
developers, including those developing proprietary software, without any
license fees or royalties.
The official ftp site is:
ftp://ftp.gtk.org/pub/gtk
The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
Release notes for 2.12
======================
* gtk_about_dialog_get/set_name() were deprecated in favour of
gtk_about_dialog_get/set_program_name(), the GtkAboutDialog now uses the
"program-name" property instead of the conflicting "name" property.
* The gdk-pixbuf tiff loader now requires libtiff 3.6.0 or later.
* Support for Windows 9x/ME has officially been removed. It hasn't worked
since 2.6 anyway.
* The GtkTextBufferTargetInfo enumeration values have been changed from
G_MAXUINT-0, G_MAXUINT-1, G_MAXUINT-2, etc, to -1, -2, -3 to stay within
ANSI C limits.
* A change in the handling of _NET_WM_USER_TIME properties on toplevel
windows can cause deadlock problems with window managers that are using
GDK for drawing decorations. In particular, metacity <= 2.18.0 is affected
by this. The problem has been fixed in metacity 2.18.1.
* Semi-private GtkTextLayout api has changed: new GtkTextLayout method
invalidate_cursors(), and new functions gtk_text_layout_invalidate_cursors()
and gtk_text_layout_cursors_changed(), which should be used in place of
gtk_text_layout_invalidate() and gtk_text_layout_changed() if invalidation
is due to marks moved or changed selection; new GtkTextLineDisplay structure
member. Source compatibility is preserved; binary compatibility may break
only if GtkTextLineDisplay structure was created on stack or as a part
of another structure (in particular GnomeCanvas and its clones do not need
recompiling).
* Another new signal has been added to GtkNotebook. The new signal
is called create-window, so this name can no longer be used for signals
in objects derived from GtkNotebook.
* The gtk_notebook_set/get_group_id() functions were found to be insufficient
and have been deprecated in favour of gtk_notebook_set/get_group().
* The move-focus signal has been moved to GtkWidget, to unify the
various implementations of this signal in specific widgets. Great care
has been taken to make sure that all code using this signal continues
to work.
* An unused and hardly visible GtkFrame has been removed from the menu
widget hierarchy when GtkComboBox::appears-as-list style property is
set. Any RC file applying a different style to any widget below the
widget path "gtk-combobox-popup-window.GtkFrame" should take into
account that the frame no longer exists.
* The external print preview application used by GtkPrintOperationPreview
is now passed the print settings on the command line with the
--print-settings parameter pointing to a temp file containing the
settings. The preview application assumes ownership of the file and
should delete it once it does not need it anymore. The --print-settings
commandline option is understood by Evince 0.9.0 and newer. To use a
different print preview application, change the gtk-print-preview-command
setting in your gtkrc file, e.g. gtk-print-preview-command = "ggv %f"
* GtkMenuShell is now defined as an abstract type. It was already
documented as an abstract class, and there is little reason to
instantiate it.
* The GtkTooltips struct (this is the old tooltips API) is now considered
private. Code that used to access this struct, in particular the
tips_data_list field, will need to change. All of the old tooltips
API has been deprecated in favour of a new implementation and
API. This affects all of the gtk_tooltips_ functions, and functions
which take a GtkTooltips argument, such as gtk_tool_item_set_tooltip()
and gtk_menu_tool_button_set_arrow_tooltip().
* The memory management of the GtkRecentManager object has been changed,
as using the screen didn't guarantee that the singleton instance was
correctly destroyed. The screen-related functions have been deprecated,
and should not be used anymore; the GtkRecentManager instance returned by
the gtk_recent_manager_get_default() function is guaranteed to be valid
for the entire lifetime of an application.
* A number of interfaces that have been superseded by newer interfaces for
a long time have finally been deprecated. This includes
gtk_widget_ref/unref(), gtk_rc_style_ref/unref() and the old file selector.
* The various coordinate systems in use in GtkTreeView widgets have
been clarified in the documentation, and in the cause of doing so,
the functions gtk_tree_view_widget_to_tree_coords() and
gtk_tree_view_tree_to_widget_coords() have been deprecated in
favour of a new family of gtk_tree_view_convert_ functions.
* gtk_menu_item_remove_submenu() has been deprecated in favour of
gtk_menu_item_set_submenu (..., NULL).
* gtk_default_draw_check() has been fixed to really decrease the
indicator size by one pixel to ensure an odd size instead of
accidentially increasing it.
Consequently, gtk_cell_renderer_toggle_render() could be fixed to
not subtract 1 from the size passed to gtk_paint_option(), which
was just a workaround for above off-by-two for even sizes (theme
engines now get the real indicator size passed).
The default toggle size of GtkCheckMenuItem and GtkCellRendererToggle
has been changed to 13 to be consistent with GtkCheckButton.
The only visible change with default settings is that the indicator in
GtkCellRendererToggle has changed its size from 11 to 13 and is now
consistent with menus and toggle buttons.
* GTK+ has always required that gtk_init() (or a variant thereof) is
called before any other GTK+ function. Some applications call functions
like gtk_clipboard_get() to check if they need to call gtk_init(),
anyway. A change in GLib 2.14 has recently broken this unsupported
practise. It is worth pointing out that calling gtk_init() twice
does no harm.
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
=====================
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
Bugs should be reported to the GNOME bug tracking system.
(http://bugzilla.gnome.org, product gtk+.) You will need to create an
account for yourself.
In the bug report please include:
* Information about your system. For instance:
- What operating system and version
- What version of X
- For Linux, what version of the C library
And anything else you think is relevant.
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
crash occured.
* Further information such as stack traces may be useful, but is not
necessary. If you do send a stack trace, and the error is an X error,
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
Patches should also be submitted to bugzilla.gnome.org. If the patch
fixes an existing bug, add the patch as an attachment to that bug
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.)

View File

@@ -1,11 +1,11 @@
GTK+ is part of the GNOME git repository. At the current time, any
GTK+ is part of the GNOME Subversion repository. At the current time, any
person with write access to the GNOME repository, can make changes to
GTK+. This is a good thing, in that it encourages many people to work
on GTK+, and progress can be made quickly. However, GTK+ is a fairly
large and complicated package that many other things depend on, so to
avoid unnecessary breakage, and to take advantage of the knowledge
about GTK+ that has been built up over the years, we'd like to ask
people committing to GTK+ to follow a few rules:
about GTK+ that has been built up over the last 4 years, we'd like
to ask people commiting to GTK+ to follow a few rules:
0) Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you've
@@ -14,9 +14,9 @@ people committing to GTK+ to follow a few rules:
somebody may know a better way to do things.
If you are making changes to GTK+, you should be subscribed
to gtk-devel-list@gnome.org. (Subscription address:
to gtk-devel-list@gnome.org. (Subscription address:
gtk-devel-list-request@gnome.org.) This is a good place to ask
about intended changes.
about intended changes.
#gtk+ on GIMPNet (irc.gimp.org, irc.us.gimp.org, irc.eu.gimp.org, ...)
is also a good place to find GTK+ developers to discuss changes with,
@@ -25,48 +25,30 @@ people committing to GTK+ to follow a few rules:
1) Ask _first_.
2) With git, we no longer maintain a ChangeLog file, but you are expected
to produce a meaningful commit message. Changes without a sufficient
commit message will be reverted. See below for the expected format
of commit messages.
2) There must be a ChangeLog for every commit. (If you discover that
you only committed half the files you meant to and need to fix that
up, or something, you don't need a new ChangeLog entry. But in general,
ChangeLog entries are mandatory.) Changes without ChangeLog entries
will be reverted.
3) There _must_ be a ChangeLog for every commit.
Notes:
* When developing larger features or complicated bug fixes, it is
advisable to work in a branch in your own cloned GTK+ repository.
You may even consider making your repository publically available
so that others can easily test and review your changes.
* If you are going to be changing many files in an experimental fashion,
it probably is a good idea to create a separate branch for your changes.
* The expected format for git commit messages is as follows:
* The ChangeLog entries should preferably match in date format
with the existing entries. You can set how emacs does this
by using customize mode:
=== begin example commit ===
Short explanation of the commit
Longer explanation explaining exactly what's changed, whether any
external or private interfaces changed, what bugs were fixed (with bug
tracker reference if applicable) and so forth. Be concise but not too brief.
=== end example commit ===
- Always add a brief description of the commit to the _first_ line of
the commit and terminate by two newlines (it will work without the
second newline, but that is not nice for the interfaces).
- First line (the brief description) must only be one sentence and
should start with a capital letter unless it starts with a lowercase
symbol or identifier. Don't use a trailing period either. Don't exceed
72 characters.
- The main description (the body) is normal prose and should use normal
punctuation and capital letters where appropriate. Normally, for patches
sent to a mailing list it's copied from there.
- When committing code on behalf of others use the --author option, e.g.
git commit -a --author "Joe Coder <joe@coder.org>" and --signoff.
- M-x customize
- set Programming/Tools/ChangeLog/Add Log Time Format to
'Old Format'
Or, set the add-log-time-format to 'current-time-string in
your .emacs file.
Owen Taylor
13 Aug 1998
17 Apr 2001
Matthias Clasen
31 Mar 2009

View File

@@ -27,81 +27,6 @@ Installation
See the file 'INSTALL'
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.
Release notes for 2.16
======================
* Password entries now display a caps-lock warning. This can be turned off
with the caps-lock-warning property.
* Various orientation-related functions have been deprecated in favour
of the new GtkOrientable interface: gtk_scale_button_get_orientation,
gtk_scale_button_set_orientation, gtk_toolbar_set_orientation.
* The action-proxy interaction has been changed. Widgets that operate as
proxies have to implement the GtkActivatable interface now. GtkActivatable
implementation are responsible for syncing their appearance with the
action and for activating the action. All GTK+ widgets that are commonly
used as proxies implement the GtkActivatable interface.
* The handling of keyboard shortcuts has been changed, to help with a
longstanding complaint about the way GTK+ handles multiple layouts. GTK+
now only uses keys from groups other than the current group if they are
not present in the current group.
Release notes for 2.14
======================
* gtkitemfactory.h is now completely deprecated.
As gtkactiongroup.h and gtkstock.h no longer include the gtkitemfactory.h
header, this might break application using gtk_item_factory_* symbols
without including gtkitemfactory.h - even though this behaviour has never
been supported in the first place.
* The GtkFileSystem semi-private interface has been removed.
The GTK+ filechooser implementation now uses GIO directly, which has
rendered external filesystem implementations unnecessary. Consequently,
the GtkFileSystem interface is no longer available, nor the filechooser
will load any GtkFileSystem implementation.
* GtkComboBox now renders the popdown button insensitive when
the model is empty. Applications which want to populate the list
only before displaying it can set gtk_combo_box_set_button_sensitivity
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.
* 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
set accordingly at configure time. Otherwise, gdk-pixbuf falls
back to its built-in sniffing implementation.
Release notes for 2.12
======================
@@ -437,4 +362,8 @@ report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Patches should be in unified diff form. (The -up option to GNU diff.)
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.)

View File

@@ -1,184 +1,117 @@
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>
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>

82
acconfig.h Normal file
View File

@@ -0,0 +1,82 @@
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#undef ENABLE_NLS
#undef GTK_COMPILED_WITH_DEBUGGING
#undef HAVE_CATGETS
#undef HAVE_GETTEXT
#undef HAVE_IPC_H
#undef HAVE_LC_MESSAGES
#undef HAVE_PROGRESSIVE_JPEG
#undef HAVE_PWD_H
#undef HAVE_SHM_H
#undef HAVE_STPCPY
#undef HAVE_SYS_SYSINFO_H
#undef HAVE_SYS_SYSTEMINFO_H
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SOLARIS_XINERAMA
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_XFREE_XINERAMA
#undef HAVE_XINERAMA
#undef HAVE_XCONVERTCASE
#undef HAVE_XFT
#undef HAVE_SIGSETJMP
#undef NO_FD_SET
#undef RESOURCE_BASE
#undef USE_GMODULE
#undef USE_MMX
#undef USE_MEDIALIB
#undef USE_MEDIALIB25
/* Define to use XKB extension */
#undef HAVE_XKB
/* Define to use shadowfb in the linux-fb port */
#undef ENABLE_SHADOW_FB
/* Define to use a fb manager in the linux-fb port */
#undef ENABLE_FB_MANAGER
#undef XINPUT_NONE
#undef XINPUT_GXI
#undef XINPUT_XFREE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Most machines will be happy with int or void. IRIX requires '...' */
#undef SIGNAL_ARG_TYPE
#undef GETTEXT_PACKAGE
#undef HAVE_CUPS_API_1_2
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */

View File

@@ -14,12 +14,9 @@ DIE=0
have_libtool=false
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`libtoolize --version |
head -1 |
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*|2.2*)
1.4*|1.5*)
have_libtool=true
;;
esac
@@ -48,24 +45,16 @@ fi
DIE=1
}
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 if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
echo
echo "You must have automake 1.7.x, 1,10.x or 1.11.x installed to compile $PROJECT."
echo "You must have automake 1.7.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
fi
if test "$DIE" -eq 1; then
exit 1

View File

@@ -1,18 +1,94 @@
/* config.h.win32.in. Merged from two versions generated by configure for gcc and MSVC. */
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#define ENABLE_NLS 1
#define GTK_COMPILED_WITH_DEBUGGING "yes"
/* #undef HAVE_CATGETS */
/* #undef HAVE_DIMM_H */
#define HAVE_GETTEXT 1
/* #undef HAVE_IPC_H */
/* #undef HAVE_LC_MESSAGES */
#define HAVE_PROGRESSIVE_JPEG 1
/* #undef HAVE_PWD_H */
/* #undef HAVE_SHM_H */
/* #undef HAVE_STPCPY */
/* #undef HAVE_XSHM_H */
/* #undef HAVE_SHAPE_EXT */
/* #undef HAVE_SOLARIS_XINERAMA */
/* #undef HAVE_SYS_SELECT_H */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif /* _MSC_VER */
/* #undef HAVE_XFREE_XINERAMA */
/* #undef HAVE_XINERAMA */
/* #undef HAVE_XCONVERTCASE */
/* #undef HAVE_XFT */
/* #undef HAVE_SIGSETJMP */
#define NO_FD_SET 1
/* #undef RESOURCE_BASE */
#ifndef _MSC_VER
#define USE_GMODULE 1
#define USE_MMX 1
#endif
/* Define to use XKB extension */
/* #undef HAVE_XKB */
/* Define to use shadowfb in the linux-fb port */
/* #undef ENABLE_SHADOW_FB */
/* Define to use a fb manager in the linux-fb port */
/* #undef ENABLE_FB_MANAGER */
/* #undef XINPUT_NONE */
/* #undef XINPUT_GXI */
/* #undef XINPUT_XFREE */
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Most machines will be happy with int or void. IRIX requires '...' */
/* #undef SIGNAL_ARG_TYPE */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* The prefix for our gettext translation domains. */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* Define if debugging is enabled */
#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 "UNUSED/share/locale"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
@@ -20,12 +96,6 @@
/* Is the wctype implementation broken */
/* #undef HAVE_BROKEN_WCTYPE */
/* Define to 1 if you have the <crt_externs.h> header file. */
/* #undef HAVE_CRT_EXTERNS_H */
/* Define to 1 if CUPS 1.2 API is available */
/* #undef HAVE_CUPS_API_1_2 */
/* Define to 1 if you have the `dcgettext' function. */
#define HAVE_DCGETTEXT 1
@@ -35,18 +105,12 @@
/* Define to 1 if you have the `flockfile' function. */
/* #undef HAVE_FLOCKFILE */
/* Define to 1 if you have the <ftw.h> header file. */
/* #undef HAVE_FTW_H */
/* Define to 1 if you have the `getc_unlocked' function. */
/* #undef HAVE_GETC_UNLOCKED */
/* Define to 1 if you have the `getpagesize' function. */
#ifndef _MSC_VER
#define HAVE_GETPAGESIZE 1
#else
#else /* _MSC_VER */
/* #undef HAVE_GETPAGESIZE */
#endif
#endif /* _MSC_VER */
/* Define to 1 if you have the `getresuid' function. */
/* #undef HAVE_GETRESUID */
@@ -54,24 +118,12 @@
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Have GNU ftw */
/* #undef HAVE_GNU_FTW */
/* Define to 1 if you have the `httpGetAuthString' function. */
/* #undef HAVE_HTTPGETAUTHSTRING */
/* Define if cups http_t authstring field is accessible */
/* #undef HAVE_HTTP_AUTHSTRING */
/* Define to 1 if you have the <inttypes.h> header file. */
#ifndef _MSC_VER
#define HAVE_INTTYPES_H 1
#else
#else /* _MSC_VER */
/* #undef HAVE_INTTYPES_H */
#endif
/* Define to 1 if ipc.h is available */
/* #undef HAVE_IPC_H */
#endif /* _MSC_VER */
/* Define if your <locale.h> file defines LC_MESSAGES. */
/* #undef HAVE_LC_MESSAGES */
@@ -79,9 +131,6 @@
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
/* #undef HAVE_LOCALTIME_R */
/* Define to 1 if you have the `lstat' function. */
/* #undef HAVE_LSTAT */
@@ -97,64 +146,37 @@
/* Define to 1 if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 is libjpeg supports progressive JPEG */
/* #undef HAVE_PROGRESSIVE_JPEG */
/* Define to 1 if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* 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 */
/* Define to 1 if sigsetjmp is available */
/* #undef HAVE_SIGSETJMP */
/* Have the sockaddr_un.sun_len member */
/* #undef HAVE_SOCKADDR_UN_SUN_LEN */
/* Define to 1 if solaris xinerama is available */
/* #undef HAVE_SOLARIS_XINERAMA */
/* Define to 1 if you have the <stdint.h> header file. */
#ifndef _MSC_VER
#define HAVE_STDINT_H 1
#else
#else /* _MSC_VER */
/* #undef HAVE_STDINT_H */
#endif
#endif /* _MSC_VER */
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* #undef HAVE_STRINGS_H */
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if sys/select.h is available */
/* #undef HAVE_SYS_SELECT_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if sys/sysinfo.h is available */
/* #undef HAVE_SYS_SYSINFO_H */
/* Define to 1 if sys/systeminfo.h is available */
/* #undef HAVE_SYS_SYSTEMINFO_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif
#endif /* _MSC_VER */
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
@@ -165,9 +187,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#ifndef _MSC_VER
#define HAVE_UNISTD_H 1
#else
#else /* _MSC_VER */
/* #undef HAVE_UNISTD_H */
#endif
#endif /* _MSC_VER */
/* Have uxtheme.h include file */
#define HAVE_UXTHEME_H 1
@@ -181,60 +203,27 @@
/* Define if we have X11R6 */
/* #undef HAVE_X11R6 */
/* Have the XCOMPOSITE X extension */
/* #undef HAVE_XCOMPOSITE */
/* Define to 1 if you have the `XConvertCase' function. */
/* #undef HAVE_XCONVERTCASE */
/* Have the Xcursor library */
/* #undef HAVE_XCURSOR */
/* Have the XDAMAGE X extension */
/* #undef HAVE_XDAMAGE */
/* Have the XFIXES X extension */
/* #undef HAVE_XFIXES */
/* Define to 1 if XFree Xinerama is available */
/* #undef HAVE_XFREE_XINERAMA */
/* Define to 1 is Xinerama is available */
/* #undef HAVE_XINERAMA */
/* Define to 1 if you have the `XInternAtoms' function. */
/* #undef HAVE_XINTERNATOMS */
/* Define to use XKB extension */
/* #undef HAVE_XKB */
/* Define to 1 if xshm.h is available */
/* #undef HAVE_XSHM_H */
/* Have the SYNC extension library */
/* #undef HAVE_XSYNC */
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
/* #undef HAVE__NL_MEASUREMENT_MEASUREMENT */
/* Define if _NL_PAPER_HEIGHT is available */
/* #undef HAVE__NL_PAPER_HEIGHT */
/* Define if _NL_PAPER_WIDTH is available */
/* #undef HAVE__NL_PAPER_WIDTH */
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
/* #undef HAVE__NL_TIME_FIRST_WEEKDAY */
/* Define to 1 if you have the `_NSGetEnviron' function. */
/* #undef HAVE__NSGETENVIRON */
/* 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 the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
@@ -242,7 +231,7 @@
#define PACKAGE_NAME "gtk+"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "gtk+ @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
#define PACKAGE_STRING "gtk+ 2.9.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gtk+"
@@ -256,31 +245,9 @@
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if gmodule works and should be used */
#define USE_GMODULE 1
/* Whether to load modules via .la files rather than directly */
/* #undef USE_LA_MODULES */
/* Define to 1 if medialib is available and should be used */
/* #undef USE_MEDIALIB */
/* Define to 1 if medialib 2.5 is available */
/* #undef USE_MEDIALIB25 */
/* Define to 1 if XXM is available and should be used */
#ifndef _MSC_VER
# define USE_MMX 1
#else
# undef USE_MMX
#endif
/* Define to 1 if no XInput should be used */
/* #undef XINPUT_NONE */
/* Define to 1 if XFree XInput should be used */
/* #undef XINPUT_XFREE */
/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */

File diff suppressed because it is too large Load Diff

2
contrib/.cvsignore Normal file
View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@@ -1,8 +1,5 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS =
if USE_X11
SUBDIRS += gdk-pixbuf-xlib
endif
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,7 @@
Makefile
Makefile.in
*.la
*.lo
.libs
.deps
gdk-pixbuf-xlib-2.0.pc

View File

@@ -1,85 +1,46 @@
=== ChangeLog discontinued ===
2008-09-12 Matthias Clasen <mclasen@redhat.com>
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.
* === Released 2.12.12 ===
2009-03-13 Matthias Clasen <mclasen@redhat.com>
2008-07-01 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 ===
* === Released 2.12.11 ===
2008-06-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.2 ===
* === Released 2.12.10 ===
2008-05-29 Matthias Clasen <mclasen@redhat.com>
2008-03-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.1 ===
* === Released 2.12.9 ===
2008-05-26 Michael Natterer <mitch@imendio.com>
2008-02-12 Matthias Clasen <mclasne@redhat.com>
* gdk-pixbuf-xlib.h
* gdk-pixbuf-xlibrgb.h: use G_BEGIN/END_DECLS.
* === Released 2.12.8 ===
2008-02-16 Matthias Clasen <mclasen@redhat.com>
2008-01-29 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.0 ===
* === Released 2.12.7 ===
2008-01-28 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.6 ===
2008-01-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.5 ===
2008-01-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.4 ===
2007-12-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.3 ===
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.2 ===
2007-10-16 Matthias Clasen <mclasen@redhat.com>

View File

@@ -1,5 +1,3 @@
include $(top_srcdir)/Makefile.decl
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
@@ -10,6 +8,7 @@ INCLUDES = \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
@@ -37,6 +36,4 @@ libgdk_pixbuf_xlibinclude_HEADERS = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdk-pixbuf-xlib-2.0.pc
EXTRA_DIST += gdk-pixbuf-xlib-2.0.pc.in
-include $(top_srcdir)/git.mk
EXTRA_DIST = gdk-pixbuf-xlib-2.0.pc.in

View File

@@ -26,7 +26,7 @@
/* Ported to Xlib by John Harper <john@dcs.warwick.ac.uk> */
#include "config.h"
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <gdk-pixbuf/gdk-pixbuf-private.h>

View File

@@ -22,7 +22,7 @@
/* Trivially ported to Xlib(RGB) by John Harper. */
#include "config.h"
#include <config.h>
#include "gdk-pixbuf-private.h"
#include "gdk-pixbuf-xlib-private.h"

View File

@@ -18,7 +18,7 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <X11/Xlib.h>
#include <gdk-pixbuf/gdk-pixbuf-private.h>
#include "gdk-pixbuf-xlib-private.h"

View File

@@ -21,11 +21,12 @@
#ifndef GDK_PIXBUF_XLIB_H
#define GDK_PIXBUF_XLIB_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
G_BEGIN_DECLS
#include <X11/Xlib.h>
@@ -82,6 +83,9 @@ GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
int dest_x, int dest_y,
int width, int height);
G_END_DECLS
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GDK_PIXBUF_XLIB_H */

View File

@@ -51,13 +51,15 @@
#ifndef __XLIB_RGB_H__
#define __XLIB_RGB_H__
#include <glib.h>
G_BEGIN_DECLS
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <glib.h>
typedef struct _XlibRgbCmap XlibRgbCmap;
struct _XlibRgbCmap {
@@ -183,6 +185,9 @@ xlib_rgb_get_display (void);
Screen *
xlib_rgb_get_screen (void);
G_END_DECLS
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __XLIB_RGB_H__ */

11
demos/.cvsignore Normal file
View File

@@ -0,0 +1,11 @@
Makefile
Makefile.in
.libs
.deps
testanimation
test-inline-pixbufs.h
testpixbuf-drawable
testpixbuf-scale
testpixbuf-save
testpixbuf
pixbuf-demo

View File

@@ -1,14 +1,14 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
SUBDIRS = gtk-demo
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
@@ -70,7 +70,7 @@ 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
EXTRA_DIST += \
EXTRA_DIST = \
apple-red.png \
background.jpg \
gnome-applets.png \
@@ -82,5 +82,3 @@ EXTRA_DIST += \
gnu-keys.png
DISTCLEANFILES = test-inline-pixbufs.h
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,7 @@
Makefile
Makefile.in
.libs
.deps
gtk-demo
demos.h
geninclude.pl

View File

@@ -1,9 +1,8 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
democodedir=$(datadir)/gtk-2.0/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,25 +16,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 \
printing.c \
rotated_text.c \
search_entry.c \
sizegroup.c \
stock_browser.c \
textview.c \
@@ -44,12 +37,13 @@ demos = \
ui_manager.c
INCLUDES = \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
@@ -66,7 +60,7 @@ bin_PROGRAMS = gtk-demo
BUILT_SOURCES = demos.h
EXTRA_DIST += \
EXTRA_DIST = \
$(IMAGEFILES) \
demo.ui
@@ -101,5 +95,3 @@ IMAGEFILES= alphatest.png \
democode_DATA = $(demos) $(IMAGEFILES) demo.ui
DISTCLEANFILES = demos.h
-include $(top_srcdir)/git.mk

View File

@@ -8,8 +8,6 @@
#include "demo-common.h"
static GtkWidget *window = NULL;
static GtkWidget *infobar = NULL;
static GtkWidget *messagelabel = NULL;
static void
activate_action (GtkAction *action)
@@ -18,7 +16,7 @@ activate_action (GtkAction *action)
const gchar *typename = G_OBJECT_TYPE_NAME (action);
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
@@ -31,7 +29,7 @@ activate_action (GtkAction *action)
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
@@ -43,32 +41,37 @@ 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)
{
gchar *text;
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);
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);
/* Close dialog on user response */
g_signal_connect (dialog,
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
}
static void
static void
activate_email (GtkAboutDialog *about,
const gchar *link,
gpointer data)
{
gchar *text;
text = g_strdup_printf ("send mail to %s", link);
g_print ("%s\n", text);
g_free (text);
g_print ("send mail to %s\n", link);
}
static void
static void
activate_url (GtkAboutDialog *about,
const gchar *link,
gpointer data)
@@ -129,9 +132,9 @@ about_cb (GtkAction *action,
gtk_about_dialog_set_email_hook (activate_email, NULL, NULL);
gtk_about_dialog_set_url_hook (activate_url, NULL, NULL);
gtk_show_about_dialog (GTK_WINDOW (window),
"program-name", "GTK+ Code Demos",
"name", "GTK+ Code Demos",
"version", PACKAGE_VERSION,
"copyright", "(C) 1997-2009 The GTK+ Team",
"copyright", "(C) 1997-2005 The GTK+ Team",
"license", license,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
@@ -144,12 +147,12 @@ about_cb (GtkAction *action,
g_object_unref (transparent);
}
typedef struct
typedef struct
{
GtkAction action;
} ToolMenuAction;
typedef struct
typedef struct
{
GtkActionClass parent_class;
} ToolMenuActionClass;
@@ -176,30 +179,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) },
};
@@ -208,9 +211,9 @@ 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 */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
@@ -223,13 +226,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);
@@ -242,18 +245,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'>"
@@ -285,7 +288,7 @@ static const gchar *ui_info =
" <toolitem action='Open'>"
" <menu action='OpenMenu'>"
" <menuitem action='File1'/>"
" </menu>"
" </menu>"
" </toolitem>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
@@ -305,7 +308,7 @@ static void
register_stock_icons (void)
{
static gboolean registered = FALSE;
if (!registered)
{
GdkPixbuf *pixbuf;
@@ -317,12 +320,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);
@@ -347,7 +350,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);
@@ -356,7 +359,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);
}
@@ -370,9 +373,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);
@@ -406,21 +409,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;
@@ -435,10 +438,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));
@@ -450,15 +453,15 @@ do_appwindow (GtkWidget *do_widget)
G_CALLBACK (gtk_widget_destroyed),
&window);
table = gtk_table_new (1, 5, FALSE);
table = gtk_table_new (1, 4, 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",
@@ -466,30 +469,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);
@@ -499,16 +502,17 @@ 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,
0, 0);
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
gtk_toolbar_set_tooltips (GTK_TOOLBAR (bar), TRUE);
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,
@@ -517,25 +521,6 @@ 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),
@@ -544,20 +529,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, 3, 4,
0, 1, 2, 3,
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);
@@ -567,7 +552,7 @@ do_appwindow (GtkWidget *do_widget)
gtk_table_attach (GTK_TABLE (table),
statusbar,
/* X direction */ /* Y direction */
0, 1, 4, 5,
0, 1, 3, 4,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
@@ -586,12 +571,12 @@ 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));
}
@@ -600,11 +585,9 @@ do_appwindow (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
infobar = NULL;
messagelabel = NULL;
}
return window;

View File

@@ -6,15 +6,9 @@
#include <gtk/gtk.h>
#include "demo-common.h"
static GtkBuilder *builder;
G_MODULE_EXPORT void
quit_activate (GtkAction *action)
{
GtkWidget *window;
window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
gtk_widget_destroy (window);
}
G_MODULE_EXPORT void
@@ -22,15 +16,17 @@ about_activate (GtkAction *action)
{
GtkWidget *about_dlg;
about_dlg = GTK_WIDGET (gtk_builder_get_object (builder, "aboutdialog1"));
about_dlg = gtk_about_dialog_new ();
gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (about_dlg), "GtkBuilder demo");
gtk_dialog_run (GTK_DIALOG (about_dlg));
gtk_widget_hide (about_dlg);
gtk_widget_destroy (about_dlg);
}
GtkWidget *
do_builder (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkBuilder *builder;
GError *err = NULL;
gchar *filename;

View File

@@ -1,5 +1,5 @@
/* Change Display
*
*
* Demonstrates migrating a window between different displays and
* screens. A display is a mouse and keyboard with some number of
* associated monitors. A screen is a set of monitors grouped
@@ -21,7 +21,7 @@
* - Changing the screen for a window
*
* - Letting the user choose a window by clicking on it
*
*
* - Using GtkListStore and GtkTreeView
*
* - Using GtkDialog
@@ -45,7 +45,7 @@ struct _ChangeDisplayInfo
GtkTreeModel *display_model;
GtkTreeModel *screen_model;
GtkTreeSelection *screen_selection;
GdkDisplay *current_display;
GdkScreen *current_screen;
};
@@ -81,11 +81,7 @@ find_toplevel_at_pointer (GdkDisplay *display)
* to the widget that created it.
*/
if (pointer_window)
{
gpointer widget_ptr;
gdk_window_get_user_data (pointer_window, &widget_ptr);
widget = widget_ptr;
}
gdk_window_get_user_data (pointer_window, (gpointer*) &widget);
return widget ? gtk_widget_get_toplevel (widget) : NULL;
}
@@ -111,23 +107,23 @@ query_for_toplevel (GdkScreen *screen,
GtkWidget *popup, *label, *frame;
GdkCursor *cursor;
GtkWidget *toplevel = NULL;
popup = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_screen (GTK_WINDOW (popup), screen);
gtk_window_set_modal (GTK_WINDOW (popup), TRUE);
gtk_window_set_position (GTK_WINDOW (popup), GTK_WIN_POS_CENTER);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
gtk_container_add (GTK_CONTAINER (popup), frame);
label = gtk_label_new (prompt);
gtk_misc_set_padding (GTK_MISC (label), 10, 10);
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show_all (popup);
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
if (gdk_pointer_grab (popup->window, FALSE,
GDK_BUTTON_RELEASE_MASK,
NULL,
@@ -135,26 +131,26 @@ query_for_toplevel (GdkScreen *screen,
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
{
gboolean clicked = FALSE;
g_signal_connect (popup, "button-release-event",
G_CALLBACK (button_release_event_cb), &clicked);
/* Process events until clicked is set by button_release_event_cb.
* We pass in may_block=TRUE since we want to wait if there
* are no events currently.
*/
while (!clicked)
g_main_context_iteration (NULL, TRUE);
toplevel = find_toplevel_at_pointer (gdk_screen_get_display (screen));
if (toplevel == popup)
toplevel = NULL;
}
gdk_cursor_unref (cursor);
gtk_widget_destroy (popup);
gdk_flush (); /* Really release the grab */
return toplevel;
}
@@ -188,12 +184,12 @@ fill_screens (ChangeDisplayInfo *info)
{
gint n_screens = gdk_display_get_n_screens (info->current_display);
gint i;
for (i = 0; i < n_screens; i++)
{
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
SCREEN_COLUMN_NUMBER, i,
@@ -234,7 +230,7 @@ open_display_cb (GtkWidget *button,
GtkWidget *dialog_label;
gchar *new_screen_name = NULL;
GdkDisplay *result = NULL;
dialog = gtk_dialog_new_with_buttons ("Open Display",
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
@@ -253,13 +249,13 @@ open_display_cb (GtkWidget *button,
gtk_widget_grab_focus (display_entry);
gtk_widget_show_all (GTK_BIN (dialog)->child);
while (!result)
{
gint response_id = gtk_dialog_run (GTK_DIALOG (dialog));
if (response_id != GTK_RESPONSE_OK)
break;
new_screen_name = gtk_editable_get_chars (GTK_EDITABLE (display_entry),
0, -1);
@@ -278,7 +274,7 @@ open_display_cb (GtkWidget *button,
g_free (new_screen_name);
}
}
gtk_widget_destroy (dialog);
}
@@ -351,7 +347,7 @@ create_frame (ChangeDisplayInfo *info,
GtkTreeSelection *selection;
GtkWidget *scrollwin;
GtkWidget *hbox;
*frame = gtk_frame_new (title);
hbox = gtk_hbox_new (FALSE, 8);
@@ -377,7 +373,7 @@ create_frame (ChangeDisplayInfo *info,
if (!info->size_group)
info->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget (GTK_SIZE_GROUP (info->size_group), *button_vbox);
}
@@ -413,7 +409,7 @@ create_display_frame (ChangeDisplayInfo *info)
button = left_align_button_new ("_Open...");
g_signal_connect (button, "clicked", G_CALLBACK (open_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
button = left_align_button_new ("_Close");
g_signal_connect (button, "clicked", G_CALLBACK (close_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
@@ -484,7 +480,7 @@ display_closed_cb (GdkDisplay *display,
valid = gtk_tree_model_iter_next (info->display_model, &iter))
{
GdkDisplay *tmp_display;
gtk_tree_model_get (info->display_model, &iter,
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
@@ -506,7 +502,7 @@ add_display (ChangeDisplayInfo *info,
{
const gchar *name = gdk_display_get_name (display);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->display_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->display_model), &iter,
DISPLAY_COLUMN_NAME, name,
@@ -514,7 +510,7 @@ add_display (ChangeDisplayInfo *info,
-1);
g_signal_connect (display, "closed",
G_CALLBACK (display_closed_cb), info);
G_CALLBACK (display_closed_cb), info);
}
/* Called when a new display is opened
@@ -543,7 +539,7 @@ initialize_displays (ChangeDisplayInfo *info)
g_slist_free (tmp_list);
g_signal_connect (manager, "display-opened",
g_signal_connect (manager, "display_opened",
G_CALLBACK (display_opened_cb), info);
}
@@ -566,7 +562,7 @@ destroy_info (ChangeDisplayInfo *info)
g_signal_handlers_disconnect_by_func (tmp_list->data,
display_closed_cb,
info);
g_slist_free (tmp_list);
g_object_unref (info->size_group);
@@ -605,7 +601,7 @@ do_changedisplay (GtkWidget *do_widget)
info = g_new0 (ChangeDisplayInfo, 1);
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
GTK_WINDOW (do_widget),
GTK_WINDOW (do_widget),
GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
@@ -620,13 +616,13 @@ do_changedisplay (GtkWidget *do_widget)
vbox = gtk_vbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (info->window)->vbox), vbox,
TRUE, TRUE, 0);
frame = create_display_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
frame = create_screen_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);

View File

@@ -1,9 +1,9 @@
/* Clipboard
*
* GtkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
* copy and paste text to and from the clipboard.
*
* It also shows how to transfer images via the clipboard or via
* It also shows how to transfer images via the clipboard or via
* drag-and-drop, and how to make clipboard contents persist after
* the application exits. Clipboard persistence requires a clipboard
* manager to run.
@@ -22,7 +22,7 @@ copy_button_clicked (GtkWidget *button,
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
@@ -39,7 +39,7 @@ paste_received (GtkClipboard *clipboard,
GtkWidget *entry;
entry = GTK_WIDGET (user_data);
/* Set the entry text */
if(text)
gtk_entry_set_text (GTK_ENTRY (entry), text);
@@ -53,7 +53,7 @@ paste_button_clicked (GtkWidget *button,
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
@@ -80,7 +80,7 @@ get_image_pixbuf (GtkImage *image)
return gtk_widget_render_icon (GTK_WIDGET (image),
stock_id, size, NULL);
default:
g_warning ("Image storage type %d not handled",
g_warning ("Image storage type %d not handled",
gtk_image_get_storage_type (image));
return NULL;
}
@@ -98,7 +98,7 @@ drag_begin (GtkWidget *widget,
g_object_unref (pixbuf);
}
void
void
drag_data_get (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
@@ -171,12 +171,12 @@ button_press (GtkWidget *widget,
{
GtkWidget *menu;
GtkWidget *item;
if (button->button != 3)
return FALSE;
menu = gtk_menu_new ();
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
g_signal_connect (item, "activate", G_CALLBACK (copy_image), data);
gtk_widget_show (item);
@@ -201,22 +201,18 @@ do_clipboard (GtkWidget *do_widget)
GtkWidget *entry, *button;
GtkWidget *ebox, *image;
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);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_label_new ("\"Copy\" will copy the text\nin the entry to the clipboard");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 4);
@@ -226,7 +222,7 @@ do_clipboard (GtkWidget *do_widget)
/* Create the first entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_from_stock (GTK_STOCK_COPY);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
@@ -243,13 +239,13 @@ do_clipboard (GtkWidget *do_widget)
/* Create the second entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (paste_button_clicked), entry);
label = gtk_label_new ("Images can be transferred via the clipboard, too");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
@@ -258,7 +254,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first image */
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
@@ -267,24 +263,24 @@ do_clipboard (GtkWidget *do_widget)
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag-begin",
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (ebox, "drag-data-get",
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag-data-received",
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on ebox */
g_signal_connect (ebox, "button-press-event",
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* Create the second image */
image = gtk_image_new_from_stock (GTK_STOCK_STOP,
image = gtk_image_new_from_stock (GTK_STOCK_STOP,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
@@ -293,22 +289,22 @@ do_clipboard (GtkWidget *do_widget)
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag-begin",
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (ebox, "drag-data-get",
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag-data-received",
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on ebox */
g_signal_connect (ebox, "button-press-event",
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* tell the clipboard manager to make the data persistent */
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
gtk_clipboard_set_can_store (clipboard, NULL, 0);

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<interface domain="gtk20">
<interface>
<object class="GtkListStore" id="liststore1">
<columns>
<column type="gchararray"/>
@@ -9,16 +9,16 @@
</columns>
<data>
<row>
<col id="0" translatable="yes">John</col>
<col id="1" translatable="yes">Doe</col>
<col id="0">John</col>
<col id="1">Doe</col>
<col id="2">25</col>
<col id="3" translatable="yes">This is the John Doe row</col>
<col id="3">This is the John Doe row</col>
</row>
<row>
<col id="0" translatable="yes">Mary</col>
<col id="1" translatable="yes">Unknown</col>
<col id="0">Mary</col>
<col id="1">Dole</col>
<col id="2">50</col>
<col id="3" translatable="yes">This is the Mary Unknown row</col>
<col id="3">This is the Mary Dole row</col>
</row>
</data>
</object>
@@ -141,28 +141,18 @@
</toolbar>
</ui>
</object>
<object class="GtkAboutDialog" id="aboutdialog1">
<property name="program-name" translatable="yes">GtkBuilder demo</property>
<accessibility>
<relation target="window1" type="subwindow-of"/>
</accessibility>
</object>
<object class="GtkWindow" id="window1">
<property name="default_height">250</property>
<property name="default_width">440</property>
<property name="title">GtkBuilder demo</property>
<property name="title">builder</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
<object constructor="uimanager" class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="a11y-menubar">
<property name="AtkObject::accessible-name">The menubar</property>
</object>
</child>
</object>
</object>
<packing>
<property name="expand">False</property>
</packing>
@@ -170,11 +160,6 @@
<child>
<object constructor="uimanager" class="GtkToolbar" id="toolbar1">
<property name="visible">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="a11y-toolbar">
<property name="AtkObject::accessible-name">The toolbar</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
@@ -192,14 +177,6 @@
<property name="visible">True</property>
<property name="model">liststore1</property>
<property name="tooltip-column">3</property>
<child internal-child="accessible">
<object class="AtkObject" id="a11y-treeview">
<property name="AtkObject::accessible-name">Name list</property>
<property name="AtkObject::accessible-description">
A list of person with name, surname and age columns
</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="column1">
<property name="title">Name</property>
@@ -235,9 +212,6 @@
</child>
</object>
</child>
<accessibility>
<action action_name="move-cursor" description="Move the cursor to select another person."/>
</accessibility>
</object>
<packing>
<property name="position">2</property>

View File

@@ -21,25 +21,25 @@ static GdkPixmap *pixmap = NULL;
/* Create a new pixmap of the appropriate size to store our scribbles */
static gboolean
scribble_configure_event (GtkWidget *widget,
GdkEventConfigure *event,
gpointer data)
scribble_configure_event (GtkWidget *widget,
GdkEventConfigure *event,
gpointer data)
{
if (pixmap)
g_object_unref (pixmap);
pixmap = gdk_pixmap_new (widget->window,
widget->allocation.width,
widget->allocation.height,
-1);
widget->allocation.width,
widget->allocation.height,
-1);
/* Initialize the pixmap to white */
gdk_draw_rectangle (pixmap,
widget->style->white_gc,
TRUE,
0, 0,
widget->allocation.width,
widget->allocation.height);
widget->style->white_gc,
TRUE,
0, 0,
widget->allocation.width,
widget->allocation.height);
/* We've handled the configure event, no need for further processing. */
return TRUE;
@@ -48,30 +48,30 @@ scribble_configure_event (GtkWidget *widget,
/* Redraw the screen from the pixmap */
static gboolean
scribble_expose_event (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
GdkEventExpose *event,
gpointer data)
{
/* We use the "foreground GC" for the widget since it already exists,
* but honestly any GC would work. The only thing to worry about
* is whether the GC has an inappropriate clip region set.
*/
gdk_draw_drawable (widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
pixmap,
/* Only copy the area that was exposed. */
event->area.x, event->area.y,
event->area.x, event->area.y,
event->area.width, event->area.height);
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
pixmap,
/* Only copy the area that was exposed. */
event->area.x, event->area.y,
event->area.x, event->area.y,
event->area.width, event->area.height);
return FALSE;
}
/* Draw a rectangle on the screen */
static void
draw_brush (GtkWidget *widget,
gdouble x,
gdouble y)
gdouble x,
gdouble y)
{
GdkRectangle update_rect;
@@ -82,25 +82,25 @@ draw_brush (GtkWidget *widget,
/* Paint to the pixmap, where we store our state */
gdk_draw_rectangle (pixmap,
widget->style->black_gc,
TRUE,
update_rect.x, update_rect.y,
update_rect.width, update_rect.height);
widget->style->black_gc,
TRUE,
update_rect.x, update_rect.y,
update_rect.width, update_rect.height);
/* Now invalidate the affected region of the drawing area. */
gdk_window_invalidate_rect (widget->window,
&update_rect,
FALSE);
&update_rect,
FALSE);
}
static gboolean
scribble_button_press_event (GtkWidget *widget,
GdkEventButton *event,
gpointer data)
scribble_button_press_event (GtkWidget *widget,
GdkEventButton *event,
gpointer data)
{
if (pixmap == NULL)
return FALSE; /* paranoia check, in case we haven't gotten a configure event */
if (event->button == 1)
draw_brush (widget, event->x, event->y);
@@ -109,9 +109,9 @@ scribble_button_press_event (GtkWidget *widget,
}
static gboolean
scribble_motion_notify_event (GtkWidget *widget,
GdkEventMotion *event,
gpointer data)
scribble_motion_notify_event (GtkWidget *widget,
GdkEventMotion *event,
gpointer data)
{
int x, y;
GdkModifierType state;
@@ -129,9 +129,9 @@ scribble_motion_notify_event (GtkWidget *widget,
* we avoid getting a huge number of events faster than we
* can cope.
*/
gdk_window_get_pointer (event->window, &x, &y, &state);
if (state & GDK_BUTTON1_MASK)
draw_brush (widget, x, y);
@@ -141,17 +141,17 @@ scribble_motion_notify_event (GtkWidget *widget,
static gboolean
checkerboard_expose (GtkWidget *da,
GdkEventExpose *event,
gpointer data)
checkerboard_expose (GtkWidget *da,
GdkEventExpose *event,
gpointer data)
{
gint i, j, xcount, ycount;
GdkGC *gc1, *gc2;
GdkColor color;
#define CHECK_SIZE 10
#define SPACING 2
/* At the start of an expose handler, a clip region of event->area
* is set on the window, and event->area has been cleared to the
* widget's background color. The docs for
@@ -174,7 +174,7 @@ checkerboard_expose (GtkWidget *da,
color.green = 65535;
color.blue = 65535;
gdk_gc_set_rgb_fg_color (gc2, &color);
xcount = 0;
i = SPACING;
while (i < da->allocation.width)
@@ -182,36 +182,36 @@ checkerboard_expose (GtkWidget *da,
j = SPACING;
ycount = xcount % 2; /* start with even/odd depending on row */
while (j < da->allocation.height)
{
GdkGC *gc;
{
GdkGC *gc;
if (ycount % 2)
gc = gc1;
else
gc = gc2;
if (ycount % 2)
gc = gc1;
else
gc = gc2;
/* If we're outside event->area, this will do nothing.
* It might be mildly more efficient if we handled
* the clipping ourselves, but again we're feeling lazy.
*/
gdk_draw_rectangle (da->window,
gc,
TRUE,
i, j,
CHECK_SIZE,
CHECK_SIZE);
/* If we're outside event->area, this will do nothing.
* It might be mildly more efficient if we handled
* the clipping ourselves, but again we're feeling lazy.
*/
gdk_draw_rectangle (da->window,
gc,
TRUE,
i, j,
CHECK_SIZE,
CHECK_SIZE);
j += CHECK_SIZE + SPACING;
++ycount;
}
j += CHECK_SIZE + SPACING;
++ycount;
}
i += CHECK_SIZE + SPACING;
++xcount;
}
g_object_unref (gc1);
g_object_unref (gc2);
/* return TRUE because we've handled this event, so no
* further processing is required.
*/
@@ -235,12 +235,12 @@ do_drawingarea (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *da;
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_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Drawing Area");
g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL);
@@ -254,38 +254,38 @@ do_drawingarea (GtkWidget *do_widget)
/*
* Create the checkerboard area
*/
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Checkerboard pattern</u>");
"<u>Checkerboard pattern</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);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
da = gtk_drawing_area_new ();
/* set a minimum size */
gtk_widget_set_size_request (da, 100, 100);
gtk_container_add (GTK_CONTAINER (frame), da);
g_signal_connect (da, "expose-event",
G_CALLBACK (checkerboard_expose), NULL);
g_signal_connect (da, "expose_event",
G_CALLBACK (checkerboard_expose), NULL);
/*
* Create the scribble area
*/
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Scribble area</u>");
"<u>Scribble area</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);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
da = gtk_drawing_area_new ();
/* set a minimum size */
gtk_widget_set_size_request (da, 100, 100);
@@ -293,28 +293,28 @@ do_drawingarea (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (frame), da);
/* Signals used to handle backing pixmap */
g_signal_connect (da, "expose-event",
G_CALLBACK (scribble_expose_event), NULL);
g_signal_connect (da,"configure-event",
G_CALLBACK (scribble_configure_event), NULL);
g_signal_connect (da, "expose_event",
G_CALLBACK (scribble_expose_event), NULL);
g_signal_connect (da,"configure_event",
G_CALLBACK (scribble_configure_event), NULL);
/* Event signals */
g_signal_connect (da, "motion-notify-event",
G_CALLBACK (scribble_motion_notify_event), NULL);
g_signal_connect (da, "button-press-event",
G_CALLBACK (scribble_button_press_event), NULL);
g_signal_connect (da, "motion_notify_event",
G_CALLBACK (scribble_motion_notify_event), NULL);
g_signal_connect (da, "button_press_event",
G_CALLBACK (scribble_button_press_event), NULL);
/* Ask to receive events the drawing area doesn't normally
* subscribe to
*/
gtk_widget_set_events (da, gtk_widget_get_events (da)
| GDK_LEAVE_NOTIFY_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK);
| GDK_LEAVE_NOTIFY_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK);
}

View File

@@ -1,65 +0,0 @@
/* 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_VISIBLE (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -1,4 +1,4 @@
/* Entry/Entry Completion
/* Entry Completion
*
* GtkEntryCompletion provides a mechanism for adding support for
* completion in GtkEntry.

View File

@@ -16,16 +16,16 @@
*/
static void
insert_link (GtkTextBuffer *buffer,
GtkTextIter *iter,
gchar *text,
gint page)
GtkTextIter *iter,
gchar *text,
gint page)
{
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
NULL);
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
NULL);
g_object_set_data (G_OBJECT (tag), "page", GINT_TO_POINTER (page));
gtk_text_buffer_insert_with_tags (buffer, iter, text, -1, tag, NULL);
}
@@ -35,7 +35,7 @@ insert_link (GtkTextBuffer *buffer,
*/
static void
show_page (GtkTextBuffer *buffer,
gint page)
gint page)
{
GtkTextIter iter;
@@ -52,12 +52,12 @@ show_page (GtkTextBuffer *buffer,
else if (page == 2)
{
gtk_text_buffer_insert (buffer, &iter,
"A tag is an attribute that can be applied to some range of text. "
"For example, a tag might be called \"bold\" and make the text inside "
"the tag bold. However, the tag concept is more general than that; "
"tags don't have to affect appearance. They can instead affect the "
"behavior of mouse and key presses, \"lock\" a range of text so the "
"user can't edit it, or countless other things.\n", -1);
"A tag is an attribute that can be applied to some range of text. "
"For example, a tag might be called \"bold\" and make the text inside "
"the tag bold. However, the tag concept is more general than that; "
"tags don't have to affect appearance. They can instead affect the "
"behavior of mouse and key presses, \"lock\" a range of text so the "
"user can't edit it, or countless other things.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
else if (page == 3)
@@ -65,12 +65,12 @@ show_page (GtkTextBuffer *buffer,
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"weight", PANGO_WEIGHT_BOLD,
NULL);
"weight", PANGO_WEIGHT_BOLD,
NULL);
gtk_text_buffer_insert_with_tags (buffer, &iter, "hypertext:\n", -1, tag, NULL);
gtk_text_buffer_insert (buffer, &iter,
"machine-readable text that is not sequential but is organized "
"so that related items of information are connected.\n", -1);
"machine-readable text that is not sequential but is organized "
"so that related items of information are connected.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
}
@@ -81,7 +81,7 @@ show_page (GtkTextBuffer *buffer,
*/
static void
follow_if_link (GtkWidget *text_view,
GtkTextIter *iter)
GtkTextIter *iter)
{
GSList *tags = NULL, *tagp = NULL;
@@ -93,8 +93,8 @@ follow_if_link (GtkWidget *text_view,
if (page != 0)
{
show_page (gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)), page);
break;
show_page (gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)), page);
break;
}
}
@@ -106,7 +106,7 @@ follow_if_link (GtkWidget *text_view,
*/
static gboolean
key_press_event (GtkWidget *text_view,
GdkEventKey *event)
GdkEventKey *event)
{
GtkTextIter iter;
GtkTextBuffer *buffer;
@@ -132,7 +132,7 @@ key_press_event (GtkWidget *text_view,
*/
static gboolean
event_after (GtkWidget *text_view,
GdkEvent *ev)
GdkEvent *ev)
{
GtkTextIter start, end, iter;
GtkTextBuffer *buffer;
@@ -215,7 +215,7 @@ set_cursor_if_appropriate (GtkTextView *text_view,
*/
static gboolean
motion_notify_event (GtkWidget *text_view,
GdkEventMotion *event)
GdkEventMotion *event)
{
gint x, y;
@@ -234,7 +234,7 @@ motion_notify_event (GtkWidget *text_view,
*/
static gboolean
visibility_notify_event (GtkWidget *text_view,
GdkEventVisibility *event)
GdkEventVisibility *event)
{
gint wx, wy, bx, by;
@@ -265,12 +265,12 @@ do_hypertext (GtkWidget *do_widget)
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_default_size (GTK_WINDOW (window),
450, 450);
450, 450);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_title (GTK_WINDOW (window), "Hypertext");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
@@ -278,20 +278,20 @@ do_hypertext (GtkWidget *do_widget)
view = gtk_text_view_new ();
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD);
g_signal_connect (view, "key-press-event",
G_CALLBACK (key_press_event), NULL);
G_CALLBACK (key_press_event), NULL);
g_signal_connect (view, "event-after",
G_CALLBACK (event_after), NULL);
G_CALLBACK (event_after), NULL);
g_signal_connect (view, "motion-notify-event",
G_CALLBACK (motion_notify_event), NULL);
G_CALLBACK (motion_notify_event), NULL);
g_signal_connect (view, "visibility-notify-event",
G_CALLBACK (visibility_notify_event), NULL);
G_CALLBACK (visibility_notify_event), NULL);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (window), sw);
gtk_container_add (GTK_CONTAINER (sw), view);

View File

@@ -1,7 +1,7 @@
/* Icon View/Icon View Basics
*
* The GtkIconView widget is used to display and manipulate icons.
* It uses a GtkTreeModel for data storage, so the list store
* The GtkIconView widget is used to display and manipulate icons.
* It uses a GtkTreeModel for data storage, so the list store
* example might be helpful.
*/
@@ -47,10 +47,10 @@ load_pixbufs (GError **error)
file_pixbuf = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!file_pixbuf)
return FALSE; /* Note that "error" was filled with a GError */
filename = demo_find_file (FOLDER_NAME, error);
if (!filename)
return FALSE; /* note that "error" was filled in and returned */
@@ -67,7 +67,7 @@ fill_store (GtkListStore *store)
GDir *dir;
const gchar *name;
GtkTreeIter iter;
/* First clear the store */
gtk_list_store_clear (store);
@@ -82,14 +82,14 @@ fill_store (GtkListStore *store)
{
gchar *path, *display_name;
gboolean is_dir;
/* We ignore hidden files that start with a '.' */
if (name[0] != '.')
{
path = g_build_filename (parent, name, NULL);
is_dir = g_file_test (path, G_FILE_TEST_IS_DIR);
display_name = g_filename_to_utf8 (name, -1, NULL, NULL, NULL);
gtk_list_store_append (store, &iter);
@@ -103,7 +103,7 @@ fill_store (GtkListStore *store)
g_free (display_name);
}
name = g_dir_read_name (dir);
name = g_dir_read_name (dir);
}
}
@@ -121,7 +121,7 @@ sort_func (GtkTreeModel *model,
* folders before files.
*/
gtk_tree_model_get (model, a,
COL_IS_DIRECTORY, &is_dir_a,
COL_DISPLAY_NAME, &name_a,
@@ -153,12 +153,12 @@ create_store (void)
GtkListStore *store;
store = gtk_list_store_new (NUM_COLS,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
GDK_TYPE_PIXBUF,
G_TYPE_BOOLEAN);
/* Set sort column and function */
/* Set sort column and function */
gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (store),
sort_func,
NULL, NULL);
@@ -178,7 +178,7 @@ item_activated (GtkIconView *icon_view,
gchar *path;
GtkTreeIter iter;
gboolean is_dir;
store = GTK_LIST_STORE (user_data);
gtk_tree_model_get_iter (GTK_TREE_MODEL (store),
@@ -193,7 +193,7 @@ item_activated (GtkIconView *icon_view,
g_free (path);
return;
}
/* Replace parent with path and re-fill the model*/
g_free (parent);
parent = path;
@@ -215,7 +215,7 @@ up_clicked (GtkToolItem *item,
dir_name = g_path_get_dirname (parent);
g_free (parent);
parent = dir_name;
fill_store (store);
@@ -261,10 +261,10 @@ do_iconview (GtkWidget *do_widget)
if (!window)
{
GError *error;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
@@ -299,13 +299,13 @@ do_iconview (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *tool_bar;
GtkToolItem *home_button;
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
tool_bar = gtk_toolbar_new ();
gtk_box_pack_start (GTK_BOX (vbox), tool_bar, FALSE, FALSE, 0);
up_button = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
gtk_tool_item_set_is_important (up_button, TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (up_button), FALSE);
@@ -314,17 +314,17 @@ do_iconview (GtkWidget *do_widget)
home_button = gtk_tool_button_new_from_stock (GTK_STOCK_HOME);
gtk_tool_item_set_is_important (home_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), home_button, -1);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* Create the store and fill it with the contents of '/' */
parent = g_strdup ("/");
store = create_store ();
@@ -334,7 +334,7 @@ do_iconview (GtkWidget *do_widget)
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_MULTIPLE);
g_object_unref (store);
/* Connect to the "clicked" signal of the "Up" tool button */
g_signal_connect (up_button, "clicked",
G_CALLBACK (up_clicked), store);
@@ -342,22 +342,22 @@ do_iconview (GtkWidget *do_widget)
/* Connect to the "clicked" signal of the "Home" tool button */
g_signal_connect (home_button, "clicked",
G_CALLBACK (home_clicked), store);
/* We now set which model columns that correspond to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), COL_PIXBUF);
/* Connect to the "item-activated" signal */
g_signal_connect (icon_view, "item-activated",
/* Connect to the "item_activated" signal */
g_signal_connect (icon_view, "item_activated",
G_CALLBACK (item_activated), store);
gtk_container_add (GTK_CONTAINER (sw), icon_view);
gtk_widget_grab_focus (icon_view);
}
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else

View File

@@ -31,14 +31,14 @@ progressive_prepared_callback (GdkPixbufLoader *loader,
GtkWidget *image;
image = GTK_WIDGET (data);
pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
/* Avoid displaying random memory contents, since the pixbuf
* isn't filled in yet.
*/
gdk_pixbuf_fill (pixbuf, 0xaaaaaaff);
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
}
@@ -51,7 +51,7 @@ progressive_updated_callback (GdkPixbufLoader *loader,
gpointer data)
{
GtkWidget *image;
image = GTK_WIDGET (data);
/* We know the pixbuf inside the GtkImage has changed, but the image
@@ -61,7 +61,7 @@ progressive_updated_callback (GdkPixbufLoader *loader,
* the pixbuf on the display, then we could queue a draw for only
* the updated area of the image.
*/
gtk_widget_queue_draw (image);
}
@@ -71,24 +71,24 @@ progressive_timeout (gpointer data)
GtkWidget *image;
image = GTK_WIDGET (data);
/* This shows off fully-paranoid error handling, so looks scary.
* You could factor out the error handling code into a nice separate
* function to make things nicer.
*/
if (image_stream)
{
size_t bytes_read;
guchar buf[256];
GError *error = NULL;
bytes_read = fread (buf, 1, 256, image_stream);
if (ferror (image_stream))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -103,7 +103,7 @@ progressive_timeout (gpointer data)
image_stream = NULL;
gtk_widget_show (dialog);
load_timeout = 0;
return FALSE; /* uninstall the timeout */
@@ -114,7 +114,7 @@ progressive_timeout (gpointer data)
&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -123,13 +123,13 @@ progressive_timeout (gpointer data)
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
fclose (image_stream);
image_stream = NULL;
gtk_widget_show (dialog);
load_timeout = 0;
@@ -151,29 +151,29 @@ progressive_timeout (gpointer data)
&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load image: %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
load_timeout = 0;
return FALSE; /* uninstall the timeout */
}
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
@@ -182,7 +182,7 @@ progressive_timeout (gpointer data)
{
gchar *filename;
gchar *error_message = NULL;
GError *error = NULL;
GError *error = NULL;
/* demo_find_file() looks in the current directory first,
* so you can run gtk-demo without installing GTK, then looks
@@ -207,7 +207,7 @@ progressive_timeout (gpointer data)
if (image_stream == NULL)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -217,7 +217,7 @@ progressive_timeout (gpointer data)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
load_timeout = 0;
@@ -231,13 +231,13 @@ progressive_timeout (gpointer data)
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
pixbuf_loader = gdk_pixbuf_loader_new ();
g_signal_connect (pixbuf_loader, "area-prepared",
g_signal_connect (pixbuf_loader, "area_prepared",
G_CALLBACK (progressive_prepared_callback), image);
g_signal_connect (pixbuf_loader, "area-updated",
g_signal_connect (pixbuf_loader, "area_updated",
G_CALLBACK (progressive_updated_callback), image);
}
@@ -269,7 +269,7 @@ cleanup_callback (GtkObject *object,
g_source_remove (load_timeout);
load_timeout = 0;
}
if (pixbuf_loader)
{
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
@@ -289,7 +289,7 @@ toggle_sensitivity_callback (GtkWidget *togglebutton,
GtkContainer *container = user_data;
GList *list;
GList *tmp;
list = gtk_container_get_children (container);
tmp = list;
@@ -299,13 +299,13 @@ toggle_sensitivity_callback (GtkWidget *togglebutton,
if (GTK_WIDGET (tmp->data) != togglebutton)
gtk_widget_set_sensitive (GTK_WIDGET (tmp->data),
!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (togglebutton)));
tmp = tmp->next;
}
g_list_free (list);
}
GtkWidget *
do_images (GtkWidget *do_widget)
@@ -319,7 +319,7 @@ do_images (GtkWidget *do_widget)
GdkPixbuf *pixbuf;
GError *error = NULL;
char *filename;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -342,7 +342,7 @@ do_images (GtkWidget *do_widget)
gtk_label_set_markup (GTK_LABEL (label),
"<u>Image loaded from a file</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
@@ -373,7 +373,7 @@ do_images (GtkWidget *do_widget)
* be displayed instead.
*/
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -381,13 +381,13 @@ do_images (GtkWidget *do_widget)
"Unable to open image file 'gtk-logo-rgb.gif': %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
image = gtk_image_new_from_pixbuf (pixbuf);
gtk_container_add (GTK_CONTAINER (frame), image);
@@ -399,7 +399,7 @@ do_images (GtkWidget *do_widget)
gtk_label_set_markup (GTK_LABEL (label),
"<u>Animation loaded from a file</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
@@ -414,16 +414,16 @@ do_images (GtkWidget *do_widget)
g_free (filename);
gtk_container_add (GTK_CONTAINER (frame), image);
/* Progressive */
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Progressive image loading</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

View File

@@ -1,104 +0,0 @@
/* 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_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -1,84 +0,0 @@
/* 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_VISIBLE (window))
{
gtk_widget_show (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
@@ -7,7 +7,7 @@
#include <gtk/gtk.h>
#include <glib/gstdio.h>
#include "demos.h"
#include <demos.h>
static GtkTextBuffer *info_buffer;
static GtkTextBuffer *source_buffer;
@@ -41,7 +41,7 @@ get_democodedir (void)
if (result == NULL)
{
result = g_win32_get_package_installation_directory_of_module (NULL);
result = g_win32_get_package_installation_directory (NULL, NULL);
if (result == NULL)
result = "unknown-location";
@@ -195,12 +195,11 @@ static gchar *types[] =
"const ",
"void",
"gint",
" int ",
" char ",
"int ",
"char ",
"gchar ",
"gfloat",
"float",
"double",
"gint8",
"gint16",
"gint32",
@@ -235,87 +234,6 @@ static gchar *types[] =
"GdkPixbuf ",
"GError",
"size_t",
"GtkAboutDialog ",
"GtkAction ",
"GtkActionEntry ",
"GtkRadioActionEntry ",
"GtkIconFactory ",
"GtkStockItem ",
"GtkIconSet ",
"GtkTextBuffer ",
"GtkStatusbar ",
"GtkTextIter ",
"GtkTextMark ",
"GdkEventWindowState ",
"GtkActionGroup ",
"GtkUIManager ",
"GtkRadioAction ",
"GtkActionClass ",
"GtkToggleActionEntry ",
"GtkAssistant ",
"GtkBuilder ",
"GtkSizeGroup ",
"GtkTreeModel ",
"GtkTreeSelection ",
"GdkDisplay ",
"GdkScreen ",
"GdkWindow ",
"GdkEventButton ",
"GdkCursor ",
"GtkTreeIter ",
"GtkTreeViewColumn ",
"GdkDisplayManager ",
"GtkClipboard ",
"GtkIconSize ",
"GtkImage ",
"GdkDragContext ",
"GtkSelectionData ",
"GtkDialog ",
"GtkMenuItem ",
"GtkListStore ",
"GtkCellLayout ",
"GtkCellRenderer ",
"GtkTreePath ",
"GtkTreeStore ",
"GtkEntry ",
"GtkEditable ",
"GtkEditableClass ",
"GdkPixmap ",
"GdkEventConfigure ",
"GdkEventMotion ",
"GdkModifierType ",
"GtkEntryCompletion ",
"GtkToolItem ",
"GDir ",
"GtkIconView ",
"GtkCellRendererText ",
"GtkContainer ",
"GtkAccelGroup ",
"GtkPaned ",
"GtkPrintOperation ",
"GtkPrintContext ",
"cairo_t ",
"PangoLayout "
"PangoFontDescription ",
"PangoRenderer ",
"PangoMatrix ",
"PangoContext ",
"PangoLayout ",
"GtkTable ",
"GtkToggleButton ",
"GString ",
"GtkIconSize ",
"GtkTreeView ",
"GtkTextTag ",
"GdkEvent ",
"GdkEventKey ",
"GtkTextView ",
"GdkEventVisibility ",
"GdkBitmap ",
"GtkTextChildAnchor ",
"GArray ",
"GtkCellEditable ",
"GtkCellRendererToggle ",
NULL
};
@@ -390,8 +308,7 @@ parse_chars (gchar *text,
}
/* check for types */
for (i = 0; types[i] != NULL; i++)
if (!strncmp (text, types[i], strlen (types[i])) ||
(start && types[i][0] == ' ' && !strncmp (text, types[i] + 1, strlen (types[i]) - 1)))
if (!strncmp (text, types[i], strlen (types[i])))
{
*end_ptr = text + strlen (types[i]);
*tag = "type";

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,6 +22,7 @@
* 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>
@@ -117,35 +118,37 @@ 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);
@@ -153,18 +156,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);
@@ -175,7 +178,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);

View File

@@ -1,579 +0,0 @@
/* 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_UNSET_FLAGS (bin, GTK_NO_WINDOW);
}
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_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_FLAGS (widget, GTK_REALIZED);
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_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_VISIBLE (widget);
if (bin->child == widget)
{
gtk_widget_unparent (widget);
bin->child = NULL;
if (was_visible && GTK_WIDGET_VISIBLE (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_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_REALIZED (widget))
gdk_window_move_resize (widget->window,
allocation->x + border_width,
allocation->y + border_width,
w, h);
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
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_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_DRAWABLE (widget))
{
if (event->window == widget->window)
{
GdkPixmap *pixmap;
GtkAllocation child_area;
cairo_t *cr;
if (bin->child && GTK_WIDGET_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_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -1,500 +0,0 @@
/* 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_UNSET_FLAGS (bin, GTK_NO_WINDOW);
}
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_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_FLAGS (widget, GTK_REALIZED);
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_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_VISIBLE (widget);
if (bin->child == widget)
{
gtk_widget_unparent (widget);
bin->child = NULL;
if (was_visible && GTK_WIDGET_VISIBLE (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_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_REALIZED (widget))
gdk_window_move_resize (widget->window,
allocation->x + border_width,
allocation->y + border_width,
w, h);
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
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_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_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_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_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -82,13 +82,13 @@ load_pixbufs (GError **error)
{
filename = demo_find_file (image_names[i], error);
if (!filename)
return FALSE; /* Note that "error" was filled with a GError */
return FALSE; /* Note that "error" was filled with a GError */
images[i] = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!images[i])
return FALSE; /* Note that "error" was filled with a GError */
return FALSE; /* Note that "error" was filled with a GError */
}
return TRUE;
@@ -96,9 +96,9 @@ load_pixbufs (GError **error)
/* Expose callback for the drawing area */
static gint
expose_cb (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
expose_cb (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
{
guchar *pixels;
int rowstride;
@@ -108,12 +108,12 @@ expose_cb (GtkWidget *widget,
pixels = gdk_pixbuf_get_pixels (frame) + rowstride * event->area.y + event->area.x * 3;
gdk_draw_rgb_image_dithalign (widget->window,
widget->style->black_gc,
event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL,
pixels, rowstride,
event->area.x, event->area.y);
widget->style->black_gc,
event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL,
pixels, rowstride,
event->area.x, event->area.y);
return TRUE;
}
@@ -132,7 +132,7 @@ timeout (gpointer data)
double radius;
gdk_pixbuf_copy_area (background, 0, 0, back_width, back_height,
frame, 0, 0);
frame, 0, 0);
f = (double) (frame_num % CYCLE_LEN) / CYCLE_LEN;
@@ -175,16 +175,16 @@ timeout (gpointer data)
r2.height = back_height;
if (gdk_rectangle_intersect (&r1, &r2, &dest))
gdk_pixbuf_composite (images[i],
frame,
dest.x, dest.y,
dest.width, dest.height,
xpos, ypos,
k, k,
GDK_INTERP_NEAREST,
((i & 1)
? MAX (127, fabs (255 * sin (f * 2.0 * G_PI)))
: MAX (127, fabs (255 * cos (f * 2.0 * G_PI)))));
gdk_pixbuf_composite (images[i],
frame,
dest.x, dest.y,
dest.width, dest.height,
xpos, ypos,
k, k,
GDK_INTERP_NEAREST,
((i & 1)
? MAX (127, fabs (255 * sin (f * 2.0 * G_PI)))
: MAX (127, fabs (255 * cos (f * 2.0 * G_PI)))));
}
GDK_THREADS_ENTER ();
@@ -199,7 +199,7 @@ static guint timeout_id;
static void
cleanup_callback (GtkObject *object,
gpointer data)
gpointer data)
{
g_source_remove (timeout_id);
timeout_id = 0;
@@ -214,50 +214,48 @@ do_pixbufs (GtkWidget *do_widget)
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), "Pixbufs");
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy",
G_CALLBACK (cleanup_callback), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy", G_CALLBACK (cleanup_callback), NULL);
error = NULL;
if (!load_pixbufs (&error))
{
GtkWidget *dialog;
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
g_error_free (error);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
gtk_widget_show (dialog);
}
else
{
gtk_widget_set_size_request (window, back_width, back_height);
{
gtk_widget_set_size_request (window, back_width, back_height);
frame = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, back_width, back_height);
frame = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, back_width, back_height);
da = gtk_drawing_area_new ();
da = gtk_drawing_area_new ();
g_signal_connect (da, "expose-event",
G_CALLBACK (expose_cb), NULL);
g_signal_connect (da, "expose_event",
G_CALLBACK (expose_cb), NULL);
gtk_container_add (GTK_CONTAINER (window), da);
gtk_container_add (GTK_CONTAINER (window), da);
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
}
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
}
}
if (!GTK_WIDGET_VISIBLE (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,23 +107,23 @@ 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");
desc = pango_font_description_from_string ("mono");
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);
cairo_rel_move_to (cr, 0, data->font_size);
cairo_rel_move_to (cr, 0, text_height);
line++;
}
@@ -131,7 +131,7 @@ draw_page (GtkPrintOperation *operation,
}
static void
end_print (GtkPrintOperation *operation,
end_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
{
@@ -147,9 +147,7 @@ GtkWidget *
do_printing (GtkWidget *do_widget)
{
GtkPrintOperation *operation;
GtkPrintSettings *settings;
PrintData *data;
gchar *uri, *dir, *ext;
GError *error = NULL;
operation = gtk_print_operation_new ();
@@ -157,55 +155,34 @@ 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

@@ -1,173 +1,101 @@
/* Rotated Text
*
* This demo shows how to use PangoCairo to draw rotated and transformed
* text. The right pane shows a rotated GtkLabel widget.
* This demo shows how to use GDK and Pango to draw rotated and transformed
* text. The use of GdkPangoRenderer in this example is a somewhat advanced
* technique; most applications can simply use gdk_draw_layout(). We use
* it here mostly because that allows us to work in user coordinates - that is,
* coordinates prior to the application of the transformation matrix, rather
* than device coordinates.
*
* In both cases, a custom PangoCairo shape renderer is installed to draw
* a red heard using cairo drawing operations instead of the Unicode heart
* character.
* As of GTK+-2.6, the ability to draw transformed and anti-aliased graphics
* as shown in this example is only present for text. With GTK+-2.8, a new
* graphics system called "Cairo" will be introduced that provides these
* capabilities and many more for all types of graphics.
*/
#include <math.h>
#include <gtk/gtk.h>
#include <string.h>
static GtkWidget *window = NULL;
#define HEART "♥"
const char text[] = "I ♥ GTK+";
static void
fancy_shape_renderer (cairo_t *cr,
PangoAttrShape *attr,
gboolean do_path,
gpointer data)
{
double x, y;
cairo_get_current_point (cr, &x, &y);
cairo_translate (cr, x, y);
cairo_scale (cr,
(double) attr->ink_rect.width / PANGO_SCALE,
(double) attr->ink_rect.height / PANGO_SCALE);
switch (GPOINTER_TO_UINT (attr->data))
{
case 0x2665: /* U+2665 BLACK HEART SUIT */
{
cairo_move_to (cr, .5, .0);
cairo_line_to (cr, .9, -.4);
cairo_curve_to (cr, 1.1, -.8, .5, -.9, .5, -.5);
cairo_curve_to (cr, .5, -.9, -.1, -.8, .1, -.4);
cairo_close_path (cr);
}
break;
}
if (!do_path) {
cairo_set_source_rgb (cr, 1., 0., 0.);
cairo_fill (cr);
}
}
PangoAttrList *
create_fancy_attr_list_for_layout (PangoLayout *layout)
{
PangoAttrList *attrs;
PangoFontMetrics *metrics;
int ascent;
PangoRectangle ink_rect, logical_rect;
const char *p;
/* Get font metrics and prepare fancy shape size */
metrics = pango_context_get_metrics (pango_layout_get_context (layout),
pango_layout_get_font_description (layout),
NULL);
ascent = pango_font_metrics_get_ascent (metrics);
logical_rect.x = 0;
logical_rect.width = ascent;
logical_rect.y = -ascent;
logical_rect.height = ascent;
ink_rect = logical_rect;
pango_font_metrics_unref (metrics);
/* Set fancy shape attributes for all hearts */
attrs = pango_attr_list_new ();
for (p = text; (p = strstr (p, HEART)); p += strlen (HEART))
{
PangoAttribute *attr;
attr = pango_attr_shape_new_with_data (&ink_rect,
&logical_rect,
GUINT_TO_POINTER (g_utf8_get_char (p)),
NULL, NULL);
attr->start_index = p - text;
attr->end_index = attr->start_index + strlen (HEART);
pango_attr_list_insert (attrs, attr);
}
return attrs;
}
static gboolean
rotated_text_expose_event (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
{
#define RADIUS 150
#define N_WORDS 5
#define FONT "Serif 18"
#define N_WORDS 10
#define FONT "Sans Bold 27"
PangoRenderer *renderer;
PangoMatrix matrix = PANGO_MATRIX_INIT;
PangoContext *context;
PangoLayout *layout;
PangoFontDescription *desc;
cairo_t *cr;
cairo_pattern_t *pattern;
PangoAttrList *attrs;
int width = widget->allocation.width;
int height = widget->allocation.height;
double device_radius;
int i;
/* Create a cairo context and set up a transformation matrix so that the user
* space coordinates for the centered square where we draw are [-RADIUS, RADIUS],
* [-RADIUS, RADIUS].
* We first center, then change the scale. */
cr = gdk_cairo_create (widget->window);
/* Get the default renderer for the screen, and set it up for drawing */
renderer = gdk_pango_renderer_get_default (gtk_widget_get_screen (widget));
gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), widget->window);
gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), widget->style->black_gc);
/* Set up a transformation matrix so that the user space coordinates for
* the centered square where we draw are [-RADIUS, RADIUS], [-RADIUS, RADIUS]
* We first center, then change the scale */
device_radius = MIN (width, height) / 2.;
cairo_translate (cr,
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
cairo_scale (cr, device_radius / RADIUS, device_radius / RADIUS);
pango_matrix_translate (&matrix,
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
pango_matrix_scale (&matrix, device_radius / RADIUS, device_radius / RADIUS);
/* Create and a subtle gradient source and use it. */
pattern = cairo_pattern_create_linear (-RADIUS, -RADIUS, RADIUS, RADIUS);
cairo_pattern_add_color_stop_rgb (pattern, 0., .5, .0, .0);
cairo_pattern_add_color_stop_rgb (pattern, 1., .0, .0, .5);
cairo_set_source (cr, pattern);
/* Create a PangoContext and set up our shape renderer */
/* Create a PangoLayout, set the font and text */
context = gtk_widget_create_pango_context (widget);
pango_cairo_context_set_shape_renderer (context,
fancy_shape_renderer,
NULL, NULL);
/* Create a PangoLayout, set the text, font, and attributes */
layout = pango_layout_new (context);
pango_layout_set_text (layout, text, -1);
pango_layout_set_text (layout, "Text", -1);
desc = pango_font_description_from_string (FONT);
pango_layout_set_font_description (layout, desc);
attrs = create_fancy_attr_list_for_layout (layout);
pango_layout_set_attributes (layout, attrs);
pango_attr_list_unref (attrs);
pango_font_description_free (desc);
/* Draw the layout N_WORDS times in a circle */
for (i = 0; i < N_WORDS; i++)
{
GdkColor color;
PangoMatrix rotated_matrix = matrix;
int width, height;
double angle = (360. * i) / N_WORDS;
/* Inform Pango to re-layout the text with the new transformation matrix */
pango_cairo_update_layout (cr, layout);
/* Gradient from red at angle == 60 to blue at angle == 300 */
color.red = 65535 * (1 + cos ((angle - 60) * G_PI / 180.)) / 2;
color.green = 0;
color.blue = 65535 - color.red;
pango_layout_get_pixel_size (layout, &width, &height);
cairo_move_to (cr, - width / 2, - RADIUS * .9);
pango_cairo_show_layout (cr, layout);
gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer),
PANGO_RENDER_PART_FOREGROUND, &color);
pango_matrix_rotate (&rotated_matrix, angle);
/* Rotate for the next turn */
cairo_rotate (cr, G_PI*2 / N_WORDS);
pango_context_set_matrix (context, &rotated_matrix);
/* Inform Pango to re-layout the text with the new transformation matrix */
pango_layout_context_changed (layout);
pango_layout_get_size (layout, &width, &height);
pango_renderer_draw_layout (renderer, layout,
- width / 2, - RADIUS * PANGO_SCALE);
}
/* Clean up default renderer, since it is shared */
gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer),
PANGO_RENDER_PART_FOREGROUND, NULL);
gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), NULL);
gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), NULL);
/* free the objects we created */
pango_font_description_free (desc);
g_object_unref (layout);
g_object_unref (context);
cairo_pattern_destroy (pattern);
cairo_destroy (cr);
return FALSE;
}
@@ -175,30 +103,21 @@ rotated_text_expose_event (GtkWidget *widget,
GtkWidget *
do_rotated_text (GtkWidget *do_widget)
{
GtkWidget *drawing_area;
if (!window)
{
GtkWidget *box;
GtkWidget *drawing_area;
GtkWidget *label;
PangoLayout *layout;
PangoAttrList *attrs;
const GdkColor white = { 0, 0xffff, 0xffff, 0xffff };
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 Text");
gtk_window_set_default_size (GTK_WINDOW (window), 4 * RADIUS, 2 * RADIUS);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
box = gtk_hbox_new (TRUE, 0);
gtk_container_add (GTK_CONTAINER (window), box);
/* Add a drawing area */
drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (box), drawing_area);
gtk_container_add (GTK_CONTAINER (window), drawing_area);
/* This overrides the background color from the theme */
gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white);
@@ -206,21 +125,7 @@ do_rotated_text (GtkWidget *do_widget)
g_signal_connect (drawing_area, "expose-event",
G_CALLBACK (rotated_text_expose_event), NULL);
/* And a label */
label = gtk_label_new (text);
gtk_container_add (GTK_CONTAINER (box), label);
gtk_label_set_angle (GTK_LABEL (label), 45);
/* Set up fancy stuff on the 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 (GTK_LABEL (label), attrs);
pango_attr_list_unref (attrs);
gtk_window_set_default_size (GTK_WINDOW (window), 2 * RADIUS, 2 * RADIUS);
}
if (!GTK_WIDGET_VISIBLE (window))

View File

@@ -1,283 +0,0 @@
/* Entry/Search Entry
*
* GtkEntry allows to display icons and progress information.
* This demo shows how to use these features in a search entry.
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static GtkWidget *menu = NULL;
static GtkWidget *notebook = NULL;
static guint search_progress_id = 0;
static guint finish_search_id = 0;
static void
show_find_button (void)
{
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
}
static void
show_cancel_button (void)
{
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 1);
}
static gboolean
search_progress (gpointer data)
{
gtk_entry_progress_pulse (GTK_ENTRY (data));
return TRUE;
}
static void
search_progress_done (GtkEntry *entry)
{
gtk_entry_set_progress_fraction (entry, 0.0);
}
static gboolean
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,
(GSourceFunc)search_progress, data,
(GDestroyNotify)search_progress_done);
return FALSE;
}
static void
start_search (GtkButton *button,
GtkEntry *entry)
{
show_cancel_button ();
search_progress_id = g_timeout_add_seconds (1, (GSourceFunc)start_search_feedback, entry);
finish_search_id = g_timeout_add_seconds (15, (GSourceFunc)finish_search, button);
}
static void
stop_search (GtkButton *button,
gpointer data)
{
g_source_remove (finish_search_id);
finish_search (button);
}
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,
event->button, event->time);
else
gtk_entry_set_text (entry, "");
}
static void
text_changed_cb (GtkEntry *entry,
GParamSpec *pspec,
GtkWidget *button)
{
gboolean has_text;
has_text = gtk_entry_get_text_length (entry) > 0;
gtk_entry_set_icon_sensitive (entry,
GTK_ENTRY_ICON_SECONDARY,
has_text);
gtk_widget_set_sensitive (button, has_text);
}
static void
activate_cb (GtkEntry *entry,
GtkButton *button)
{
if (search_progress_id != 0)
return;
start_search (button, 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)
{
if (finish_search_id != 0)
g_source_remove (finish_search_id);
if (search_progress_id != 0)
g_source_remove (search_progress_id);
window = NULL;
}
GtkWidget *
do_search_entry (GtkWidget *do_widget)
{
GtkWidget *vbox;
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);
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 (search_entry_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), "Search entry demo");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 10);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 0);
/* Create our entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0);
/* Create the find and cancel buttons */
notebook = gtk_notebook_new ();
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
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_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_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_STOCK_CLEAR);
text_changed_cb (GTK_ENTRY (entry), NULL, find_button);
g_signal_connect (entry, "icon-press",
G_CALLBACK (icon_press_cb), NULL);
g_signal_connect (entry, "notify::text",
G_CALLBACK (text_changed_cb), find_button);
g_signal_connect (entry, "activate",
G_CALLBACK (activate_cb), NULL);
/* Create the menu */
menu = gtk_menu_new ();
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);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (menu);
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -156,7 +156,7 @@ create_text_view (GtkWidget *hbox,
guint timeout;
swindow = gtk_scrolled_window_new (NULL, NULL);
gtk_box_pack_start (GTK_BOX (hbox), swindow, TRUE, TRUE, 0);
gtk_box_pack_start_defaults (GTK_BOX (hbox), swindow);
textview = gtk_text_view_new ();
gtk_container_add (GTK_CONTAINER (swindow), textview);

View File

@@ -549,7 +549,6 @@ easter_egg_callback (GtkWidget *button,
gpointer data)
{
static GtkWidget *window = NULL;
gpointer window_ptr;
GtkTextBuffer *buffer;
GtkWidget *view;
GtkTextIter iter;
@@ -587,8 +586,8 @@ easter_egg_callback (GtkWidget *button,
gtk_container_add (GTK_CONTAINER (window), sw);
gtk_container_add (GTK_CONTAINER (sw), view);
window_ptr = &window;
g_object_add_weak_pointer (G_OBJECT (window), window_ptr);
g_object_add_weak_pointer (G_OBJECT (window),
(gpointer *) &window);
gtk_window_set_default_size (GTK_WINDOW (window), 300, 400);

View File

@@ -20,7 +20,7 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <glib.h>
#include <sys/stat.h>

View File

@@ -18,7 +18,7 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

View File

@@ -189,7 +189,6 @@ load_file (const gchar *filename)
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
gtk_text_buffer_apply_tag_by_name (info_buffer, "source", &start, &end);
fclose (file);
}
gboolean
@@ -228,7 +227,8 @@ button_press_event_cb (GtkTreeView *tree_view,
gtk_tree_path_free (path);
}
g_signal_stop_emission_by_name (tree_view, "button-press-event");
gtk_signal_emit_stop_by_name (GTK_OBJECT (tree_view),
"button_press_event");
return TRUE;
}
@@ -329,8 +329,8 @@ create_tree (void)
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
GTK_TREE_VIEW_COLUMN (column));
g_signal_connect (selection, "selection-changed", selection_cb, model);
g_signal_connect (tree_view, "button-press-event", G_CALLBACK (button_press_event_cb), model);
gtk_signal_connect (GTK_OBJECT (selection), "selection_changed", selection_cb, model);
gtk_signal_connect (GTK_OBJECT (tree_view), "button_press_event", GTK_SIGNAL_FUNC (button_press_event_cb), model);
return tree_view;
}
@@ -347,8 +347,8 @@ main (int argc, char **argv)
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
hbox = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), hbox);

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <gtk/gtk.h>
int

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <gtk/gtk.h>
#include <stdio.h>

View File

@@ -17,13 +17,13 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
#include "test-inline-pixbufs.h"
@@ -383,7 +383,7 @@ new_testrgb_window (GdkPixbuf *pixbuf, gchar *title)
w = gdk_pixbuf_get_width (pixbuf);
h = gdk_pixbuf_get_height (pixbuf);
window = g_object_new (gtk_window_get_type (),
window = gtk_widget_new (gtk_window_get_type (),
"GtkObject::user_data", NULL,
"GtkWindow::type", GTK_WINDOW_TOPLEVEL,
"GtkWindow::title", title ? title : "testrgb",

21
docs/.cvsignore Normal file
View File

@@ -0,0 +1,21 @@
Makefile
Makefile.in
*.html
*.dvi
*.ps
*.pg
*.ky
*.cp
*.fn
*.tp
*.vr
*.log
*.aux
*.toc
*.cps
*.fns
*.vrs
html
text
texinfo.tex
gtk-config.1

View File

@@ -1,9 +1,8 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
SUBDIRS = tutorial faq reference tools
EXTRA_DIST += \
EXTRA_DIST = \
defsformat.txt \
developers.txt \
dnd_internals.txt \
@@ -19,5 +18,3 @@ EXTRA_DIST += \
generation.txt \
gtkdocs_fix \
RELEASE-HOWTO
-include $(top_srcdir)/git.mk

157
docs/README.linux-fb Normal file
View File

@@ -0,0 +1,157 @@
THIS FILE IS OBSOLETE - use docs/reference/gtk/framebuffer.sgml
About GtkFB:
------------
The linux-fb port of Gtk+, also known as GtkFB is an implementation of
gdk (and therefor gtk) that runs on the linux framebuffer. It runs in
a single process that doesn't need X. It should run most Gtk+ programs
without any changes to the source.
Build requirements:
-------------------
To run GtkFB programs you will need glib, pango and gtk from cvs
HEAD. Make sure you update these at the same time, since changes to
glib and pango often forces changes in gtk+. Pango optionally depends
on libfribidi, but for normal GtkFB usage that can be ignored.
You also need freetype 2, I recommend that you use freetype 2.0.1 or
later, as there was some problems with freetype-config in 2.0.
Make sure that you install freetype before pango, since pango also
needs it.
Freetype can be found at ftp://ftp.freetype.org
Hardware requirements:
----------------------
You need a graphics card with an available framebuffer driver that can
run in 8, 16, 24 or 32 bpp. I use the matroxfb driver, but i.e. vesafb
should work too. You also need a supported mouse. Currently supported
is ps2 mouse, ms serial mouse and fidmour touchscreen.
Building and installing:
------------------------
First build and install glib and pango as usual, in that order.
Then configure Gtk by running configure (or autogen.sh if running from
cvs) with --with-gdktarget=linux-fb.
Then compile as usual: make; make install
Fonts:
------
Since GtkFB uses freetype 2 to render fonts it can render truetype and
postscript type 1 antialiased fonts.
At startup it scans some directories looking for fonts. By default
it looks in $prefix/lib/ft2fonts, and if you want to change this you
must add something like:
[PangoFT2]
FontPath = /usr/share/fonts/default/Type1:/usr/share/fonts/default/TrueType
To your $prefix/etc/pango/pangorc or ~/.pangorc.
You must also set up font aliases for the fonts Sans, Serif and Monotype.
This is done by creating a $prefix/etc/pango/pangoft2.aliases or
~/.pangoft2_aliases file. You can also set the name of this file using the
key AliasFiles in the PangoFT2 section in pangorc.
An example of a font alias file for the urw fontset is:
sans normal normal normal normal "urw gothic l"
serif normal normal normal normal "urw palladio l"
monospace normal normal normal normal "nimbus mono l"
And one using the Windows truetype fonts is:
sans normal normal normal normal "arial"
serif normal normal normal normal "times new roman"
monospace normal normal normal normal "courier new"
A more detailed example can be found in examples/pangoft2.aliases in the
pango distribution.
Running:
--------
To run a program you should only need to start it, but there are some
things that can cause problems, and some things that can be controlled
by environment variables. Try testgtk distributed with gtk+ to test
if things work.
If you use a ps2 mouse, make sure that /dev/psaux is readable and
writable.
Make sure gpm is not running.
If you don't specify anything GtkFB will start up in the current
virtual console in the current resolution and bit-depth. This can be
changed by specifying environment variables:
GDK_VT:
unset means open on the current VT.
0-9: open on the specified VT. Make sure you have read/write rights
there.
new: Allocate a new VT after the last currently used one.
GDK_DISPLAY_MODE:
Specifies the name of a mode in /etc/fb.modes that you want to use.
GDK_DISPLAY_DEPTH:
Specify the desired bit depth of the framebuffer.
GDK_DISPLAY_WIDTH:
Specify the desired width of the framebuffer.
GDK_DISPLAY_HEIGHT:
Specify the desired height of the framebuffer.
GDK_DISPLAY:
Specify the framebuffer device to use. Default is /dev/fb0
GDK_MOUSE_TYPE:
Specify mouse type. Currently supported is:
ps2 - PS/2 mouse
imps2 - PS/2 intellimouse (wheelmouse)
ms - Microsoft serial mouse
fidmour - touch screen
Default is ps2.
GDK_KEYBOARD_TYPE:
Specify keyboard type. Currently supported is
xlate - normal tty mode keyboard.
Quite limited, cannot detect key up/key down events. Doesn't
handle ctrl/alt/shift for all keys. This is the default driver,
but should not be used in "production" use.
raw - read from the tty in RAW mode.
Sets the keyboard in RAW mode and handles all the keycodes. This
gives correct handling of modifiers and key up/down events. You
must be root to use this. If you use this for development or
debugging it is recommended to enable magic sysrq handling in the
kernel. Then you can use ALT-SysRQ-r to turn the keyboard back to
normal mode.
Default is xlate.
HACKING:
--------
Pressing Ctrl-Alt-Return repaints the whole screen.
Unfortunately this cannot be pressed when using the xlate keyboard
driver, so instead you can use shift-F1 instead when using this
driver.
Pressing Ctrl-Alt-BackSpace kills the GtkFB program. (Can't be pressed
in the xlate driver.
More to be written.
- Alexander Larsson <alexl@redhat.com>
2000/12/06

View File

@@ -1,107 +1,45 @@
How to do a GTK+ release?
=========================
Make sure you have suitable versions of autoconf and libtool.
Make sure you have Owen's special autoconf and libtool RPMs, available at:
http://people.redhat.com/otaylor/gtk/autotools/.
Also make sure you have the following packages installed with all their
dependencies:
dependencies (I used the RPM package names from RedHat 9):
* gtk-doc
* linuxdoc-tools
* docbook-utils
Without those packages make distcheck will *not* pass.
0) Go back to a pristine working directory. With git, this works:
git clean -f -x
1) autogen and build it, make sure to enable docs by specifying
--enable-gtk-doc --enable-man
2) Update NEWS based on the content of git log; follow the format
of prior entries. This includes finding noteworthy new features,
collecting summaries for all the fixed bugs that are referenced
and collecting all updated translations.
Also collect the names of all contributors that are mentioned.
We don't discriminate between bug reporters, patch writers,
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
README.in contains the relevant release notes and that the
required versions of dependencies in INSTALL.in are in sync
with configure.in.
4) Verify that the version in configure.in 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
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...).
Typical problems to expect here (depending on whether this is a devel
snapshot or a stable release):
* forgotten source files
* new symbols missing from .symbols files
* symbols that are exported by should be private (static or _-prefixed)
* symbols that cause PLT entries. This is either caused by using
a in the same library function without including the header or by
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
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
should be documented. If it is, this may be due to typos in the doc
comments in the source. Make sure that all new symbols have proper
Since: tags, and that there is an index in the main -docs.sgml for
the next stable version.
7) make distcheck
8) Fix broken stuff found by 7), 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) Now you've got the tarball. Check that the tarball size looks
reasonable compared to previous releases. If the size goes down
a lot, likely the docs went missing for some reason. Or the translations.
If the size goes up by a lot, something else may be wrong.
11) Tag the release. The git command for doing that looks like
git tag -m "GTK+ 2.12.10" 2.12.10
12) Push the tagged commit upstream. The git command for doing that is
git push origin refs/tags/2.12.10
13) Bump the version number in configure.in 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,
find someone who can do it for you. The command for this looks like
scp gtk+-2.12.10.tar.gz matthiasc@master.gnome.org:
ssh matthiasc@master.gnome.org
install-module gtk+-2.12.10.tar.gz
15) Get the .bz2 tarball and the .md5sum files back from master.gnome.org
You can probably also create it locally, but I've experienced md5
mismatches when doing so.
16) Upload the .gz and .bz2 tarballs and checksums to ftp.gtk.org and put
them in the right directory below /ftp/pub. Pay attention to correct
ownership, and don't forget to update the LATEST file in the directory.
17) Go to the gnome-announce list archives, find the last announce message,
create a new message in the same form, replacing version numbers,
commentary at the top about "what this release is about" and the
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.
19) Add a link to the release announcement to www.gtk.org which lives
in the gtk-web cvs module.
0) Blow away your gtk+ directory, check a new version out
1) autogen and build it, make sure to enable docs.
2) Update NEWS based on the various ChangeLog files
3) Verify that the version in configure.in has been bumped after the last
release. (Note that this is critical, a slip-up here will cause the soname
to change).
4) 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...)
5) Add === Released 2.x.y === at the top of all ChangeLog files
6) make distcheck
7) Fix broken stuff found by 5) repeat
8) cvs commit; you'll have a bunch of po file changes, and maybe some
doc changes too (NOTE: be sure to use cvs with compression, else you'll
end up waiting for a long time :).
9) If 7) fails because someone else committed inbetween, curse, cvs up,
fix conflicts and go to 5)
10) type 'cvs tag GTK_2_x_y' in the toplevel directory
11) You now have the tarball, and the CVS tag, now upload the tarball to
gnome.org and gtk.org
12) Go to the gnome-announce list archives, find the last announce message,
create a new message in the same form, replacing version numbers, commentary
at the top about "what this release is about" and the Summary of changes.
13) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
gtk-devel-list. Set reply-to to gnome-hackers.
14) Bump the version number in configure.in.
15) Create a new milestone in bugzilla and move the remaining bugs from the
2.x.y milestone over to the new one.
16) Add a link to the release announcement to www.gtk.org which lives in
the gtk-web cvs module.

19
docs/faq/.cvsignore Normal file
View File

@@ -0,0 +1,19 @@
Makefile
Makefile.in
*.html
*.dvi
*.ps
*.pg
*.ky
*.cp
*.fn
*.tp
*.vr
*.log
*.aux
*.toc
*.cps
*.fns
*.vrs
html
text

View File

@@ -1,6 +1,4 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
EXTRA_DIST = \
gtk-faq.sgml
if HAVE_DOCBOOK
@@ -38,5 +36,3 @@ dist-hook:
endif
.PHONY: html
-include $(top_srcdir)/git.mk

View File

@@ -429,7 +429,7 @@ in which they need to be installed:</para>
<itemizedlist spacing=compact>
<listitem><simpara> pkg-config
(<ulink url="http://pkg-config.freedesktop.org/wiki">
(<ulink url="http://www.freedesktop.org/software/pkgconfig">
pkg-config Site</ulink>)</simpara>
</listitem>
@@ -789,7 +789,8 @@ 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. One possible avenue for this is via
<ulink url="http://cvs.gnome.org/lxr/source/libegg/">libegg</ulink>.</para>
<para>Before you spend months of your valuable time implementing your
revolutionary widget, it is highly recommended that you get some
@@ -824,8 +825,8 @@ However, bindings for many other languages are available.</para>
<para>So, after you have installed GTK+ there are a couple of
things that can ease you into developing applications with
it. There is the GTK+ Tutorial <ulink
url="http://library.gnome.org/devel/gtk-tutorial/stable/">
http://library.gnome.org/devel/gtk-tutorial/stable/</ulink>, which is undergoing
url="http://www.gtk.org/tutorial/">
http://www.gtk.org/tutorial/</ulink>, which is undergoing
development. This will introduce you to writing applications
using C.</para>

View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@@ -1,732 +1,14 @@
=== ChangeLog discontinued ===
2008-09-12 Matthias Clasen <mclasen@redhat.com>
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.
* === Released 2.12.12 ===
2009-03-25 Paul Bolle <pebolle@tiscali.nl>
2008-07-01 Matthias Clasen <mclasen@redhat.com>
Bug 562863 - GtkVscrollbar is hardly documented
* gtk/tmpl/gtkvscrollbar.sgml:
* gtk/tmpl/gtkhscrollbar.sgml: Minor tweaks.
2009-03-24 Matthias Clasen <mclasen@redhat.com>
Bug 576150 Doc bug for GtkMenuPositionFunc
* gtk/tmpl/gtkmenu.sgml: Remove a misleading sentence.
Pointed out by Owen Taylor.
2009-03-23 Claudio Saavedra <csaavedra@igalia.com>
* gdk-pixbuf/tmpl/animation.sgml: Fix typos and document the
GdkPixbufSimpleAnim structure.
2009-03-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.16.0 ===
2009-03-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Rename gtk_style_get_property to
gtk_style_get_style_property
2009-03-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.5 ===
2009-03-01 Matthias Clasen <mclasen@redhat.com>
Bug 573393 Deprecated functions in gdk-Threads example code snippet
* gdk/tmpl/threads.sgml: Don't use deprecated GTK+ api.
Spotted by Andre Klapper
2009-03-01 Matthias Clasen <mclasen@redhat.com>
* gtk/images/messagedialog.png: Fix this image
* gtk/images/aboutdialog.png: New image
* gtk/Makefile.am: Add it here.
* gtk/visual_index.xml: And here.
2009-02-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_window_get_default_icon_name
2009-02-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.4 ===
2009-02-06 Stefan Kost <ensonic@users.sf.net>
* gdk-pixbuf/gdk-pixbuf.sgml:
* gdk/gdk-docs.sgml:
* gtk/gtk-docs.sgml:
* libgail-util/gail-libgail-util-docs.sgml:
Add online urls for library.gnome.org. This allows other docs to do
gtkdoc-rebase --online --html-dir=html
before publishing docs and have working xrefs.
Whitespece cleanup for gdk/gdk-docs.sgml.
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-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new image menu item api
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.1 ===
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add GtkActivatableIface, too
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new GtkActivatable API
* gtk/gtk-docs.sgml: Include GtkActivatable section
* gtk.types: Add gtk_activatable_get_type
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Additions
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/properties.sgml: Typo fix
2009-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new GtkAction api
2009-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new scale api
2009-01-19 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/cursors.sgml: Document GDK_BLANK_CURSOR.
2009-01-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new api
2009-01-13 Christian Dywan <christian@imendio.com>
Bug 567569 Typo in GtkFileChooser example in GTK+ documentation
* gtk/tmpl/gtkfilechooser.sgml: s/gobject_unref/g_object_unref.
Patch by Priyank Gosalia.
2009-01-05 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkstock.sgml: Add GTK_STOCK_CAPS_LOCK_WARNING
* gtk/Makefile.am: And copy the icon
2009-01-04 Matthias Clasen <mclasen@redhat.com>
Bug 566045 GtkViewport is lacking a description
* gtk/tmpl/gtkviewport.sgml: Add some descriptive text, shamelessly
copied from gtkscrolledwindow.sgml. Requested by Andrew Cowie.
2009-01-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.0 ===
2008-12-31 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkEntry-icons.sgml: Add a section about
signals.
* gtk/tmpl/gtkentry.sgml: Update to new signal names
2008-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkorientable.sgml:
* gtk/tmpl/gtkvscrollbar.sgml:
* gtk/tmpl/gtkhsv.sgml: Add short/long description.
2008-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtkprintoperation.sgml: Additions
* gtk/tmpl/gtkprintunixdialog.sgml: Document the preview
capability.
2008-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreeview.sgml: Document GtkTreeViewGridLines
2008-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintsettings.sgml: Document NumberUpLayout
* gtk/images/layout-*.png: n-up page layout images
* gtk/Makefile.am: Glue
2008-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkenums.sgml:
* gtk/tmpl/gtkmain.sgml:
* gtk/tmpl/gtktypeutils.sgml: Additions
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintunixdialog.sgml: Document capabilities
* gtk/tmpl/gtkstyle.sgml: Document GtkBorder
* gtk/tmpl/gtkmenubar.sgml: Document GtkPackDirection
* gtk/tmpl/gtkenums.sgml: Document GtkArrowPlacement
* gtk/tmpl/gtkbuilder.sgml: Document GtkBuilderError
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Remove duplicate vscrollbar section.
Merge accident ?
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreesortable.sgml: Small addition
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Move GtkFixedChild, GtkTableChild and
GtkTableRowCol to Private
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkfontseldlg.sgml: Merge docs inline.
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/building.sgml: It's <envar>, not <envvar>
* gtk/gtk-sections.txt: Remove duplicates, pick up misc new api
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkscrolledwindow.sgml:
* gtk/tmpl/gtkscale.sgml: Merge docs inline.
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* docs/reference/gtk/gtk-sections.txt: Remove overridden INCLUDE
* gtk/tmpl/gtkfontsel.sgml:
* gtk/tmpl/gtkeditable.sgml: Merge docs inline.
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkmessagedialog.sgml:
* gtk/tmpl/gtkmenushell.sgml:
* gtk/tmpl/gtklinkbutton.sgml:
* gtk/tmpl/gtkimage.sgml: Additions
* gtk/gtk-sections.txt:
* gtk/gtk-docs.sgml: Add GtkHSV
* gtk/Makefile.am: Don't ignore gtkhsv.h
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Remove nonexisting api
* gtk/migrating-GtkEntry-icons.sgml: Formatting fixes
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am: Add migrating-GtkEntry-icons.sgml to
content_files and expand_content_files.
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkLinkButton.sgml: Mention default hook
* gtk/migrating-GtkEntry-icons.sgml: Migration chapter
SexyIconEntry -> GtkEntry
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add GtkEntryIconPosition
* gtk/tmpl/gtkentry.sgml: Add note about a11y concerns.
2008-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkentry.sgml: Mention new functionality
* gtk/gtk-sections.txt: Add new api
2008-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkBuilder.xml: Update
2008-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/drawing-model.sgml: Turn into a refentry to fit better in
the overall formatting.
2008-12-25 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-docs.sgml: Add a "Since 2.16" index
2008-12-10 Matthias Clasen <mclasen@redhat.com>
Bug 563876 [Regression] GTK_MODULES env var is no longer relevant
* gtk/running.sgml: Improve GTK_MODULES docs.
2008-12-07 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkcontainer.sgml: Document translatable child
properties in GtkBuilder
2008-11-29 Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>
* docs/reference/gtk/images/accel-label.png:
* docs/reference/gtk/images/assistant.png:
* docs/reference/gtk/images/button.png:
* docs/reference/gtk/images/check-button.png:
* docs/reference/gtk/images/color-button.png:
* docs/reference/gtk/images/colorsel.png:
* docs/reference/gtk/images/combo-box-entry.png:
* docs/reference/gtk/images/combo-box.png:
* docs/reference/gtk/images/entry.png:
* docs/reference/gtk/images/file-button.png:
* docs/reference/gtk/images/filechooser.png:
* docs/reference/gtk/images/font-button.png:
* docs/reference/gtk/images/fontsel.png:
* docs/reference/gtk/images/frame.png:
* docs/reference/gtk/images/icon-view.png:
* docs/reference/gtk/images/image.png:
* docs/reference/gtk/images/label.png
* docs/reference/gtk/images/link-button.png:
* docs/reference/gtk/images/list-and-tree.png:
* docs/reference/gtk/images/menubar.png:
* docs/reference/gtk/images/messagedialog.png:
* docs/reference/gtk/images/multiline-text.png:
* docs/reference/gtk/images/notebook.png:
* docs/reference/gtk/images/pagesetupdialog.png:
* docs/reference/gtk/images/panes.png:
* docs/reference/gtk/images/printdialog.png:
* docs/reference/gtk/images/progressbar.png:
* docs/reference/gtk/images/radio-group.png:
* docs/reference/gtk/images/recentchooserdialog.png:
* docs/reference/gtk/images/scales.png:
* docs/reference/gtk/images/scrolledwindow.png:
* docs/reference/gtk/images/separator.png:
* docs/reference/gtk/images/spinbutton.png:
* docs/reference/gtk/images/statusbar.png:
* docs/reference/gtk/images/toggle-button.png:
* docs/reference/gtk/images/toolbar.png:
* docs/reference/gtk/images/volumebutton.png:
* docs/reference/gtk/images/window.png:
update all screenshots to have a consistent look.
Closes the bug 523264.
2008-11-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktooltips.sgml:
* gtk/tmpl/gtkoptionmenu.sgml:
* gtk/tmpl/gtkcombo.sgml:
* gtk/tmpl/gtkwindow.sgml:
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtktogglebutton.sgml:
* gtk/tmpl/gtkstyle.sgml:
* gtk/tmpl/gtkspinbutton.sgml:
* gtk/tmpl/gtkrc.sgml:
* gtk/tmpl/gtknotebook.sgml:
* gtk/tmpl/gtklabel.sgml:
* gtk/tmpl/gtkdrawingarea.sgml:
* gtk/tmpl/gtkcheckmenuitem.sgml:
* gtk/tmpl/gtkcalendar.sgml:
* gtk/tmpl/gtkbbox.sgml: Improve deprecation annotations.
2008-11-21 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am:
* gdk/Makefile.am:
* gdk-pixbuf/Makefile.am: Use a new gtk-doc feature to generate
much nicer indices.
* gtk/drawing-model.xml: Fix document structure
2008-11-25 Christian Dywan <christian@imendio.com>
Bug 559009 gtk_radio_button_get_group documentation needs
to say whether to free the returned GSList
* gtk/tmpl/gtkradiobutton.sgml: Clarify radio_button_get_group docs
2008-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new statusicon api.
2008-11-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new GtkStyle functions.
2008-10-29 Federico Mena Quintero <federico@novell.com>
* gtk/drawing-model.xml: New chapter for "The GTK+ Drawing Model".
* gtk/Makefile.am (content_files): Add drawing-model.xml.
(HTML_IMAGES): Add a the images for that new chapter.
* gtk/tmpl/gtkwidget.sgml: Link to the drawing model docs from the
descriptions of GTK_APP_PAINTABLE and GTK_DOUBLE_BUFFERED.
* gtk/glossary.xml: Link to the drawing model docs on no-window
widgets.
2008-10-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt:
* gtk/gtk-docs.sgml:
* gtk/gtk.types: Add GtkOrientable
2008-10-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.types: Add gtk_mount_operation_get_type
2008-10-09 Michael Natterer <mitch@imendio.com>
Bug 516425 Optionally display accelerators in popups
* gtk/tmpl/gtkuimanager.sgml: document the enhanced XML syntax and
the new enum value for popups with accelerators.
2008-10-07 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: add gtk_box_new.
2008-10-02 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: add gtk_ruler_new.
2008-09-30 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: add gtk_separator_new.
2008-09-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_im_multi_context_get_context_id.
2008-09-29 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-sections.txt: Add gdk_keymap_get_caps_locks_state.
2008-09-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.2 ===
2008-09-06 Sven Herzberg <sven@imendio.com>
Bug 551063 deprecated marking without a link to what new code should
use
* gdk/tmpl/input.sgml: dropped tmpl documentation for gdk_input_add()
and gdk_input_add_full()
2008-09-06 Stefan Kost <ensonic@users.sf.net>
* gdk-pixbuf/gdk-pixbuf-csource.xml:
* gdk-pixbuf/gdk-pixbuf-from-drawables.sgml:
* gdk-pixbuf/gdk-pixbuf-query-loaders.xml:
* gdk-pixbuf/gdk-pixbuf-rendering.sgml:
* gdk-pixbuf/gdk-pixbuf.sgml:
* gdk-pixbuf/porting-from-imlib.sgml:
* gdk/gdk-docs.sgml:
* gdk/multihead.sgml:
* libgail-util/gail-libgail-util-docs.sgml:
Use xi:include instead of entities to ease maintenance and speed up
documentation build. Fixes #540967
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-09-03 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtk-sections.txt: Add some missing functions
2008-09-03 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintunixdialog.sgml: Document n-up-layout capability
2008-08-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_selection_data_get_length
2008-08-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add some forgotten apis.
2008-08-19 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gtk/gtk-sections.txt: Move gtk_menu_set_monitor next to
gtk_menu_get_monitor. Move gtk_menu_set_title next to
gtk_menu_get_title.
2008-08-18 Matthias Clasen <mclasen@redhat.com>
* ==== Released 2.13.7 ===
2008-08-16 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gdk/gdk-sections.txt: Don't mention GdkWindowRedirect in the
docs; it's opaque and not used in any public API.
2008-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/building.sgml: Add a note about shared-mime-info and
XDG_DATA_DIRS.
2008-08-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Remove useless getters
2008-08-13 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gtk/gtk-sections.txt: Move
gtk_font_selection_dialog_get_apply_button,
gtk_font_selection_dialog_get_cancel_button, and
gtk_font_selection_dialog_get_ok_button to the
GtkFontSelectionDialog section.
2008-08-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.6 ===
2008-08-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new functions
2008-08-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new functions
2008-08-02 Matthias Clasen <mclasen@redhat.com>
Bug 515596 GtkUIManager's embedded UI definition example is invalid
* gtk/tmpl/gtktreeview.sgml:
* gtk/tmpl/gtkuimanager.sgml: Fix GtkBuilder examples.
2008-08-02 Matthias Clasen <mclasen@redhat.com>
Bug 540834 Insensitive widgets cannot be grabbed
* gtk/tmpl/gtkmain.sgml: Explain that insensitive widgets
cannot be grabbed. Patch by Björn Lindqvist
2008-08-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Update
2008-08-02 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/gdkapplaunchcontext.sgml: Add an introduction
with an example.
2008-07-31 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-sections.txt: Add new api
2008-07-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.5 ===
2008-07-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add tons of new api
2008-07-19 Matthias Clasen <mclasen@redhat.com>
Bug 543590 documentation glitch in GtkBox description
* gtk/tmpl/gtkbox.sgml: Improve long description. Pointed
out by Claudio Saavedra
2008-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am:
* gtk/tmpl/gtkstock.sgml: Add new icon.
* gtk/gtk-sections.txt: Add new GtkPrinter functions
2008-07-14 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtklabel.sgml: Fix markup
2008-07-11 Matthias Clasen <mclasen@redhat.com>
Bug 537430 label pango attributes & i18n
* gtk/tmpl/gtklabel.sgml: Improve docs for Pango attributes in
builder xml. Pointed out by Christian Persch
2008-07-10 Stefan Kost <ensonic@users.sf.net>
Bug 540967 docs build slowly because of entities
* gtk/building.sgml:
* gtk/changes-1.2.sgml:
* gtk/changes-2.0.sgml:
* gtk/compiling.sgml:
* gtk/directfb.sgml:
* gtk/glossary.xml:
* gtk/gtk-docs.sgml:
* gtk/gtk-query-immodules-2.0.xml:
* gtk/gtk-update-icon-cache.xml:
* gtk/migrating-GtkAboutDialog.sgml:
* gtk/migrating-GtkAction.sgml:
* gtk/migrating-GtkAssistant.sgml:
* gtk/migrating-GtkBuilder.sgml:
* gtk/migrating-GtkColorButton.sgml:
* gtk/migrating-GtkComboBox.sgml:
* gtk/migrating-GtkFileChooser.sgml:
* gtk/migrating-GtkIconView.sgml:
* gtk/migrating-GtkLinkButton.sgml:
* gtk/migrating-GtkRecentChooser.sgml:
* gtk/migrating-GtkTooltip.sgml:
* gtk/migrating-checklist.sgml:
* gtk/osx.sgml:
* gtk/other_software.sgml:
* gtk/question_index.sgml:
* gtk/resources.sgml:
* gtk/running.sgml:
* gtk/text_widget.sgml:
* gtk/tree_widget.sgml:
* gtk/visual_index.xml:
* gtk/windows.sgml:
* gtk/x11.sgml:
Use xi:include to speed up doc-build. Remove some unused entities.
2008-07-06 Matthias Clasen <mclasen@redhat.com>
Bug 528822 - typo in GtkCombo docs
* gtk/tmpl/gtkcombo.sgml: Fix a typo. Pointed out by Kevin Ryde.
2008-07-06 Matthias Clasen <mclasen@redhat.com>
Bug 488019 - Mention bind_textdomain_codeset in gettext related FAQ
* gtk/question_index.sgml: Mention bind_textdomain_codeset()
2008-07-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.4 ===
2008-07-04 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkradiobutton.sgml: Update
2008-07-04 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/events.sgml:
* gdk/tmpl/gdktesting.sgml: Additions
2008-07-03 Matthias Clasen <mclasen@redhat.com>
* gtk/images/iconview.png: Update
2008-06-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.3 ===
* === Released 2.12.11 ===
2008-06-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.2 ===
2008-06-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.types: Add GtkPrintOperationPreview.
2008-05-29 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.1 ===
2008-05-29 Matthias Clasen <mclasen@redhat.com>
* gtk/building.sgml: Document added configure options
2008-05-29 Michael Natterer <mitch@imendio.com>
* gtk/Makefile.am (CPPFLAGS): add -UGTK_DISABLE_SINGLE_INCLUDES so
the code generated by gtkdoc-scangobj builds.
2008-05-29 Michael Natterer <mitch@imendio.com>
* gtk/gtk.types: include <gtk/gtkunixprint.h> instead of
individual files.
2008-05-28 Matthias Clasen <mclasen@redhat.com>
* gtk/compiling.sgml: Explains single includes
2008-05-28 Matthias Clasen <mclasen@redhat.com>
Bug 535250 - GtkToolButton reference page says "label" where
it should say "icon", uses underscores
* gtk/tmpl/gtktoolbutton.sgml: Improve introduction
2008-05-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Additions
2008-05-27 Matthias Clasen <mclasen@redhat.com>
Bug 531887 - GtkTooltips is deprecated, but what should I use?
* gtk/tmpl/gtktooltips.sgml: Add a hint for what to use instead
2008-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Additions
2008-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt:
* gtk/gtk-docs.sgml: Add a section for GtkMountOperation
2008-05-25 Matthias Clasen <mclasen@redhat.com>
Bug 465144 - gtkprintjob.h is not included with gtk.h
* gtk/gtk-sections.txt: Fix include for gtkprintjob.h, pointed
out by Étienne Bersac.
2008-05-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_printer_get_default_page_size
2008-05-20 Matthias Clasen <mclasen@redhat.com>
Bug 533761 - gdk_accelerator_parse() does not exist, should be
gtk_accelerator_parse()
* gtk/migrating-GtkAction.sgml: Fix a typo.
Pointed out by Matthias Warkus
2008-05-05 Matthias Clasen <mclasen@redhat.com>
* docs/reference/gtk/Makefile.am:
* docs/reference/gtk/tmpl/gtkstock.sgml: Add new icons.
* === Released 2.12.10 ===
2008-04-10 Cody Russell <bratsche@gnome.org>
@@ -747,36 +29,21 @@
* gtk/tmpl/gtkenums.sgml: Recommend that GTK_WIN_POS_CENTER_ALWAYS
is not used.
2008-03-11 Michael Natterer <mitch@imendio.com>
2008-03-12 Matthias Clasen <mclasen@redhat.com>
* gdk/Makefile.am
* gtk/framebuffer.sgml: remove remaining linux-fb stuff.
* === Released 2.12.9 ===
2008-02-16 Matthias Clasen <mclasen@redhat.com>
2008-02-12 Matthias Clasen <mclasne@redhat.com>
* === Released 2.13.0 ===
* === Released 2.12.8 ===
2008-02-18 Sven Neumann <sven@gimp.org>
2008-01-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkstock.sgml: added GTK_STOCK_PAGE_SETUP.
* === Released 2.12.7 ===
2008-02-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-docs.sgml:
* gtk/gtk-sections.txt:
* gdk/gdk-docs.sgml:
* gdk/gdk-sections.txt: Updates
2008-02-13 Tor Lillqvist <tml@novell.com>
* gtk/windows.sgml: Correct description of the Wintab and max
palette size options. Drop obsolete Win9x stuff.
2008-02-11 Benjamin Otte <otte@gnome.org>
* gdk/tmpl/windows.sgml:
remove SGML comment in example code - it was visible in the generated
HTML.
2008-01-28 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.6 ===
2008-01-24 Johan Dahlin <johan@gnome.org>
@@ -785,80 +52,25 @@
2008-01-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-docs.sgml:
* gdk-pixbuf/gdk-pixbuf.sgml: Add indices for 2.16
* === Released 2.12.5 ===
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add stream i/o functions.
2008-01-08 Matthias Clasen <mclasen@redhat.com>
2008-01-10 Sven Neumann <sven@gimp.org>
* === Released 2.12.4 ===
* gtk/tmpl/gtkeditable.sgml: corrected documentation for
GtkEditable::delete-text.
2007-12-28 Mathias Hasselmann <mathias@openismus.com>
* gtk/tmpl/gtkcalendar.sgml: Move documentation for
GtkCalendarDisplayOptions to gtk/gtkcalendar.c.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* gtk/tmpl/gtkcalendar.sgml: Move documentation for
GtkCalendarDisplayOptions to gtk/gtkcalendar.c.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* docs/reference/gtk/gtk-sections.txt: Add new GtkCalendar symbols.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* gtk/tmpl/gtkcalendar.sgml: Move documentation for
GtkCalendarDisplayOptions to gtk/gtkcalendar.c.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* reference/gtk/gtk-sections.txt: Add new GtkCalendar symbols.
2007-12-27 Xan Lopez <xan@gnome.org>
* gtk/gtk-sections.txt: Add gtk_border_new
2007-12-19 19:54:11 Tim Janik <timj@imendio.com>
* libgail-util/Makefile.am: include Makefile.decl to unbreak test rules.
2007-12-17 Matthias Clasen <mclasen@redhat.com>
* gtk/running.sgml: Mention the Gtk/IMModule XSetting.
2007-12-12 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-docs.sgml:
* gdk/gdk-sections.txt: Add GdkAppLaunchContext
2007-12-11 Mathias Hasselmann <mathias@openismus.com>
* docs/reference/gtk/tmpl/gtkdnd.sgml:
Move documentation for gtk_drag_dest_set to gtkdnd.c.
2007-11-30 Matthias Clasen <mclasen@redhat.com>
* gkt/question-index.sgml: Correct a typo. (#500686,
David Lambert)
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkaboutdialog.sgml: Add note about hook setup
to the introduction.
2007-11-25 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkdialog.sgml: Move signal docs inline.
2007-11-19 Matthias Clasen <mclasen@redhat.com>
2007-12-30 Johannes Schmid <jhs@gnome.org>
* gtk/tmpl/gtknotebook.sgml:
* gtk/tmpl/gtkradiobutton.sgml: Fix typos. (#494905,
Olivier Delhomme)
Fix method names (gtk_notebook_popup_enable vs.
gtk_notebook_enable_popup)
2007-12-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.3 ===
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.2 ===
2007-11-19 Matthias Clasen <mclasen@redhat.com>
@@ -1447,7 +659,7 @@ Tue Oct 10 15:29:15 2006 Tim Janik <timj@imendio.com>
2006-08-14 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkruler.sgml: Fix a swapped argument
description. (#351241, Étienne Bersac)
description. (#351241, Étienne Bersac)
2006-08-06 Matthias Clasen <mclasen@redhat.com>
@@ -1877,7 +1089,7 @@ Tue Oct 10 15:29:15 2006 Tim Janik <timj@imendio.com>
2005-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkmain.sgml: Add deprecation note to
gtk_exit() (#325199, Ævar Arnfjörð Bjarmason)
gtk_exit() (#325199, Ævar Arnfjörð Bjarmason)
2005-12-20 Matthias Clasen <mclasen@redhat.com>
@@ -2172,7 +1384,7 @@ Tue Sep 13 14:16:27 2005 Tim Janik <timj@imendio.com>
2005-07-07 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkIconView.sgml: Corrections.
(#309718, Tim-Philipp Müller)
(#309718, Tim-Philipp Müller)
2005-07-06 Matthias Clasen <mclasen@redhat.com>
@@ -2746,7 +1958,7 @@ Mon Nov 1 13:37:31 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/question_index.sgml: Move the "tail" question to the
text view section.
Add an entry for "why are my types not registered". (#156809,
Q by Salvador Fandiño, A by Owen Taylor)
Q by Salvador Fandiño, A by Owen Taylor)
2004-10-27 Matthias Clasen <mclasen@redhat.com>
@@ -3268,7 +2480,7 @@ Tue May 11 00:29:53 2004 Matthias Clasen <maclas@gmx.de>
Fri May 7 01:21:14 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkicontheme.sgml: Fix example. (Steffen Röcker)
* gtk/tmpl/gtkicontheme.sgml: Fix example. (Steffen Röcker)
Thu May 6 00:22:38 2004 Matthias Clasen <maclas@gmx.de>
@@ -3318,7 +2530,7 @@ Wed May 5 23:12:36 2004 Matthias Clasen <maclas@gmx.de>
casts from examples. (#139387, Olexiy Avramchenko)
* gtk/migrating-GtkAction.sgml: Fix an example.
(#138966, Tim-Philipp Müller)
(#138966, Tim-Philipp Müller)
* gdk/tmpl/properties.sgml: Document the only_if_exists argument
to gdk_atom_intern() as ignored.
@@ -4043,7 +3255,7 @@ Tue Jul 29 14:21:48 2003 Soeren Sandmann <sandmann@daimi.au.dk>
2003-07-21 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkdnd.sgml: It is GTK_DEST_DEFAULT_DROP, not
GTK_DRAG_DEFAULT_DROP. (#117917, Tim-Philipp Müller)
GTK_DRAG_DEFAULT_DROP. (#117917, Tim-Philipp Müller)
2003-07-19 Matthias Clasen <maclas@gmx.de>
@@ -6411,7 +5623,7 @@ Wed Jan 5 10:23:41 2000 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtkclist.sgml: partially written documentation from
Paul Schifferer <isengard@geocities.com> who won't be able to finish it
1999-09-22 Martin Norbäck <d95mback@dtek.chalmers.se>
1999-09-22 Martin Norbäck <d95mback@dtek.chalmers.se>
* gtk/tmpl/gtkclist.sgml: Added information about the sorting functions

View File

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

View File

@@ -0,0 +1,18 @@
Makefile
Makefile.in
gdk-pixbuf-decl-list.txt
gdk-pixbuf-decl.txt
gdk-pixbuf-undocumented.txt
gdk-pixbuf-unused.txt
gdk-pixbuf.args
gdk-pixbuf.hierarchy
gdk-pixbuf.interfaces
gdk-pixbuf.prerequisites
gdk-pixbuf.signals
deprecated
html
xml
*.stamp
*.lo
.libs
version.xml

View File

@@ -1,5 +1,4 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
@@ -47,7 +46,7 @@ GTKDOC_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
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
@@ -79,21 +78,19 @@ EXTRA_DIST += version.xml.in \
########################################################################
if ENABLE_MAN
man_MANS = gdk-pixbuf-csource.1 gdk-pixbuf-query-loaders.1
if ENABLE_MAN
%.1 : %.xml
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
endif
BUILT_EXTRA_DIST = $(man_MANS)
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
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,118 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GDK-PIXBUF-CSOURCE" 1 "" "" ""
.SH NAME
gdk-pixbuf-csource \- C code generation utility for GdkPixbuf images
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 19
\fBgdk\-pixbuf\-csource\fR [options] [image]
.ad
.hy
.ad l
.hy 0
.HP 19
\fBgdk\-pixbuf\-csource\fR [options] \-\-build\-list [[name]\ [image]...]
.ad
.hy
.SH "DESCRIPTION"
.PP
\fBgdk\-pixbuf\-csource\fR is a small utility that generates C code containing images, useful for compiling images directly into programs\&.
.SH "INVOCATION"
.PP
\fBgdk\-pixbuf\-csource\fR either takes as input one image file name to generate code for, or, using the \fB\-\-build\-list\fR option, a list of (\fIname\fR, \fIimage\fR) pairs to generate code for a list of images into named variables\&.
.SS "Options"
.TP
\fB\-\-stream\fR
Generate pixbuf data stream (a single string containing a serialized GdkPixdata structure in network byte order)\&.
.TP
\fB\-\-struct\fR
Generate GdkPixdata structure (needs the GdkPixdata structure definition from \fIgdk\-pixdata\&.h\fR)\&.
.TP
\fB\-\-macros\fR
Generate *_ROWSTRIDE, *_WIDTH, *_HEIGHT, *_BYTES_PER_PIXEL and *_RLE_PIXEL_DATA or *_PIXEL_DATA macro definitions for the image\&.
.TP
\fB\-\-rle\fR
Enables run\-length encoding for the generated pixel data (default)\&.
.TP
\fB\-\-raw\fR
Disables run\-length encoding for the generated pixel data\&.
.TP
\fB\-\-extern\fR
Generate extern symbols\&.
.TP
\fB\-\-static\fR
Generate static symbols (default)\&.
.TP
\fB\-\-decoder\fR
Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) macro definition to decode run\-length encoded image data\&.
.TP
\fB\-\-name=identifier\fR
Specifies the identifier name (prefix) for the generated variables or macros (useful only if \fB\-\-build\-list\fR was not specified)\&.
.TP
\fB\-\-build\-list\fR
Enables (\fIname\fR, \fIimage\fR) pair parsing mode\&.
.TP
\fB\-h\fR, \fB\-\-help\fR
Print brief help and exit\&.
.TP
\fB\-v\fR, \fB\-\-version\fR
Print version and exit\&.
.TP
\fB\-\-g\-fatal\-warnings\fR
Make warnings fatal (causes the program to abort)\&.
.SH "SEE ALSO"
.PP
The GdkPixbuf documentation, shipped with the Gtk+ distribution, available from www\&.gtk\&.org: \fIhttp://www.gtk.org\fR\&.
.SH "BUGS"
.PP
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\&.
.SH "AUTHOR"
.PP
\fBgdk\-pixbuf\-csource\fR was written by Tim Janik <timj@gtk\&.org>\&.
.PP
This manual page was provided by Tim Janik <timj@gtk\&.org>\&.

View File

@@ -1,7 +1,3 @@
<?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>

View File

@@ -1,7 +1,3 @@
<?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>

View File

@@ -0,0 +1,49 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GDK-PIXBUF-QUERY" 1 "" "" ""
.SH NAME
gdk-pixbuf-query-loaders \- GdkPixbuf loader registration utility
.SH "SYNOPSIS"
.nf
\fBgdk-pixbuf-query-loaders\fR [module...]
.fi
.SH "DESCRIPTION"
.PP
\fBgdk-pixbuf-query-loaders\fR collects information about loadable modules for gdk-pixbuf and writes it to \fIstdout\fR\&.
.PP
If called without arguments, it looks for modules in the gdk-pixbuf loader directory\&.
.PP
If called with arguments, it looks for the specified modules\&. The arguments may be absolute or relative paths\&.
.SH "ENVIRONMENT"
.PP
The environment variable \fBGDK_PIXBUF_MODULEDIR\fR can be used to specify a different loader directory\&. The default gdk-pixbuf loader directory is \fI\fIlibdir\fR/gtk-2\&.0/\fIversion\fR/loaders\fR\&.
.SH "BUGS"
.PP
None known yet\&.

View File

@@ -1,7 +1,3 @@
<?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>

View File

@@ -1,7 +1,3 @@
<?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>

View File

@@ -65,8 +65,6 @@ 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>
@@ -78,7 +76,6 @@ 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>
@@ -136,8 +133,6 @@ gdk_pixbuf_animation_iter_get_pixbuf
GdkPixbufSimpleAnim
gdk_pixbuf_simple_anim_new
gdk_pixbuf_simple_anim_add_frame
gdk_pixbuf_simple_anim_set_loop
gdk_pixbuf_simple_anim_get_loop
<SUBSECTION Standard>
GDK_PIXBUF_ANIMATION

View File

@@ -1,20 +1,38 @@
<?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">
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gdk-pixbuf-gdk-pixbuf SYSTEM "xml/gdk-pixbuf.xml">
<!ENTITY gdk-pixbuf-refcounting SYSTEM "xml/refcounting.xml">
<!ENTITY gdk-pixbuf-file-loading SYSTEM "xml/file-loading.xml">
<!ENTITY gdk-pixbuf-file-saving SYSTEM "xml/file-saving.xml">
<!ENTITY gdk-pixbuf-creating SYSTEM "xml/creating.xml">
<!ENTITY gdk-pixbuf-inline SYSTEM "xml/inline.xml">
<!ENTITY gdk-pixbuf-scaling SYSTEM "xml/scaling.xml">
<!ENTITY gdk-pixbuf-rendering SYSTEM "gdk-pixbuf-rendering.sgml">
<!ENTITY gdk-pixbuf-from-drawables SYSTEM "gdk-pixbuf-from-drawables.sgml">
<!ENTITY gdk-pixbuf-util SYSTEM "xml/util.xml">
<!ENTITY gdk-pixbuf-animation SYSTEM "xml/animation.xml">
<!ENTITY GdkPixbufLoader SYSTEM "xml/gdk-pixbuf-loader.xml">
<!ENTITY module-interface SYSTEM "xml/module_interface.xml">
<!ENTITY initialization-versions SYSTEM "xml/initialization_versions.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-init SYSTEM "xml/gdk-pixbuf-xlib-init.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rendering SYSTEM "xml/gdk-pixbuf-xlib-rendering.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-from-drawables SYSTEM "xml/gdk-pixbuf-xlib-from-drawables.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rgb SYSTEM "xml/gdk-pixbuf-xlib-rgb.xml">
<!ENTITY Porting-From-Imlib SYSTEM "porting-from-imlib.sgml">
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY gdk-pixbuf-csource SYSTEM "gdk-pixbuf-csource.xml">
<!ENTITY gdk-pixbuf-query-loaders SYSTEM "gdk-pixbuf-query-loaders.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<book id="index">
<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>
<title>The &gdk-pixbuf; Library</title>
<releaseinfo>Version &version;</releaseinfo>
<authorgroup>
<author>
<firstname>Federico</firstname>
@@ -75,27 +93,27 @@
</para>
</partintro>
<xi:include href="xml/initialization_versions.xml" />
&initialization-versions;
<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" />
&gdk-pixbuf-gdk-pixbuf;
&gdk-pixbuf-refcounting;
&gdk-pixbuf-file-loading;
&gdk-pixbuf-file-saving;
&gdk-pixbuf-creating;
&gdk-pixbuf-inline;
&gdk-pixbuf-scaling;
&gdk-pixbuf-rendering;
&gdk-pixbuf-from-drawables;
&gdk-pixbuf-util;
&gdk-pixbuf-animation;
<xi:include href="xml/gdk-pixbuf-loader.xml" />
<xi:include href="xml/module_interface.xml" />
&GdkPixbufLoader;
&module-interface;
<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" />
&gdk-pixbuf-gdk-pixbuf-xlib-init;
&gdk-pixbuf-gdk-pixbuf-xlib-rendering;
&gdk-pixbuf-gdk-pixbuf-xlib-from-drawables;
&gdk-pixbuf-gdk-pixbuf-xlib-rgb;
</reference>
<reference>
@@ -108,48 +126,30 @@
</para>
</partintro>
<xi:include href="gdk-pixbuf-csource.xml" />
<xi:include href="gdk-pixbuf-query-loaders.xml" />
&gdk-pixbuf-csource;
&gdk-pixbuf-query-loaders;
</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>
<title>Index</title>
</index>
<index id="api-index-deprecated" role="deprecated">
<index 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">
<index 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">
<index 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">
</index>
<index 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">
</index>
<index 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>
</index>
<xi:include href="porting-from-imlib.sgml" />
&Porting-From-Imlib;
<!-- License -->

View File

@@ -1,4 +1,5 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
gdk_pixbuf_get_type
gdk_pixbuf_loader_get_type

View File

@@ -1,9 +1,3 @@
<?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>

View File

@@ -25,13 +25,13 @@ Animated images.
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
An opaque struct representing an animation.
And opaque struct representing an animation.
</para>
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
<para>
An opaque struct representing an iterator which points to a
And opaque struct representing an iterator which points to a
certain position in an animation.
</para>
@@ -148,7 +148,7 @@ certain position in an animation.
<!-- ##### STRUCT GdkPixbufSimpleAnim ##### -->
<para>
An opaque struct representing a simple animation.
An
</para>
@@ -172,21 +172,3 @@ An opaque struct representing a simple animation.
@pixbuf:
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_set_loop ##### -->
<para>
</para>
@animation:
@loop:
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_get_loop ##### -->
<para>
</para>
@animation:
@Returns:

View File

@@ -79,28 +79,3 @@ End:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream ##### -->
<para>
</para>
@stream:
@cancellable:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream_at_scale ##### -->
<para>
</para>
@stream:
@width:
@height:
@preserve_aspect_ratio:
@cancellable:
@error:
@Returns:

View File

@@ -124,17 +124,3 @@ will fail with the same error.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_save_to_stream ##### -->
<para>
</para>
@pixbuf:
@stream:
@type:
@cancellable:
@error:
@Varargs:
@Returns:

View File

@@ -567,3 +567,14 @@ End:
</para>
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream ##### -->
<para>
</para>
@stream_length:
@stream:
@copy_pixels:
@error:
@Returns:

View File

@@ -0,0 +1,18 @@
Makefile
Makefile.in
gdk-decl-list.txt
gdk-decl.txt
gdk-undocumented.txt
gdk-unused.txt
gdk.args
gdk.hierarchy
gdk.interfaces
gdk.prerequisites
gdk.signals
deprecated
html
xml
*.stamp
*.lo
.libs
version.xml

View File

@@ -1,5 +1,4 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
@@ -30,6 +29,8 @@ IGNORE_HFILES= \
gdkpoly-generic.h \
gdkregion-generic.h \
keyname-table.h \
linux-fb \
nanox \
win32 \
directfb \
x11 \
@@ -52,7 +53,7 @@ GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gdk
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
@@ -152,5 +153,3 @@ include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in
-include $(top_srcdir)/git.mk

View File

@@ -1,111 +1,114 @@
<?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'">
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gdk-General SYSTEM "xml/general.xml">
<!ENTITY gdk-Bitmaps-and-Pixmaps SYSTEM "xml/pixmaps.xml">
<!ENTITY gdk-Images SYSTEM "xml/images.xml">
<!ENTITY gdk-GdkRGB SYSTEM "xml/rgb.xml">
<!ENTITY gdk-Pixbufs SYSTEM "xml/pixbufs.xml">
<!ENTITY gdk-Colormaps-and-Colors SYSTEM "xml/colors.xml">
<!ENTITY gdk-Fonts SYSTEM "xml/fonts.xml">
<!ENTITY gdk-Drawing-Primitives SYSTEM "xml/drawing.xml">
<!ENTITY gdk-Graphics-Contexts SYSTEM "xml/gcs.xml">
<!ENTITY gdk-Visuals SYSTEM "xml/visuals.xml">
<!ENTITY gdk-Windows SYSTEM "xml/windows.xml">
<!ENTITY gdk-Selections SYSTEM "xml/selections.xml">
<!ENTITY gdk-Properties-and-Atoms SYSTEM "xml/properties.xml">
<!ENTITY gdk-Pango-Interaction SYSTEM "xml/pango_interaction.xml">
<!ENTITY gdk-Cairo-Interaction SYSTEM "xml/cairo_interaction.xml">
<!ENTITY gdk-Points-Rectangles-and-Regions SYSTEM "xml/regions.xml">
<!ENTITY gdk-Threads SYSTEM "xml/threads.xml">
<!ENTITY gdk-Keys SYSTEM "xml/keys.xml">
<!ENTITY gdk-Input-Devices SYSTEM "xml/input_devices.xml">
<!ENTITY gdk-Events SYSTEM "xml/events.xml">
<!ENTITY gdk-Event-Structures SYSTEM "xml/event_structs.xml">
<!ENTITY gdk-Cursors SYSTEM "xml/cursors.xml">
<!ENTITY gdk-Input SYSTEM "xml/input.xml">
<!ENTITY gdk-Drag-and-Drop SYSTEM "xml/dnd.xml">
<!ENTITY gdk-X-Window-System-Interaction SYSTEM "xml/x_interaction.xml">
<!ENTITY gdk-Screen SYSTEM "xml/gdkscreen.xml">
<!ENTITY gdk-Display SYSTEM "xml/gdkdisplay.xml">
<!ENTITY gdk-DisplayManager SYSTEM "xml/gdkdisplaymanager.xml">
<!ENTITY gdk-Multihead SYSTEM "multihead.sgml">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<book id="index">
<bookinfo>
<title>GDK Reference Manual</title>
<releaseinfo>
for GDK &version;
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://library.gnome.org/devel/gdk/unstable/">http://library.gnome.org/devel/gdk/unstable/</ulink>.
</releaseinfo>
<releaseinfo>for GDK &version;</releaseinfo>
</bookinfo>
<reference id="reference">
<title>API Reference</title>
<xi:include href="xml/general.xml" />
&gdk-General;
<xi:include href="multihead.sgml" />
<xi:include href="xml/gdkdisplay.xml" />
<xi:include href="xml/gdkdisplaymanager.xml" />
<xi:include href="xml/gdkscreen.xml" />
&gdk-Multihead;
&gdk-Display;
&gdk-DisplayManager;
&gdk-Screen;
<xi:include href="xml/regions.xml" />
<xi:include href="xml/gcs.xml" />
<xi:include href="xml/drawing.xml" />
&gdk-Points-Rectangles-and-Regions;
&gdk-Graphics-Contexts;
&gdk-Drawing-Primitives;
<xi:include href="xml/pixmaps.xml" />
<xi:include href="xml/rgb.xml" />
<xi:include href="xml/images.xml" />
<xi:include href="xml/pixbufs.xml" />
&gdk-Bitmaps-and-Pixmaps;
&gdk-GdkRGB;
&gdk-Images;
&gdk-Pixbufs;
<xi:include href="xml/colors.xml" />
<xi:include href="xml/visuals.xml" />
&gdk-Colormaps-and-Colors;
&gdk-Visuals;
<xi:include href="xml/fonts.xml" />
<xi:include href="xml/cursors.xml" />
&gdk-Fonts;
&gdk-Cursors;
<xi:include href="xml/windows.xml" />
&gdk-Windows;
<xi:include href="xml/events.xml" />
<xi:include href="xml/event_structs.xml" />
&gdk-Events;
&gdk-Event-Structures;
<xi:include href="xml/keys.xml" />
&gdk-Keys;
<xi:include href="xml/selections.xml" />
<xi:include href="xml/dnd.xml" />
&gdk-Selections;
&gdk-Drag-and-Drop;
<xi:include href="xml/properties.xml" />
&gdk-Properties-and-Atoms;
<xi:include href="xml/threads.xml" />
&gdk-Threads;
<xi:include href="xml/input.xml" />
<xi:include href="xml/input_devices.xml" />
&gdk-Input;
<xi:include href="xml/pango_interaction.xml" />
<xi:include href="xml/cairo_interaction.xml" />
<xi:include href="xml/x_interaction.xml" />
&gdk-Input-Devices;
<xi:include href="xml/gdkapplaunchcontext.xml" />
<xi:include href="xml/gdktesting.xml" />
&gdk-Pango-Interaction;
&gdk-Cairo-Interaction;
&gdk-X-Window-System-Interaction;
</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>
<title>Index</title>
</index>
<index id="api-index-deprecated" role="deprecated">
<index 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">
<index 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">
<index 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>
<index id="api-index-2-16" role="2.16">
<title>Index of new symbols in 2.16</title>
<xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-18" role="2.18">
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
<index role="2.6">
<title>Index of new symbols in 2.6</title>
</index>
<index role="2.8">
<title>Index of new symbols in 2.8</title>
</index>
<index role="2.10">
<title>Index of new symbols in 2.10</title>
</index>
<index role="2.12">
<title>Index of new symbols in 2.12</title>
</index>
</book>

View File

@@ -30,7 +30,6 @@ gdk_screen_height
gdk_screen_width_mm
gdk_screen_height_mm
<SUBSECTION>
gdk_pointer_grab
GdkGrabStatus
@@ -218,9 +217,6 @@ gdk_screen_get_n_monitors
gdk_screen_get_monitor_geometry
gdk_screen_get_monitor_at_point
gdk_screen_get_monitor_at_window
gdk_screen_get_monitor_height_mm
gdk_screen_get_monitor_width_mm
gdk_screen_get_monitor_plug_name
gdk_screen_broadcast_client_message
gdk_screen_get_setting
gdk_screen_get_font_options
@@ -640,7 +636,6 @@ gdk_window_at_pointer
gdk_window_show
gdk_window_show_unraised
gdk_window_hide
gdk_window_is_destroyed
gdk_window_is_visible
gdk_window_is_viewable
gdk_window_get_state
@@ -662,8 +657,6 @@ gdk_window_resize
gdk_window_move_resize
gdk_window_scroll
gdk_window_move_region
gdk_window_flush
gdk_window_ensure_native
gdk_window_reparent
gdk_window_clear
gdk_window_clear_area
@@ -671,7 +664,6 @@ gdk_window_clear_area_e
gdk_window_copy_area
gdk_window_raise
gdk_window_lower
gdk_window_restack
gdk_window_focus
gdk_window_register_dnd
gdk_window_begin_resize_drag
@@ -723,7 +715,6 @@ gdk_window_set_background
gdk_window_set_back_pixmap
GDK_PARENT_RELATIVE
gdk_window_set_cursor
gdk_window_get_cursor
gdk_window_set_colormap
gdk_window_get_user_data
gdk_window_get_geometry
@@ -744,7 +735,6 @@ gdk_window_get_colormap
gdk_window_get_type
gdk_window_get_origin
gdk_window_get_deskrelative_origin
gdk_window_get_root_coords
gdk_window_get_pointer
GdkModifierType
gdk_window_get_parent
@@ -768,18 +758,11 @@ GdkWMFunction
gdk_window_get_toplevels
gdk_get_default_root_window
<SUBSECTION>
GdkPointerHooks
gdk_set_pointer_hooks
<SUBSECTION>
gdk_offscreen_window_get_pixmap
gdk_offscreen_window_set_embedder
gdk_offscreen_window_get_embedder
gdk_window_geometry_changed
gdk_window_redirect_to_drawable
gdk_window_remove_redirection
<SUBSECTION Standard>
GDK_WINDOW
GDK_WINDOW_GET_CLASS
@@ -805,8 +788,6 @@ gdk_window_object_get_type
gdk_drawable_get_type
GdkWindowObject
GdkWindowObjectClass
gdk_window_freeze_toplevel_updates_libgtk_only
gdk_window_thaw_toplevel_updates_libgtk_only
</SECTION>
<SECTION>
@@ -915,7 +896,6 @@ gdk_cairo_set_source_pixbuf
gdk_cairo_set_source_pixmap
gdk_cairo_rectangle
gdk_cairo_region
gdk_cairo_reset_clip
</SECTION>
<SECTION>
@@ -942,7 +922,6 @@ gdk_region_get_clipbox
gdk_region_get_rectangles
gdk_region_empty
gdk_region_equal
gdk_region_rect_equal
gdk_region_point_in
gdk_region_rect_in
GdkOverlapType
@@ -983,8 +962,6 @@ gdk_threads_add_idle
gdk_threads_add_idle_full
gdk_threads_add_timeout
gdk_threads_add_timeout_full
gdk_threads_add_timeout_seconds
gdk_threads_add_timeout_seconds_full
<SUBSECTION Private>
gdk_threads_lock
@@ -1004,7 +981,6 @@ gdk_keymap_get_entries_for_keyval
gdk_keymap_get_entries_for_keycode
gdk_keymap_get_direction
gdk_keymap_have_bidi_layouts
gdk_keymap_get_caps_lock_state
<SUBSECTION>
gdk_keyval_name
@@ -1309,7 +1285,6 @@ gdk_x11_get_server_time
gdk_net_wm_supports
gdk_x11_screen_supports_net_wm_hint
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_get_monitor_output
gdk_x11_screen_lookup_visual
gdk_x11_window_set_user_time
gdk_x11_window_move_to_current_desktop
@@ -1359,35 +1334,3 @@ GDK_HAVE_WCTYPE_H
gdk_iswalnum
gdk_iswspace
</SECTION>
<SECTION>
<TITLE>Application launching</TITLE>
<FILE>gdkapplaunchcontext</FILE>
GdkAppLaunchContext
gdk_app_launch_context_new
gdk_app_launch_context_set_display
gdk_app_launch_context_set_screen
gdk_app_launch_context_set_desktop
gdk_app_launch_context_set_timestamp
gdk_app_launch_context_set_icon
gdk_app_launch_context_set_icon_name
<SUBSECTION Standard>
GDK_APP_LAUNCH_CONTEXT
GDK_APP_LAUNCH_CONTEXT_CLASS
GDK_APP_LAUNCH_CONTEXT_GET_CLASS
GDK_IS_APP_LAUNCH_CONTEXT
GDK_IS_APP_LAUNCH_CONTEXT_CLASS
GDK_TYPE_APP_LAUNCH_CONTEXT
GdkAppLaunchContextClass
GdkAppLaunchContextPrivate
<SUBSECTION Private>
gdk_app_launch_context_get_type
</SECTION>
<SECTION>
<TITLE>Testing</TITLE>
<FILE>gdktesting</FILE>
gdk_test_render_sync
gdk_test_simulate_button
gdk_test_simulate_key
</SECTION>

View File

@@ -1,7 +1,3 @@
<?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="multihead" revision="1 May 2002">
<refmeta>
<refentrytitle>Multi-head Support Overview</refentrytitle>

View File

@@ -85,12 +85,3 @@ Cairo paths and to use pixbufs as sources for drawing operations.
@region:
<!-- ##### FUNCTION gdk_cairo_reset_clip ##### -->
<para>
</para>
@cairo_t:
@drawable:

View File

@@ -126,7 +126,7 @@ The colormap structure contains the following public fields.
@colormap:
@colors:
@n_colors:
@ncolors:
@writeable:
@best_match:
@success:
@@ -150,7 +150,7 @@ The colormap structure contains the following public fields.
@colormap:
@colors:
@n_colors:
@ncolors:
<!-- ##### FUNCTION gdk_colormap_query_color ##### -->

View File

@@ -121,9 +121,8 @@ The standard cursors available.
@GDK_WATCH: <inlinegraphic format="PNG" fileref="watch.png"></inlinegraphic>
@GDK_XTERM: <inlinegraphic format="PNG" fileref="xterm.png"></inlinegraphic>
@GDK_LAST_CURSOR: last cursor type
@GDK_BLANK_CURSOR: Blank cursor. Since 2.16
@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
<!-- ##### FUNCTION gdk_cursor_new ##### -->
<para>

View File

@@ -179,7 +179,7 @@ or a #GdkWindow.
@drawable:
@gc:
@points:
@n_points:
@npoints:
<!-- ##### FUNCTION gdk_draw_line ##### -->
@@ -202,7 +202,7 @@ or a #GdkWindow.
@gc:
@points:
lines.
@n_points:
@npoints:
<!-- ##### FUNCTION gdk_draw_pixbuf ##### -->
@@ -231,7 +231,7 @@ lines.
@drawable:
@gc:
@segs:
@n_segs:
@nsegs:
<!-- ##### STRUCT GdkSegment ##### -->
@@ -285,7 +285,7 @@ function.
@gc:
@filled:
@points:
@n_points:
@npoints:
<!-- ##### FUNCTION gdk_draw_trapezoids ##### -->

View File

@@ -259,11 +259,8 @@ Generated when the pointer enters or leaves a window.
@y: the y coordinate of the pointer relative to the window.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
@mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB,
%GDK_CROSSING_UNGRAB, %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB or
%GDK_CROSSING_STATE_CHANGED). %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB,
and %GDK_CROSSING_STATE_CHANGED were added in 2.14 and are always synthesized,
never native.
@mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB or
%GDK_CROSSING_UNGRAB).
@detail: the kind of crossing that happened (%GDK_NOTIFY_INFERIOR,
%GDK_NOTIFY_ANCESTOR, %GDK_NOTIFY_VIRTUAL, %GDK_NOTIFY_NONLINEAR or
%GDK_NOTIFY_NONLINEAR_VIRTUAL).
@@ -477,10 +474,6 @@ Specifies the crossing mode for #GdkEventCrossing.
@GDK_CROSSING_NORMAL: crossing because of pointer motion.
@GDK_CROSSING_GRAB: crossing because a grab is activated.
@GDK_CROSSING_UNGRAB: crossing because a grab is deactivated.
@GDK_CROSSING_GTK_GRAB: crossing because a GTK+ grab is activated.
@GDK_CROSSING_GTK_UNGRAB: crossing because a GTK+ grab is deactivated.
@GDK_CROSSING_STATE_CHANGED: crossing because a GTK+ widget changed state (e.g.
sensitivity).
<!-- ##### ENUM GdkNotifyType ##### -->
<para>

View File

@@ -92,9 +92,6 @@ for the possible window states
was added in 2.6
@GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type
was added in 2.8.
@GDK_DAMAGE: the content of the window has been changed. This event type
was added in 2.14.
@GDK_EVENT_LAST: marks the end of the GdkEventType enumeration. Added in 2.18
<!-- ##### ENUM GdkEventMask ##### -->
<para>

View File

@@ -459,12 +459,6 @@ status information, so the application does not need to do anything.
@GDK_PIXBUF_ALPHA_BILEVEL:
@GDK_PIXBUF_ALPHA_FULL:
<!-- ##### STRUCT GdkWindowRedirect ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_color_context_add_palette ##### -->
<para>

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