2007-06-15 Matthias Clasen * === Released 2.11.3 === 2007-06-15 Johan Dahlin * gtk/gtkuimanager.c: Base class should be GObject, not GtkObject. 2007-06-15 Matthias Clasen * gtk/gtkbuildable.c: * gtk/gtkbuilder.c: Documentation fixes * gtk/gtktreeview.c: Fix up cross-references in docs. * gtk/Makefile.am: Don't install gtkbuilderprivate.h * gtk/gtk.h: Include gtkbuilder.h * NEWS: Updates 2007-06-15 Johan Dahlin * gtk/gtkbuilder.c (gtk_builder_add_from_file): (gtk_builder_value_from_string_type): Use gsize instead of unsigned and gulong instead of long, fixes complation on OSX, fixes #447987 2007-06-15 Matthias Clasen * gtk/gtkmenushell.[ch]: add move_selected signal to allow overriding the default internal behaviour. (#446833, Ryan Lortie) 2007-06-15 Mathias Hasselmann * gtk/gtkwidget.c: Forgot to free the unescaped tooltip text. 2007-06-15 Mathias Hasselmann * gtk/gtkwidget.c: Improving handling of tooltip-text property. * tests/testtooltips.c: Also check result of tooltip getters. 2007-06-15 Mathias Hasselmann * docs/reference/gtk/gtk-sections.txt, gtk/gtk.symbols, gtk/gtkwidget.c, gtk/gtkwidget.h, tests/testtooltips.c: Introduce convenience property "GtkWidget:tooltip-text" taking care of escaping it for unwanted markup entities. Add functions to set tooltip text: gtk_widget_set_tooltip_text(), gtk_widget_set_tooltip_markup(), gtk_widget_get_tooltip_text(), gtk_widget_get_tooltip_markup(). * gtk/gtktooltip.c, gtk/gtktooltip.h: Add gtk_tooltip_set_text() to set the tooltip text without using markup. Patches from Emmanuele Bassi (#447643). 2007-06-15 Johan Dahlin reviewed by: Matthias Clasen * 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 2007-06-15 Hans Breuer * gtk/makefile.msc.in tests/makefile.msc : updated * gdk/win32/gdkwindow-win32.c : explicit usage of RegisterClassExW to match the WNDCLASSEXW. True dynamic linking of SetLayeredWindowAttributes * tests/testprint.c tests/testnouiprint.c : use G_PI 2007-06-14 Johan Dahlin * gtk/gtk.symbols: Add missing symbol gtk_text_layout_set_overwrite_mode 2007-06-14 Behdad Esfahbod * gtk/gtknotebook.c (gtk_notebook_get_group_id): Fix compiler warning. (#447586, Kazuki IWAMOTO) 2007-06-14 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Use g_win32_get_windows_version() instead of _winver so that this compiles on Cygwin, too. Not that I know if it makes sense to build GTK+ with the Win32 backend for Cygwin, but some people want to. 2007-06-13 Matthias Clasen * NEWS: Updates * NEWS, README.in: Move the combobox note to the README, where it seems more appropriate. 2007-06-13 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_modify_cursor): Improve docs. (#447396, Masatake YAMATO) 2007-06-14 Carlos Garnacho * gtk/gtkcombobox.c: removed unused and hardly visible GtkFrame from the menu widget hierarchy when ::appears-as-list is TRUE. (#435471) * NEWS: add a note about repercussions of this change to RC files. 2007-06-13 Behdad Esfahbod * gdk/directfb/gdkgc-directfb.c: #undef GDK_DISABLE_DEPRECATED to get prototype for gdk_font_ref(). (#447163, Dann Frazier, Loïc Minier) 2007-06-13 Michael Natterer * gtk/gtkmenuitem.[ch]: add "submenu" property. Fix gtk_menu_item_set_submenu() to accept NULL submenus and deprecate gtk_menu_item_remove_submenu() because we have a properly working setter now (bug #447065). * gtk/gtk.symbols: deprecate gtk_menu_item_remove_submenu(). * gtk/gtkcombobox.c: use gtk_menu_item_set_submenu() instead of gtk_menu_item_remove_submenu(). 2007-06-13 Cody Russell * gtk/gtkwidget.c: Fix inconsistency in GTK_WIDGET_SAVED_STATE (#435840, Xan Lopez) 2007-06-13 Kristian Rietveld * gtk/gtk.symbols * gtk/gtkfilesystem.[ch]: rename _gtk_file_system_create to gtk_file_system_create to make it public and bring trunk back in sync with gtk-2-10. * gtk/gtkfilechooserdefault.c (set_file_system_backend): updated. 2007-06-13 Michael Natterer * gtk/gtklabel.c (gtk_label_set_label): added calls to g_object_freeze/thaw_notify() so gtk_label_get_text() doesn't return the old text when called from a "notify::label" callback. 2007-06-13 Kristian Rietveld Audit of GtkTreeView coordinate system usage. (#142494). * gtk/gtktreeview.[ch]: general documentation updates, (gtk_tree_view_scroll_to_cell), (gtk_tree_view_get_dest_row_at_pos): update coordinate translations, (gtk_tree_view_tree_to_widget_coords), (gtk_tree_view_widget_to_tree_coords): Deprecated, (gtk_tree_view_convert_.*_coords): 6 new functions for doing transformations between coordinate systems. * gtk/gtk.symbols: updated. * tests/testtooltips.c (query_tooltip_tree_view_cb): fix testcase with new gtk_tree_view_convert_widget_to_bin_window_coords(). * docs/reference/gtk/Makefile.am * docs/reference/gtk/images/tree-view-coordinates.png: add new image. * docs/reference/gtk/tmpl/gtktreeview.sgml: eloborate on the different coordinate systems. 2007-06-13 Kristian Rietveld * gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_class_init), (gtk_cell_renderer_progress_init), (gtk_cell_renderer_progress_[gs]et_property), (gtk_cell_renderer_progress_render): Add orientation property and some slight refactoring here and there. (Fixes #344836, reported by Benjamin Montgomery). 2007-06-12 Matthias Clasen * gdk/Makefile.am: Remove linux-fb from DIST_SUBDIRS * configure.in: Remove linux-fb parts. 2007-06-12 Michael Natterer * gtk/gtkiconview.c (update_text_cell): use PANGO_BREAK_WORD_CHAR instead of PANGO_BREAK_WORD so the text cell doesn't overflow the wrap-width if there is no whitespace found to break at. Fixes bug #446107. 2007-06-12 Kristian Rietveld Fix #410815, reported by Lucas Rocha. * gtk/gtkiconview.c (gtk_icon_view_layout): determine a suitable wrap-width with the first icon, if it exists, (adjust_wrap_width): try to use icon_view->priv->item_width if available, (gtk_icon_view_set_cell_data): don't call adjust_wrap_width here, which caused changes in wrap-width during the layouting process and resulted in layouting artefacts, (update_text_cell): don't set the wrap-width property, this should be handled by adjust_wrap_width. 2007-06-12 Behdad Esfahbod * gdk/gdkwindow.c (gdk_window_get_pointer): Improve docs. (#446138, Björn Lindqvist) 2007-06-12 Yevgen Muntyan * gtk/gtkentry.c (gtk_entry_expose), (gtk_entry_toggle_overwrite), (gtk_entry_draw_cursor): * gtk/gtkstyle.c (_gtk_widget_get_cursor_gc), (_gtk_widget_get_cursor_color): * gtk/gtkstyle.h: * gtk/gtktextdisplay.c (gtk_text_renderer_prepare_run), (gtk_text_renderer_draw_shape), (text_renderer_set_state), (render_para): * gtk/gtktextlayout.c (gtk_text_layout_set_overwrite_mode), (gtk_text_layout_invalidate_cache), (get_block_cursor), (add_cursor), (gtk_text_layout_get_line_display), (_gtk_text_layout_get_block_cursor): * gtk/gtktextlayout.h: * gtk/gtktextutil.c (layout_get_char_width), (_gtk_text_util_get_block_cursor_location): * gtk/gtktextutil.h: * gtk/gtktextview.c (gtk_text_view_set_editable), (gtk_text_view_toggle_overwrite), (gtk_text_view_set_overwrite), (gtk_text_view_ensure_layout), (text_window_invalidate_cursors): Implement block-cursor for overwrite mode. (#80378) 2007-06-11 Matthias Clasen * configure.in: Bump GLib requirement to 2.13.3 (#446616, Behdad Esfahbod) 2007-06-11 Matthias Clasen * modules/printbackends/cups/gtkprintbackendfile.c: * modules/printbackends/cups/gtkprintbackendcups.c: Fix some locking issues. (#420249, Christian Persch) 2007-06-11 Matthias Clasen * configure.in: When debugging is turned on, use error-checking mutexes. 2007-06-11 Emmanuele Bassi * gtk/gtknotebook.h: Fix declaration of the create_window() vfunc inside GtkNotebookClass. (#446513, Kazuki Iwamoto) 2007-06-11 Matthias Clasen * tests/testiconview.c: Use icons of varying size. 2007-06-10 Matthias Clasen * gtk/gtkrc.c (gtk_rc_parse_style): Accept class names starting with lowercase letters for style property assignments, since GType accepts these too, and gtkmm uses such class names. (#343012, Murray Cumming, Johannes Schmid) 2007-06-10 Matthias Clasen * gtk/gtkentry.c (gtk_entry_finalize): Don't leak cursor_hadjustment. Store cursor_hadjustment as object data rather than in the private struct. 2007-06-10 Matthias Clasen * gdk/x11/gdkspawn-x11.c (set_environment): Handle child_setup being NULL. (#445691, Christopher Taylor) 2007-06-10 Emmanuele Bassi * gtk/gtksearchenginesimple.c: Unconditionally define _GNU_SOURCE and XOPEN_SOURCE, in order to make the simple search engine backend build on really ancient GNU libc. (#444097) 2007-06-10 Michael Natterer * gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_arc): fix angles by flipping the coordinate system back to its original y direction. The implementation is still broken for ellipses, will have to simulate them using bezier curves. 2007-06-10 Cody Russell * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Don't revert the mouse cursor to the built-in one when the user holds the mouse button down. (#445284, Tor Lillqvist) 2007-06-10 Emmanuele Bassi * gtk/gtkscalebutton.[ch]: Fix some coding style bits. (gtk_scale_button_dispose), (gtk_scale_button_class_init), (gtk_scale_button_init): Use the GObject private data API instead of allocating the private structure ourselves. (gtk_scale_button_dispose), (gtk_scale_button_finalize): Free the icons string vector inside ::finalize and not in ::dispose. (gtk_scale_button_update_icon): Use g_strv_length() instead of an empty for loop. 2007-06-09 Matthias Clasen * gtk/gtkwidget.c: * gtk/gtkscrolledwindow.c: Update docs * gtk/gtkwidget.h: Deprecate gtk_widget_{ref,unref} * gtk/gtkbox.c: Move docs inline. * gtk/gtkrange.c: * gtk/gtkscale.c: Doc formatting improvements. 2007-06-09 Matthias Clasen * gtk/gtkscalebutton.c: Add an icons property, make gtk_scale_button_new() a convenience function. (#445855, Murray Cumming) 2007-06-09 Matthias Clasen * gtk/gtkhscale.c (gtk_hscale_new): * gtk/gtkvscale.c (gtk_vscale_new): Cosmetic change to make it more obvious that this is a convenience function. 2007-06-09 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_init): Handle return values from nl_langinfo() more correctly. 2007-06-09 Carlos Garnacho * gtk/gtkrc.c (gtk_rc_parse_engine): initialize rc_priv in the else branch too. (#445539) 2007-06-08 Benjamin Berg * gtk/gtkscrolledwindow.c: (gtk_scrolled_window_paint): Fix shadow painting if the scrollbars-within-bevel style property is set and border_width is nozero. (#445054) 2007-06-08 Matthias Clasen Make it possible for theme engines to support symbolic colors. (#426192, Andrea Cimitan, patch by Olivier Samyn) * gtk/gtk.symbols: * gtk/gtkrc.h: * gtk/gtkrc.c (gtk_rc_parse_color_full): Export this function * gtk/gtkrc.c (gtk_rc_parse_engine): Copy color hashes to new style before parsing engine section. 2007-06-08 Michael Natterer * gdk/quartz/gdkdrawable-quartz.c: add utility function gdk_quartz_fix_cap_not_last_line() which fixes the coordinates for GDK_CAP_NOT_LAST lines at least for horizontal and vertical lines. (gdk_quartz_draw_segments) (gdk_quartz_draw_lines): use it here. 2007-06-07 Michael Natterer * gdk/quartz/gdkgc-quartz.c: add gdk_gc_quartz_init() and set some values to the defaults used by X11. (gdk_quartz_gc_set_values): really set cap_style when GDK_GC_CAP_STYLE is in the mask, not line_style. 2007-06-07 Michael Natterer * gdk/quartz/gdkgc-quartz.c (_gdk_quartz_gc_update_cg_context): use the same code for GDK_XOR as for GDK_INVERT. Xor with an arbitrary color is impossible to implement with quartz. 2007-06-07 Matthias Clasen * gtk/gtksettings.c: Fix a typo in the docs. 2007-06-07 Christian Neumair * gtk/gtkstock.[ch]: Add GTK_STOCK_DISCARD, #158008. 2007-06-07 Matthias Clasen * gtk/gtktreeview.c: Documentation additions. * gtk/gtknotebook.c: Add a doc comment. 2007-06-06 Matthias Clasen * gtk/gtkfilechooserbutton.c (model_add_special): * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): * gtk/gtkfilesystemunix.c (get_icon_name_for_directory): * gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): Use g_get_user_special_dir() to obtain the path for the DESKTOP directory.