2003-09-30 Murray Cumming * gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable* instead of a GdkWindow*, because that what it is given. The documentation was already correct. This should cause no API/ABI breakage with C compilers. * gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c, gtkcellrenderertogger.c: Updated the declarations of the render vfunc implementation accordingly. 2003-09-30 Matthias Clasen * gdk/gdkkeys.c (gdk_keymap_class_init): Document the "direction-changed" and "keys-changed" signals. * gdk/gdkscreen.c (gdk_screen_class_init): Document the "size-changed" signal. * gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): Document the "display-opened" signal. * gdk/gdkdisplay.c (gdk_display_close): Doc tweak. (gdk_display_class_init): Document the "closed" signal. Sat Sep 27 16:02:40 2003 Soeren Sandmann * gtk/gtktextview.[ch]: rename property tab_moves_focus to accepts_tab. (#122709 again). 2003-09-27 Matthias Clasen * gtk/gtkwindow.c (gtk_window_new): * gtk/gtkitemfactory.c (gtk_item_factory_new): Document the fact that the newly created object does not come with a floating reference. (#103068, patch by Frederic Lespez) * gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor of GtkUIManager. Just leave GtkTranslateFunc undeprecated, since GtkActionGroup uses it. * tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since this test uses the soon-to-be-deprecated GtkItemFactory. * demos/gtk-demo/Makefile.am (demos): Add ui_manager.c, remove item_factory.c * demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c using GtkUIManager instead of GtkItemFactory. * tests/testmerge.c: Demonstrate the use of the connect-proxy signal. * gtk/gtkaction.c (connect_proxy): Add connect-proxy and disconnect-proxy signals to do small customizations like displaying tooltips in the statusbar without custom actions. (#122894, Philip Langdale) * gtk/gtkuimanager.c (update_node): Don't leak tooltip. Fri Sep 26 23:49:44 2003 Kristian Rietveld Landing the new ComboBox. Note that only gtkcombobox.h and gtkcomboboxentry.h are public. * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch], gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files. * gtk/Makefile.am, gtk/gtk.h: adding the new files. * tests/testcombo.c: and a new test. * tests/Makefile.am: adding the new test. 2003-09-25 Tor Lillqvist * demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows. 2003-09-21 Tor Lillqvist * gdk/win32/gdkevents-win32.c (handle_wm_paint): New function. Code split out from gdk_event_translate(). Needed because gdk_event_get_graphics_expose() couldn't do anything sensible otherwise. (Not that I think graphics exposes work anyway in gdk/win32, but at least now the code could work.) (gdk_event_get_graphics_expose): Call handle_wm_paint() instead of gdk_event_translate(), which couldn't have worked as it doesn't take any pre-allocated GdkEvent parameter any longer. (gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman) 2003-09-24 Matthias Clasen * demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips on toolitems. * gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems. * gtk/gtkuimanager.c (update_node): Don't complain about missing actions on popups. Re-set "tooltip" property on toolitems after adding them to parent to trigger proxy update. 2003-09-22 Matthias Clasen * tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT group member to test the fix for #122904. * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Add the action to the group before activating it, otherwise we may end up with multiple active group members. (#122904, Marco Pesenti Gritti) 2003-09-21 Matthias Clasen Changes to make cross-process merging feasible: * gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the merged UI definition. Remove the "changed" signal, since its role is now filled by "notify::ui". Instead add a "actions-changed" signal which gets emitted when the set of actions changes. * gtk/gtktoggleactionprivate.h: * gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio): Add a "draw_as_radio" property to toggle actions so that they can be used as proxies for radio actions much like the "draw_as_radio" property on check menu items enables them to operate as proxies for radio actions. Prevent the "show_all" trap for action-based menus (see http://mail.gnome.org/archives/gtk-devel-list/2003-September/ msg00260.html): * gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail() calls from static functions. * gtk/gtkuimanager.c (update_node): * gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed widgets whose visibility is externally controlled. * gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean "no_show_all" property with setter and getter. When TRUE, it keeps gtk_widget_{hide,show}_all() from modifying the visibility of the widget and its children. Sun Sep 21 23:13:37 2003 Soeren Sandmann * gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709) 2003-09-20 Tor Lillqvist * gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid including editor backup files. List files we want explicitly. * gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just calls setlocale (LC_CTYPE, NULL). On Windows, looks for the LC_ALL, LC_CTYPE and LANG environment variables, than calls g_win32_getlocale(). (gtk_get_default_language): Code snippet moved to above function, call it. * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave) * gtk/gtkrc.c (gtk_rc_context_parse_file): Call _gtk_get_lc_ctype() instead of setlocale(). Fri Sep 19 18:15:31 2003 Soeren Sandmann * gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping (#96632) Fri Sep 19 13:24:54 2003 Soeren Sandmann * gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve documentation. (#117306, Steve Chaplin) 2003-09-19 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms present on the US-International keyboard. For clarity, order keysyms in case statement according to numeric value. (gdk_keymap_translate_keyboard_state): Handle Caps Lock correctly. (#120176, Ken Rastatter and Owen Taylor) 2003-09-18 Matthias Clasen * gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to unref a closure, not g_object_unref(). (#122637, Marco Pesenti Gritti) Install accelerators on actions, not on proxies, support accelerator-only actions: * gtk/gtkmenu.c (get_accel_path): New function to get the accel path and its lock status either via _gtk_widget_get_accel_path() or by looking at the accel_path stored in the menu item itself and determining its lock status by peeking into the contained accel label. This was already (accidentally) committed a week ago. * gtk/gtkaction.h (gtk_action_set_accel_group): (gtk_action_[dis]connect_accelerator): New functions. * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group, accel_closure and accel_count. We must have a reference to the accel_group, since we need it in connect_proxy. The count is necessary to ensure that the accelerator isn't removed before the last proxy requesting it has been unmerged. (connect_proxy): Connect the accelerator to the action now, only set the accel_path on the menuitem. (remove_proxy): Disconnect the accelerator from the action, not from the menuitem. (gtk_action_set_accel_group): Set the accel group. (gtk_action_[dis]connect_accelerator): Count the number of times this functions have been called and install/remove the accelerator if the count leaves/reaches zero. * gtk/gtkuimanager.h (GtkUIManagerItemType): Add GTK_UI_MANAGER_ACCELERATOR. * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR. (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from elements. (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when type is GTK_UI_MANAGER_ACCELERATOR. (update_node): Set the accel group on actions before creating their proxies. Don't set the accel group on created menus. For NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator. (print_node): Also emit elements. * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. * gtk/gtkuimanager.c (update_node): Robustness improvements. 2003-09-17 Matthias Clasen * gtk/gtkuimanager.c (text_handler): Report unexpected character data as error from the GMarkup parser, otherwise things like gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) pass unexpectedly. Wed Sep 17 02:38:53 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally committed redraw_on_allocate change. Tue Sep 16 10:42:00 2003 Eric Warmenhoven * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below} stubs to fix compilation * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847). * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment variable. Patch from Marc Welz (#121347). 2003-09-16 Matthias Clasen * gtk/gtkaction.h: Apply egtk-format-protos. 2003-09-15 Matthias Clasen * gtk/gtkuimanager.c: Doc tweaks. Smart separators; see http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00133.html: * gtk/gtkuimanager.c (update_smart_separators): New function which implements "smart" separators by iterating once over the entries of a menu, hiding and showing separators as necessary. (update_node): Mark separators used as fences of placeholders as hidden. Explicitly added separators are marked as smart. Call update_smart_separators after updating a menu or toolbar node. Connect update_smart_separators to "notify::visible" signal on menu and tool items. * tests/merge-[12].ui: Test smart separators. Changes to allow setting action state before connecting signal; see the thread starting at http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00140.html: * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions): (gtk_action_group_add_radio_actions_full): Add value parameter to allow setting the currently selected group member before connecting signals. (GtkToggleActionEntry): Separate struct for constructing toggle actions, including a boolean to initialize the action state before connecting signals. (gtk_action_group_add_toggle_actions): (gtk_action_group_add_toggle_actions_full): New functions to construct toggle actions from an array of GtkToggleActionEntries. * demos/gtk-demo/appwindow.c: * tests/testactions.c: * tests/testmerge.c: Adjust to new action group API. Sun Sep 14 16:59:52 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow "gtk-toolbar-arrow" so themes can special-case it. Sun Sep 14 16:07:49 2003 Soeren Sandmann * gtk/Makefile.am (gtk_c_sources): sort the list of files. Sun Sep 14 15:49:00 2003 Soeren Sandmann * gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the PangoFontMetrics. Patch from Steve Chaplin (#122257). 2003-09-14 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (show_window_internal): Remove special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows, the usefulness of which was already in doubt. Removing it fixes bugs #118575 and #121851. Fri Sep 12 16:32:53 2003 Jonathan Blandford Merge from stable. * gtk/gtktreeview.c (gtk_tree_view_button_press): only save the pressed button (used to determine if we want to initiate a drag later on) if the current grab widget is either NULL or tree_view (Reported by Jeroen Zwartepoorte). 2003-09-12 Matthias Clasen * gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) (gdk_draw_text_wc): Add deprecation notes. (#121955, Martin Pool) 2003-09-11 Matthias Clasen * gdk/gdkpango.c: Doc tweaks. * tests/testgtk.c: Add table menu tests. * gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the GtkMenuPrivate struct itself. Pointed out by valgrind. * gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up properly. (#121998) Wed Sep 10 22:25:04 2003 Kristian Rietveld The table menu patch! Turns GtkMenu into a table, so you can attach menu items in numerous new ways! Be creative! Contains some bug fixes and RTL adaptions from Matthias Clasen. * gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend GtkMenuPrivate, introduce AttachInfo, add child properties enum, (gtk_menu_free_private), (gtk_menu_get_private): we have to free the heights array in the private struct, (gtk_menu_class_init): reorder code a bit, install child properties, (get_attach_info), (get_child_attach): new utility functions, (gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce child properties, for the attach info, (gtk_menu_remove): remove AttachInfo from menu item, (gtk_menu_real_insert): implemented algorithm to automagically place inserted menu items at the correct place in the table, (gtk_menu_size_request), (gtk_menu_size_allocate), (compute_child_offset): reworked/rewritten to support table menus, (gtk_menu_attach): new function, (find_child_containing), (gtk_menu_move_current): new functions to get table menu keynav right. * gtk/gtkmenu.h: add gtk_menu_attach() prototype. 2003-09-10 Matthias Clasen * gtk/gtksocket.c (gtk_socket_filter_func): Only remove PropertyNotify events from the stream if they have been handled, in order to enable extending the plug<->socket communication via properties. Wed Sep 10 01:06:44 2003 Kristian Rietveld Big TreeView DnD fixage, makes drops on empty models work, makes TreeStore DnD work and gets rid of gtk-tree-model-drop-append. Related bugs #95362 and #113314. I don't want to touch this code ever again. * gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field. * gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check for selection_data->length. * gtk/gtktreeview.c (struct DestRow), (dest_row_free), (set_dest_row), (get_dest_row): we don't store just the row ref anymore, but a struct with the row ref and additional info, (set_destination_row): handle drops on empty space and some style fixes, (get_logical_dest_row): also return path_down_mode/drop_append_mode flags, handle dropping childs on their new parents, rewrite drop append handling into something saner, (gtk_tree_view_drag_motion): show a "drop possible arrow" on empty spaces, (gtk_tree_view_drag_drop): updates for updated backend, (gtk_tree_view_drag_data_received): updates for updated backend, path down mode (treestore DnD) handling, (gtk_tree_view_set_drag_dest_row): set empty_view_drop flag, when we are trying to drop a row on an empty model, (gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag. * gtk/gtkliststore.c (gtk_list_store_drag_data_received), (gtk_list_store_row_drop_possible): style and drop-append fixes. * gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto. 2003-09-08 Alexander Larsson * gtk/gtkeventbox.[hc]: Implement gtk_event_box_get/set_input_only() * tests/testgtk.c: Tests for the new input only event boxes Mon Sep 8 21:44:20 2003 Kristian Rietveld Fixes from David Hampton via gtk-devel-list. * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix the call to gtk_tree_model_filter_add_root, (gtk_tree_model_filter_row_changed): bail out if c_path is not above the virtual root, allow building levels on the second try to convert the child path to a filter path, (gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual root when calling gtk_tree_model_filter_elt_get_path. 2003-09-07 Matthias Clasen * gtk/gtkuimanager.c (update_node): Fix a C99ism. (#121640, Josh Beam) Fixes for accelerator handling during (un)merging: * gtk/gtkuimanager.c (update_node): Move setting info-action after the switch, since the old action is needed in some cases. In cases of proxy type mismatch, disconnect the old proxy from the old action. * gtk/gtkaction.c (remove_proxy): Renamed from gtk_action_remove_proxy(). Move unsetting of the accelerator here from disconnect_proxy() in order to catch all cases of removing a proxy. (gtk_action_disconnect_proxy): Fix logic in g_return_if_fail() to fail if proxy isn't a proxy of action. 2003-09-07 Pablo Saratxaga * configure.in: Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to ALL_LINGUAS 2003-09-07 Matthias Clasen * gtk/gtkaction.c (disconnect_proxy): Make disconnect work for toolitems. 2003-09-06 Matthias Clasen * gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from prev_action, not from action. (Fix by David Hampton) Fri Sep 5 14:15:10 2003 Owen Taylor * Back out locale-dependent interpretation of KP_Decimal, the official XFree86 interpretation is that KP_Decimal => . KP_Separator => , always, independent of locale. (#105161, Frederic Crozat, http://bugs.xfree86.org/show_bug.cgi?id=534) 2003-09-04 Matthias Clasen * tests/testmerge.c: Test buttons and toggle buttons as proxies. * gtk/gtktoggleaction.c (connect_proxy): (gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note that a "draw_as_radio" property is needed for check buttons similar to check menu items, in order to fully support button proxies for radio actions. * gtk/gtkaction.c (connect_proxy): Allow buttons as proxies. * tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). * gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the 'type' argument of gtk_ui_manager_add_ui(). * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments to make this function as powerful as the XML methods of adding UI. (#120647) Thu Sep 4 19:11:23 2003 Kristian Rietveld Merge from stable. * docs/RELEASE-HOWTO: updates. 2003-09-04 Matthias Clasen * tests/merge-2.ui: Use "position" instead of "pos". * gtk/gtkuimanager.c (start_element_handler): No need to be terse: Change the name of the "pos" attribute to "position". 2003-09-04 Matthias Clasen * gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and GtkUIManagerNode to shorten the names and to make the GTK_UI_MANAGER_ names available for a public enum. * gtk/gtkactiongroup.c: * gtk/gtkuimanager.c: Various doc tweaks. * gtk/gtkuimanager.c (start_element_handler): (end_element_handler): Improve error reporting. Wed Sep 3 23:18:17 2003 Kristian Rietveld Merge from stable. * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, use end_position - page_size instead of G_MAXINT, since gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, reported by Havoc Pennington). Wed Sep 3 21:58:03 2003 Kristian Rietveld Merge from stable. * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, unref it. (Fixes memleak, patch from Kjartan Maraas). Wed Sep 3 21:38:26 2003 Kristian Rietveld * gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c, gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c, gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c, gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c, gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c, gtk/gtktypeutils.h: big patch from Kjartan Maraas to fix numerous typos. Wed Sep 3 17:38:01 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: Correct compile line for threads example. 2003-09-02 Tor Lillqvist * gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call CloseHandle() on the HMODULE returned from GetModuleHandle(). Didn't cause any harm, but didn't do anything useful either. When running a GTK+ program under MS's debugger, the CloseHandle() call would cause a "first-chance exception" in ntdll.dll to show up. (The exception is caught appropriately if you let it proceed, but it confuses the person using the debugger). Thanks to Bruce Hochstetler for noticing. Tue Sep 2 21:01:19 2003 Kristian Rietveld Merge from stable. * gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change to only select when button 1 is pressed introduced in the fix of bug #120187. 2003-09-02 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition. * gtk/gtkuimanager.c: Shorten the names of some static functions. Support adding and removing merge nodes dynamically (#120647, Anders Carlsson): * gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id and made it public. (gtk_ui_manager_add_ui): New function to add UI elements without juggling XML fragments, currently restricted to menuitems, toolitems and separators. Actions still come from registered action groups. Mon Sep 1 19:39:14 2003 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the background pixmap was being offset twice, once by the ts_origin in gdk_window_get_bg_gc(), and once by gdk_draw_rectangle(). 2003-09-01 Matthias Clasen * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make this public again, since it's occasionally useful. (#121128, Marco Pesenti Gritti) * gtk/gtkaction.c: Add an "is_important" property and propagate it to toolitem proxies. (#121058, Marco Pesenti Gritti) Mon Sep 1 00:32:30 2003 Soeren Sandmann * tests/testtoolbar.c (main): connect to "delete_event" so the application will actually quit when you close the window 2003-09-01 Matthias Clasen * gtk/gtkuimanager.c (gtk_ui_manager_get_widget) (gtk_ui_manager_get_action): g_return_if_fail() if path is NULL. (gtk_ui_manager_get_node): Avoid a segfault if path is empty. (gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, Marco Pesenti Gritti) 2003-08-31 Matthias Clasen * gtk/gtktoolitem.c: Fix some typos in docs. * gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function, replaces gtk_ui_manager_activate(). (#120658) * tests/testmerge.c: Use gtk_ui_manager_get_action() instead of gtk_ui_manager_activate(). * gtk/gtkaction.c: * gtk/gtkactiongroup.c: Some doc tweaks. * gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It wasn't emitted anyway. Some doc tweaks. 2003-08-30 Matthias Clasen * tests/testmerge.c (add_widget): Connect to "destroy" on toolbar, rather than to "remove" on handlebox. * gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to activate an action found by following a path. (#120658) * tests/testmerge.c: Add a button to test gtk_ui_manager_activate(). * tests/testmerge.c (add_widget): Put toolbars in handleboxes. * gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with setter and getter. If it is set, add tearoff menu items to regular menus, but not to popups. Add a signal "changed", which gets emitted when the merged ui has changed. (#120649, #120656) * tests/testmerge.c: Add button to test the generation of tearoff menu items. 2003-08-29 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Actually group the actions together rather than putting each in its own group. * gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on proxy menu items for radio actions. * gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod. Fri Aug 29 21:40:01 2003 Soeren Sandmann * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Fix use of uninitialized variable. * gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems): add const cast to get rid of warning 2003-08-29 Matthias Clasen * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install "draw_as_radio" as a separate property, not as an alias of "inconsistent". (gtk_check_menu_item_get_property): (gtk_check_menu_item_set_property): Also support "draw_as_radio". Fri Aug 29 20:32:07 2003 Soeren Sandmann * gtk/gtktoolbar.c: Only treat buttons as homogeneous when they are narrower than 13 time the estimated character width of the font. (#107781, David Bordoley) * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check here if the GtkToggleButton is active. This may be the case if it is a radio button. * gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc vs. void (*) (GtkWidget, gpointer). (#107495, Mariano Suarez-Alvarez). * gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio" property. (#111207, David Bordoley). * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_create_menu_proxy): use new "draw_as_radio" property on the menu item when the item is a radio tool button * gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes to only pay attention to the "use_underline" property when the button label comes from the "label" property. 2003-08-29 Laurent Dhima * configure.in: Added "sq" to ALL_LINGUAS. 2003-08-28 Matthias Clasen * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup fix in the docs. * gtk/gtkuimanager.c: Change the XML format: element is replaced by , element is replaced by , element is replaced by , element is replaced by , element is gone, verb attribute is replaced by action, name defaults to action or the element name. * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified by removing the user_data, entry_type and extra_data fields, GtkRadioActionEntry is further simplified by removing the callback. The user_data can now be specified as an argument to gtk_action_group_add_actions(). There is a new method gtk_action_group_add_radio_actions(), which is similar to gtk_action_group_add_actions(), but takes GtkRadioActionEntrys and a callback parameter in addition to the user_data. The callback is connected to the ::changed signal of the first group member. There are _full() variants taking a GDestroyNotify of gtk_action_group_add_[radio_]actions(). * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted on every member of the radio group when the active member is changed. Add an integer property "value", and a getter for the value of "value" on the currently active group member. * tests/testactions.c: * tests/testmerge.c: * tests/merge-[123].ui: * demos/gtk-demo/appwindow.c: Adjust to these changes. * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix. 2003-08-27 Anders Carlsson * demos/gtk-demo/appwindow.c (do_appwindow): Focus the text view, so the tool bar won't have focus. Tue Aug 26 09:57:38 2003 Owen Taylor * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable declaration not at start of block. (#120371, Damien Carbery) 2003-08-26 Matthias Clasen * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize for length, not gsize. * gtk/gtkuimanager.c: Refactor the XML format a bit: rename to and make it optional in strings. Rename verb to action, to , to , to . * demos/gtk-demo/appwindow.c: * tests/testactions.c: * tests/testmerge.c: * tests/merge-1.ui: * tests/merge-2.ui: * tests/merge-3.ui: Adjust to the new XML format. Mon Aug 25 19:55:55 2003 Owen Taylor * gtk/gtktextview.c (gtk_text_view_update_layout_width): Since we add one to the layout's reported width to account for the cursor, we need to subtract one when setting the wrap width for the layout. (Fixes infinite loop (#120325, Frederic Crozat) * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Be a bit more careful about rounding when converting wrapped width from Pango units to pixels. 2003-08-26 Matthias Clasen Rename GtkMenuMerge to GtkUIManager. * gtk/gtkuimanager.[hc]: New files. * gtk/gtkmenumerge.[hc]: Removed. * gtk/Makefile.am: * gtk/gtk.h: * tests/testmerge.c: * tests/testactions.c: * demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by GtkUIManager. * demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: add comments to entries array, remove newlines from ui definition. Don't use the ::add_widget signal. Mon Aug 25 17:28:04 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_forall): Don't include page->menu_label - causes various problems, including #12047. Mon Aug 25 23:21:43 2003 Kristian Rietveld Merge from stable. Fixes #115871, reported by Michael Natterer. * gtk/gtktreeprivate.h: added GtkTreeSelectMode enum, added ctrl_pressed and shift_pressed bitfields, (_gtk_tree_selection_internal_select_node): replace GdkModifierType arg with GtkTreeSelectMode. * gtk/gtktreeselection.c (gtk_tree_selection_set_mode), (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path), (_gtk_tree_selection_internal_select_node): all updated for GdkModifierType -> GtkTreeSelectMode move. * gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed and shift_pressed around selection handling block, (gtk_tree_view_real_select_cursor_row), (gtk_tree_view_real_toggle_cursor_row), (gtk_tree_view_real_selection_cursor_parent), (gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed, instead of checking the event state. And also updates for the GdkModifierType -> GtkTreeSelectMode move. Wed Aug 20 21:26:49 2003 Owen Taylor * gtk/gtkplug.c (gtk_plug_focus): Send the focus on to the parent when there was no focus widget before and no focus widget after - that is, when there are no focusable widgets. (#108678, help tracking it down from Padraig O'Briain, Federico Mena Quintero, ) * gtk/gtkxembed.[ch]: Move various shared utilities for the XEMBED protocol eused by GtkPlug and GtkSocket here. * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement a flag bit that is sent with focus mesages to indicate that the focus has wrapped around on the toplevel; use this bit to catch infinite loops when there is no focusable widget at ll in the entire toplevel. * tests/testsocket.c (child_read_watch): Remove an extraneous unref. * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: Up XEMBED protocol version to 1, add logic for sending the right version in XEMBED_EMBEDDED_NOTIFY. * gtk/gtksocket.c (gtk_socket_add_window): Send the embedder window in the XEMBED_EMBEDDED_NOTIFY as the spec requires. Mon Aug 25 16:15:41 2003 Owen Taylor * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and NumLock handling for non-XKB. Add a special case hack for NumLock on Sun servers. (Patch from Robert Basch, #115819) 2003-08-25 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten Welinder) * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func, gtk_action_group_set_translation_domain): Hooks for translation of label and tooltip in GtkActionGroupEntries. (#120620) 2003-08-25 Matthias Clasen * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum values properly. Sorry about the resize grip trouble, Owen. (#120621) * gtk/gtkactiongroup.c: * demos/gtk-demo/appwindow.c: * tests/testmerge.c: * tests/testactions.c: Use new GtkActionGroupEntryType enum. Sun Aug 24 17:14:44 2003 Owen Taylor * gtk/gtk.h: Remove reference to gtkresizegrip.h. Sun Aug 24 17:03:44 2003 Owen Taylor * gtk/Makefile.am: Fix accidental commit of references to gtkresizegrip.[ch] Sun Aug 24 17:00:03 2003 Owen Taylor * gtk/gtkrc.c: Fix some missing initializations of rc_file->directory. 2003-08-24 Matthias Clasen * gtk/gtkaction.[ch]: * gtk/gtktoggleaction.[ch]: * gtk/gtktoggleactionprivate.h: * gtk/gtkradioaction.[ch]: * gtk/gtkactiongroup.[ch]: * gtk/gtkmenumerge.[ch]: A model-view separation for menus and toolbars, using the EggMenu code by James Henstridge. * gtk/gtk.h: Include new headers. * gtk/Makefile.am: Add new files. * tests/testactions.c: Test for actions. * tests/testmerge.c: Test for menu merging. * tests/merge-[123].ui: Test data for testmerge. * tests/Makefile.am: Add testactions and testmerge. * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the menubar and toolbar. Sat Aug 23 21:40:18 2003 Owen Taylor * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix problem where rc_file->directory wasn't always getting set. (#120549, Luis Villa) 2003-08-22 Christian Rose * configure.in: Added "ne" to ALL_LINGUAS. Thu Aug 21 16:00:36 2003 Owen Taylor * gtk/gtkrc.c: Keep a list of current GtkRcFiles being parsed, not just the directories for those files. Use that to catch recursion. (Part of #114988) Thu Aug 21 21:27:45 2003 Kristian Rietveld Merge from stable. Fix option menu scrolling (#119821, Owen Taylor). * gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced by #80484 and the CLAMP, (get_menu_height): new function, (gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct new_offset to handle page up/down right. Thu Aug 21 15:17:42 2003 Owen Taylor * gdk/x11/gdkkeys-x11.c: Change the interpretation of consumed_modifiers so that it contains: - Modifiers combinations actually found in state. - Single modifier modifier combinations. But not multi-modifier combinations that aren't in event->state. Document. (#100439) Thu Aug 21 20:53:46 2003 Kristian Rietveld Slightly modified patch from Yann Rouillard to improve selection behavior with the mouse. Fixes #120187. * gtk/gtktreeview.c (gtk_tree_view_button_press): only select/deselect items on the first button press of button 1, expand checks for row_activated to include triple clicks. Thu Aug 21 01:33:51 2003 Kristian Rietveld Merge from stable. * gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round approximate digit widths up, to avoid truncation, convert to pango pixels when we have the full string width instead of converting the approx digit width to pango pixels, take inner border and interior focus into account correctly. (Fixes #116368, patch from Morten Welinder). 2003-08-20 Noah Levitt * gtk/queryimmodules.c: Don't look at the same directory twice (in simple cases). (#120342) Wed Aug 20 22:04:47 2003 Soeren Sandmann * gdk/gdkwindow.c: Make the layers in the paint stack have their own pixmap instead of sharing one. (#118317) * tests/testgtk.c (create_get_image): Fixes to make the window fit on an 800x600 screen Wed Aug 20 22:03:25 2003 Kristian Rietveld Merged from stable. * gtk/gtkspinbutton.c (start_spinning): change the type of step to gdouble, since it gets it's data from a gdouble (Fixes #113547). Mon Aug 18 17:19:12 2003 Owen Taylor * modules/input/gtkimcontextxim.[ch]: Substantially rework the handling of status windows: - Store the current StatusWindow in the GtkIMContextXIM structure and vice-versa, so we don't have to hunt the window hierarchy on cleanup. - Use the Gtkidget hierarchy instead of/or as well as the GdkWindow hierarchy when finding the toplevel; this helps for things like GtkHandlebox - Watch GtkWidget::hierarchy_changed to catch changes in the toplevel without changes in the GdkWindow (reparenting) - Never create the GtkWindow for the status window unless we have text to display. - Various cleanups, add lots of comments. (#115077, much help from Takuro Ashie and Hidetoshi Tajima in tracking this down and figuring out a fix.) * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): * modules/input/gtkimcontextxim.c: Track the current screen for each toplevel so that we show the status window on the right screen. (#116340, James Su) * modules/input/gtkimcontextxim.c: If create a new IC when we currently have the focus, call XSetICFocus() on it. * modules/input/gtkimcontextxim.c (get_im): Fix bug with multiple open screens. Tue Aug 19 14:37:46 2003 Owen Taylor * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): Replace client_window field with 'priv' pointer, retaining binary compatibility. * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): save use_preedit/cursor_location/focus status and set up the new slave appropriately. (#118651, Botond Botyanszki) Tue Aug 19 13:58:50 2003 Owen Taylor * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): Don't use impl->position_info.clip_rect for toplevels. (#107068, reported by Thomas Mirlacher) Mon Aug 18 11:48:51 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (convert_to_format): Add a fallback for unaligned source data for FORMAT_ARGB_MASK. (#117217) Mon Aug 18 10:51:57 2003 Owen Taylor * configure.in: Rework handling of REBUILD_PNGS, so that we also don't try to REBUILD_PNGS when cross-compiling and there is no gdk-pixbuf-csource. But give an error if gtk/stock-icons/gtkstockpixbufs.h is not in the source tree. (Note that REBUILDS_PNG was set backwards before, which is why you always had to manually recreate gtkstockpixbufs.h!) Mon Aug 18 10:19:55 2003 Owen Taylor * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the path to libgtk.la. (#120080, Benedikt Spranger) Sat Aug 16 10:34:49 2003 Owen Taylor * modules/input/imcedilla.c: Make the list of default languages more comprehensive. (Suggestion of Fco. Javier F. Serrador) Sat Aug 9 12:47:11 2003 Owen Taylor * gdk/gdk.c (gdk_arg_context_parse): Fix broken parentheses when skipping args. Sat Aug 16 16:22:23 2003 Kristian Rietveld Fix major bug in row ref handling, so the new combo box will actually work right (:. Bug #107748. Patch written with help from Tim Janik. The basic idea is to update the row refs in a closure, before the actual signal is emitted (rather than having the model connect signal handlers). * gtk/gtktreemodel.c (gtk_tree_model_base_init): change g_signal_new calls for row_inserted, row_deleted and rows_reordered to use the new marshallers, (row_inserted_marshall), (row_deleted_marshall), (rows_reordered_marshall): the new marshallers, (gtk_tree_row_ref_inserted_callback): renamed to gtk_tree_row_ref_inserted since it isn't a callback anymore and gets called by the marshaller now, (gtk_tree_row_ref_deleted_callback): likewise, (gtk_tree_row_ref_reordered_callback): likewise, (connect_ref_callbacks), (disconnect_ref_callbacks): removed, (gtk_tree_row_reference_new_proxy), (gtk_tree_row_reference_free), (gtk_tree_row_reference_inserted), (gtk_tree_row_reference_deleted), (gtk_tree_row_reference_reordered): updated. Fri Aug 15 16:54:39 2003 Owen Taylor Improve Cedilla handling - based on a patch from Gustavo De Nardin, #111334 * modules/input/imcedilla.c po/POTFILES.in: Input method that produces C_WITH_CEDILLA rather than C_WITH_ACUTE for dead_acute+c combinations. Make this the default for fr and pt. * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): Use LC_CTYPE instead of LC_MESSAGES to pick the default input method. Fri Aug 15 17:00:19 2003 Owen Taylor * gtk/gtkimcontextsimple.c: Fix missing compose sequence for Multi_key+c+apostrophe. Fri Aug 15 21:57:34 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing on vertical scrolling. (#108035, reported by Tim Janik). Fri Aug 15 20:06:42 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed), (gtk_tree_model_sort_level_find_insert), (gtk_tree_model_sort_insert_value): fix off-by-one error. (#109292 continued, patch from Yann Rouillard). Fri Aug 15 19:43:14 2003 Kristian Rietveld (Note: This is not exactly the same as the patch which went in gtk-2-2). * gtk/gtktreeview.c (gtk_tree_view_class_init), (gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event): Also support the up, down, left, right, home, end, page up and page down keys on the numpad. (#119419, reported by Alex Larsson). Fri Aug 15 12:34:04 2003 Owen Taylor Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai): * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that we link libgtk against X explicitely, since we make GTK+ calls for plug/socket. * gtk/queryimmodules.c: Use USE_LA_MODULES and G_MODULE_SUFFIX here. * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect XShmPutImage with #ifdef USE_SHM. Thu Aug 14 18:25:39 2003 Owen Taylor * gtk/gtkfilesel.c (gtk_file_selection_populate): Don't reposition the cursor when we aren't trying to complete. (Fixes problems with selection on startup, #108433, reported by Mark Finlay.) * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove code that tried to position the cursor after the common prefix when there was one, it wasn't working, and would be hard to fix. Just always put the cursor at the end when completing. Thu Aug 14 17:58:23 2003 Owen Taylor * gtk/gtkfilesel.c (get_current_dir_utf8): If getting the current directory fails because of encoding conversion problems, walk up textually to parent directories until we can convert. (#113627) Wed Aug 13 17:01:49 2003 Owen Taylor * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify): Remove usage of menu_shell->ignore leave which was to deal with stray events we no longer get because we do grabbing differently. Comment it as unused in the header. (#115837, Keith Bissett) Wed Aug 13 16:32:43 2003 Owen Taylor * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): Fix some places that weren't properly Xinerama-ified. * gtk/gtkmenu.c: Fix problem with windows that scroll at the top of the screen. Wed Aug 13 11:34:53 2003 Owen Taylor * gtk/gtkcombo.c (gtk_combo_init): connect_after() to key-press-event on the entry, so input methods get access to key presses before GtkCombo customization. (#115451, Botond Botyanszki) 2003-08-13 Anders Carlsson * tests/testtoolbar.c: (set_important_func), (important_toggled), (create_items_list): Add an important column. Tue Aug 12 15:00:15 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_real_set_focus): Protect against reentrancy from ::focus-out handlers. (#118129, Felipe Heidrich) Tue Aug 12 14:27:42 2003 Owen Taylor * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove GDK_LOCK_MASK before calling gdk_keymap_translate_keyboard_state so bindings and accelerators are independent of the Caps-lock key. (#115384, reported by Toni Willberg) Mon Aug 11 12:07:14 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (get_real_window): Add missing break statements (#119494, Soeren Sandmann) Mon Aug 11 11:10:07 2003 Owen Taylor * gtk/gtkwidget.h: Mark parent public as well; it's extensively accessed in existing code, so there is no advantage in making people use get_parent(). (Tweak to #119463 fix) 2003-08-11 Matthias Clasen Add support for EWMH "Above" and "Below" window states. (105100, Manuel Clos) * tests/testgtk.c: Add "Above" and "Below" to the the "Window State" demo. * gtk/gtkwindow.h: Add gtk_window_set_keep_above and gtk_window_set_keep_below. * gtk/gtk.def: Add gtk_window_set_keep_above and gtk_window_set_keep_below. * gtk/gtkwindow.c (gtk_window_set_keep_below): (gtk_window_set_keep_above): New functions, call the corresponding gdk functions. * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New function, sets _NET_WM_STATE_BELOW. (gdk_window_set_keep_above): New function, sets _NET_WM_STATE_ABOVE. * gdk/gdkwindow.h: Add gdk_window_set_keep_above and gdk_window_set_keep_below. * gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and GDK_WINDOW_STATE_BELOW. * gdk/gdk.def: Add gdk_window_set_keep_above and gdk_window_set_keep_below. * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from gtk-doc to enable configuring without xmlcatalog in PATH. (#119115) 2003-08-10 Matthias Clasen * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as public. (#119463) 2003-08-09 Noah Levitt * gdk/gdkevents.h: * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the docs on GdkFilterFunc and GdkFilterReturn. 2003-08-09 Matthias Clasen * gtk/gtkcalendar.c: Add and hook in gtk_calendar_scroll, to let the mouse wheels select the month. Scrolling down moves forward in time. (#53134, Abigail Brady) * gtk/gtkcalendar.c: Complete the RTL flipping support for GtkCalendar, make it possible to flip the headings using the "magic translated string" technique. Translators, note the comment in gtk_calendar_init() explaining this. (#102416) * gtk/gtkcalendar.c: Get the information about the first day of the week from the locale using another instance of the "magic translated string" technique. Ignore the display option GTK_CALENDAR_WEEK_START_MONDAY with a warning. (#87977) * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected date is dragged as text, formatted via strftime %x. Text drops are accepted if g_date_set_parse() can make sense of the text. A dedicated data format for date DND has not been introduced yet, since there didn't seem to be sufficient consensus on such a format on xdg-list. (#117297) 2003-08-08 Matthias Clasen * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach): Fix a segfault. (#115284, Jan Kratochvil) 2003-08-08 Tor Lillqvist * gdk/win32/gdkevents-win32.c (print_event): Print also the root coordinates for events that have such. Print coordinates for enter and leave events. (gdk_event_translate): Don't use event uninitialixed in the return_exposes branch of the WM_PAINT handler. * gdk/win32/gdkwindow-win32.c (gdk_window_new, _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): Must offset top-level window coordinates here, too. 2003-08-08 Matthias Clasen * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip when maximized or fullscreen. 2003-08-07 Tor Lillqvist * gdk/win32/gdkinput-win32.h * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event, _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't used. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller accordingly, in fact an uninitialised variable was dereferenced. [Win32] Add support for multiple monitors. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New global variables for multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and _gdk_offset_x and _gdk_offset_y. * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New functions, enumeration functions passed to EnumDisplayMonitors(). (gdk_display_open): If the EnumDisplayMonitors() and GetMonitorInfo() API is present (on Win98, Win2000 and newer), use if to find out monitor info. Calculate the offset between Win32 coordinates (relative to the primary monitor's origin (and thus negative on monitors to the left of or above it), and GDK's (visible coordinates should be non-negative). * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors, gdk_screen_get_monitor_geometry): Use information collected above. (gdk_window_move, gdk_window_move_resize_window_get_geometry): Subtract _gdk_offset_{x,y} from GDK root window coordinates. (gdk_window_get_geometry, gdk_window_get_origin, gdk_window_get_frame_extents): For top-level windows, add _gdk_offset_{x,y} to GDK root window coordinates Still need to handle multiple monitors in gdk_window_fullscreen(). Probably should make the window fullscreen on the monitor where the cursor is? * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK root window coordinates in GdkEvents. [Win32] Fix geometry hint handling. Add support for resize increment and base size, and aspect ratio geometry hints. The "gridded geometry" test in testgtk now works beautifully. * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints): Turns out this function shouldn't actually ever modify the window's size, just store the hints. (Old code kept for a while inside #if 0.) (gdk_window_set_hints): Remove presumably broken code that handles the position hints, this function is obsolete anyway. * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root variables, not used. (adjust_drag): New function, used to implement resize increment hints. (gdk_event_translate): Handle WM_SIZING, implement resize increment and base size, and aspect ratio geometry hints here. The WM_GETMINMAXINFO handler takes care of the minimum and maximum size hints as before. Fix the WM_GETMINMAXINFO handler to take into account window decorations. No need to modify the ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct, the defaults are fine. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect, _gdk_win32_get_adjusted_client_rect): New helper functions. 2003-08-07 Matthias Clasen * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the toplevel->have_* flags before iterating over the _NET_WM_STATE atoms. (#119217) Thu Aug 7 16:49:29 2003 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix a bug where on theme change, resize/redraw wasn't properly getting queued on toplevel windows. (#116346, Rajkumar Siva) * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): Fix bug where wrong coordinates were used for toplevel window. Thu Aug 7 16:40:21 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover page_num variable (Archit Baweja) 2003-08-07 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to cope with C libraries with crippled locale support. (#115293) 2003-08-07 Hans Breuer * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent (only if the new window not known to Gdk) to get proper leave notification, and get rid of the wrong placed tooltips, bug #102283 (gdk_event_translate) : small code reordering to not get GDK_MOTION_NOTIFY for still mouse and get back tooltips on menus, bug #117367 2003-08-07 Tor Lillqvist * gdk/gdk.def * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add missing function, trivially implement. 2003-08-07 Matthias Clasen * gtk/gtkctree.c (draw_row): Don't cut descenders when rendering. (#118646, Charles Kerr) 2003-08-06 Hans Breuer * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : initialize bits to 0 (probably default on NT) * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) : now it works as intended ;-) 2003-08-04 Hans Breuer * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) : set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435 * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) : against all expectations it is basically ony a call with WM_SETICON needed (the visual effect is there, though colors or mask are still somewhat wrong). * gdk/win32/gdkwindow-win32.h : place to store the HICON * gdk/win32/gdkdrawabke.win32.c : readded the conditional end pixel drawing as it was fixed at 1999-08-23 gtk/gtk.def : updated Tue Aug 5 10:07:08 2003 Owen Taylor * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): Add a missing break. (#119156, Callum McKenzie) Tue Aug 5 00:24:13 2003 Soeren Sandmann * gtk/gtkmenu.c (gtk_menu_position): New positioning algorithm.(#116649) Fri Aug 1 15:26:46 2003 Soeren Sandmann * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important" property * gtk/gtkradiotoolbutton.c (gtk_radio_tool_button_new_from_widget): Don't take a stock id * gtk/gtkradiotoolbutton.c (gtk_radio_tool_button_new_with_stock_from_widget): make this function take a stock_id. * gtk/toolbar: documentation Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Fix problem where use_xshm was getting set wrong if MIT_SHM wasn't found. (George Lebel) 2003-08-04 Tor Lillqvist * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid the term "virtual screen". (#119030, Tor Lillquist) 2003-08-02 Matthias Clasen * tests/testtext.c (test_init): * tests/testgtk.c (test_init): * tests/testdnd.c (test_init): * demos/pixbuf-init.c (pixbuf_init): * demos/gtk-demo/main.c (main): Use g_setenv(). * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use g_unsetenv(). Sat Aug 2 12:53:16 2003 Owen Taylor * configure.in: Requires glib-2.3.0, pango-1.2.0. * configure.in: Require Xft version 2, remove code for handling older versions of pango and Xft. Many miscellaneous improvements to X checks * acinclude.m4: Add GTK_ADD_LIB() macro for adding a library to a variable, avoiding dups. * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): Always load "fixed" * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and for pangox. 2003-08-02 Matthias Clasen * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the wrong format, since the KDE color chooser incorrectly drops application/x-color with format 8. (#118810) * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the wrong format, since the KDE color chooser incorrectly drops application/x-color with format 8. (#118810) 2003-08-02 Tor Lillqvist Fix gdk/win32 window geometry handling again. The window position in a GDK_CONFIGURE event should be that of the client area, not of the window decorations. (I was confused by the term "window border" in X11. It does *not* mean the window manager decorations. There are no X11-style window borders in Win32.) Also, this time do take the geometry hints into account appropriately when moving windows. Now testgtk's gravity test's move buttons work OK. There are stil problems with taking gravity into account when showing a hidden window. * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints instead of separate fields. * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't adjust for decorations. * gdk/win32/gdkwindow-win32.c (get_outer_rect, adjust_for_gravity_hints): New functions. (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use above functions, take geometry hints into account. (gdk_window_set_geometry_hints): Size hints specicy client area, not including decorations. Fri Aug 1 17:10:22 2003 Owen Taylor * gtk/gtkfilesel.c (cmpl_completion_fullname): Always return an absolute path (#115590), fix a problem where you could crash the file selector with a looong name by returning a newly allocated buffer. Fri Aug 1 16:44:51 2003 Owen Taylor * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation bug in rarely or never hit code path (#118071, Tor Lillqvist) Fri Aug 1 16:30:13 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): If the check for missing depths, try actually creating pixmaps of the depths to deal with Xinerama not reporting all the depths it should. (#115822) Fri Aug 1 15:33:59 2003 Owen Taylor * gtk/gtksocket.c: Patch from Denis Mikhalkin to forward KeyRelease events as well as KeyPress events. (#115597) Fri Aug 1 15:06:25 2003 Owen Taylor * gdk/gdk.c (gdk_parse_args): g_set_prgname("") if argc is 0 as well, instead of leaving it unset. (#116023, Michael Meeks) Thu Jul 31 23:09:02 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow default to TRUE; ignore the property when api_mode != NEW_API 2003-07-31 Matthias Clasen * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf to icon, to pacify gtk-doc. * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion example. Thu Jul 31 15:33:33 2003 Soeren Sandmann * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem Thu Jul 31 15:29:28 2003 Soeren Sandmann * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused overflow_item field. Wed Jul 30 21:11:13 2003 Soeren Sandmann * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured() an internal function * gtk/gtktoolitem.h: remove unused declaration of _gtk_tool_item_get_drag_window(). Wed Jul 30 17:03:58 2003 Soeren Sandmann * gtk/gtktoolbutton.[ch]: (gtk_tool_button_new): swap icon_widget and label arguments to match BonoboUIToolbarButton. * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style(). 2003-07-30 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND signal docs. 2003-07-29 Tor Lillqvist Fix for #108007, #112402, #117042: There was confusion in gdk/win32 at various places whether a window position refers to the decoration position or the client area position. Also whether window size includes decorations or not. The correct interpretation apparently is that in GDK (like in X11), a top-level window position means the decoration's position, but size means the window's inner size (client area size). In the Win32 API, the window size usually includes the decorations, though. * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside #ifdef G_ENABLE_DEBUG. (handle_configure_event): New function, generates GDK_CONFIGURE events from WM_SIZE and WM_MOVE messages. Even if no event is generated because of the event mask, still set the private position and size fields. Calculate position and size correctly. (gdk_event_translate): Call handle_configure_event(). * gdk/win32/gdkgeometry-win32.c: Cosmetics. * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL() macros. Cosmetic debugging output changes. (SafeAdjustWindowRectEx): Remove. If an application wants to locate a window outside of the screen, it's not GDK's business to prevent it. And anyway, with multiple monitors, negative coordinates are perfectly normal. (gdk_window_new): Adjust the window size for decorations after _gdk_window_init_position() has done its job. (But the big window code currently is presumably broken on Win32 anyway.) (gdk_window_move): The position passed in is supposed to be that of the window border, so don't need to adjust for decorations. (gdk_window_resize, gdk_window_move_resize): Simplify somewhat. Tue Jul 29 13:55:44 2003 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_set_style, gtk_toolbar_prepend_element, gtk_toolbar_append_element, gtk_toolbar_insert_space, gtk_toolbar_prepend_space, gtk_toolbar_append_space, gtk_toolbar_insert_item, gtk_toolbar_prepend_item, gtk_toolbar_append_item, gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation, gtk_toolbar_new, gtk_toolbar_prepend_item): Move documentation inline from template files. * gtk/gtktoolbar.c (gtk_toolbar_insert_element, gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget, gtk_toolbar_append_widget, gtk_toolbar_remove_space, gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size, gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size, gtk_toolbar_get_tooltips, gtk_toolbar_unset_style, gtk_toolbar_get_style, gtk_toolbar_get_orientation) Copy documentation from stable that was added after the EggToolbar branched. * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size() Mon Jul 28 18:21:34 2003 Soeren Sandmann * gtk+/docs/: Commit autogenerated changes, so patches will make sense. 2003-07-27 Tor Lillqvist * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x, the keyboard state returned by GetKeyboardState() doesn't distinguish between the left and right Control and Alt keys. Thus we cannot detect AltGr (which is supposed to be left Control + right Alt) the same way as on NT-based systems, but have to accept either Control + either Alt as AltGr. 2003-07-27 Matthias Clasen * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in warning message. (#118156, Tim-Philipp Mller) * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are boolean properties, not ints. (#118359, Josh Parsons) Sat Jul 26 15:21:27 2003 Soeren Sandmann * gtk/gtkimagemenuitem.c (gtk_image_menu_item_toggle_size_request): don't request toggle_space when the image width is 0. 2003-07-25 Tor Lillqvist * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime and _gdk_keyboard_has_altgr. * gdk/win32/gdkevents-win32.c: Lots of changes. Most important ones detailled here. Code that has been ifdeffed out for a long time removed. Remove some really old doc comments that were left behind for some public functions, the official ones are in the X11 backend anyway. Change GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat multi-line boolean expressions to have the operators at ends of lines. As mouse capture with SetCapture() indeed seems to work OK, no need to have the correspoinding macro USE_SETCAPTURE and ifdefs. Ifdef out the gdk-ping-msg stuff. I don't remember why it was needed at some time, and things seem to work fine now without (knock on wood). Ifdef out the search for some Latin locale keyboard layout being loaded. Not used currently, but might be needed after all, if we decide that we want to be able to generate ASCII control character events with a non-Latin keyboard. (assign_object): New helper function, handles the g_object_ref() and unref() calls when assigning GObject pointers. (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR enter event when the pointer has moved to an ancestor window. Was left out by mistake. (gdk_window_is_ancestor): Renamed from gdk_window_is_child(). (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to functionality, using ClipCursor(). (find_window_for_mouse_event): Splice part of code into new function find_real_window_for_grabbed_mouse_event(). (fixup_event, append_event, apply_filters): New functions, code refactored out from elsewhere. (synthesize_enter_or_leave_event, synthesize_leave_event, synthesize_enter_event, synthesize_leave_events,synthesize_enter_events): Also take a GdkCrossingMode parameter, in preparation to generating GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events. (fixup_event, append_event, fill_key_event_string): New functions, code refactoring. (vk_from_char, build_keypress_event, build_keyrelease_event): Removed as part of dropping WM_CHAR handling. (build_key_event_state,gdk_event_translate): Call GetKeyboardState(), once, for each keyboard message, instead of several calls to GetKeyState() here and there. (gdk_event_translate): Fix bugs #104516, #104662, #115902. While at it, do some major refactoring, and some fixes for potential problems noticed while going through the code. Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and WM_KEYUP. Don't need the state variables related to whether to wait for WM_CHAR or not, and whether the current key is AltGr. Remove lots of complexity. Thus don't need the use_ime_composition flag. Not handling WM_CHAR means dead key handling will have to be taken care of by GTK, but that seems to work fine, so no worry. Another side-effect is that Alt+keypad digits don't work any longer, but it's better to learn to use GTK's ISO14755 support is anyway. Be more careful in checking whether AltGr is involved. Only attempt to handle it if the keyboard actually has it. And explicitly check for *left* Control plus *right* Alt being pressed. Still, allow (left) Alt and/or (right) Control with AltGr chars. Handle keys using similar code as in the X11 backend. As we have built a keymap in gdkkeys-win32.c anyway, use it by calling gdk_keymap_translate_keyboard_state() to look up the keysym from the virtual key code and keyboard state. Build the key event string in exactly the same way as the X11 backend. If an IME is being used, don't generate GDK events for keys between receiving WM_IME_STARTCOMPOSITION and WM_IME_ENDCOMPOSITION, as those keys are for the IME. For WM_IME_COMPOSITION, handle all the Unicode chars returned from the IME, not just the first one. gdk_event_translate() is still quite complex, could split the message handler cases out into separate functions. On mouse events, when the mouse is grabbed, use find_real_window_for_grabbed_mouse_event() in order to be able to generate correct crossing events. No longer take a pre-allocated GdkEvent as parameter. Instead, allocate events as needed and append them to the queue. (This is different from how gdk_event_translate() in the X11 backend works.) This change made the code much clearer, especially in the cases where we have to generate several GDK events for one Windows message. Return FALSE if DefWindowProc() should be called, TRUE if not. If DefWindowProc() should not be called, also return the value to be returned from the window procedure. (Previously, the interaction with gdk_event_translate()'s caller was much more complex, when we had to indicate whether the already-queued event should be left in the queue or removed, and in addition also had to indicate whether to call DefWindowProc() or not, and what value to return from the window procedure if not.) Don't use a separate "private" variable required to be pointing to the GdkWindowObject of the "window" variable at all times. Just use casts, even if looks a bit uglier. Notice destroyed windows as early as possible, and break out of the messsage switch. Use _gdk_pointer_root as current_window when the pointer is outside GDK's top-level windows. On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as appropriate, based on ImmIsIME(). (gdk_event_translate, gdk_event_send_client_message_for_display, gdk_screen_broadcast_client_message): Implement client messages. Use a registered Windows message to pass GDK client messages. Note that the amount of user data is restricted to four bytes, as it is carried in the LPARAM. (The WPARAM is used for the message type "atom".) (real_window_procedure): Adapt for new gdk_event_translate() interface. * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set _gdk_input_locale_is_ime initially. * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead of g_colormap_ref()/unref(). (gdk_window_new): Made code a bit more like the X11 one, pretend to handle screens (although we just have one for now). * gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_for_display, gdk_screen_broadcast_client_message): Document the user data limitation on Win32. * gdk/win32/gdkevents-win32.c (print_event): More complete enter and leave notify detail output. * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys visible to GDK and GTK. Store the corresponding GDK_dead_* keysym for those, so that the GtkIMContextCimple compose tables will work. Deduce if the keyboard layout has the AltGr key, and set the above flag accordingly. 2003-07-26 Matthias Clasen * gtk/gtkwidget.c: Document DND signals. 2003-07-24 Matthias Clasen * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods" insensitive when editing isn't possible. (#118150) 2003-07-23 Matthias Clasen * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue spinbutton wrap. (#118097, John Darrington) * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 2003-07-20 Hans Breuer * makefile.msc : new file to build it all * Makefile.am : ... added to EXTRA_DIST * gdk/makefile.msc gtk/stock-icons/makefile.msc gtk/makefile.msc.in tests/makefile.msc : updated * gdk/gdk.def gtk/gtk.def : export a bunch of new functions * gtk/gtkbbox.c : use g_return_val_if_fail() if there is a value to return * gtk/gtkfontsel.c gtk/gtkiconfactory.c : static correctness * gtk/gtkicontheme.c : ported to use GTimeVal instead of struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES * gtk/gtkimmulticontext.c : use gtkprivate.h * gtk/stock-icons/stock_color_picker_25.png gtk/stock-icons/stock_jump_to_rtl_16.png gtk/stock-icons/stock_jump_to_rtl_24.png gtk/stock-icons/stock_redo_rtl_16.png gtk/stock-icons/stock_redo_rtl_24.png gtk/stock-icons/stock_undelete_rtl_16.png gtk/stock-icons/stock_undelete_rtl_24.png gtk/stock-icons/stock_undo_rtl_16.png : gtk/stock-icons/stock_undo_rtl_24.png : readded as binary Sat Jul 19 22:39:24 2003 Soeren Sandmann * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove leftover request of {xy}thickness Sat Jul 19 16:26:02 2003 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't attempt to add a NULL icon to the box. Sat Jul 19 12:13:20 2003 Soeren Sandmann * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs on focus in/out. 2003-07-19 Matthias Clasen * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. * gtk/gtkiconfactory.c (get_default_icons): Add stock_dialog_authentication_48. (#65765) * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too. * gtk/stock-icons/stock_dialog_authentication_48.png: New image. * gtk/gtkbbox.h: * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New function. (#64562) Sat Jul 19 00:18:40 2003 Soeren Sandmann * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99 declaration * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function (gtk_widget_real_focus_{in|out}_event): queue shallow draws instead of full draws. 2003-07-18 Matthias Clasen * gtk/gtkwindow.c: Add properties decorated and gravity. (#80234) * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding signal, move_viewport. (gtk_text_view_move_viewport): New function which implements the move_viewport functionality. (gtk_text_view_move_cursor_internal): If the cursor is not visible, move the viewport. (#78669) * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for move_viewport argument. * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip property. (#111779) * gtk/gtkwindow.h: * gtk/gtkwindow.c (gtk_window_set_default_icon): New method. (#95816) * gtk/gtkmessagedialog.h: * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method. (#65501, Sebastian Rittau) Fri Jul 18 20:06:57 2003 Soeren Sandmann * gtk/gtktextview.c (changed_handler): use gtk_widget_queue_resize_noredraw(). 2003-07-16 Jody Goldberg * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o Fri Jul 18 19:55:50 2003 Soeren Sandmann * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this API. Fri Jul 18 18:43:01 2003 Soeren Sandmann By popular request give toolbuttons a border. * gtk/gtktoolitem.c (gtk_tool_item_size_allocate): (gtk_tool_item_size_request): don't request and allocate a border around the child * gtk/gtktoolbutton.c (gtk_tool_button_size_allocate): (gtk_tool_button_size_request): remove these functions * gtk/gtktoolbar.c (gtk_toolbar_size_request): (gtk_toolbar_size_allocate): request and allocate a border if we have a shadow. Thu Jul 17 19:24:51 2003 Kristian Rietveld Merged from stable. Fixes issues pointed out by Morten Welinder in #115140. * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment, (do_validate_rows): update validated_area with a logic OR instead of a bitwise OR, (validate_rows_handler): make the if statement match the one in validate_rows(), so we don't leak the timeout. Thu Jul 17 19:12:02 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview should only grab focus back if the "cell_editable" widget still has focus. (Fixes #110104, testcase provided by Marco Pesenti Gritti). Thu Jul 17 19:06:34 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button): Don't set attr.event_mask twice, those things were meant to be ORred. (#115139, pointed out by Morten Welinder). Thu Jul 17 16:11:21 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing if needed. (Fixes #115869, reported by Michael Natterer). 2003-07-15 Matthias Clasen * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity. 2003-07-13 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc. Sun Jul 13 15:57:57 2003 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of label_text, label_widget and icon_widget. (#117312, Christian Persch) Sun Jul 13 01:37:51 2003 Soeren Sandmann * gtk/gtkmenu.c (gtk_menu_class_init): new properties "horizontal-offset" and "vertical-offset" that determines the position of the menu when it is a submenu. * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position submenus according to new vertical- and horizontal-offset properties. Sat Jul 12 16:16:04 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special case drags to "0", scroll to the top after dropping. (Fixes #94968, reported by Alp Toker). Sat Jul 12 16:08:32 2003 Kristian Rietveld Merged from stable. * demos/gtk-demo/editable_cells.c (cell_edited): fixup bad code (#115784, Owen Taylor). Sat Jul 12 16:01:03 2003 Kristian Rietveld Merged from stable. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property): free the old text and extra_attrs *after* we parsed the new markup string. (Fixes #114485, reported by Owen Taylor). Sat Jul 12 15:51:33 2003 Kristian Rietveld Merged from stable. Fixes #113904, testcase provided by Rene Seindal. * gtk/gtktreeview.c (gtk_tree_view_button_press): set pressed_button to -1 when a row has been activated, (gtk_tree_view_motion_bin_window): only start a drag if there's a button being pressed. Sat Jul 12 15:51:18 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use gdk_window_get_pointer instead of gdk_display_get_window_at_pointer to avoid a roundtrip (#110272, Owen Taylor). Sat Jul 12 15:28:26 2003 Kristian Rietveld Merged from stable. This patch really really fixes scrolling. Related bugs: #81627, testcase provided by Timo Sirainen, #111500, testcase provided by manu, #113241, reported by Pedro Gimeno/Michael Natterer. * gtk/gtktreeview.c (validate_visible_area): scrolling to a dy which is equal to the lower border of the window means scrolling to an invisible row, always update the dy when scrolling to an invisible row, corrected area_above/below calculations for invisible rows, when walking the tree correct the size subtracted for invalidated rows, fix wrong logic in comment. 2003-07-11 Matthias Clasen * gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free mime_types. (#117219, Steve Chaplin) Tue Jul 8 20:11:04 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (get_real_window) gdk/x11/gdkinput-x11.c (_gdk_input_common_init) gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init) gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init) Don't assume that all events start with XEventAny - Xkb events don't! (#105745). So, only do that for core events, and for non-core events, add a system for registering event types that start with XEventAny. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Check to see if the result of gdk_window_lookup_for_display() is actually a window. Fri Jul 11 20:48:14 2003 Kristian Rietveld * gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL check a silent assert, so it follows the g_free() behaviour. 2003-07-11 Matthias Clasen * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents vertically. (#109823, Joe Shaw) 2003-07-11 Morten Welinder * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory access error. (#69436) Fri Jul 11 14:32:43 2003 Kristian Rietveld Landing GtkTreeModelFilter and the completion code. (Test program and documentation will follow next week). * gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch], gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files. * gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote necessary code to hook up completion. * gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new GtkCellLayout interface. * gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED. * gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new source files. Wed Jul 9 19:48:26 2003 Kristian Rietveld Merge from stable. * gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't directly return from ->window_at_pointer, but set win_x and win_y first if needed. (Fixes #110166, reported by Arno Charlet). * gdk/gdkwindow.c (gdk_window_get_composite_drawable): change function to accept GdkDrawables and not just GdkWindows. This was already done in some other functions a while back, but this patch got lost for some reason. 2003-07-09 Matthias Clasen * gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text direction when sorting children. (#116540, Soeren Sandmann) Tue Jul 8 17:36:21 2003 Owen Taylor * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: Change _gdk_x11_send_xevent_async() to _gdk_x11_send_client_message_async() avoid using Xlib internals that are different on Solaris. (#116917, Morten Welinder) 2003-07-08 Matthias Clasen * gtk/gtkcontainer.c (gtk_container_remove): Doc addition. (#116501, Doug Quale) Tue Jul 8 21:35:22 2003 Soeren Sandmann * gtk/gtktoggletoolbutton.h: remove strange #define * gtk/gtktoolbutton.h: fix cut'n'paste error * gtk/gtktoolbutton.c (gtk_tool_button_init): use instance private data * gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance private data instead of g_new0() * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use instance private data Tue Jul 8 21:10:14 2003 Soeren Sandmann * gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK for INPUT_ONLY window * gtk/gtkmenuitem.c (gtk_menu_item_realize): same * gtk/gtknotebook.c (gtk_notebook_realize): same * gtk/gtkexpander.c (gtk_expander_realize): same * gtk/gtkrange.c (gtk_range_realize): same Fix #116303 Tue Jul 8 19:57:14 2003 Soeren Sandmann * gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x when detail is "menuitem". With the new menu look is isn't needed anymore. * gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a resize here, so that tool items will get a chance to relayout themselves based on the toolbar configuration. change DEFAULT_SPACE_SIZE to 4 instead of 5 * gtk/gtktoolbar.c Get rid of "!GTK_BIN (item)->child means separator". Separators are widgets in their own right change DEFAULT_SPACE_SIZE to 4 instead of 5 (get_space_size): remove this function (toolbar_item_is_homogeneous): new function * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_size_request): new function. Tue Jul 8 14:10:35 2003 Soeren Sandmann * gtk/gtktoggletoolbutton.h: use private data, add new internal function _gtk_toggle_tool_button_get_button() * gtk/gtktoolbutton.h: move to private data * gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new private data. Tue Jul 8 12:50:20 2003 Soeren Sandmann * gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a type check, (#116947, Krasimir Angelov) * gtk/gtktoolbar.c: Use new GtkToolItem accessors. * gtk/gtktoolitem.[ch]: Use a private struct to hold the instance data. Not instance private data yet, because of bug 116921. * gtk/gtktoolitem.h: new accessors: gtk_tool_item_get_homogeneous () gtk_tool_item_get_expand () gtk_tool_item_get_pack_end () gtk_tool_item_get_use_drag_window () Mon Jul 7 16:50:32 2003 Soeren Sandmann * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): remove accidentally committed debugging spew * gtk/gtktoolbar.c (gtk_toolbar_paint_space_line): remove this function (gtk_toolbar_expose): always propagate expose, even if the item is a separator item * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose): moved here from gtktoolbar.c (get_space_size): new function. (get_space_style): new function Sun Jul 6 13:00:20 2003 Owen Taylor * gtk/gtkdnd.c (_gtk_drag_source_handle_event) * gtk/gtkdnd.c (gtk_drag_begin_internal): Remove use of GDK_POINTER_MOTION_HINT_MASK. * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating of the drag into an idle as a superior form of expose compression. * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon creation here, so that we have an icon at the start of the drag (e.g., when retrieving the window cache information.) Sun Jul 6 17:21:23 2003 Soeren Sandmann * docs/widget_geometry.txt: better drawing of GtkMenuItem * docs/widget_geometry.txt: add notes about GtkMenu * gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h"" Sat Jul 5 10:34:00 2003 Soeren Sandmann * gtk/gtkmenu.c: add vertical_padding style property. * gtk/gtkmenuitem.c: add style properties toggle_spacing, arrow_spacing and horizontal_padding. Also center separators and make them a bit taller. * gtk/*menuitem.c: use new style properties. * docs/widget_geometry.txt: Add note about GtkMenuItem * gtk/gtkstyle.c (gtk_default_draw_vline, gtk_default_draw_hline): fix +/-1 errors. (gtk_default_draw_shadow): draw a black border around menus. * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix calls to gtk_paint_hline() and gtk_paint_vline() (they take x1, x2 and y1, y2 respectively, not x, width and y, height). Sat Jul 5 09:55:38 2003 Owen Taylor * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup all the atoms in the target list at once. * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): Local drag short-circuit. * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the local case, poke the actions in directly instead of going through xdnd_set_actions. * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit the local case. * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't XSelectInput()/add a filter if the drag is local. * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): Simplify handling of "XdndSelection". * gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse): Somehow, a WM_STATE => _NET_WM_STATE change hand been made here. * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free xatom_names, not atom_names. * tests/testdnd.c (target_drag_motion): Make the trashcan open again. (Got lost in deprecation cleanup.) Sat Jul 5 00:49:32 2003 Owen Taylor * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up earlier, so we don't get a big pile of uncompressed motion events before the grab takes effect. * gtk/gtkdnd.c (gtk_drag_update_icon): Call gdk_window_process_all_updates() so that the area we are dragging over gets a change to redraw. * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use gdk_window_get_position(), not gdk_window_get_origin(). * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext) gdkdisplay-x11.h: use XShapeQueryExtension to avoid duplicate XQueryExtension when we actually use it. Remove unnecessary caching in GdkDisplayX11. Fri Jul 4 23:49:22 2003 Owen Taylor * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): Function to get a range of information about all the children of a window in a single pass. * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse) gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use _gdk_x11_get_window_child_info() to greatly reduce the number of roundtrips. Fri Jul 4 22:57:18 2003 Owen Taylor * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add a function to XSendEvent() and call a calback on failure/success. * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit messages to the same process, use _gdk_send_xevent_async(). Fri Jul 4 22:26:27 2003 Owen Taylor * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split toplevel-specific pieces of GdkWindowImplX11 into a separate GdkToplevelX11 structure. Fri Jul 4 22:05:09 2003 Owen Taylor * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix some leftover fields. Fri Jul 4 15:57:52 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Use asynchronously _gdk_x11_set_input_focus_safe to avoid having to trap errors and XSync(). * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use _gdk_x11_set_input_focus_safe() here as well. * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Rework handling of property notifies on _NET_WM_STATE so that we ignore _NET_WM_DESKTOP notifies unless we really care. * gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use XShmQueryExtension() rather than XQueryExtension() to avoid extra rountrip. * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init): Remove unused call to XGetWindowAttributes() * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove unused call to XGetKeyboardControl(). * gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush): Add (#99571) * gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c No-op implementations of gdk_display_flush(). * gdk/gdkwindow.c (gdk_window_process_all_updates): Use gdk_display_flush() rather than gdk_flush() to avoid XSync(). * gdk/x11/gdkwindow-x11.c (update_wm_hints) gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here so that we don't have to get the property back from the server. * gdk/x11/gdkwindow-x11.c (show_window_internal): Store the serial of when we map a toplevel to allow optimizing out notifies on _NET_WM_STATE/_NET_WM_DESKTOP. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't XTranslateCoordinates() for override-redirect windows. Fri Jul 4 15:59:27 2003 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment about setting window group after the window is mapped from docs - nothing the ICCCM forbids that. * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fix g_return_val_if_fail() in void return function. * configure.in: Fix misplaced comma that was resulting in XShm always being disabled. Fri Jul 4 19:55:49 2003 Soeren Sandmann * tests/stresstest-toolbar: remove this accidentally committed file. * tests/stresstest-toolbar.c: really add this new test Fri Jul 4 19:06:31 2003 Soeren Sandmann * tests/stresstest-toolbar.c: new test for removing items * tests/testtoolbar.c: add a popup menu * gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid assert widget->parent == container when the container is a toolbar. * gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much simpler. Also make correct. * gtk/gtktoolbar.c (gtk_toolbar_button_press): make popup_context_menu a boolean handled signal. 2003-07-04 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon, gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate the width and height of the bounding rectangle only after the minumum x and y have been found, and need a separate loop for it. Thanks to Bruce Hochstetler for providing a sample program exhibiting the bug. 2003-07-03 Tor Lillqvist * gdk/gdk.def: Add gdk_string_to_compound_text_for_display. (#116537, Peter Zelezny) Thu Jul 3 03:13:20 2003 Soeren Sandmann * gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to fix warning. Assign something to old_value to quiet gcc * gtk/gtkcalendar.c (start_spinning): gtk_timeout_add->g_timeout_add * gtk/gtkicontheme.c (theme_lookup_icon): Make it compile (remove double semicolon) * gtk/gtktoolbutton.c (gtk_tool_button_class_init): Long comment about properties. (gtk_tool_button_class_init): Improve text for "use_underline" property (gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based on whether the passed-in label has use_mnemonic set (gtk_tool_button_create_menu_proxy): Split image cloning out in new function. Make that function also handle image with pixbuf storage. (gtk_tool_button_construct_contents): Use gtk_widget_destroy() instead of gtk_container_remove(). (gtk_tool_button_construct_contents): Fix eliding bug * gtk/gtktoolbar.c (gtk_toolbar_finalize): New function. Unref tooltips, pointed out by Morten Welinder (gtk_toolbar_button_press): Make popup_context_menu signal provide coordinates and button number * tests/testtoolbar.c (main): Add new pixbuf toolbutton * tests/apple-red.png: new file Wed Jul 2 18:00:56 2003 Owen Taylor * gtk/gtkicontheme.[ch]: Implement a loader for named themed icon based on from gnome-desktop library by Alex Larsson. * gtk/gtkiconthemeparser.[ch]: .ini file parsing code from gnome-desktop. * gtk/gtkiconfactory.[ch]: Add gtk_icon_source_set/get_icon_name() to allow stock icons to be based off of named theme icons. * gtk/gtkiconfactory.c: Rework sources so that the source is *either* a pixbuf, or a filename, or an icon name, instead of the pixbuf/filename mix it was before. Put a workaround for get_pixbuf() so that it can return the filename pixbuf, e.g, for render_icon(). * gtk/gtkiconfactory.c: Make the default setup use themed icons, and add builtin icons to the default icon theme for all the standard pixbufs, so we don't rely on actually having an icon theme on disk. * gtk/gtkrc.c: Add support for @"icon-name" to specify a themed icon for a stock icon source. * tests/Makefile.am test/testicontheme.c: Add a test program from gnome-desktop. * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add Net/IconThemeName / gtk-icon-theme-name setting. * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually update the icon cache serial so we don't continually think we are out-of-date. * gtk/gtkwidget.c: Fix a couple of references in doc comments to ::direction_set that should have been to ::direction-changed Wed Jul 2 14:45:41 2003 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the style to the widget. Wed Jul 2 15:42:26 2003 Soeren Sandmann * gtk/gtk.h: Add new toolbar headers * tests/testtoolbar.c: new file * tests/Makefile.am (noinst_PROGRAMS): Add testtoolbar.c * gtk/gtkexpander.c (gtk_expander_class_init): Make it compile Tue Jul 1 22:49:25 2003 Soeren Sandmann * gtk/gtktoolbar.c: (gtk_toolbar_remove_tool_item): Fix bug where list is changed inside a for loop (pointed out by Morten Welinder). (gtk_toolbar_focus_home_or_end): Minor formatting change Comments from Owen: * gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use gtk_toolbar_elide_underscores instead. * gtk/gtktoolbar.c: rename signal from focus_ends to focus_home_or_end. (_gtk_toolbar_elide_underscores): export this as an internal function. (gtk_toolbar_move_focus): add comment explaining difference to gtk_toolbar_focus(); (gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and TAB_BACKWARD focus the right widgets in RTL mode * gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take "label" and "icon" parameters * gtk/gtktoolbutton.[ch]: remove icon_set property. 2003-07-01 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs. (116364, Morten Welinder) * tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the corresponding dialogs. * gtk/Makefile.am (gtk_public_h_sources): Add gtkfontbutton.h, gtkcolorbutton.h. (gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. * gtk/gtkfontbutton.[hc]: New files containing a font picker widget. * gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. * gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h. * gtk/gtkexpander.c: Small additions to the docs. 2003-07-01 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer): WindowFromPoint() wants screen coordinates (#115422, Tim Evans). 2003-07-01 Matthias Clasen * configure.in: Check for Xcursor. * gdk/x11/gdkcursor-x11.c: * gdk/gdkdisplay.h: * gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions: gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), gdk_display_supports_cursor_color(), gdk_display_get_default_cursor_size() and gdk_display_get_maximal_cursor_size(). (#69436) 2003-06-30 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function, callback proc for EnumWindows(). (gdk_drag_find_window_for_screen): Actually take the drag_window argument into account: Instead of using WindowFromPoint(), use EnumWindows(), to be able to skip the drag_window. (#116320, Tony M Brown, Herman Bloggs) * gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and gdk_window_ref()/unref() calls with g_object_ref()/unref(). Consistently use %p format in debugging output of pointers and HANDLEs. 2003-06-30 Mark McLoughlin * gtk/gtkexpander.h: kill some stray characters breaking the build. 2003-06-30 Mark McLoughlin Add GtkExpander. See discussion in bug #60553. * gtk/gtkexpander.[ch]: add. * gtk/Makefile.am: build gtk-expander.[ch]. * docs/widget_geometry.txt: add info on the layout of GtkExpander. Mon Jun 30 01:20:19 2003 Soeren Sandmann * gtkradiotoolbutton.c: new file * gtkradiotoolbutton.h: " * gtktoggletoolbutton.c: " * gtktoggletoolbutton.h: " * gtktoolbutton.c: " * gtktoolbutton.h: " * gtktoolitem.c: " * gtktoolitem.h: " * gtktoolbar.c: many changes * gtktoolbar.h: many changes * gtkseparatortoolitem.c: new file * gtkseparatortoolitem.h " New toolbar. - Items on a toolbar are now separate widgets, instances of a subclass of GtkToolItem. - Items there aren't room for on the toolbar are unmapped, and an overflow menu with a proxy menu item is added instead. - The toolbar is keyboard navigatable. Press TAB to focus the first item, then use arrow keys and Ctrl TAB to move around the toolbar. TAB moves focus out of the toolbar. - Bascially all of the old toolbar API is deprecated in favor of new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h - The toolbar is backwards compatible with the old toolbar. 2003-06-29 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter from docs, some more formatting fixes. 2003-06-28 Tor Lillqvist Fix for #111028, thanks to J. Ali Harlow, who writes: I found that the GdkPixmap->GdkImage reference really isn't important. It's only really there to have somewhere convenient to store the location of the pixel data in the pixmap and as an easy way of accessing the dimensions of that data. I have therefore put together a fix which removes this reference entirely which seems to solve the problem. * gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32): Instead of a pointer to a GdkImage, keep a pointer to the pixels directly. * gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove. (_gdk_win32_new_image): New function, replacing the above. Creates a GdkImage without any associated GdkPixmap. (gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead. * gdk/win32/gdkprivate-win32.h: Remove from here, too. * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap) * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap) * gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn) * gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description): * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize, gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new) Corresponding changes. Thu Jun 26 21:41:16 2003 Soeren Sandmann * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_cell_data): only set "is_expander" and "is_expanded" if the new value is different fromt he old one. Wed Jun 25 18:59:15 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: Fix typos. Update thread example I missed yesterday. 2003-06-24 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for shadow_type. * gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): (gtk_widget_class_list_style_properties): Use same parameter names as in header (to silence gtk-doc). * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments. Tue Jun 24 20:00:45 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: Thread support updates from Owen. Various suggestions from Steve Chaplin. 2003-03-24 Mohammad DAMT * po/id.po: Updated Indonesian translation 2003-06-21 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): When emulating X11's automatic grab on button down, pass owner_events as FALSE. According to the XLib spec, automatic grabs use True for owner_events when OwnerGrabButtonMask is selected, and I don't see the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271) (find_window_for_pointer_event): Improve debugging output. 2003-06-17 Tor Lillqvist * gtk-zip.sh.in (DLLDIR): Look for DLLs also in the bin subdirectory, where libtool 1.5 installs them. * README.win32: Point to FSF's binary Win32 distribution of gettext-runtime. 2003-06-17 Matthias Clasen * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New macros to check for XML catalog contents and path, borrowed from gtk-doc. * configure.in: New option --enable-man to enable regeneration of man pages from Docbook, if the necessary tools are found. 2003-06-15 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_class_init): * gtk/gtknotebook.c (gtk_notebook_class_init): * gtk/gtkalignment.c (gtk_alignment_class_init): * gtk/gtkpaned.c (gtk_paned_class_init): Document new properties as 2.4 additions. * gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs to the proper place, immediately before the g_signal_new() call. * gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags more obvious. (#115122, Jeff Franks) 2003-06-12 Anders Carlsson * gtk/gtkwidget.c: (event_window_is_still_viewable): Special case pixmaps. (#114880) 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received signals. Owen, we need to figure out where the best place for these comments in the source is. I currently put them in front of the signals enum. 2003-06-11 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/. Thu Jan 12 01:01:19 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): silly typo fix. s/seperator/separator/. This gets rid of the assert spam when using TreeView. Tue Jun 10 11:23:48 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (xim_instantiate_callback): New function for XIM instantiate callback. * modules/input/gtkimcontextxim.c (xim_info_try_im): New function where call to XOpenIM() or XRegisterIMInstantiateCallback() is actually made. * modules/input/gtkimcontextxim.c (xim_destroy_callback): New function for XIM's destroy callback. * modules/input/gtkimcontextxim.c (get_im): add a check if info->im is set or not - if it's not set, call xim_info_try_im() to try to initiaize it. * modules/input/gtkimcontextxim.c (reinitialize_ic): reset filter_key_release flag of the context. * modules/input/gtkimcontextxim.c (get_ic_real): removed * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move code from the removed get_ic_real(). For XIM instantiation, destruction and re-instantiation. With this, Gtk+ apps will be able to connect or reconnect to the XIM, when it starts after the apps, or when the XIM gets lost and recover. (#113099, #107782). Mon Jun 10 01:12:31 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size): check if width is !null, not *width. Doh. Tue Jun 10 01:09:33 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): Remove the weird dx logic, get all cell_area and background_area calculations right. Not sure what was up with it before. (Fixes #110989, testcase from Vasco Alexandre da Silva Costa). Tue Jun 10 00:58:23 2003 Soeren Sandmann * tests/testgtk.c: Make it compile with C89 compilers 2003-06-10 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_class_init): Install boolean property "overwrite". (gtk_text_view_[gs]et_property): Handle "overwrite". * gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter and setter for "overwrite" property. (#110241, Jeroen Zwartepoorte) 2003-06-09 Matthias Clasen * gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child properties "resize" and "shrink". (gtk_paned_[gs]et_child_property): Implementations of GtkContainer::[gs]et_child_property. * tests/testgtk.c (toggle_resize, toggle_shrink): Use the new paned child properties instead of remove/add hacks. (#114667, Soeren Sandmann) Mon Jun 9 16:18:11 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_button_press): Back out event->window test - it wasn't needed because of the call to get_widget_coordinates(). * gtk/gtknotebook.c (gtk_notebook_button_press): Remove call to gtk_widget_grab_focus() when not clicking on any tabs. (Real fix for #114534) Sun Jun 8 22:03:09 2003 Owen Taylor * tests/testdnd.c: Use application/x-rootwindow-drop for root window drops. (#108670, Alex Larsson) * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): Accept either application/x-rootwin-drop (what GTK+ has always used) or application/x-rootwindow-drop (what the XDND standard specifies). Fri Jun 6 11:07:33 2003 Owen Taylor * gtk/gtkwidget.c (event_window_still_viewable): Before delivering an event to a widget, check that (if relevant), the event's window is still viewable. (#105642, Dennis Björklund) * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): NULL out private->parent, since after destruction it might not be valid any more. * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some accesses before g_return_val_if_fail(). Treat DESTROYED windows as unmapped. Thu Jun 5 09:28:03 2003 Owen Taylor * gtk/gtkentry.c: Recompute unconditionally in gtk_entry_style_set, and in a new gtk_label_screen_changed(). Protect the guts of recompute_idle_func() with gtk_widget_has_screen(). (#114040, Morten Welinder) Fix FALSE/0 confusion. Sun Jun 8 18:27:14 2003 Soeren Sandmann * gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B. Fixes (#114669) Sun Jun 8 11:27:29 2003 Owen Taylor * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with set_adjustment (viewport, NULL); 2003-06-07 Matthias Clasen * gtk/gtkiconfactory.c (get_default_icons): * gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png: * gtk/stock-icons/Makefile.am: Add rtl variants of undo, redo, undelete and revert. (#96633) Fri Jun 6 16:25:44 2003 Owen Taylor * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and refactoring of code to reduce duplication; fixes include: - gtk_viewport_realize(): Position the window correct from adjustment values. (#110737, Michael Natterer) - Remove some division-by-zero checks in places where there is no longer division. (#110737) - gtk_viewport_class_init: Make the hadjustment/vadjustment properties G_PARAM_CONSTRUCT, so that there will always be adjustments, even if gtk_viewport_new isn't used (#101135, Thomas Leonard). - Switch over to encapsulated lazy-creation for hadjustment/ vadjustment; even with the CONSTRUCT property, we need this after destroy. - When updating the adjustment, immediate set their values to match the the current range of the viewport, and update the viewport position to match the value of the new adjustments. (Part of #1165) 2003-06-06 Tor Lillqvist * gdk/win32/gdkprivate-win32.h: Fix typo. * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set graphics_exposures and subwindow_mode, too, even if they aren't currently used. Fri Jun 6 23:38:23 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (do_expand_collapse), (expand_collapse_timeout), (cancel_arrow_animation): made expand_collapse_timeout a wrapper with locks around do_expand_collapse, made cancel_arrow_animation use do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from Peter Bloomfield). Fri Jun 6 11:05:45 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM): * modules/input/gtkimcontextxim.c (preedit_start_callback, preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag to keep preedit-[start,changed,end] signals from being called during finalization (#111861). 2003-06-05 Noah Levitt * gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button presses that are not on the tab (#114534). Thu Jun 5 20:35:40 2003 Owen Taylor * demos/Makefile.am: Conditionalize dependencies for gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe). Buildtest-inline-pixbufs.h in srcdir. Don't try to build test-inline-pixbufs.h if we don't have libpng. * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Add a dependency on gdk-pixbuf.loaders when not cross-compiling, remove the dependency on gdk-pixbuf-csource when not cross compiling. Thu Jun 5 20:12:51 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_get_default_size): Handle gtk_window_get_geometry_info() returning NULL. (#107311, John Finlay) Thu Jun 5 19:24:33 2003 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off twice the border width from the width/height, not 1x the border width. (#106336, Rodney Dawes) Thu Jun 5 15:33:38 2003 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line): If at the end of the buffer, move to the end iter - parallels behavior of move_iter_to_previous_line. (#81960, Padraig O'Briain) Thu Jun 5 16:12:54 2003 Owen Taylor #80023, Yao Zhang, TOKUNAGA Hiroyuki * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Account for the preedit cursor offset if the iter passed in is at the same place as the insertion cursor. * gtk/gtktextview.c (gtk_text_view_get_cursor_location): Encapsulate getting the insertion cursor location. * gtk/gtktextview.c (gtk_text_view_update_im_spot_location): Pass the real y/height to the IM context. Take text_view->x/yoffset into account. Thu Jun 5 16:52:54 2003 Owen Taylor * gtk/gtktextview.[ch]: Never scroll on focus in (#81893, Patch from Paolo Maggi) * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): Scroll to the current cursor location before handling the action, in case the user just tabbed in and the cursor is offscreen. Thu Jun 5 17:20:40 2003 Owen Taylor #107883, Gustavo Giráldez * gtk/gtktextlayout.c (gtk_text_layout_emit_changed): Split out the case where we know we changed, and already dealt with our cached line being invalidated from external calls to gtk_text_layout_changed. * gtk/gtktextlayout.c (gtk_text_layout_changed): Check if the invalidate yrange intersects our cached line, and clear it if necessary. 2003-06-05 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global filters. 2003-06-05 Matthias Clasen * gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson: (gtk_text_view_grab_notify): (gtk_text_view_state_changed): Implement these to unobscure cursor when grab shadowed or insensitised. (gtk_text_view_unobscure_mouse_cursor): New function to undo the effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from gtk_text_view_motion_event(). (gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor(). * gtk/gtktextview.c (select_all): New keybinding signal for (un)selecting the whole buffer. Bound to C-a/C-\. (see #107889) * gtk/gtkcalendar.c (calendar_timer): (stop_spinning): Replace deprecated gtk_timeout_* functions by their GLib counterparts. (#114429) * gtk/gtktreestore.c (gtk_tree_store_new): * gtk/gtkliststore.c (gtk_list_store_new): Document restriction on types. Wed Jun 4 19:42:17 2003 Owen Taylor * gdk/gdkpango.c (gdk_draw_layout_line_with_colors): When drawing underlines, join up adjacent runs where possible, so we don't get changes in shaper/font/etc. breaking underlines. (#103662, Kang Jeong-Hee) Wed Jun 4 19:22:58 2003 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert): Slightly modified patch from Owen Taylor to improve the speed of inserting rows into an already sorted list, #109292 Wed Jun 4 19:24:28 2003 Owen Taylor * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep track of when we have a clip mask set for the GC, and when we unset it, or switch to a clip region, immediately call XSetClipMask (..., None) to avoid Xlib caching stale data. (#111806) * gtk/gtktextdisplay.c: Don't set a clip mask when drawing alpha pixmaps; it isn't necessary any more. (#111806) Wed Jun 4 18:27:44 2003 Owen Taylor * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE (#92548, Tim Evans) * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator) gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If Use state_type = STATE_INSENSITIVE for insensitive menu items. Wed Jun 4 21:25:35 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent assert for get_info. (reported by Michael Natterer), (gtk_tree_view_expand_all_emission_helper), (gtk_tree_view_expand_all_helper): emit row_expanded for all expanded rows during an _expand_all operation. (Fixes #111280, reported by Benjamin Bayart). Tue Jun 3 18:32:30 2003 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't respond to pings on a root window; prevents infinite loops if we are selecting for SubstructureNotify on the root window. (#111945, Sergey V. Udaltsov) Tue Jun 3 17:39:16 2003 Owen Taylor #71597, reported by Morten Welinder * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify (Patch from Christian Petig) * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}): Major rewrite of 555 and 565 conversion routines: - Move all the bit shifting into a small block of macros, eliminating much duplication of complicated arithmetic. - Get rid of 2-pixels at a time code, which was buggy, hard to maintain, caused unaligned accesses, and probably didn't actually perform any better. - Simplify cases where different data types were used for the little and big endian cases, use GUINT16_SWAP_LE_BE() where appropriate. Tue Jun 3 15:05:47 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove bad optimization for src_rowstride == dest_stride. (Didn't consider the case where we were copying only partial widths of a wider source buffer) (#113034, reported by Hans Petter Jansson) 2003-06-03 Michael Natterer * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events): reenabled button_release events for xinput devices. (#113948) 2003-06-03 Christian Rose * configure.in: Added "li" to ALL_LINGUAS. Mon Jun 2 18:58:54 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't map the event window if the notebook isn't mapped. (#113980, Richard Reich) 2003-06-02 Sven Neumann * gtk/gtkprogress.c (gtk_progress_changed): added a missing cast. * gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable. 2003-06-01 Matthias Clasen * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add Since: 2.4 to the docs. * gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and an example to the docs. (#98427) 2003-05-30 Murray Cumming * gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with gtk_alignment_get_padding() and gtk_aligment_set_padding(). This uses the new private data system - see g_type_class_add_private() in gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE(). 2003-05-30 Matthias Clasen * gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the signature of gtk_notebook_draw_arrow() for Solaris builds to go through. (#114043, Anand Subramanian) Thu May 29 18:30:35 2003 Hidetoshi Tajima * modules/input/imipa.c: use GETTEXT_PACKAGE to get a translation for "ipa"(#113850). Thu May 29 18:08:01 2003 Hidetoshi Tajima * gtk/gtkimmodule.c (_gtk_im_module_list): use GETTEXT_PACKAGE to get a translation for "Default"(#113850). Thu May 29 09:34:05 2003 Hidetoshi Tajima * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default" label of default input method localizable. * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): use translations of input method context names * modules/input/imam-et.c, modules/input/imcyrillic-translit.c, modules/input/iminuktitut.c, modules/input/imthai-broken.c, modules/input/imti-er.c, modules/input/imti-et.c modules/input/imviqr.c, modules/input/imxim.c use GETTEXT_PACKAGE instead of "gtk+" for domain name. (#113850). Thu May 29 18:23:01 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus grab separate, the user might clear the tree in the focus-in callback. (Fixes #113086, testcase from Felipe Heidrich). Thu May 29 18:06:26 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch of row reference when we unset the model. Also reset dy and top_row_dy. (Fixes #109289, patch from Owen Taylor). Thu May 29 17:12:19 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel the current editing, if it exists. (Fixes #108956, reported by Michael Natterer). Thu May 29 17:06:09 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (check_selection_helper): new function, (gtk_tree_view_row_deleted): traverse the tree from the deleted node to see whether the selection changed, instead of just checking this node. (Fixes #107400, reported by 'Duncan'). Thu May 29 16:31:34 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row), (gtk_tree_view_drag_begin): set the DnD icon in _drag_begin instead of _maybe_begin_dragging_row, so the icon can be overridden by apps. (Fixes #104374, patch from Daniel Elstner). Thu May 29 16:14:04 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_start_editing): correct cell_area x/width for the expander if needed. (Fixes #101748, reported by Dave Cook and Mariano Suarez-Alvarez). Thu May 29 16:01:38 2003 Kristian Rietveld Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check if tree/node are still the same after _internal_select_node. (Fixes #92256, reported by edscott). Thu May 29 15:38:30 2003 Kristian Rietveld Fixes #75745, reported by Richard Hult. Merged from stable. * gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset GTK_CELL_RENDERER_FOCUSED flag whether the current node is the cursor or not. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): if we are rendering a cursor row, and the cell the be processed has focus, then set the GTK_CELL_RENDERER_FOCUSED flag (else we unset it). 2003-05-27 Matthias Clasen * gtk/gtkwindow-decorate.c: * gtk/gtktreeprivate.h: * gtk/gtkdnd.c: * gdk/win32/gdkwindow-win32.h: * gdk/linux-fb/gdkprivate-fb.h: * gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of unspecified signedness. (#112919, Morten Welinder) * gtk/queryimmodules.c (escape_string): * gtk/gtktextbtree.c (_gtk_text_btree_get_text): * gtk/gtksettings.c (_gtk_settings_parse_convert): * gtk/gtkrc.c (gtk_rc_parse_assignment): * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all occurances of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder) 2003-05-27 Tor Lillqvist * gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}. * gdk/Makefile.am: libgdk-win32-2.0.la depends on win32/libgdk-win32.la. * gtk/gtk.def: Add gtk_tree_view_column_cell_get_position. Sat May 24 22:19:13 2003 Soeren Sandmann * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum scrollbar slider length 21 instead of 7. 2003-05-23 Matthias Clasen * gtk/gtknotebook.c: Add support for up to four scroll arrows. Control their display by new style properties "has_forward_stepper", "has_backward_stepper", "has_secondary_forward_stepper" and has_secondary_backward_stepper". (#110540) * gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and click_child three bits wide, add has_{before,after}_{previous,next} fields. * gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on focus out of hex_entry. (#112665) (hex_focus_out): New signal handler for focus out of hex entry. Wed May 21 19:01:06 2003 Owen Taylor * gtk/gtkwidget.c (gtk_widget_realize): g_return_if_fail() if GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget). (#107872, Christian Reis) 2003-05-22 Matthias Clasen * gtk/gtkfilesel.c (gtk_file_selection_create_dir): (gtk_file_selection_rename_file): Some keynav improvements for the "Rename File" and "Create Directory" subdialogs: Enter in entry activates default, default is "Create"/"Rename", Escape cancels dialog. (#113110) (gtk_file_selection_set_filename): Add a hint about opening directories. (#113175) 2003-05-22 Matthias Clasen * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip): Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2 anyway. (#113476) Wed May 21 15:53:14 2003 Owen Taylor * gtk/gtkprogress.c (gtk_progress_set_format_string, gtk_progress_set_show_text): Always queue a resize ... we rely on the size-allocate to do the update, plus a different format can actually change our size requisition. (#111052, Vasco Alexandre da Silva Costa) * gtk/gtkprogress.c (gtk_progress_changed): Track ::changed as well as ::value_changed, and queue a resize on ::changed when necessary. * gtk/gtkprogress.c (gtk_progress_set_adjustment): Call gtk_progress_changed() here to update or queue a resize as necessary. Wed May 21 14:06:13 2003 Hidetoshi Tajima * gtk/gtkimcontextsimple.c: added composing rules of Greek accented letters, patch by Vasilis Vasaitis (#107507) Wed May 21 13:19:05 2003 Hidetoshi Tajima * gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): * modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change): gtk settings for XIMPreeditNone and XIMStatusNone. (#105909) Wed May 21 12:10:25 2003 Hidetoshi Tajima * gtk/gtkimcontextsimple.c: code that can check the compose table for ascending order, by Vasilis Vasaitis (#104862). Wed May 21 12:52:01 2003 Owen Taylor * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need to pass the unmasked state to gdk_keymap_translate_keyboard_state() to handle the case where a modifier not in the mask (like Num_Lock) changes the key value, so replace the masked state with a state/mask pair. (#106913, Olivier Ripoll) * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass in state/mask pair to _gtk_key_hash_lookup() Tue May 20 21:58:00 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (xim_info_display_closed): fix a memory leak, free input context list (#113259). 2003-05-21 Matthias Clasen * configure.in (all_loaders): Add pcx. * gtk/gtkcalendar.c: Make calendar controls spin. (#112540) Tue May 20 17:27:24 2003 Owen Taylor * gtk/gtkimmodule.c (gtk_im_module_init): Silently accept a missing gtk.immodules file, some people want to run without one. (#112406, patch from Arnaud Charlet) Tue May 20 17:05:31 2003 Owen Taylor * gtk/gtkwindow.c (gtk_window_compute_hints): Fix height/width confusion (#113370, Xan Lopez) Tue May 20 15:48:45 2003 Owen Taylor * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively zero all unused parts of client messages (Mainly Motif DND and EWMH). Also, fix a couple places where we were putting contents into Motif DND messages that didn't belong. (#113361, EWMH problem reported by Lubos Lunak) * gtk/gtkselection.c (_gtk_selection_request): Handle the case where the property type for the multiple atoms is ATOM_PAIR by doing the conversions ourselve. This is needed for Xt inter-operation. 2003-05-19 Arafat Medini * configure.in: Added ar to ALL_LINGUAS 2003-05-19 Matthias Clasen * gtk/gtksettings.c (gtk_rc_property_parse_border, gtk_rc_property_parse_color, gtk_rc_property_parse_enum, gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition): Add docs. * gtk/gtkwidget.c (gtk_widget_class_install_style_property, gtk_widget_class_install_style_property_parser): Add docs. 2003-05-17 Matthias Clasen * tests/prop-editor.c: Add navigation for object properties, so that you can easily edit the properties of the parent of a widget. (#113152) Wed May 14 17:45:32 2003 Owen Taylor * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c: Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis inconsistency and leave the old name as an aliass (#104873) Wed May 14 16:40:09 2003 Owen Taylor * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch from Charles Schmidt to add missing notify (#108305) Wed May 14 16:00:51 2003 Owen Taylor * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail(). (#105500, Morten Welinder.) Wed May 14 09:05:11 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32 instead of gumake for XNFilterEvents event mask(#110493). 2003-05-11 Anders Carlsson * gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to a GObject. (#112762) 2003-05-08 Sven Neumann * configure.in: set the HAVE_X11R6 automake conditional to false if not compiling for X11. 2003-05-08 Matthias Clasen * gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): (gtk_calendar_get_display_options): New functions. (gtk_calendar_display_options): Depreate. (#64567) (gtk_calendar_class_init): Add boolean properties for the display options. (#50949) Tue May 6 16:50:52 2003 Owen Taylor Patch from James Henstridge to update to automake-1.7 (#109542) * autogen.sh: update to call newer tools. * configure.in: various updates, to use M4 macros to put variables that change each release at the top. Use AC_HELP_STRING to format help strings. Use AC_CONFIG_COMMANDS to generate gdkconfig.h. * Makefile.am: require Automake 1.7. Remove gdk-2.0.pc and gtk+-2.0.pc on uninstall. Pass --enable-gtk-doc to configure during distcheck. * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make makefile fragment. * */Makefile.am: don't use STRIP_BEGIN/STRIP_END. Use BUILT_SOURCES where appropriate. Build generated files in builddir rather than srcdir. Fix uninstall and distclean targets to satisfy distcheck. === * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h built first, since we are now using BUILT_SOURCES. * gdk/Makefile.am: Remove an outdated comment about gdk_headers. * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem with geninclude.pl. * configure.in: Update versions to 2.3.0. 2003-05-06 Tor Lillqvist Fix for #110165 (thanks to Arnaud Charlet): * gdk/win32/gdkevents-win32.c (build_keypress_event, build_keyrelease_event): For unshifted control char, use lowercase ASCII keyval. (gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and UP (i.e. Alt-something), if it's an unshifted ASCII letter, use lowercase keyval. Use build_key_event_state() here, too, instead of minor code duplication. 2003-05-06 Matthias Clasen * tests/testmultidisplay.c: Don't include strings.h, it's not needed anymore. (#112388) * examples/menu/itemfactory.c: * docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the itemfactory example. 2003-05-05 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_source_set_icon_stock): Actually set the icon type to the stock icon type. (#111735, Dave Bordoley) 2003-05-05 Christian Rose * configure.in: Added sr and sr@Latn to ALL_LINGUAS. Removed sp, it's replaced by sr@Latn. Wed Apr 30 22:09:11 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from Gonzalo Odiard Mon Apr 28 17:54:39 2003 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search data iff the destroy func isn't NULL. Thu Apr 24 19:12:05 2003 Owen Taylor * autogen.sh (have_libtool): Accept libtool-1.5. (#111480) 2003-04-23 Abel Cheung * configure.in: Added "am" "mk" "ta" to ALL_LINGUAS. Tue Apr 22 15:33:51 2003 Owen Taylor * gtk/gtkfilesel.c (open_new_dir): Fix capitalization of UTF-8. (#106419, Roozbeh Pournader) Tue Apr 22 15:17:25 2003 Owen Taylor * configure.in: Only check for XFT2 if we found pango-xft (#105692, Jon Nall) Tue Apr 22 15:12:19 2003 Owen Taylor * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/ PROP_IS_FOCUS confusion. (#111333, Jody Goldberg) Tue Apr 22 19:43:01 BST 2003 Tony Gale * docs/faq/gtk-faq.sgml: add note about version converage. Mon Apr 21 19:02:16 2003 Owen Taylor * gtk/gtksocket.c (activate_key): Fix prototype for activate_key. (#108927, Jason D. Hildebrand) Mon Apr 21 18:42:51 2003 Owen Taylor * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl: Remove geninclude.pl from CVS and don't dist it either, it is generated. (#108970, Rich Kinder) Mon Apr 21 18:35:48 2003 Owen Taylor * gtk/gtkobject.h: Remove a couple of obsolete comments, fix another comment. (#109737, Britton Kerin) Mon Apr 21 18:29:03 2003 Owen Taylor * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free the source list, not just it's contents (Patch from Charles Kerr, #108243) Mon Apr 21 18:13:46 2003 Owen Taylor * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch from Alex Larsson fixing problem with restacking during DND. (#108671) Mon Apr 21 15:07:29 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab): Calling XFlush() after ungrabbing, to avoid problems if the app subsequently blocks on a long-running operation. (#106520, reported by Rajkumar Siva) Fri Apr 18 17:42:45 2003 Owen Taylor * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add SKIP_TASKBAR/SKIP_PAGER to set of properties we might set on map. (#110019, problem reported by Loban Rahman) Fri Apr 18 17:14:33 2003 Owen Taylor * gdk/gdkevents.c (gdk_event_copy): Fix for the case when gdk_event_copy() is called on a non-allocated event. (#109716, reported by Rich Burridge) Fri Apr 18 16:57:44 2003 Owen Taylor * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps): Fix pointer arithmetic on 'void *'. (#108322) Fri Apr 18 16:31:49 2003 Owen Taylor * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am: Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and use of XAddConnectionWatch. Remove --enable-xim config option. Should fix building on X11R6 (#110523, Albert Chin) Fri Apr 18 15:56:46 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]: Patch from Morten Welinder to catch Sun servers with a broken implementation of the RENDER extension. (#108309) Fri Apr 18 15:30:38 2003 Owen Taylor * gdk/x11/gdkwindow-x11.c (set_text_property): Use gdk_free_compound_text(), not g_free(). (#107643, Michael Zucchi) Fri Apr 18 15:11:50 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type) gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix wrong use of base_finalize. (#105126, Sven Neumann) Fri Apr 18 15:06:00 2003 Owen Taylor * gdk/gdkwindow.c (gdk_window_constrain_size): Fix '/' vs. '*' problem in aspect ration computations. (#108237) Fri Apr 18 14:15:09 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_display_open): * gdk/x11/gdkevents-x11.c (gdk_event_translate): You don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify event, so select for both. (#108406, Egmont Koblinger) Thu Apr 17 09:57:44 2003 Jonathan Blandford * gtk/gtktreeview.c (validate_visible_area): remove infinite loop caused by not clearing the scroll_to_path. 2003-04-16 Matthias Clasen * gtk/gtkstyle.c: Doc additions and fixes. * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_get_neighbor_sizes): Doc fixes. 2003-04-14 Michael Natterer * gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure that the iter is not reordered to its own position. Prevents model corruption for the case that the store contains only a single item (fixes bug #108387). Unrelated: * gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the new list element later so we don't leak it if we decide to return early. * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): set selection->tree_view->priv->anchor to NULL after freeing it. 2003-04-13 Matthias Clasen * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_position): Document. * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): * gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document these as 2.4 additions. 2003-04-09 Matthias Clasen * INSTALL.in: Fix the real thing. * INSTALL: Typo fix. Mon Apr 7 19:43:15 2003 Owen Taylor * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush after ungrabbing the server. * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed calls to XFlush(). * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer): Use gdk_x11_display_grab/ungrab. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize use_xshm to TRUE so SHM gets used when present. 2003-04-07 Matthias Clasen * gtk/gtktextlayout.c (set_para_values): * gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR. (#110086, David Brigada) * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous misspellings of possessive "its". (#110027, Doug Quale) 2003-04-03 Matthias Clasen * demos/gtk-demo/main.c (demo_find_file): Only use files from the current directory if it looks like the srcdir. (#109357) Wed Apr 2 23:02:26 2003 Soeren Sandmann * gtk/gtkbutton.[ch] (gtk_button_class_init): add property focus_on_click * gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard navigation not wrap around. 2003-04-02 Matthias Clasen * gtk/gtkprogress.c (gtk_progress_get_percentage_from_value): Return 0 if lower == upper. (#109155) (gtk_progress_get_current_percentage): Use gtk_progress_get_percentage_from_value(). 2003-04-01 Matthias Clasen * gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs. (#109510, Noah Levitt) Mon Mar 31 13:52:13 2003 Jonathan Blandford * gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's members so Purify won't complain. * gtk/gtkliststore.c (gtk_list_store_sort): ditto. 2003-03-31 Matthias Clasen * gtk/gtkwindow.c: Add a new property, role, corresponding to gtk_window_[gs]et_role(). (#93904) Sun Mar 30 03:57:42 2003 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows): fix crash. Patch from Markus Lausser 2003-03-29 Matthias Clasen * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state of labels back to normal before reparenting back. (#102387) * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set a default window title to match the GtkFontSelectionDialog behavior. (gtk_color_selection_dialog_new): Don't call gtk_window_set_title() if title is NULL. (bug #101975, Daniel Elstner) 2003-03-29 Matthias Clasen Fix for bug #78499: * gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and select_lines. * gtk/gtkentry.c (gtk_entry_button_press): Set select_words and select_lines on double/triple click. * gtk/gtkentry.c (gtk_entry_motion_notify): Implement select-by-words and select-by-lines behaviour. Fixes for bug #56248: * gtk/gtknotebook.c (stop_scrolling): New function to remove the timer and queue a redraw. (gtk_notebook_grab_notify): (gtk_notebook_state_changed): New functions to call stop_scrolling() if necessary. (gtk_notebook_button_release): Use stop_scrolling(). (gtk_notebook_draw_arrow): Fix drawing of insensitive arrows. * gtk/gtkrange.c (stop_scrolling): New function to remove the grab, remove the timer and queue a redraw. (gtk_range_grab_notify): (gtk_range_state_changed): New functions to call stop_scrolling() if necessary. (gtk_range_button_release): Use stop_scrolling(). * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): (gtk_spin_button_state_changed): Redraw after stop_spinning. (gtk_spin_button_stop_spinning): Reset click_child to correct the drawing of the arrows. (gtk_spin_button_button_release): Use a local copy of click_child, since stop_spinning() resets it. * gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and C-A-PgDown as alternatives to the A-less variants. (This slipped in accidentally some time ago). (#97860) 2003-03-26 Sven Neumann * gtk/gtktreeview.c: rewrote the function that does node and arrow prelighting, queue all redraws from here (Fixes bug #108792). 2003-03-20 Richard Kinder * demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE. Fixes bug #108778. 2003-03-20 Guntupalli Karunakar * configure.in: Added "ml" in ALL_LINGUAS Sat Mar 15 18:49:27 2003 Manish Singh * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of G_DISABLE_DEPRECATED. 2003-03-14 Tor Lillqvist * gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with multiple monitors can have negative coordinates on some of the monitors. (partial fix for #99496, Arnaud Charlet) 2003-03-15 Matthias Clasen * gtk/gtktextview.c: Add a "buffer" property. (#108353) 2003-03-13 Sven Neumann * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property): removed redundant calls to g_object_notify(). (gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see bug #108236. * gtk/gtktextiter.c (_gtk_text_iter_get_segment_char) (_gtk_text_iter_get_segment_byte): return 0, not NULL (these functions return an integer value). 2003-03-13 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_MOUSEMOVE, the test whether we have actually moved (and thus shouldn't generate an GDK event) moved after the call to propagate() and translate_mouse_coords(). Otherwise we were testing wrong values. (#108115, Allin Cottrell) (gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same way as in WM_?BUTTONDOWN and WM_MOUSEMOVE. * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor is used, must copy the HCURSOR with CopyCursor(), as it is OK to destroy the GdkCursor after calling gdk_pointer_grab(). Set the cursor right away with SetCursor(), as we won't get any WM_SETCURSOR messages while the mouse is captured. (gdk_display_pointer_ungrab): Correspondingly, destroy the copy with DestroyCursor() when no longer used. (#108114, Allin Cottrell) * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_SYSCHAR, return FALSE from the window procedure to prevent the DefWindowProc from being called. Otherwise Windows would beep, thinking you are tring to access a (nonexistent) menu when you press Alt-something. Don't do this for Alt-Space, though. (#107454, Martyn Russell) * gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes. Tue Mar 11 12:01:07 2003 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift [left/right] expands/collapses the tree, #108092 2003-03-09 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to compensate for LineTo() not drawing the end pixel. It causes more harm than benefits, see bug #81895. 2003-03-08 Matthias Clasen Bug #107664 continued: * gdk/x11/gdkinputprivate.h: * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. (_gdk_input_other_event): Return gboolean. * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. (_gdk_input_other_event): Return gboolean. * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val gboolean, remove pointless call to _gdk_input_window_none_event. * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean. (_gdk_input_window_none_event): Remove. * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): (_gtk_text_iter_get_any_segment): (_gtk_text_iter_get_segment_byte): (_gtk_text_iter_get_segment_char): (_gtk_text_iter_get_text_line): (_gtk_text_iter_get_btree): Fix 0/NULL confusion. * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint. * gdk/win32/gdkfont-win32.c (gdk_font_equal): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): (gdk_window_get_origin): * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 2003-03-06 Matthias Clasen * gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint. (#107664, Morten Welinder) * gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): * gdk/x11/gdkfont-x11.c (gdk_font_equal): * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): Fix TRUE/1 and FALSE/0 confusion. (#107664, Morten Welinder) * gtk/gtktextmark.c (gtk_text_mark_get_buffer): * gtk/gtkeditable.c (gtk_editable_get_chars): * gtk/gtkctree.c (gtk_ctree_find_node_ptr): * demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion (#107648, Morten Welinder)Fix NULL/FALSE confusion (#107648, Morten Welinder) 2003-03-04 Matthias Clasen * gtk/gtkobject.h: Add deprecation guards for gtk_object_new (). Sun Mar 2 23:35:57 2003 Jonathan Blandford * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size): handle rtl code. Thanks to Matthias Clasen for an initial patch to handle the RTL code. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto * gtk/gtktreeview.c: (invalidate_column), (invalidate_last_column), (gtk_tree_view_get_real_requested_width_from_column), (gtk_tree_view_size_allocate_columns), (gtk_tree_view_size_allocate), (gtk_tree_view_button_press), (gtk_tree_view_button_release_drag_column), (gtk_tree_view_update_current_reorder), (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose), (gtk_tree_view_key_press), (gtk_tree_view_header_focus), (gtk_tree_view_get_background_xrange), (gtk_tree_view_get_arrow_xrange), (gtk_tree_view_is_expander_column), (gtk_tree_view_set_column_drag_info), (gtk_tree_view_move_cursor_left_right): Add RTL support. * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an expand flag. * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_class_init), (gtk_tree_view_column_set_property), (gtk_tree_view_column_get_property), (gtk_tree_view_column_set_expand), (gtk_tree_view_column_get_expand), (gtk_tree_view_column_cell_process_action): Add support for expand flag. Thanks to Kristian Rietveld for an initial patch for this. Fri Feb 28 02:06:17 2003 Jonathan Blandford 2003-03-02 Tor Lillqvist * gdk/gdk.def * gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric Gustin. 2003-03-01 Matthias Clasen * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): (gtk_scrolled_window_set_hadjustment): Replace uses of gtk_object_new by g_object_new. Thu Feb 27 17:44:24 2003 Manish Singh * demos/gtk-demo/main.c * demos/gtk-demo/tree_store.c * gdk/x11/gdkscreen-x11.c * gtk/gtkcellrenderertoggle.c * gtk/gtkcolorsel.c * gtk/gtkdnd.c * gtk/gtkeditable.c * gtk/gtkentry.c * gtk/gtkmenu.c * gtk/gtkmenubar.c * gtk/gtkmenuitem.c * gtk/gtkmenushell.c * gtk/gtkrc.c * gtk/gtksettings.c * gtk/gtkstyle.c * gtk/gtktextbuffer.c * gtk/gtktextview.c * gtk/gtktreeviewcolumn.c * tests/testgtk.c * tests/testtext.c * tests/testtreeedit.c * tests/testtreefocus.c * tests/testtreeview.c: remove unnecessary G_OBJECT() casts. Tue Feb 25 21:55:17 2003 Jonathan Blandford * gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL code. 2003-02-24 Sven Neumann * gtk/gtkmain.c (gtk_get_default_language): fixed documentation. 2003-02-21 Tomas Ogren * docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example 2003-02-20 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): Check if line_ancestor_parent is NULL. (#102711, Manuel Clos) * gtk/gtktextview.c (gtk_text_view_scroll_to_iter): (gtk_text_view_update_adjustments): Make sure cursor stays visible during horizontal scrolling. (#75270) 2003-02-19 Matthias Clasen * tests/testdnd.c: Replace gtk_timeout_* by their GLib counterparts. (#106532) * gdk/gdkkeys.c (gdk_keymap_class_init): Associate the keys_changed virtual function with the keys_changed signal. (#106512, Jeff Franks) 2003-02-15 Larry Ewing * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well. 2003-02-17 Mohammad DAMT * po/id.po: Added Indonesian translation * configure.in: Added "id" to ALL_LINGUAS 2003-02-14 Matthias Clasen * gtk/gtktextview.c (popup_targets_received): Remove bogus casts. 2003-02-12 Christian Rose * configure.in: Added "yi" to ALL_LINGUAS. 2003-02-12 Matthias Clasen Fix for #82734 and #78216: * gtk/gtktextview.c (delete_cb): (select_all_cb): New callbacks for context menu items. (popup_targets_received): Add "Delete" and "Select All" to context menu, mnemonics and title caps for all items. * gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete" context menu item. (popup_targets_received): Add "Delete" to context menu, mnemonics and title caps for all items. 2003-02-09 Tor Lillqvist * gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use GetDriveType() to recognize removable drives (in order to avoid hanging if trying to access an empty floppy drive), instead of hardcoding A: and B: (#105654). 2003-02-09 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in names. (#57680) 2003-02-09 Christian Rose * configure.in: Removed "en@IPA.po" from ALL_LINGUAS. Fri Feb 7 04:49:46 2003 Tim Janik * gtk/gtkobject.c: remove quark_user_data usage in gtk_object_{g|s}et_user_data(). fixes get_user_data() returning NULL for user_data set through property interface. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out warnings if a pixbuf couldn't be retrieved, since (a) this doesn't need to be a programming error (in case of loaded data), (b) it breaks with 2.0 behaviour where extra magic could be used to create empty images. don't attempt to retrieve pixbufs from NULL extra_data. 2003-02-06 Matthias Clasen * gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return a GdkVisual *, not a GdkVisual **. (#105243) * gtk/gtkclist.c: * gtk/gtkctree.c: * gtk/gtkcontainer.c: * gtk/gtkdnd.c: * gtk/gtkentry.c: * gtk/gtklist.c: * gtk/gtkmenu.c: * gtk/gtkmenuitem.c: * gtk/gtknotebook.c: * gtk/gtkselection.c: * gtk/gtkspinbutton.c: * gtk/gtktext.c: * gtk/gtktextview.c: * gtk/gtktooltips.c: * gtk/gtktreeview.c: * gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by their non-deprecated GLib counterparts. * gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*. Sun Feb 2 16:45:57 GMT 2003 Tony Gale * docs/tutorial/gtk-tut.sgml: cleanups from Sebastian Rittau (#104832) 2003-02-01 Tor Lillqvist Merge from stable: * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display, gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement. (#104108, Naofumi Yasufuku) * gdk/gdk.def: Export the above. Export gdk_screen_get_system_visual, noticed by Ed Woods. Fri Jan 31 17:45:22 2003 Manish Singh * demos/pixbuf-demo.c * demos/testpixbuf.c * demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage. Fri Jan 31 17:33:00 2003 Manish Singh * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state on the tab_label before unparenting it, in case the unparent drops the refcount to 0. 2003-02-01 Matthias Clasen * gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk headers. Sorry about gtk_selection_clear, Yosh. Thu Jan 30 17:16:05 2003 Manish Singh * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION too, for gtkwidget.c. Remember people, when introducing new deprecations, make sure internal code isn't using it, or if so, reorganize appropriately like I've done in other places. * tests/testtext.c: don't use deprecated gtk_timeout_* stuff. 2003-01-31 Matthias Clasen * gtk/gtkselection.h: * gtk/gtkselection.c (gtk_selection_clear): Deprecate. (#85683) * gdk/gdkpixbuf.h: * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): (gdk_pixbuf_render_to_drawable_alpha): Deprecate. (#60582) * gtk/gtkcolorsel.h: * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook): Deprecate. (#98167) * gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077) * gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_* and gtk_input_* functions. (#71596) * gtk/gtkentry.c (gtk_entry_move_cursor): * gtk/gtklabel.c (gtk_label_move_cursor): Handle GTK_MOVEMENT_HORIZONTAL_PAGES in switches. * gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs(). (#79803) * gtk/gtkitemfactory.h: * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. (#69244) Thu Jan 30 23:48:30 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell): only count the special cell if it is also visible, (_gtk_tree_view_column_get_neighbor_sizes): only take the width into account from visible cells, (gtk_tree_view_column_cell_get_position): likewise, (Reported and testcase provided by Vasco Alexandre da Silva Costa, via IRC, tracking bug was #104563). Thu Jan 30 23:46:15 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): subtract expander space and focus line space from the extra space we are about the allocate. (Fixes #104635). Thu Jan 30 23:42:03 2003 Kristian Rietveld * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error (Fixes #96242, patch from Soeren Sandmann). Thu Jan 30 16:54:29 2003 Owen Taylor * gtk/gtknotebook.c: Patch from Soeren Sandmann to update the states of the tab label child widgets to match the state of the tabs. (#93389, Reported by Tommi Komulainen) Thu Jan 30 16:30:54 2003 Owen Taylor * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from EXTRA_DIST, and from dist rules. (#102231) 2003-01-30 Daniel Elstner * gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper function that sets the icon's and label's packing options and visibility based on toolbar->style. (gtk_toolbar_internal_insert_element): (gtk_real_toolbar_style_changed): Make use of set_child_packing_and_visibility() to clean up the code and get the packing right for icon-only/text-only toolbars. (#104679) (get_first_child): Remove, and use gtk_bin_get_child() instead. 2003-01-30 Matthias Clasen * gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by GTK_MOVEMENT_HORIZONTAL_PAGES. (#68947) * gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep. Thu Jan 30 16:01:29 2003 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the attempt-to-allocate then free code. To handle multiple people allocating colors at the same time, we need to just go ahead and try. (#102213, Shivram U) 2003-01-30 Daniel Elstner * gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque rectangle using the background color rather than relying on gdk_window_clear_area(), so that the palette works properly with pixmap themes. (#101732) * demos/gtk-demo/colorsel.c: Install an "expose_event" handler to fill the drawing area in the background color. Wed Jan 29 14:11:21 2003 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory initialization error for selecting input style (#103549). Wed Jan 29 17:02:41 2003 Owen Taylor * gdk/gdkkeyuni.c (get_decimal_char): Make the translation of GDK_KP_Decimal dependent on LC_NUMERIC. (#101225) Wed Jan 29 15:43:56 2003 Owen Taylor * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Make up from the menu bar go to the end of the submenu. (#96114, Ian Peters.) * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): Only do the select-but-not-activate stuff if the menu is already active. Otherwise, just activate. (#101690, Arvind Samptur) Tue Jan 28 15:18:24 2003 Owen Taylor * autogen.sh (have_automake): Fix version in complaint message about automake. (#104366, Rich Burridge) Mon Jan 27 16:38:13 2003 Owen Taylor * configure.in: Remove SOEXT stuff; it doesn't work portably. Mon Jan 27 22:45:15 2003 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if we appended/prepended, send the rows_reordered signal to the correct level ... (Reported by Matthew Tuck). Mon Jan 27 22:43:11 2003 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail out if the level only has one item, recurse over the child if there is one. (Fixes #100458, reported by Gaël Le Mignot). Mon Jan 27 22:41:26 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_set_model), (gtk_tree_view_search_equal_func): make TreeView search handle all types which are transformable by GValue. (Fixes #99803, reported by Muktha Narayan). Mon Jan 27 22:39:25 2003 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id): *really* handle unsetting the ID. Slightly modified patch from Soeren Sandmann. Fixes #87556, reported by Jarek Dukat. Mon Jan 27 22:33:43 2003 Kristian Rietveld Fixes the total GtkTreeSortable mess, and #83195, reported by Jarek Dukat * gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id), (gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func), (gtk_tree_store_set_default_sort_func): use the constant GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions work as advertised by the documentation. * gtk/gtklistore.c (gtk_list_store_get_sort_column_id), (gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func), (gtk_list_store_set_default_sort_func): likewise. * gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id), (gtk_tree_model_set_sort_func), (gtk_tree_model_sort_set_default_sort_func): make functions work as advertised by the documentation. Mon Jan 27 22:31:56 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column before we decide if we edit. (fixes #100973, reported by Dave Cook). Mon Jan 27 22:29:30 2003 Kristian Rietveld Bug report and test case from Paolo Maggi via IRC. * gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed, (gtk_list_store_move): update tail if needed. Mon Jan 27 16:19:59 2003 Owen Taylor * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window might be NULL. Use gtk_widget_get_display (widget) (#102860, Thomas Leonard) Mon Jan 27 15:58:31 2003 Owen Taylor * configure.in: Fix --without-modules/--disable-modules confusion that was causing --disable-modules not to work. (#102865, Akira Tagoh) * configure.in: Fix problem with plain --with-xinput (#104266, Akira Tagoh) 2003-01-24 Sebastian Rittau * docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last patch. Fri Jan 24 17:06:41 GMT 2003 Tony Gale * docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h Thu Jan 23 21:15:29 GMT 2003 Tony Gale * docs/faq/gtk-faq.sgml: Learn to spell Library Thu Jan 23 20:56:56 GMT 2003 Tony Gale * Sebastian Rittau : docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a Composite widget" to modern standards. (I.e. use gobject instead of glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869. * docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe code in Appendix C to reflect above changes. * examples/rangewidgets/rangewidgets.c: From Roger Leigh auto resize on page size change 2003-01-23 Daniel Elstner * gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all in addition to show_all in order to keep them symmetric. (#102201) Wed Jan 22 14:18:46 2003 Manish Singh * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at the end of the function, so there is a statement following the "out" label in all cases (fixes #101961) 2003-01-22 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. Wed Jan 15 17:02:18 2003 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange): Fix off-by-one error on the backward iteration loop, that was causing the wrong range to be redrawn. (at least part of #72734) 2003-01-21 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the vadjustment value after changing its bounds. (fixes #101963 and #73562) * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid unnecessary roundtrip failures. (#93500) 2003-01-19 Tor Lillqvist Merge from stable: Fix for #103614 and some other problems with GtkFileSelection on Windows: * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not g_ascii_tolower(). Windows file names are case-insensitive for all Unicode letters. * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h earlier, as it includes config.h unconditionally, and gtkprivate.h redefines GTK_LOCALEDIR. (struct _CompletionDirSent): Ifdef out the fields not used on Windows. (compare_utf8_filenames, compare_sys_filenames): Need different comparison implementation for UTF-8 file names and system locale file names on Win32. Cannot simply use g_ascii_strcasecmp(), but need to casefold all Unicode letters. (cmpl_completion_matches, open_dir, correct_parent): Ifdef out variables not used on Win32 to avoid warnings about unused variables. (open_ref_dir): Use g_path_skip_root() to skip past potential drive letter in front of the leading (back)slash. (open_new_dir): Ifdef out use of CompletionDirSent fields not there on Win32. (correct_parent): Bypass inode check also on Cygwin. Fix bug noticed by Alex Shaduri: Tooltips and other GDK_WINDOW_TEMP windows were activated. This looked very odd, and was a regression from earlier versions. * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune behaviour. Don't ever activate GDK_WINDOW_TEMP windows. (gdk_window_move, gdk_window_resize): Add debug logging. * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a WM_SIZE message for a non-visible (withdrawn) window, don't clear the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn even if its size changes. 2003-01-16 Matthias Clasen * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes. (totally_invisible_line): Fix an incorrect optimization which caused invisible paragraphs to be occasionally misrendered. Wed Jan 15 15:55:47 2003 Owen Taylor * gtk/gtksettings.c: Set the double click speed from XSETTINGS when creating a new GtkSettings object as well as when getting a notify. (#103601, reported by Louis Garcia) Wed Jan 15 14:56:09 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_size_allocate): Show/hide the notebook event window as necessary, we weren't previously keeping the visibility updated properly. (#103599) 2003-01-15 Matthias Clasen * examples/menu/itemfactory.c: * docs/tutorial/gtk-tut.sgml: Add a to the itemfactory example. (#103211) 2002-12-29 Murray Cumming Fixes #102168. * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c: Actually implement the GtkTreeDragSource::row_draggable virtual function in GtkListStore and GtkTreeStore instead of just checking whether it's implemented at all. This means that DnD isn't broken by gtkmm's virtual function wrappers. The alternative would be to hard-code the TRUE return value into gtkmm's wrappers, but that's part of GTK+'s implementation, not it's API. Tue Jan 14 23:42:29 2003 Kristian Rietveld * gtk/gtktreeview.c: fix compiler warning. Tue Jan 14 23:29:00 2003 Kristian Rietveld * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): make sure exposed pixbufs are clipped to the exposed area before drawing, which is a slight speedup. (#102379, patch from Soeren Sandmann). Tue Jan 14 23:26:41 2003 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): silly typo fix, only free scroll_to_path when the complete tree has been validated. This makes sure that we scrolled to the correct path. Tue Jan 14 23:25:32 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_style_set): update the background of widget->window and bin->window. (Fixes #96650, reported by Dave Camp). Tue Jan 14 23:24:02 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process updates before scrolling, avoiding a "selection streak". (Fixes #101235, patch from Soeren Sandmann). Tue Jan 14 23:22:13 2003 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): actually put values in the requisition using gtk_widget_size_request. (Fixes #100172, reported by Kjartan Maraas). Tue Jan 14 23:19:45 2003 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the arrow animation timeout before we actually reorder the rbtree. If we don't do this we can get stuck arrows, (cancel_arrow_animation): new function. (Fixes #93629, part 2, reported and testcase provided by Hans Petter Jansson). Tue Jan 14 23:18:21 2003 Kristian Rietveld * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range): anchor_path should be start_path, not end_path. (Fixes #102618, patch from Carlos Garnacho Parro). Tue Jan 14 23:16:15 2003 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_move): also update the tail, only correct new_pos if we don't move to the head/tail. Tue Jan 14 23:11:55 2003 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from the parent_iter if depth >= 1, so we send the reordered signal to the correct level, remove debugging printfs which I forgot the remove earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and testcase provided by Matthew Tuck). Tue Jan 14 20:58:44 2003 Kristian Rietveld * gtk/gtktreeview.c (invalite_last_column): split out actual column invalidation into invalidate_column(), (gtk_tree_view_size_allocate_columns): invalidate column if the new width is larger than the old width. (fixes #102890, reported by Alex Duggan). 2003-01-14 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and GTK_MOVEMENT_WORDS. * gtk/gtktextiter.c, gtk/gtktextiter.h: Add some variant movement functions which skip invisible chars, and do some cleanups. 2003-01-12 Tor Lillqvist Merge from stable: * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier, as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time lookup. * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on gdk.def. * gdk/gdk.def * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO. * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0, gtk-demo}.exe and share/gtk-2.0. * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint): Implement by setting or clearing the WS_EX_TOOLWINDOW extended window style. (gdk_window_set_type_hint): Add all cases to the switch (not all do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by calling gdk_window_set_skip_taskbar_hint(). This means that GTK won't know that the skip_taskbar hint is on for the window, is this bad? Wed Jan 8 18:43:03 2003 Manish Singh * gdk/x11/gdkdisplay-x11.c: #include for putenv, for strlen. * gdk/x11/gdkscreen-x11.c: #include for getenv, for strrchr. * tests/testgtk.c (create_saved_position): "x" and "y" properties for widgets no longer exist, use gtk_window_move instead. * test/testtextbuffer.c (check_get_set_text): cast strlen to int for g_error. 2003-01-08 Matthias Clasen * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of the selection in the presence of invisible segments. 2003-01-07 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\ to "select all" and "unselect all". (#102065) * gtk/gtktextview.h (struct _GtkTextView): Add a comment that the just_selected_element is unused. * gtk/gtktextview.c (extend_selection): New helper function to find the range that should be added to the selection. (selection_motion_event_handler): (gtk_text_view_start_selection_drag): (gtk_text_view_end_selection_drag): (selection_motion_event_handler): (selection_scan_timeout): Support select-by-words/lines. (gtk_text_view_button_press_event): Start a selection drag on double/triple clicks. (#78499) 2003-01-06 Matthias Clasen Implement a utility function proposed in #102534: * gtk/gtktextbtree.h: * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function. (_gtk_text_btree_place_cursor): Now a simple wrapper around _gtk_text_btree_select_range(). * gtk/gtktextbuffer.h: * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function. (gtk_text_buffer_place_cursor): Now a simple wrapper around gtk_text_buffer_select_range(). 2003-01-05 Havoc Pennington * configure.in: fix a stray bracket that was breaking the build 2003-01-05 Tor Lillqvist * gtk-zip.sh.in: Use correct DLL and import library names, with GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION. (DEVZIP): Add gdk-pixbuf-query-loaders.exe. * configure.in: Improve check for dimm.h. * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in gdk-pixbuf/Makefile.am. * gdk-pixbuf/makefile.mingw.in * gdk-pixbuf/pixops/makefile.mingw.in * gdk/makefile.mingw.in * gdk/win32/makefile.mingw.in * gtk/makefile.mingw.in: Remove. Not maintained anyway. * gdk-pixbuf/Makefile.am * gdk-pixbuf/pixops/Makefile.am * gdk/Makefile.am * gdk/win32/Makefile.am * gtk/Makefile.am * configure.in: Remove makefile.mingw{,.in} from here, too. * README.win32: Updates. Don't mention the now removed makefile.mingw files. * gdk/gdk.def * gtk/gtk.def: Add a couple of missing entries. * gdk/gdkkeynames.c: Include for strcmp() and memcpy(). * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround earlier. * gdk/win32/rc/Makefile.am: Add hack to help build/win32/lt-compile-resource decide which kind of libtool object file to produce. 2003-01-05 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make C-Down step through the sequence of paragraph ends (old behaviour included paragraph starts). (#80340, patch by Narayana Pattipati) * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle): Check for a tag toggle at the start iterator before calling gtk_text_iter_forward_to_tag_toggle(). (#102090, patch by Daniel Elstner) 2003-01-04 Matthias Clasen * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/ and /*< private >*/ as appropriate. (#97211) 2003-01-04 Tor Lillqvist * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do distribute gtk-zip.sh.in. * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1. 2003-01-03 Havoc Pennington * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST * docs/text_widget_internals.txt: add a file documenting some of the text widget internals 2003-01-02 Matthias Clasen * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may return NULL. (#102069) 2003-01-01 Matthias Clasen * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having a main() in the library is obviously bad. 2002-12-27 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the cursor at drop point. (#72384) (gtk_text_view_size_allocate): Update the horizontal adjustment value. (#75694) 2002-12-25 Matthias Clasen * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of selection wrt. to empty lines. (#90435, #90582, #91619) * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): Keep the cursor on screen. (#96929) 2002-12-24 Matthias Clasen * gtk/gtktextbuffer.c (paste_from_buffer): (clipboard_text_received): Let the user action span the insertion and the deletion of the old selection. (#82844) 2002-12-23 Matthias Clasen * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts): Don't call gtk_text_iter_backward_sentence_start() if count is zero. (#99115) * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call move_cursor() even if the cursor hasn't moved, since it has the side effect of canceling the selection. (#81395, #98537, #98333) 2002-12-22 Matthias Clasen * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes with empty ranges. (fixes #101564 and #80637) 2002-12-21 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that sets the window style and extended window style, and adjusts the width and height to take the window decorations into account earlier. The adjusted width and height used to be ignored. Remove the local x, y, width and height variables, no need to further confuse the code by having local copies. (Partial fix, I hope, for #101588) (gdk_window_move): When moving top-level windows, take title bar and border width into account, offsetting the coordinates before calling SetWindowPos(). (gdk_window_set_decorations, gdk_window_set_functions): Reimplement, taking into account the peculiar semantics of GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036) (gdk_window_get_decorations): Implement. (#98981) (gdk_window_set_type_hint): When setting GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations(). (#79036) * gdk/gdk.def: Add gdk_window_get_decorations. (#98981) 2002-12-21 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_set_background): New static function to set the background of all windows. (gtk_text_view_style_set): Use gtk_text_view_set_background(). (gtk_text_view_state_changed): New function; change background according to state. (#88126) 2002-12-21 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation