Commit Graph

300 Commits

Author SHA1 Message Date
10:49:20 Tim Janik
4111cf2065 Bug 318807 – Offscreen windows and window redirection.
2008-03-18 10:49:20  Tim Janik  <timj@imendio.com>

	* Applied pixmap redirection patch by Alexander Larsson with
	various updates from:
	Bug 318807 – Offscreen windows and window redirection.


	Updates:

	* updated docs to mention "Since 2.16".

	* tests/testgtk.c: fixed snapshooting pixmap leak.
	convert pixmap to pixbuf after snapshooting, to compensate for different
	bit depths (occurs when snapshooting ARGB visuals and displaying the
	pixmap in an RGB visual).

	* gdk/gdkwindow.[hc]: made GdkWindowRedirect private.

	* gdk/gdkwindow.c: removed damage idle handler, there's no aparent
	need for it. enqueue damage notification as GDK_DAMAGE events
	for each painting redirection at the start of the event queue.
	consider windows with a redirection fully visible when invalidating,
	and when updating from backing store. cleaned up stale variables.

	* gdk/gdkevents.c: added _gdk_event_queue_prepend().

	* gtk/gtkwidget.c: fixed coordinates for !NO_WINDOW widgets in
	gtk_widget_get_snapshot; this fixes garbage snap offsets for gammacurve,
	tree, drawingarea, text, handlebox, etc.
	clip the redirected window hierarchy to window sizes, the visible
	rectangles don't need to be taken into account here.
	extended snapshooting docs to recommend gdk_pixbuf_get_from_drawable()
	in case pixmap visuals could mismatch.

	* gdk/x11/gdkwindow-x11.c: removed _gdk_windowing_window_get_visible_rect().


	Base patch:

	* tests/testgtk.c: add a "Snapshot" test to demonstrate snapshooting
	of possibly obscured widgets into an offscreen pixmap.

	* gtk/gtkwidget.[hc]: add GtkWidget::damage-event signal, add
	gtk_widget_get_snapshot() to render a widget's contents to a GdkPixmap.

	* gtk/gtkmain.c: dispatch GDK_DAMAGE events.

	* gdk/gdkwindow.c: moved outer gdk_window_new() and gdk_window_reparent()
	implementations here, adapted them to propagate redirects to child windows.
	gdk_window_end_paint(): copy repainted window contents to redirection pixmap,
	clipped to visible region. queue GDK_DAMAGE event delivery.
	gdk_window_redirect_to_drawable(): install window painting redirection.
	gdk_window_remove_redirection(): remove previously installed redirection.

	* gdk/x11/gdkwindow-x11.c: added _gdk_windowing_window_get_visible_rect(),
	renamed _gdk_window_new() and _gdk_window_reparent().

	* gdk/gdkwindow.h: added GdkWindowRedirect* to GdkWindowObject, export
	gdk_window_redirect_to_drawable() and gdk_window_remove_redirection().

	* gdk/gdkevents.h: added GDK_DAMAGE event type.

	* gdk/gdkevents.c: extract time and state from GDK_DAMAGE events.

	* gdk/gdkinternals.h: added internal prototypes.



svn path=/trunk/; revision=20122
2008-05-21 19:04:24 +00:00
14:27:34 Tim Janik
4d1892710f Bug 503071 - Application direction changes to right to left even if theres
2008-05-20 14:27:34  Tim Janik  <timj@imendio.com>

        * reverted recent unapproved changes by Yair Hershkovitz, regarding:
        Bug 503071 - Application direction changes to right to left even if theres no translation.



svn path=/trunk/; revision=20116
2008-05-20 13:03:41 +00:00
Yair Hershkovitz
f0ded97ab4 gtk_disable_setlocale() - Added a call to g_disable_setlocale().
2008-05-17  Yair Hershkovitz  <yairhr@gmail.com>

	* gtk/gtkmain.c: gtk_disable_setlocale() - Added a call to
	g_disable_setlocale().

svn path=/trunk/; revision=20107
2008-05-16 22:57:37 +00:00
Yair Hershkovitz
986cbebc53 g_i18n_init(); -> g_i18n_init ();
2008-05-12  Yair Hershkovitz  <yairhr@gmail.com>

        * gtk/gtkmain.c: g_i18n_init(); -> g_i18n_init ();


svn path=/trunk/; revision=20095
2008-05-12 07:59:00 +00:00
Yair Hershkovitz
670775d8d8 call g_i18n_init() in gettext_initialization(). do gettext_initialization
2008-05-11  Yair Hershkovitz  <yairhr@gmail.com>

        * gtk/gtkmain.c: call g_i18n_init() in gettext_initialization(). do
        gettext_initialization only once.

        *  gtk/gtkbuilderparser.c: use glib i18n api. removed dpgettext() as it
        duplicates g_dpgettext() and added _g_dpgettext() to wrap g_dpgettext 
        with the extended functionality that was in the removed dpgettext().

        * gtk/gtkaccellabelc:
        * gtk/gtkstock.c:
        * gtk/gtkimmulticontext.c:
        * gtk/gtkactiongroup.c:
        * gtk/gtkintl.h: use glib i18n api.


svn path=/trunk/; revision=20091
2008-05-11 09:49:30 +00:00
Michael Natterer
53dd05475b include <pango/pango.h> instead of <pango/pango-layout.h>.
2008-04-25  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkprintcontext.h: include <pango/pango.h> instead of
	<pango/pango-layout.h>.

	* gtk/gtkiconfactory.c
	* gtk/gtkimmodule.c
	* gtk/gtkmain.c
	* gtk/gtkmodules.c
	* gtk/queryimmodules.c: remove inclusion of single files from
	pango, none of them was actually needed.

	* modules/input/gtkimcontextime.c: include <pango/pango.h> instead of
	<pango/pango-utils.h>.


svn path=/trunk/; revision=20042
2008-04-25 15:18:07 +00:00
Michael Natterer
e7355f82c2 gtk/gtkcontainer.c gtk/gtkexpander.c gtk/gtkframe.c gtk/gtklabel.c
2008-02-06  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcontainer.c
	* gtk/gtkexpander.c
	* gtk/gtkframe.c
	* gtk/gtklabel.c
	* gtk/gtkmain.c
	* gtk/gtkmenu.c
	* gtk/gtkmenuitem.c
	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c
	* gtk/gtkseparatortoolitem.c
	* gtk/gtksocket.c
	* gtk/gtktextlayout.c
	* gtk/gtktoggletoolbutton.c
	* gtk/gtktoolbutton.c
	* gtk/gtktoolitem.c
	* gtk/gtktree.c
	* gtk/gtktreeitem.c: replace "foo && GTK_IS_FOO (foo)" by simply
	"GTK_IS_FOO (foo)".


svn path=/trunk/; revision=19481
2008-02-06 09:53:34 +00:00
Tor Lillqvist
10825b14b8 A proper build of GNU libintl is supposed to export the variable
2007-11-28  Tor Lillqvist  <tml@novell.com>

	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.


svn path=/trunk/; revision=19083
2007-11-28 01:06:07 +00:00
Matthias Clasen
7819005e2e Fix up some doc comments to shut up gtk-doc.
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmain.c:
        * gtk/gtknotebook.c:
        * gtk/gtkplugprivate.h:
        * gtk/gtksocket.c:
        * gtk/gtksocketprivate.h:
        * gtk/gtktable.c: Fix up some doc comments to shut up gtk-doc.


svn path=/trunk/; revision=19066
2007-11-26 20:15:15 +00:00
Matthias Clasen
5f4e93fe0a Make gtk_check_version() return const. (#496734, Nicolas Joseph)
2007-11-19  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmain.[hc]: Make gtk_check_version() return const.
        (#496734, Nicolas Joseph)



svn path=/trunk/; revision=19000
2007-11-19 05:34:19 +00:00
Matthias Clasen
b2ad97dd38 Stylistic fixes
svn path=/trunk/; revision=18974
2007-11-09 16:56:17 +00:00
Loïc Minier
3671b2bbe9 Fix "cannot open display" error message when display is set by the DISPLAY
2007-10-15  Loïc Minier  <lool@dooz.org>

        * gtk/gtkmain.c: (gtk_init): Fix "cannot open display" error message
        when display is set by the DISPLAY env var. (#486636, Mike Hommey)

svn path=/trunk/; revision=18909
2007-10-15 13:26:34 +00:00
Matthias Clasen
cfeb26315b Remove faulty and irrelevant enter-leave compression code. (#449167, patch
2007-06-21  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmain.c (gtk_main_do_event): Remove faulty and irrelevant
        enter-leave compression code.  (#449167, patch by Tim Janik)



svn path=/trunk/; revision=18213
2007-06-21 05:21:51 +00:00
Emmanuele Bassi
232e79a6d7 Use a static variable to hold the singleton and remove the code that binds
2007-06-19  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Use a static variable to hold the
	singleton and remove the code that binds a recent manager to
	a GdkScreen.

	(gtk_recent_manager_set_screen): Make it a NOOP.
	(gtk_recent_manager_get_for_screen): Proxy for
	gtk_recent_manager_get_default().

	* gtk/gtk.symbols:
	* gtk/gtkrecentmanager.h: Deprecate gtk_recent_manager_set_screen()
	and gtk_recent_manager_get_for_screen().

	* gtk/gtkmain.c: Force a synchronisation of the GtkRecentManager
	singleton (if any) when reaching main loop depth of 0.

	* gtk/gtkrecentchooserdefault.c:
	(gtk_recent_chooser_default_dispose): Disconnect the changed
	signal only if we have a manager and we are connected to it.

	(set_recent_manager): Ditto.

	* README.in: Document the deprecations.

svn path=/trunk/; revision=18184
2007-06-19 10:29:55 +00:00
Johan Dahlin
4d638bf0c1 Add GtkBuilder, fixes #172535
2007-06-15  Johan Dahlin  <jdahlin@async.com.br>

    * demos/gtk-demo/Makefile.am:
    * demos/gtk-demo/builder.c: (quit_activate), (about_activate),
    (do_builder):
    * demos/gtk-demo/demo.ui:
    * docs/reference/gtk/gtk-docs.sgml:
    * docs/reference/gtk/gtk-sections.txt:
    * docs/reference/gtk/gtk.types:
    * docs/reference/gtk/tmpl/gtkbuildable.sgml:
    * docs/reference/gtk/tmpl/gtkbuilder.sgml:
    * gtk/Makefile.am:
    * gtk/gtk.h:
    * gtk/gtk.symbols:
    * gtk/gtkaction.c: (gtk_action_buildable_init),
    (gtk_action_buildable_set_name), (gtk_action_buildable_get_name):
    * gtk/gtkactiongroup.c: (gtk_action_group_get_type),
    (gtk_action_group_buildable_init),
    (gtk_action_group_buildable_add),
    (gtk_action_group_buildable_set_name),
    (gtk_action_group_buildable_get_name):
    * gtk/gtkbuildable.c: (gtk_buildable_get_type),
    (gtk_buildable_set_name), (gtk_buildable_get_name),
    (gtk_buildable_add), (gtk_buildable_set_property),
    (gtk_buildable_parser_finished), (gtk_buildable_construct_child),
    (gtk_buildable_custom_tag_start), (gtk_buildable_custom_tag_end),
    (gtk_buildable_custom_finished),
    (gtk_buildable_get_internal_child):
    * gtk/gtkbuildable.h:
    * gtk/gtkbuilder.c: (gtk_builder_class_init), (gtk_builder_init),
    (gtk_builder_finalize), (gtk_builder_set_property),
    (gtk_builder_get_property), (_gtk_builder_resolve_type_lazily),
    (gtk_builder_real_get_type_from_name),
    (gtk_builder_get_parameters), (gtk_builder_get_internal_child),
    (_gtk_builder_construct), (_gtk_builder_add),
    (apply_delayed_properties), (_gtk_builder_finish),
    (gtk_builder_new), (gtk_builder_add_from_file),
    (gtk_builder_add_from_string), (gtk_builder_get_object),
    (object_add_to_list), (gtk_builder_get_objects),
    (gtk_builder_set_translation_domain),
    (gtk_builder_get_translation_domain),
    (gtk_builder_connect_signals_default),
    (gtk_builder_connect_signals), (gtk_builder_connect_signals_full),
    (gtk_builder_value_from_string),
    (gtk_builder_value_from_string_type),
    (_gtk_builder_enum_from_string), (_gtk_builder_flags_from_string),
    (gtk_builder_get_type_from_name), (gtk_builder_error_quark):
    * gtk/gtkbuilder.h:
    * gtk/gtkbuilderparser.c: (state_push), (state_peek), (state_pop),
    (error_missing_attribute), (error_invalid_attribute),
    (error_invalid_tag), (builder_construct), (parse_object),
    (free_object_info), (_get_type_by_symbol), (parse_child),
    (free_child_info), (parse_property), (free_property_info),
    (parse_signal), (_free_signal_info), (parse_interface),
    (create_subparser), (free_subparser), (subparser_start),
    (subparser_end), (parse_custom), (start_element), (end_element),
    (text), (_gtk_builder_parser_parse_buffer):
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkcelllayout.c: (attributes_start_element),
    (attributes_text_element),
    (_gtk_cell_layout_buildable_custom_tag_start),
    (_gtk_cell_layout_buildable_custom_tag_end),
    (_gtk_cell_layout_buildable_add):
    * gtk/gtkcelllayout.h:
    * gtk/gtkcellview.c: (gtk_cell_view_buildable_init),
    (gtk_cell_view_buildable_custom_tag_start),
    (gtk_cell_view_buildable_custom_tag_end):
    * gtk/gtkcolorseldialog.c:
    (gtk_color_selection_dialog_buildable_interface_init),
    (gtk_color_selection_dialog_buildable_get_internal_child):
    * gtk/gtkcombobox.c: (gtk_combo_box_buildable_init),
    (gtk_combo_box_buildable_custom_tag_start),
    (gtk_combo_box_buildable_custom_tag_end):
    * gtk/gtkcomboboxentry.c:
    (gtk_combo_box_entry_buildable_interface_init),
    (gtk_combo_box_entry_buildable_get_internal_child):
    * gtk/gtkcontainer.c: (gtk_container_get_type),
    (gtk_container_buildable_init), (gtk_container_buildable_add),
    (gtk_container_buildable_set_child_property),
    (attributes_start_element), (attributes_text_element),
    (gtk_container_buildable_custom_tag_start),
    (gtk_container_buildable_custom_tag_end):
    * gtk/gtkdebug.h:
    * gtk/gtkdialog.c: (gtk_dialog_buildable_interface_init),
    (gtk_dialog_buildable_get_internal_child),
    (attributes_start_element), (attributes_text_element),
    (gtk_dialog_buildable_custom_tag_start),
    (gtk_dialog_buildable_custom_finished):
    * gtk/gtkentrycompletion.c: (gtk_entry_completion_buildable_init):
    * gtk/gtkexpander.c: (gtk_expander_buildable_add),
    (gtk_expander_buildable_init):
    * gtk/gtkfontsel.c:
    (gtk_font_selection_dialog_buildable_interface_init),
    (gtk_font_selection_dialog_buildable_get_internal_child):
    * gtk/gtkframe.c: (gtk_frame_buildable_init),
    (gtk_frame_buildable_add):
    * gtk/gtkiconview.c: (gtk_icon_view_buildable_init),
    (gtk_icon_view_buildable_custom_tag_start),
    (gtk_icon_view_buildable_custom_tag_end):
    * gtk/gtkliststore.c: (gtk_list_store_buildable_init),
    (list_store_start_element), (list_store_end_element),
    (list_store_text), (gtk_list_store_buildable_custom_tag_start),
    (gtk_list_store_buildable_custom_tag_end):
    * gtk/gtkmain.c:
    * gtk/gtknotebook.c: (gtk_notebook_buildable_init),
    (gtk_notebook_buildable_add):
    * gtk/gtksizegroup.c: (gtk_size_group_buildable_init),
    (size_group_start_element),
    (gtk_size_group_buildable_custom_tag_start),
    (gtk_size_group_buildable_custom_finished):
    * gtk/gtktreestore.c: (gtk_tree_store_buildable_init),
    (tree_model_start_element),
    (gtk_tree_store_buildable_custom_tag_start),
    (gtk_tree_store_buildable_custom_finished):
    * gtk/gtktreeview.c: (gtk_tree_view_buildable_init),
    (gtk_tree_view_buildable_add):
    * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_buildable_init):
    * gtk/gtkuimanager.c: (gtk_ui_manager_buildable_init),
    (gtk_ui_manager_buildable_add),
    (gtk_ui_manager_buildable_construct_child),
    (gtk_ui_manager_buildable_custom_tag_start),
    (gtk_ui_manager_buildable_custom_tag_end):
    * gtk/gtkwidget.c: (gtk_widget_get_type),
    (gtk_widget_buildable_interface_init),
    (gtk_widget_buildable_set_name), (gtk_widget_buildable_get_name),
    (gtk_widget_buildable_set_property),
    (gtk_widget_buildable_parser_finshed), (accel_group_start_element),
    (gtk_widget_buildable_custom_tag_start),
    (gtk_widget_buildable_custom_finshed):
    * gtk/gtkwindow.c: (gtk_window_buildable_interface_init),
    (gtk_window_buildable_set_property),
    (gtk_window_buildable_parser_finished):
    * tests/Makefile.am:
    * tests/buildertest.c: (builder_new_from_string), (test_parser),
    (signal_normal), (signal_after), (signal_object),
    (signal_object_after), (signal_first), (signal_second),
    (signal_extra), (signal_extra2), (test_connect_signals),
    (test_uimanager_simple), (test_domain), (test_translation),
    (test_sizegroup), (test_list_store), (test_tree_store),
    (test_types), (test_spin_button), (test_notebook),
    (test_construct_only_property), (test_children),
    (test_child_properties), (test_treeview_column), (test_icon_view),
    (test_combo_box), (test_combo_box_entry), (test_cell_view),
    (test_dialog), (test_accelerators), (test_widget), (main):

    Add GtkBuilder, fixes #172535


svn path=/trunk/; revision=18141
2007-06-15 17:53:46 +00:00
Matthias Clasen
8dc8ac3197 Fix a small leak
svn path=/trunk/; revision=17308
2007-02-16 06:09:02 +00:00
Kristian Rietveld
0ef946ed64 New tooltips API.
2007-02-06  Kristian Rietveld  <kris@imendio.com>

	New tooltips API.

	* gtk/Makefile.am
	* gtk/gtk.h
	* gtk/gtk.symbols: build system foo.

	* gtk/gtkmain.c (gtk_main_do_event): call tooltip event handler
	hook for appropriate events.

	* gtk/gtkmarshalers.list: add BOOLEAN:INT,INT,BOOLEAN,OBJECT.

	* gtk/gtkrc.c: add style for gtk-tooltip.

	* gtk/gtksettings.c (gtk_settings_class_init): make the
	different tooltip timeouts configurable.

	* gtk/gtkwidget.[ch]: add new properties, signals, make sure
	tooltips are hidden on unmap, destroy, update window event
	mask on realize, hook into focus change and show help
	handlers.

	* gtk/gtkwindow.h: move GtkWindow typdef to gtkwidget.h ...

	* gtk/gtktooltip.[ch]: new files.

	* tests/Makefile.am
	* tests/testtooltips.c: add test application.


svn path=/trunk/; revision=17264
2007-02-06 10:25:21 +00:00
Behdad Esfahbod
d698e3eaf2 Bug 340141 – Update to Pango 1.16 API
2006-12-24  Behdad Esfahbod  <behdad@gnome.org>

        Bug 340141 – Update to Pango 1.16 API

        * gdk/gdkpango.c (layout_iter_get_line_clip_region),
        (gdk_pango_layout_line_get_clip_region):
        * gtk/gtkcalendar.c (gtk_calendar_size_request):
        * gtk/gtkentry.c (gtk_entry_get_pixel_ranges),
        (get_layout_position), (gtk_entry_find_position),
        (gtk_entry_adjust_scroll):
        * gtk/gtkiconview.c (get_pango_text_offsets):
        * gtk/gtklabel.c (get_cursor_direction):
        * gtk/gtkstyle.c (get_insensitive_layout):
        * gtk/gtktextdisplay.c (render_para):
        * gtk/gtktextlayout.c (allocate_child_widgets),
        (find_display_line_below), (find_display_line_above),
        (gtk_text_layout_move_iter_to_previous_line),
        (gtk_text_layout_move_iter_to_next_line),
        (gtk_text_layout_move_iter_to_line_end),
        (gtk_text_layout_iter_starts_line),
        (gtk_text_layout_move_iter_to_x):
        * gtk/gtktextutil.c (limit_layout_lines):
        Use the _readonly version of pango_layout_iter_get_line(),
        pango_layout_iter_get_run(), pango_layout_get_line(), and
        pango_layout_get_lines().

        * gtk/gtkmain.c (gtk_get_default_language): Use
        pango_get_default_language().
2006-12-24 05:29:25 +00:00
Behdad Esfahbod
ddf72dc50a Fix minor typo in docs. (#378632, Hannes Mueller)
2006-11-23  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtkmain.c: Fix minor typo in docs. (#378632, Hannes Mueller)
2006-11-23 22:10:03 +00:00
Tor Lillqvist
dcf4f2ef1e Merge from 2.10 branch:
2006-10-11  Tor Lillqvist  <tml@novell.com>

	Merge from 2.10 branch:

	* gtk/gtkmain.c (do_pre_parse_initialization): On Win32, if
	environment variable LC_ALL or LANG is set, set the Win32 thread
	locale to the corresponding locale. Then call the C library
	setlocale() to set the C library locale accordingly. The
	inconsistency mentioned below is gone. (#339756) Do some special
	casing for Serbia and Montenegro. Handle the Latin and Cyrillic
	scripts for Azeri, Uzbek and Serbian.
	(enum_locale_proc): Helper function for the above functionality.

	* gtk/gtkcalendar.c (gtk_calendar_init): No longer need to check
	if the environment variables are set here, as they have already
	been taken into account and the Win32 thread locale has been
	set.
2006-10-10 21:51:11 +00:00
Matthias Clasen
805782a574 Handle display_name being NULL. (#354004, Chris Wilson)
2006-09-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (post_parse_hook):
	* gdk/gdk.c (gdk_init): Handle display_name being NULL.
	(#354004, Chris Wilson)
2006-09-03 05:26:45 +00:00
Matthias Clasen
be8f3c72ea Apply a patch by John Palmieri to use buffered io using GIOChannels, clean
2006-06-21  Matthias Clasen  <mclasen@redhat.com>

	Apply a patch by John Palmieri to use buffered io using
	GIOChannels, clean up error handling and support Cups 1.2
	api in the printing code.

	* acconfig.h:
	* configure.in: Detect Cups 1.2

	* gtk/gtkdebug.h:
	* gtk/gtkmain.c: Add a printing debug key.

	* gtk/gtkprintbackend.[hc]: Remove the GError parameter from
	gtk_print_backend_print_stream, and take a  GIOChannel instead
	of an fd.

	* gtk/gtkprinter-private.h:
	* gtk/gtkprinter.c: Replace the fd parameter of
	_gtk_printer_create_cairo_surface by a GIOChannel.

	* gtk/gtkprintjob.[hc]: Remove the GError parameter from
	gtk_print_job_send and make it return void.

	* gtk/gtkprintoperation-unix.c:
	* gtk/gtkprintjob.c: Adjust callers, add some debugging support.

	* modules/printbackends/Makefile.am: Fix DIST_SUBDIRS.

	* modules/printbackends/cups/Makefile.am:
	* modules/printbackends/lpr/Makefile.am: Add debug CFLAGS.

	* modules/printbackends/cups/gtkcupsutils.[hc]:
	* modules/printbackends/cups/gtkprintbackendcups.c:
	* modules/printbackends/file/gtkprintbackendfile.c:
	* modules/printbackends/lpr/gtkprintbackendfile.c: Adapt to
	the GIOChannel and GError changes, add debug output
2006-06-21 18:16:58 +00:00
Matthias Clasen
93b7abaf48 Don't skip internal children when emitting grab-notify. (#343425, Markku
2006-05-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_grab_notify_foreach): Don't skip internal
	children when emitting grab-notify.  (#343425, Markku Vire)
2006-05-31 03:55:55 +00:00
Alexander Larsson
d2cb6c6eb2 Make sure grab-notify is emitted on toplevels as well as child widgets.
2006-05-22  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkmain.c:
	Make sure grab-notify is emitted on toplevels as well as
	child widgets.

	* gtk/Makefile.am:
	* gtk/gtkwin32embedwidget.[ch]
	Add new widget used for win32 port to embed gtk+
	widgets in windows dialog.

	* gtk/gtkmarshalers.list:
	Add POINTER:VOID

	* gtk/gtkprintoperation-private.h:
	* gtk/gtkprintoperation.[ch]:
	Generic support for custom widgets in print dialog.

	* gtk/gtkprintoperation-win32.c:
	Implement custom widget support for win32.

	* tests/print-editor.c:
	Allow setting of font using custom widgets in the print dialog.
2006-05-22 17:19:10 +00:00
Matthias Clasen
993ffce842 More accidental commits 2006-04-06 03:29:48 +00:00
Matthias Clasen
4af02533bf One more optimization 2006-04-06 02:18:57 +00:00
Matthias Clasen
12704a67bc Rework the code which emits ::grab-notify signals to ensure that we emit
2006-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_grab_add, gtk_grab_remove, gtk_grab_notify)
	(gtk_grab_notify_foreach): Rework the code which emits ::grab-notify
	signals to ensure that we emit enough signals. Also optimize the
	code to not do unnecessary tree walking.

	* gtk/gtkwidget.c (gtk_widget_class_init): Document ::grab-notify.
2006-04-06 01:58:38 +00:00
Matthias Clasen
8862bf9233 Make gtk_args const 2006-04-04 03:52:36 +00:00
Matthias Clasen
6ff309a95c Get rid of an unnecessary static variable.
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c: Get rid of an unnecessary static variable.
2006-04-03 16:21:41 +00:00
Matthias Clasen
6aee75af24 Make sure gettext is initialized before using it. (#335129, Christian
2006-03-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_get_option_group): Make sure gettext
	is initialized before using it.  (#335129, Christian Persch)
2006-03-20 05:38:37 +00:00
Matthias Clasen
ede9695875 Set error when returning FALSE. (#333268, Paolo Maggi, Christian Persch)
2006-03-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (post_parse_hook): Set error when returning
	FALSE.  (#333268, Paolo Maggi, Christian Persch)
2006-03-06 17:34:35 +00:00
Matthias Clasen
dcfac2c69c Make this function public API. (#307099, Todd Berman)
2006-01-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkwindow.h:
	* gtk/gtkwindow.c (gtk_window_get_group): Make this function
	public API.  (#307099, Todd Berman)

	* gtk/gtkmenu.c:
	* gtk/gtkmain.c:
	* gtk/gtkentrycompletion.c:
	* gtk/gtkcombo.c:
	* gtk/gtkcombobox.c: Update all callers.
2006-01-10 04:33:30 +00:00
Matthias Clasen
73696ef8be Don't ignore errors from g_option_context_parse().
2005-12-06  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.c (gdk_parse_args):
	* gtk/gtkmain.c (gtk_parse_args): Don't ignore errors
	from g_option_context_parse().
2005-12-06 16:44:31 +00:00
Matthias Clasen
7dc70fba99 Use g_slice instead of mem chunks.
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c:
	* gtk/gtkuimanager.c:
	* gtk/gtktreedatalist.c:
	* gtk/gtktext.c:
	* gtk/gtkmain.c:
	* gtk/gtkitemfactory.c:
	* gtk/gtkseparator.[hc]:
	* gtk/gtkclist.[hc]:
	* gtk/gtkctree.c:
	* gtk/gtkgc.c: Use g_slice instead of mem chunks.
2005-12-05 21:28:32 +00:00
Tor Lillqvist
4ac3ee58b5 The locale directory is passed to bindtextdomain() which isn't
2005-09-29  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
	passed to bindtextdomain() which isn't UTF-8-aware, so convert to
	system codepage using g_win32_locale_filename_from_utf8().
	(#317457, Kazuki Iwamoto)
2005-09-28 23:46:10 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
92b1967c12 If the window is destroyed, we still need to deliver the destroy event.
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
	we still need to deliver the destroy event.  (#314980, Chris Lahey)
2005-09-02 17:29:38 +00:00
Matthias Clasen
37ef7f0389 Don't access the user data on destroyed windows, since at best it can be a
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_get_event_widget): Don't access
	the user data on destroyed windows, since at best
	it can be a stale pointer.  (#313953, Robin Green)
2005-08-19 16:46:57 +00:00
Matthias Clasen
888e68c28d Call gettext_initialization() here as well. (#311612, Dan Winship)
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (do_post_parse_initialization): Call
	gettext_initialization() here as well.  (#311612, Dan Winship)
2005-08-01 13:52:29 +00:00
Tor Lillqvist
5ed2b79897 Don't bother mentioning the -fnative-struct (used by GCC 2) switch in the
2005-07-19  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (check_sizeof_GtkWindow, check_sizeof_GtkBox):
	Don't bother mentioning the -fnative-struct (used by GCC 2) switch
	in the error message any longer.
2005-07-19 07:09:37 +00:00
Matthias Clasen
b2d302ee13 Call gettext_initialization before checking gtk_initialized, otherwise
2005-07-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_parse_args, gtk_init_with_args): Call
	gettext_initialization before checking gtk_initialized, otherwise
	there are scenarios where it is not called at all. For an
	example, see tests/testfilechooserbutton.c.  (#310323,
	Arkady L. Shane)
2005-07-18 17:13:24 +00:00
Matthias Clasen
9b356ea0d8 Add a GrabBroken event to GDK, and a grab-broken-event signal to
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	Add a GrabBroken event to GDK, and a grab-broken-event
	signal to GtkWidget.  (#107320, Simon Cooke, initial patch
	by John Ehresman)

	* gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type,
	define a GdkEventGrabBroken event struct.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	Generate GrabBroken events in response to WM_KILLFOCUS.

	* gdk/x11/gdkmain-x11.c: Generate GrabBroken events
	when a grab is broken by the window becoming unviewable,
	or by another grab from the same client.

	* gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event.

	* gtk/gtkwidget.c (gtk_widget_event_internal): Translate
	GrabBroken events into grab_broken_event signals.

	* gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken
	events.

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate
	the menu when the grab is broken.

	* gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop
	the color picker if the grab is broken.

	* gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if
	the grab is broken.
2005-06-25 07:10:40 +00:00
Michael Natterer
490bbe0214 return silently if "gtk_initialized" is TRUE. Re-enables calling GTK's
2005-05-02  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmain.c (do_post_parse_initialization): return silently if
	"gtk_initialized" is TRUE. Re-enables calling GTK's init functions
	multiple times when using gtk_get_option_group(), just as one can
	call gtk_init() multiple times without doing any harm.
2005-05-02 13:41:32 +00:00
Tor Lillqvist
474ddd204a Initailize gettext before use. Calling bindtextdomain() and
2005-04-22  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c: Initailize gettext before use. Calling
	bindtextdomain() and bind_textdomain_codeset() in
	do_post_parse_initialization() is too late. Put the calls in a new
	function gettext_initialization(), and call that from
	gtk_init_with_args() and gtk_parse_args(). Fixes #170948 for
	GTK+'s part, but the same problem occurs also at least in
	atk. Thanks to Robert Ögren, Daniel Atallah and Kevin Strange.
2005-04-22 07:35:37 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gtk/grk.symbols: Group symbols by header and source file.
	* gtk/makegtkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegtkalias.pl -def
	* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
	this file.
	* gtk/*.c: Include gtkalias.h after the other headers,
	include gtkaliasdef.c at the bottom.
	* gtk/*.h: Small cleanups.
2005-03-20 07:01:23 +00:00
Matthias Clasen
f1f0b19995 Typo fix. (#162278, Torsten Schoenfeld)
2004-12-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c (gtk_init_with_args): Typo fix.  (#162278,
	Torsten Schoenfeld)
2004-12-27 05:25:15 +00:00
Matthias Clasen
a6b96e8153 Document new functions.
2004-11-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmain.c: Document new functions.
2004-11-05 07:18:28 +00:00
Anders Carlsson
06c4bb44b1 New API to handle the clipboard manager.
2004-10-25  Anders Carlsson  <andersca@imendio.com>

	* gdk/gdk.symbols:
	* gdk/gdkdisplay.h:
	* gdk/x11/gdkdisplay-x11.c:
	(gdk_display_supports_clipboard_persistence),
	(gdk_display_store_clipboard):
	New API to handle the clipboard manager.

	* gtk/gtk.symbols:
	* gtk/gtkclipboard.c: (gtk_clipboard_class_init),
	(gtk_clipboard_finalize), (selection_clear_event_cb),
	(clipboard_unset), (gtk_clipboard_set_text),
	(gtk_clipboard_request_targets), (gtk_clipboard_wait_for_targets),
	(clipboard_peek), (gtk_clipboard_owner_change),
	(gtk_clipboard_wait_is_target_available),
	(gtk_clipboard_store_timeout), (gtk_clipboard_set_can_store),
	(gtk_clipboard_selection_notify), (gtk_clipboard_store),
	(_gtk_clipboard_store_all):
	* gtk/gtkclipboard.h:
	Add API for clipboard persistence and implement it, also add
	gtk_clipboard_wait_is_target_available.

	* gtk/gtkmain.c: (gtk_main):
	Call _gtk_clipboard_store_all before exiting.
2004-10-25 18:53:30 +00:00
Matthias Clasen
6fc2b8118a Implement icon theme caching. (#154034, Martijn Vernooij, caching schema
2004-10-19  Matthias Clasen  <mclasen@redhat.com>

	Implement icon theme caching.  (#154034, Martijn Vernooij,
	caching schema proposed by Owen Taylor, initial implementation
	by Anders Carlsson)

	* gtk/gtkdebug.h:
	* gtk/gtkmain.c: Add a "icontheme" debug flag.

	* gtk/Makefile.am (gtk_c_sources): Add gtkiconcache.c
	(gtk_private_h_sources): Add gtkiconcache.h
	(bin_PROGRAMS): Add gtk-update-icon-cache

	* gtk/gtkicontheme.c: Use icon caches if they are available.
	Currently, GTK+ uses the cache to get information about the
	available sizes, image file formats and .icon files. The
	actual image data, and the .icon file contents are not
	cached yet.

	* gtk/updateiconcache.c: A cmdline utility for generating
	icon cache files.

	* gtk/gtkiconcache.h:
	* gtk/gtkiconcache.c: The glue code to mmap an icon cache
	file and manage the information it contains.
2004-10-19 18:45:41 +00:00
Matthias Clasen
eabb63be3b Add a new debug flag, geometry, to debug size allocation.
2004-10-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdebug.h:
	* gtk/gtkwidget.c (gtk_widget_size_allocate): Add a new debug
	flag, geometry, to debug size allocation.
2004-10-08 15:26:02 +00:00