2005-07-12 Matthias Clasen * gdk/gdkgc.c (make_stipple_tile_surface): Fix cairo_content_t <-> cairo_format_t confusion. (#310086, Carlos Garnacho Parro) * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_get_display_name): Follow the Nautilus change and rename "Filesystem" to "File System", string change. (#310047, Vincent Noel) 2005-07-12 Matthias Clasen * demos/gtk-demo/iconview.c: Rename this demo. * demos/gtk-demo/iconview_edit.c: Add a demo for icon view editing and drag-and-drop. * demos/gtk-demo/geninclude.pl.in: Accept dashes in demo titles. 2005-07-12 Matthias Clasen * gtk/theme-bits/decompose-bits.c: * gtk/gtkfilechooserembed.c: * gtk/gtktextmarkprivate.h: * gtk/gtktexttagtable.h: * gtk/gtktexttagtable.c: * gtk/gtkrc.key.emacs: Add Copyright/License information. * gdk/linux-fb/gdkrender-fb.c: * gdk/linux-fb/gdkpango-fb.c: * gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkgc-fb.c: * gdk/linux-fb/gdkfbswitch.c: Add Copyright/License information. * gdk/gdkwindow.h: * gdk/gdkvisual.h: * gdk/gdkselection.h: * gdk/gdkselection.c: * gdk/gdkregion.h: * gdk/gdkproperty.h: * gdk/gdkpixmap.h: * gdk/gdkpixbuf.h: * gdk/gdkkeyuni.c: * gdk/gdkintl.h: * gdk/gdkinput.h: * gdk/gdkimage.h: * gdk/gdkgc.h: * gdk/gdkfont.h: * gdk/gdkevents.h: * gdk/gdkdnd.h: * gdk/gdkcursor.h: * gdk/gdkcolor.h: Add Copyright/License information. 2005-07-11 Matthias Clasen * modules/input/imm-extra.h: Add Copyright/License information. 2005-07-11 Matthias Clasen * gtk/gtktexttag.c (gtk_text_tag_class_init) (gtk_text_tag_set_property): Remove the runtime warning about the invisible property, add a warning about possible remaining problems to the documentation of the property. (#66194) * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Don't ever go unconditionally to the buffer ends; that doesn't work if the initial or final portion of the buffer are invisible. 2005-07-11 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_class_init): add binding entry for ctrl + backspace (move focus to parent without affecting selection), (gtk_tree_view_real_select_cursor_parent): implement ctrl+backspace and simplify the function a bit. (#309296, Kathy Fernandes). 2005-07-11 Matthias Clasen Make gdk_window_present() move the window to the current desktop, instead of letting the WM change the current desktop to where the window is. (#166379, Elijah Newren) * gdk/gdk.symbols: * gdk/x11/gdkx.h: * gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop): New function to move a window to the current desktop. * gtk/gtkwindow.c (gtk_window_present_with_time): Move the window to the current desktop before giving it focus. 2005-07-11 Matthias Clasen When dragging text, use a drag icon showing the (ellipsized) text that is being dragged: (#161132, Kevin Duffus, patch by Carlos Garnacho Parro) * gtk/gtktextutil.h: * gtk/gtktextutil.c (_gtk_text_util_create_drag_icon): Add a function to create a pixmap for use when dragging text. * gtk/gtktextview.c (gtk_text_view_start_selection_dnd): * gtk/gtklabel.c (gtk_label_motion): * gtk/gtkentry.c (gtk_entry_motion_notify): Use a drag icon showing the text being dragged. 2005-07-11 Matthias Clasen * gtk/gtkentry.c (gtk_entry_move_forward_word) (gtk_entry_move_backward_word): Match the text view change to allow selecting whitespace with double-click. * gtk/gtktextview.c (extend_selection): Make double-clicking between words select whitespace. (#309860, Mike Miller, patch by Paolo Borelli) * gtk/gtkiconview.c: Documentation improvements. (#309946, Torsten Schoenfeld) 2005-07-10 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): remove unneeded check for negative window_y. 2005-07-10 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): also move to the next match when ctrl+g is pressed. (#156657, Matt T. Proud). 2005-07-10 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): rework function to make page up/down behave the same as in GtkTextView. (Fixes #101220, Owen Taylor). 2005-07-09 Kristian Rietveld Fix #305737, patch from Tomislav Jonjic. This makes the gtk_tree_store_insert* family of functions emit row_has_child_toggled when needed (they didn't do that before). * gtk/gtktreestore.c (gtk_tree_store_insert): emit row_has_child_toggled when needed, (gtk_tree_store_insert_before): fix a possible memleak, emit row_has_child_toggled when needed, (gtk_tree_store_insert_after): ditto. 2005-07-09 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_expand_row): when open_all is TRUE, traverse the newly built tree to emit row_expanded for the subitems. (rev 1.444, patch in #172319 broke this). Fixes #305582, reported by Billy Biggs. 2005-07-09 Tor Lillqvist * configure.in: Look for windres on Win32. Drop build/* from AC_CONFIG_FILES. * Makefile.am: Drop build from SUBDIRS. * gdk/win32/rc/Makefile.am * gdk/Makefile.am * gtk/Makefile.am: Don't use the scripts in build/win32 to compile the rc files into resource object files. (This means we lose the build number increment magic, but I doubt it was that useful anyway.) Instead use windres directly. To pass a normal .o file produced by windres through libtool, which would want a .lo file, pass it directly to the linker using a -Wl option. * gdk/win32/rc/gdk.rc.in * gtk/gtk-win32.rc.in: Replace BUILDNUMBER with 0. 2005-07-08 Kristian Rietveld Fixes #165034, reported by Jorn Baayen. * gtk/gtkrbtree.[ch] (_gtk_rbtree_set_fixed_height): add a mark_valid parameter (so we can mark all nodes as valid when we are setting them to the fixed height). * gtk/gtktreeview.c (initialized_fixed_height_mode): mark all nodes as valid when setting the fixed height, (do_validate_rows): update call to _set_fixed_height, (gtk_tree_view_row_inserted): mark node as valid when fixed height mode is enabled and a height has been set, (gtk_tree_view_build_tree): if fixed height mode is enabled, mark new nodes as valid in addition to setting the height. 2005-07-08 Matthias Clasen * configure.in: Bump version * === Released 2.7.2 === * NEWS: Updates * gtk/gtkcelllayout.c (gtk_cell_layout_pack_start): (gtk_cell_layout_pack_end): Add a note about reusing cell renderers. * gtk/gtkdnd.c (gtk_drag_update_cursor): Pass a GdkDragAction to gtk_drag_get_cursor. (#309784, Sebastian Bacher) 2005-07-08 Tor Lillqvist * gtk/gtkfilesel.c: Use g_get_host_name(). 2005-07-07 Matthias Clasen * configure.in: Add -DHPPEX -DSHMLINK to CFLAGS for HP-UX. (#162979, Paul Cornett) * gtk/gtkhscale.c (gtk_hscale_new_with_range): (gtk_vscale_new_with_range): Add some additional docs on precision here too. (#309238, Steve Chaplin) * gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't generate events on destroyed windows. Implement Drag-and-Drop to the file list. (#145121, Sven Neumann) * gtk/gtkfilechooserdefault.c (file_list_drag_data_received_cb) (file_list_drag_drop_cb, file_list_drag_motion_cb): New functions to handle drag-and-drop on the file list. (create_file_list): Set up drag-and-drop handlers on the file list. 2005-07-07 Matthias Clasen Fix #157787, reported by Jonathan Blandford: * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_current_folder): Don't leave a "trail" behind when set_current_folder is called explicitly. (gtk_file_chooser_default_update_current_folder): New function that is called to update the current folder in response to user actions. * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Add a boolean keep_trail argument, and don't leave a "trail" behind unless it is set. 2005-07-06 Manish Singh * demos/gtk-demo/menus.c: change_orientation() should return void, remove unused variable in do_menus(). 2005-07-06 Tor Lillqvist * gdk/win32/gdkcursor-win32.c (gdk_win32_icon_to_pixbuf_libgtk_only): Don't create the GdkPixbuf until we know that we have something to put in it. 2005-07-05 Matthias Clasen * gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): Add some additional docs on precision. (#309238, Steve Chaplin) * modules/input/imime.c: Fix includes. (#309462, Kazuki IWAMOTO) 2005-07-05 Matthias Clasen * doc/tools/widgets.c: Actually generate a file-button image. 2005-07-06 Tor Lillqvist * gdk/win32/gdkcursor-win32.c: Add comment about the current named cursor implementation, and what it maybe really should do. (gdk_win32_icon_to_pixbuf_libgtk_only): New function, code moved here from gtk/gtkfilesystemwin32.c:extract_icon(). (gdk_cursor_get_image): Use gdk_win32_icon_to_pixbuf_libgtk_only(). * gdk/gdk.symbols * gdk/win32/gdkwin32.h: Declare gdk_win32_icon_to_pixbuf_libgtk_only(). * gtk/gtkfilesystemwin32.c (extract_icon): Use gdk_win32_icon_to_pixbuf_libgtk_only(). 2005-07-05 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_grab_notify): Take window groups into account. (#309473, Diego Gonzalez) * gtk/gtkwindow.[hc]: Add a non-exported function to get the grab widget of a window group. 2005-07-05 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_bin_expose): in the 'main' expose loop, add back the calls to _set_cell_data removed earlier. (#309221, Matthias Clasen). 2005-07-05 Matthias Clasen * demos/gtk-demo/menus.c: Demonstrate vertical menubars. * gtk/gtk.symbols: * gtk/gtkaboutdialog.[hc]: Add a wrap-license property with getter and setter. (#165012, Christian Rose, based on a patch by Christian Persch) 2005-07-05 Matthias Clasen * gdk/Makefile.am: Distribute the keyname-table.h header and the files that are used to construct it. (#309421, J. Ali Harlow) 2005-07-04 Matthias Clasen * gtk/gtkmenubar.c (gtk_menu_bar_set_pack_direction) (gtk_menu_bar_set_child_pack_direction): Queue a resize on the contained menuitems as well. * demos/gtk-demo/appwindow.c: Break some overlong lines. 2005-07-03 Hans Breuer * **/makefile.msc[.in] : updated * gtk/gtkiconcache.c : for open() * gtk/gtkstyle.c : use G_PI instead of M_PI * gdk/win32/gdkcursor-win32.c : implement gdk_cursor_new_from_name() by mapping the lower case win32 api name to the respective cursor. E.g. pass "wait" to get the IDC_WAIT cursor. Also allows to load cursors from named resources in the executable. (gdk_cursor_get_image) : just return NULL for now. * gdk/win32/gdkgeometry-win32.c : implement gdk_window_move_region() by delegation to ScollWindowEx(), untested. * gdk/win32/gdkwindow-win32.c : stub for gdk_window_set_urgency_hint() 2005-07-03 Matthias Clasen * gtk/gtkimagemenuitem.c: Hmm, when committing my vertical menubar patch, I forgot the GtkImageMenuItem changes. And I managed to do 2 releases without noticing that... * gtk/gtksettings.c (gtk_settings_class_init): Correct the blurb for the icon-sizes setting. String change. (#309355, Benjamin Berg) 2005-07-01 Matthias Clasen * configure.in: Bump version. * === Released 2.7.1 === * NEWS: Updates 2005-07-01 Matthias Clasen * gtk/gtkfilesel.c (cmpl_init_state): Prevent an infinite loop when G_FILENAME_ENCODING is invalid. (#309280, Padraig Brady) Thu Jun 30 14:17:24 2005 Manish Singh * gdk/x11/gdkprivate-x11.h: declare _gdk_xgrab_check_button_event. * gtk/gtkbutton.c: fix signature of gtk_button_grab_broken. 2005-06-30 Matthias Clasen * gdk/x11/gdkvisual-x11.c (gdk_visual_decompose_mask): Avoid infinite loop if a mask is zero. (#309222, David Saxton) * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_fetch_child): Clarify the code, gcc 4 complains about predecrement in MAX(). * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize): Don't prematurely unregister callbacks. * NEWS: Updates 2005-06-29 Matthias Clasen * gtk/gtkbutton.c (gtk_button_grab_broken): Handle broken grabs. * gtk/gtkrange.c (gtk_range_grab_broken): Handle broken grabs. * gdk/gdkevents.h: Add a boolean to specify wether the broken grab was implicit. * gdk/x11/gdkdisplay-x11.c (gdk_display_pointer_is_grabbed): As the documentation states, don't return TRUE for implicit grabs. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a boolean field to store wether a pointer grab is implicit. * gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_button_event): Track implicit grabs. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call _gdk_xgrab_check_button_event for button events. 2005-06-28 Matthias Clasen * gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2): Make sure that cell boxes are always completely inside the item area. 2005-06-27 Matthias Clasen * demos/gtk-demo/main.c (create_tree): Make the list of demos scrollable. * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix positioning at the end of the line for lines ending in invisible characters. (gtk_text_layout_get_line_display): Set display->layout to a PangoLayout, even for totally invisible lines. * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore GrabBroken events which are caused by overgrabbing inside the application; menus rely on these for their operation. * gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a grab_window field. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Set grab_window to NULL when generating GrabBroken events for WM_KILLFOCUS messages. * gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap) (_gdk_xgrab_check_destroy): Set grab_window to NULL when generating GrabBroken events when the grab window becomes unviewable or is destroyed. * gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab): Generate GrabBroken events when overriding a grab inside the application. In this case, set grab_window to the new grab_window. 2005-06-27 Matthias Clasen * gtk/gtkbutton.c (gtk_real_button_activate): Continue to activate even if we can't grab the keyboard. (gtk_button_finish_activate): Only ungrab when we have a keyboard grab. (#172998, William Jon McCann) 2005-06-27 Matthias Clasen * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize): Avoid a segfault. (#309054) 2005-06-27 Matthias Clasen * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add fields for grab timestamps. * gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab): Store grab timestamps when grabbing. * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab) (gdk_display_pointer_ungrab): Don't unset the grab_window if the timestamps indicate that the ungrab will fails. * gtk/gtkmenu.c (gtk_menu_grab_notify): Cancel menus when they are grab-shadowed by something thats not a submenu. (#145416, Euan MacGregor) 2005-06-27 Owen Taylor * gtk/gtk[hv]ruler.c (gtk_[hv]ruler_draw_ticks): Fix indentation. 2005-06-27 Kjartan Maraas * gtk/gtkhruler.c: (gtk_hruler_draw_ticks): Fix leaks * gtk/gtkvruler.c: (gtk_vruler_draw_ticks): Same Closes bug #308953. 2005-06-27 Matthias Clasen * gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Use GMappedFile. * configure.in: Require GLib 2.7.1 2005-06-26 Matthias Clasen * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize): Unregister XIM callbacks here. (#309054) * modules/input/gtkimcontextxim.h: Small cleanup. * gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the scroll offset when drawing the box. (#308834, Tom von Schwerdtner) 2005-06-26 Tor Lillqvist * gdk/Makefile.am * gtk/Makefile.am: Current GNU tools do understand the PRIVATE keyword, so no need to remove those entries from the import library. libtool installs the .dll.a import library itself, so no need to do it here. Install the .def file. Sun Jun 26 00:04:36 2005 Manish Singh * gdk/gdkevents.c (gdk_event_get_time, gdk_event_get_state): add GDK_GRAB_BROKEN to the switch cases. * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): remove unused variables. * gtk/gtkpaned.c (gtk_paned_grab_broken): return TRUE. 2005-06-26 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_grab_broken): Stop column header drag operations if the grab is broken. * gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if the grab is broken. * gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't do explicitly ungrab pointer and keyboard. We're unmapping the grab window anyway. (gtk_combo_box_popup): Handle grab failures. 2005-06-25 Matthias Clasen * gdk/x11/gdkmain-x11.c (gdk_keyboard_grab, gdk_pointer_grab): Don't emit grab-broken for overgrabbing, until we figure out how to do that without breaking the menu code. 2005-06-25 Matthias Clasen Add a GrabBroken event to GDK, and a grab-broken-event signal to GtkWidget. (#107320, Simon Cooke, initial patch by John Ehresman) * gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type, define a GdkEventGrabBroken event struct. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate GrabBroken events in response to WM_KILLFOCUS. * gdk/x11/gdkmain-x11.c: Generate GrabBroken events when a grab is broken by the window becoming unviewable, or by another grab from the same client. * gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event. * gtk/gtkwidget.c (gtk_widget_event_internal): Translate GrabBroken events into grab_broken_event signals. * gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken events. * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate the menu when the grab is broken. * gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop the color picker if the grab is broken. * gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if the grab is broken. 2005-06-25 Matthias Clasen Add some new stock items. (#166480, Kristof Vansant) * gtk/stock-icons/stock_fullscreen_16.png: * gtk/stock-icons/stock_fullscreen_24.png: * gtk/stock-icons/stock_leave_fullscreen_16.png: * gtk/stock-icons/stock_leave_fullscreen_24.png: * gtk/stock-icons/stock_info_16.png: * gtk/stock-icons/stock_info_24.png: New icons. * gtk/stock-icons/Makefile.am: Add new icons. * gtk/gtkstock.h: Define names for the new icons. * gtk/gtkstock.c (builtin_items): Register new stock items. * gtk/gtkiconfactory.c (get_default_icons): Register new stock icons. 2005-06-24 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_select_conv): Fix up selection of conversion functions for MSB machines: convert_0888[_br] now work on bytes so are endian independent. (Reported by David Zeuthen) 2005-06-24 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_scroll_hpages): Don't jump to the next line if we are at the end of the line. (gtk_text_view_move_cursor_internal): Make movement by paragraphs up/down symmetric. (#307055, Behnam Esfahbod) 2005-06-23 Tor Lillqvist Improve and simplify line segment rendering on Win32, especially the implementation of GDK_CAP_NOT_LAST, and dashed lines. Fixes bugs #306396 and #308413. * gdk/win32/gdkprivate-win32.h (GdkGCWin32): Save the GdkGC's line_style, cap_style and join_style as such in the GdkGCWin32. Don't need to keep the pen_double_dash flag, we can check the line_style. * gdk/win32/gdkgc-win32.c (fixup_pen): New internal function. Sets up the GDI pen type, style, end cap and join attributes to use based on the pen width, GDK line style, end cap style, and join style. For a narrow (zero-width) GDK pen with the GDK_CAP_NOT_LAST end cap style, which typically are used for XOR drawing where it is essential that the last pixel is not drawn, use a GDI cosmetic pen. Only for a cosmetic pen does GDI not draw the last pixel. I deduced this by experimetation, the documentation is rather vague. For other GDK pens use a geometric GDI pen. If the width is 0 or 1 and the GDK end cap style is GDK_CAP_BUTT, and the line style is GDK_LINE_SOLID, use PS_ENDCAP_ROUND. This ensures that also single-pixel length lines are drawn. (For sngle-pixel width lines roundness as such is of course irrelevant.) For dashed lines, use PS_ENDCAP_FLAT. For wide lines use PS_ENDCAP_FLAT, _ROUND or _SQUARE, respectively, for GDK_CAP_BUTT, GDK_CAP_ROUND and GDK_CAP_PROJECTING. For one pixel on-off dashed lines, use PS_ALTERNATE, it seems to work better than PS_USERSTYLE. For other dashed lines, use PS_USERSTYLE and the dashes as set by the user (or the default four-pixel on-off style). (gdk_win32_gc_values_to_win32values, gdk_win32_gc_set_dashes): Call fixup_pen() to do the pen settings after modifying some of the GDK GC attributes that affect pens. * gdk/win32/gdkdrawable-win32.c (render_line_horizontal, render_line_vertical, draw_segments): Check GdkGCWin32::line_style instead of the the removed pen_double_dash member. Don't use PATCOPY unconditionally in the PatBlt() call, use a raster op code that depends on the GC function in use. (draw_rectangle, draw_segments, draw_lines): Be more careful in deciding when to do the manual dash rendering. (draw_segments): Don't do any manual "last point" drawing at all. The above changes takes care of narrow line segments being drawn correctly in most cases, at least on NT-based Windows. 2005-06-23 Matthias Clasen * gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): Fix an error in the cache timeout logic. (#166601, Morten Welinder) * gtk/gtktreeview.c (gtk_tree_view_key_press): Change the keynav for header reordering and resizing to Alt-arrows and Shift-Alt-arrows, following a proposal by the keynav authority. (#308666, Calum Benson) * gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Remove a leftover debugging envvar. 2005-06-23 Owen Taylor * gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Fix the big endian case for 3-channel source. (Reported by David Zeuthen) 2005-06-23 Matthias Clasen * gtk/gtkbutton.c (gtk_button_construct_child): Don't trigger warnings if there are extra references to the hbox. (#308677, Dan Winship) * gtk/gtkfilesystemunix.c (bookmark_list_write): Use g_file_set_contents(). (#308722, Morten Welinder) 2005-06-22 Matthias Clasen * gdk/x11/gdkdnd-x11.c (xdnd_finished_filter): Set the time field in the event. (#308573, Morten Welinder) * gtk/gtkfilesystemunix.c: Remove gratitious differences between the stable branch and HEAD, which sneaked in with the bookmark renaming. 2005-06-22 Kjartan Maraas * gtk/gtkhsv.c: (gtk_hsv_expose): Don't leak the cairo context Closes bug #308581. 2005-06-21 Matthias Clasen * gtk/gtkarrow.c: * gtk/gtkimage.c: * gtk/gtklabel.c: * gtk/gtkpixmap.c: Modify all of the GtkMisc widgets to round down on centering calculations to match the behaviour of other parts of GTK+. (#307419, Ryan Lortie) 2005-06-21 Matthias Clasen * gtk/gtkdnd.c (gtk_drag_source_set): Connect to button-release-event as well, to handle touchscreen scenarios better. (#171490, Markku Vire) * gtk/*.h: Trivial cleanups. (#169647, #303455, Fabricio Barros Cabral, Benoit Carpentier) * gdk/gdk.symbols: * gdk/gdkwindow.h: * gdk/x11/gdkgeometry-x11.c (gdk_window_move_region): New function which can be used to implement scrolling in non-window widgets. (#135165, Søren Sandmann) 2005-06-20 Matthias Clasen * gtk/gtkiconcache.c: Handle MAP_FAILED. (#308449, Georg Schwarz) 2005-06-20 Matthias Clasen * configure.in: Bump version number. * === Released 2.7.0 === 2005-06-20 Matthias Clasen * gtk/gtk.symbols: * gtk/gtkwindow.h: * gtk/gtkwindow.c (gtk_window_present_with_time): Variant of gtk_window_present which takes a timestamp. (#166379, Elijah Newren) 2005-06-19 Matthias Clasen * gtk/gtk.symbols: Add a forgotten symbol * NEWS: Updates 2005-06-19 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): added a check which avoids processing updates on bin_window and scrolling if the node is already visible. (#170600, Billy Biggs). 2005-06-19 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): only keep the row at the same position if the full row is visible. (#304623, Jorn Baayen). 2005-06-19 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set dy to zero if treeview's height is smaller than the current page_size (just like we do elsewhere). 2005-06-19 Kristian Rietveld Make mousewheel scrolling possible in typeahead mode, suggestion from Reinout van Schouwen (#307898). * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory): connect treeview search window to scroll_event signal, (gtk_tree_view_search_scroll_event): implement. 2005-06-19 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_search_button_press_event): pass the event on to treeview, so it has a change of selecting a row, etc. (#169677, Kirk Bridger). 2005-06-19 Kristian Rietveld This commit includes a fix for #169463, Stefan Kost. * gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_get_size): when cell_area is set, return cell_area width/height as width/height, so the focus rectangle will be drawn correctly. * gtk/gtktreeview.c (gtk_tree_view_bin_expose): drop unneeded get of focus-line-width property, (validate_row): take focus_line_width into account. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action): also take focus_line_width into account when calculating the cell_area y and height (before, we only took it into account when calculating x and width). 2005-06-19 Matthias Clasen * gtk/gtk.symbols: * gtk/gtksizegroup.[hc]: Add an ignore-hidden property with getter and setter. (#171612, Christian Neumair) 2005-06-18 Matthias Clasen * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Make this work for inserting before/after an existing menuitem or toolitem. (#155946, Christian Persch) * tests/testmerge.c (delayed_toggle_dynamic): Test the "insert after" functionality of gtk_ui_manager_add_ui. * gtk/gtkuimanager.c: Allow to construct menu tool buttons. (#300678, Sven Neumann) * demos/gtk-demo/appwindow.c: Demonstrate menu tool buttons constructed with GtkUIManager. * gtk/gtk.symbols: * gtk/gtkimage.h: * gtk/gtkimage.c (gtk_image_clear): Make this function public. (#64792, Havoc Pennington) 2005-06-18 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_bin_expose): undo merging of the separate loop setting cell data with cell drawing loop (introduced in revision 1.280), since this breaks focus handling wrt special cells. Sat Jun 18 04:22:51 2005 Manish Singh * gdk/gdkcursor.h: remove GDK_CURSOR and GDK_IS_CURSOR, instance checks don't work on boxed types. * gdk/x11/gdkcursor-x11.c: * gdk/gdkcursor.c: make return_if_fail checks != NULL instead of GDK_IS_CURSOR. Sat Jun 18 04:21:58 2005 Manish Singh * gtk/gtktreeview.c (do_presize_handler): remove unused variable height_old. 2005-06-18 Matthias Clasen * gtk/gtkcellrenderertoggle.c: * gtk/gtktextview.c: * gtk/gtktreeview.c: Typo fixes in comments. * gtk/gtkpaned.c (gtk_paned_add): Barf if more than 2 children are added. (#308111, Morten Welinder) * gtk/gtkcalendar.c (gtk_calendar_init): _NL_FIRST_WEEKDAY is 1-based. (#163842, Pierre Ossman) 2005-06-17 Kristian Rietveld Fix #160281, testcase from Peter Bloomfield. * gtk/gtktreeview.c (do_presize_handler): always size request and update adjustments in fixed height mode, (gtk_tree_view_build_tree): if a fixed height is set, set this height on newly added nodes. 2005-06-17 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Set the actions and suggested_action fields in the GdkDragContext to GDK_ACTION_COPY. Otherwise apps that check the suggested_action field, like eog, won't accept dropped files. 2005-06-17 Matthias Clasen Support the ICCCM urgency hint. (#61858, Havoc Pennington) * gtk/gtk.symbols: * gtk/gtkwindow.[hc]: Add a GtkWindow::urgency-hint property with getter and setter. * gdk/gdk.symbols: * gdk/gdkwindow.h: * gdk/x11/gdkwindow-x11.c (gdk_window_set_urgency_hint): Add a setter for the urgency hint. * gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store urgency hint here. * gdk/x11/gdkwindow-x11.c (update_wm_hints): Set the urgency hint in the WM_HINTS property when appropriate. 2005-06-17 Matthias Clasen * gdk/gdkcursor.h: Define GDK_IS_CURSOR() and GDK_CURSOR(). * gdk/x11/gdkcursor-x11.c: * gdk/gdkcursor.c: Improve some return_if_fail checks, and add the missing non-Xcursor fallback for _gdk_x11_cursor_update_theme(), noticed by Jeroen Zwartepoorte. * gtk/gtkbutton.c (gtk_button_class_init): Document several button signals as not useful. * gtk/gtkentrycompletion.c (gtk_entry_completion_complete): Resize the popup if necessary. (#308076, Vincent Noel) * gtk/gtkwindow.c (gtk_window_real_set_focus): Queue a draw on the old and new focus widgets, if their defaultness changes. (#305607, Billy Biggs) 2005-06-17 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): make sure the row above 'above_path' is always in a validated state, so it does not mess up scrolling. (#303319, testcase from Billy Biggs). 2005-06-17 Matthias Clasen * gdk/x11/gdkprivate-x11.h: * gdk/x11/gdkcursor-x11.c: Handle cursor theme changes for cached cursors which are not associated with a window at the time of the theme change, by storing a serial number in each cursor, and updating the theme_serial counter whenever the cursor theme changes. * gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme): Private function to update a cursor to the current cursor theme if necessary. * gdk/x11/gdkmain-x11.c (gdk_pointer_grab): * gdk/x11/gdkwindow-x11.c (gdk_window_set_cursor): Call _gdk_x11_cursor_update_theme() here. 2005-06-17 Owen Taylor * gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Fix #if G_BYTE_ORDER == GDK_LSB_FIRST. 2005-06-17 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): don't try to update the top_row rowref ourselves here, but just have _dy_to_top_row() do it, (gtk_tree_view_scroll_to_cell): handle scrolling via validate_visible_area() if the treeview is not visible or needs reallocation. (#165246, Nickolay V. Shmyrev). 2005-06-17 Kristian Rietveld Fixes #307914 (Alexander Larsson), fixing some breakage caused by my previous commit. * gtk/gtktreeview.c (validate_visible_area): force dy to be zero when it fits on a single page, (scroll_sync_handler): same here. Thu Jun 16 15:33:42 2005 Manish Singh * gdk/x11/gdkcursor-x11.c (update_cursor): remove unused variable. * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_get_cursor): use g_return_val_if_fail. * gtk/gtkdnd.c (gtk_drag_get_cursor): initialize hot_x and hot_y for all cases. * gtk/gtkfilechooserdefault.c (button_new): gtk_button_set_image takes a GtkWidget, not a GtkImage. 2005-06-16 Matthias Clasen * gtk/gtkfilechooserdefault.c (button_new): Simplify the code and respect the show-button-images setting. (#307941, Vincent Noel) * gtk/gtkdnd.c: Update the RGBA cursor if an icon is set after the cursor has been constructed. Also handle repeated setting of icons correctly. 2005-06-16 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Add some more docs. (#307818, Christian Persch) 2005-06-15 Matthias Clasen * gdk/gdkwindow.c (gdk_window_process_updates_internal): Initialize all fields of the expose event. (#151693, Jim Evins) 2005-06-15 Matthias Clasen * gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get red and blue in place. * gtk/gtkwindow.c (gtk_window_parse_geometry): Fox doc formatting, pointed out by Kjartan Maraas. * gtk/gtksettings.c: Add two new settings, gtk-cursor-theme-name and gtk-cursor-theme-size to control the cursor theme. * gdk/x11/gdkevents-x11.c: Add two new X settings, Gtk/CursorThemeName and Gtk/CursorThemeSize, and map these to the gtk settings. * tests/testgtk.c (create_cursors): Add a cursor theme testcase. * gdk/x11/gdkwindow-x11.[hc]: Keep a reference to the GdkCursor and add a private getter for it, so that we can update the cursor when the cursor theme changes. * gdk/gdk.symbols: * gdk/x11/gdkx.h: * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): New function to change the cursor theme. * gdk/x11/gdkwindow-x11.c: Remove a lot of pointless g_return_if_fail() non-NULL checks. 2005-06-15 Matthias Clasen * gdk/abicheck.sh: Use uniq to filter out duplicates. * gdk/gdk.symbols: Fix a define. 2005-06-14 Matthias Clasen * gtk/gtkwindow.c (gtk_window_parse_geometry): Fix up the example. (#307699, Michal Suchanek) 2005-06-14 Matthias Clasen * gtk/gtkcalendar.c: Update num_marked_dates as we used to do. (#307689, Thorsten Schoenfeld) 2005-06-14 Federico Mena Quintero Merged from gtk-2-6: Fix #302087: * gtk/gtkfilechooserdefault.c (list_selection_changed): Emit "selection-changed" and do the normal housekeeping even if we are in SAVE mode and there is nothing selected. We didn't emit that signal if we were in SAVE mode and unselect_all() got called. (gtk_file_chooser_default_unselect_all): Call pending_select_paths_free() so that we cancel any asynchronous selections. (gtk_file_chooser_default_set_current_name): Likewise. 2005-06-14 Federico Mena Quintero Merged from gtk-2-6: Fixes #307640: * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): Oops, I broke SAVE mode. If the parent path is a folder, only create a subfolder if we are in CREATE_FOLDER mode; if we are in SAVE mode, just return and respond. Also, pick up the case where the user types "dirname/" instead of "dirname". (check_save_entry): Make the return type void. Add some return parameters so that we can do more thorough checking. (gtk_file_chooser_default_get_paths): If the file part is empty and we are in SAVE mode, return an empty selection. 2005-06-15 Kristian Rietveld Patch for #163214 (reported by Tommi Komulainen) and fixes some other scrolling/validation related bugs along the why. * gtk/gtktreeview.c (gtk_tree_view_size_request): run do_validate_rows once and don't queue a size request there, (gtk_tree_view_size_allocate): don't update vadj value without reason, sync top_row/dy after the window sizes and adjustments are in sync again, (validate_visible_area): always update dy when scrolling, manually set top_row here after changing the vadj (don't depend on _adjustment_changed and top_row/dy sync to do this), since we now always set top_row here correctly, we can always free scroll_to_path at the end which avoids infinite expose loops, (do_validate_rows): add queue_resize boolean, remove top_row/dy sync here, we cannot do it safely at this place since the window sizes and adjustments are out of sync, (validate_rows), (validate_rows_handler): update call to do_validate_rows(). 2005-06-14 Matthias Clasen * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_name): Add a stub for the no-Xcursor case. (noticed by Luis Villa) Use named cursors for the DND cursors, the names are "dnd-none", "dnd-copy", "dnd-link", "dnd-move" and "dnd-ask". Also use an RGBA cursor instead of cursor+window when possible. This saves roundtrips during the drag operation, and makes translucent icons possible. * gtk/gtkdndcursors.h: New file, containing inlined pixbufs for the default dnd cursors. * gtk/gtkdnd.c (struct _GtkDragSourceInfo): Store the cursors used during the drag here, also store the icon pixbuf here. * gtk/gtkdnd.c (drag_cursors): Store the cursor names here. Also switch the default cursors from xbm to inlined pixbufs. * gtk/gtkdnd.c (gtk_drag_get_cursor): This function now takes the GtkDragSourceInfo as well, since it has to composite the drag-specific cursors. The cursors combined from the image of the themed cursor and the icon_pixbuf stored in the info. * gtk/gtkdnd.c (gtk_drag_begin_internal): Don't set the default icon if there is an icon_pixbuf, which will be composited into the cursor later. * gtk/gtkdnd.c (set_icon_stock_pixbuf): If appropriate, store the pixbuf in the info struct for later compositing into the cursor instead of creating an icon window. * gtk/gtkdnd.c (gtk_drag_drop_finished): If we used an RGBA cursor for the drag, and need to display the cancel animation, construct the icon window here. * gtk/gtkdnd.c (gtk_drag_source_info_destroy): Unref the drag-specific cursors and the icon_pixbuf when done with the drag. 2005-06-14 Matthias Clasen * gtk/gtkcolorsel.c (make_picker_cursor): Use a named cursor with the name "color-picker", when available. * gdk/gdk.symbols: * gdk/gdkcursor.h: * gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image) (gdk_cursor_new_from_name): New functions to construct named cursors and to get the image used for a cursor. 2005-06-13 Matthias Clasen * gtk/gtkpathbar.[hc]: Rework the way in which rerooting of the path bar is done, implementing the following principles: (#137289, patch by Benjamin Otte) 1. Re-root only if $HOME is an ancestor of the current path. 2. When re-rooting, make sure the Left arrow appears in the path bar, so that you can navigate up from $HOME to /. In that case, make sure the Right arrow doesn't appear if the sub-hierarchy from $HOME to the cwd fits in the window. 3. Make sure that hitting Alt-Up takes you always one folder up, even when the path bar is re-rooted. * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld) * gtk/gtkfilechooserbutton.c (model_update_current_folder): Free the data of the row before overwriting it. (#307490, Kjartan Maraas) 2005-06-13 Kjartan Maraas * gtk/gtkcalendar.c: (calendar_paint_arrow): Don't leak the cairo context. Closes bug #307426. 2005-06-13 Matthias Clasen Make invisible text work a bit better (#66194, patch by Jeroen Zwartepoorte) * gtk/gtk.symbols: * gtk/gtktextiter.[hc]: Add function to move by visible lines. * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip invisible text when moving by paragraphs. * gtk/gtktextlayout.c (gtk_text_layout_move_iter_visually): Skip invisible lines here too. 2005-06-12 Matthias Clasen * gtk/gtkselection.c (gtk_target_list_add_image_targets): Don't leak the format names. (#307190, Morten Welinder) 2005-06-12 Kjartan Maraas * gdk/x11/gdkasync.c: (send_event_handler): Plug a leak. Closes bug #307281. 2005-06-12 Matthias Clasen * gtk/gtkcalendar.c (calendar_paint_header): (gtk_calendar_size_request): Allow localization of the format in which the year is displayed. (#135451, Paisa Seeluangsawat) * gdk/*.h: Cleanup. (#169648, Fabricio Barros Cabral) * gdk/gdkcairo.c: Small doc additions. * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row): Check start_button_mask before starting a drag. (#149058, Andreas Volz) * gtk/gtkfilesystemunix.c: Support .hidden files. (#129170, Sayamindu Dasgupta, patch by Jan Arne Petersen) 2005-06-11 Matthias Clasen * NEWS: Updates. * gtk/gtkwidget.c (gtk_widget_set_app_paintable): More docs provided by Owen Taylor. * gtk/gtk.symbols: * gtk/gtkiconview.h: * gtk/gtkiconview.c (gtk_icon_view_get_visible_range): Add a function to determine what parts of the model are visible. (#306726, Jonathan Blandford) * gtk/gtkfilesystemunix.c (create_file_info): Treat backup files the same way as hidden files, to be closer to what Nautilus does. (#136196, Sean Middleditch) 2005-06-10 Matthias Clasen * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): Don't modify strings returned from gettext(). Fri Jun 10 19:06:03 2005 Manish Singh * gtk/gtktextdisplay.c (render_para): don't use deprecated gdk_gc_unref function. 2005-06-10 Matthias Clasen Allow setting paragraph background. (#81045, Gustavo Carneiro, patch by Jeroen Zwartepoorte) * gtk/gtktextlayout.c (set_para_values): Propagate pg_bg_color to the display struct. (gtk_text_layout_free_line_display): Free it here. * gtk/gtktextdisplay.c (render_para): If pg_bg_color is set, draw a rectangle in that color behind the paragraph. * gtk/gtktexttag.c (gtk_text_tag_class_init): Add paragraph-background, paragraph-background-gdk and paragraph-background-set properties. (set_pg_bg_color): A setter for paragraph-background. * gtk/gtktextlayout.h (struct _GtkTextLineDisplay): Add pg_bg_color. * gtk/gtktexttag.h (struct _GtkTextAttributes): Add pg_bg_color. (struct _GtkTextTag): Add pg_bg_color_set. 2005-06-10 Kjartan Maraas * gdk/gdkcairo.c: (gdk_cairo_set_source_pixbuf): Destroy the cairo surface when done with it. Plugs a fairly large leak in some cases. ==6014== 1999824 (115640 direct, 1884184 indirect) bytes in 826 blocks are definitely lost in loss record 25239 of 25250 Like this from nautilus. 2005-06-10 Michael Natterer * gtk/gtk.symbols * gtk/gtkaction.[ch] (gtk_action_get_accel_closure): new function to get an action's accel_closure (Fixes #141750 and #148106). 2005-06-10 Matthias Clasen * gdk/gen-keyname-table.pl: Generate N_() calls for translatable key names. * gdk/keynames.txt: Mark some key names as translatable. * gdk/keyname-table.h: Regenerated. * gtk/gtkaccellabel.c (gtk_accel_label_class_init): Add some context to the msg ids for keyboard modifiers and key names. (_gtk_accel_label_class_get_accelerator_label): Try to translate key names. (#300224, Christian Rose) 2005-06-10 Federico Mena Quintero Merged from gtk-2-6: Fixes #162358: * gtk/gtkfilechooserdefault.c (update_chooser_entry): Don't return immediately if we are in CREATE_FOLDER mode, so that we can fill the entry with the newly-selected folder. (gtk_file_chooser_default_set_property): Warn against turning on multiple selection for CREATE_FOLDER mode, or about setting that action while multiple selection is on. (update_chooser_entry): Change the entry's contents as well if we are in CREATE_FOLDER mode. If nothing is selected, clear the chooser entry. (trap_activate_cb): Don't trap enter/space if modifiers are pressed. This lets one use Ctrl-space to toggle rows in multiple selection mode. (gtk_file_chooser_default_should_respond): Clean up the if-chain mess of special cases by using an array to determine what to do. Also, for the save-entry case in CREATE_FOLDER mode, actually fix the bug where the file chooser would switch to an existing folder rather than confirming with it, and create the folder ourselves. (error_creating_folder_over_existing_file_dialog): New function. * gtk/gtkfilechooserentry.c (check_completion_callback): Only insert the common prefix if we are in an "open" mode. Use a helper function. (append_common_prefix): New helper function; code moved over from check_completion_callback(). (find_common_prefix): New helper function. (gtk_file_chooser_entry_focus): Append the common prefix if the user requests it explicitly. 2005-06-10 Matthias Clasen * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_expand): * gtk/gtktoolbar.c (gtk_toolbar_get_show_arrow): * gtk/gtktextview.c (gtk_text_view_get_iter_at_position): * gtk/gtkstock.c (gtk_stock_set_translate_func): * gtk/gtkspinbutton.c (gtk_spin_button_get_adjustment): * gtk/gtkscrolledwindow.h: * gtk/gtkmenushell.c (gtk_menu_shell_get_take_focus): * gtk/gtkiconview.c (gtk_icon_view_set_margin): * gtk/gtkicontheme.c (gtk_icon_info_load_icon): * gtk/gtkcalendar.c (gtk_calendar_thaw): Doc fixes. 2005-06-09 Matthias Clasen * gdk/x11/gdkwindow-x11.c: Small markup fixes. * gtk/gtkwidget.c (gtk_widget_set_app_paintable): Add docs. (#306212, Steve Chaplin, docs provided by Billy Biggs) * gtk/gtktextbtree.c (_gtk_text_btree_char_is_invisible): Small cleanup. (#305539, Paolo Borelli) 2005-06-09 Rodrigo Moya * configure.in: added cairo to list of $GTK_PACKAGES. 2005-06-09 Matthias Clasen * gdk/x11/gdkdnd-x11.c (motif_drop_start, xdnd_drop_filter): Update the user time on the window when a drop happens. (#169364, Alexander Hunziker, patch by Elijah Newren) * gdk/x11/gdkwindow-x11.c: Small markup fixes. * gtk/gtk.symbols: * gtk/gtkiconview.h: * gtk/gtkiconview.c (gtk_icon_view_scroll_to_path): New function to scroll to a path. (#306838, Jonathan Blandford) 2005-06-08 Matthias Clasen * gtk/gtkiconview.c (gtk_icon_view_set_cursor): Scroll to the item. (#306839, Jonathan Blandford) * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): Check for negative before appending the index, to avoid double error message. (#306393, Morten Welinder) * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Don't crash if search_window is NULL. (#304914, Victor Osadci, testcase by Olaf Vitters) * gtk/gtkimage.c: Make the file property readable. (#170674, Lorenzo Gil Sanchez) 2005-06-08 Matthias Clasen * gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use g_utf8_collate_key_for_filename(). 2005-06-07 Kjartan Maraas * gtk/gtkfilechooserbutton.c: (update_label_and_image): Merge leak fix from stable. Bug 306754. 2005-06-05 Tor Lillqvist * gdk/win32/gdkscreen-win32.c (_gdk_windowing_substitute_screen_number): Return NULL unless screen number is zero. We have only one screen on Win32. (gdk_screen_make_display_name): Call gdk_display_get_name() and return that. * modules/engines/Makefile.am * modules/input/Makefile.am: Decide whether to build the ms-windows theme engine based on the GDK backend, not based on platform. (I.e., if building for Cygwin with the X11 backend, we shouldn't build the ms-windows engine, but if building for Cygwin but with the Win32 backend, we should.) Ditto for the IME (Windows) input module. (#305832) 2005-06-04 Tor Lillqvist * gdk/win32/gdkcursor-win32.c * gdk/win32/gdkwindow-win32.c * gdk/win32/gdkprivate-win32.h: Support full-colour cursors. Support cursors with alpha on XP. Use code in common with the support for alpha icons that already was present. (#306101, Tim Evans) * modules/engines/ms-windows/msw_style.c: Render insensitive icons in a way that more closely matches Windows. (#305986, Tim Evans). * modules/engines/ms-windows/Makefile.am (LDADDS): Link with gdk-pixbuf. 2005-06-03 Dom Lachowicz * modules/engines/ms-windows/msw_style.c: Re-sync with gtk-wimp * modules/engines/ms-windows/xp_theme.c: Ditto * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Ditto Thu May 26 16:43:27 2005 Manish Singh * gtk/gtkentrycompletion.h: Add declarations for gtk_entry_completion_{get,set}_popup_single_match. 2005-05-26 Matthias Clasen * gtk/gtk.symbols: * gtk/gtkentrycompletion.c: Add a property to suppress the popup for single matches. (#154711) * gtk/gtkentry.c (gtk_entry_completion_timeout): Respect it here. * gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action): Use it here. * gtk/gtktextbtree.c (_gtk_text_btree_tag): Queue the redisplay after modifying the tag in the btree, otherwise we end up showing the old tags until the next redraw comes around. (#143537, Gary Kramlich, Peter Wainwright) * gtk/gtkcombobox.c (gtk_combo_box_list_auto_scroll): Make autoscrolling work at the bottom of the screen. 2005-05-26 Maciej Katafiasz * docs/reference/gtk/tmpl/gtkentry.sgml: Point to GtkTextView instead of GtkText. Fixes bug #305535 2005-05-26 Sven Neumann * gtk/gtkselection.c (gtk_selection_data_set_pixbuf): use a less aggressive PNG compression level (bug #305340). 2005-05-26 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (_gdk_win32_blit): If blitting from the root window, take the multi-monitor offset into account. (#305511) 2005-05-25 Matthias Clasen * demos/gtk-demo/appwindow.c (do_appwindow): Set the window icon by name. * gtk/gtkfilesystem.c (gtk_file_folder_is_finished_loading): Remove another C99ism. * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw the background of rows insensitive when the treeview is insensitive. (pointed out by Billy Biggs) * demos/gtk-demo/clipboard.c: Demonstrate image copy-and-paste and DND, and clipboard persistency. * gtk/gtkselection.c (gtk_target_list_add_image_targets): Make sure png comes first, otherwise dnd may use bmp by default, loosing transparency. 2005-05-25 Michael Natterer * gtk/gtktextview.c (blink_cb): block the text_layout's "changed" handler when changing cursor visibility because it would expose the whole paragraph where the cursor is. Instead, expose the cursors' areas manually. (#173047). (text_window_invalidate_cursors): new function which exposes the cursors. * gtk/gtkstyle.c (draw_insertion_cursor): added comment that the same cursor size calculation is in text_window_invalidate_cursors(). 2005-05-25 Matthias Clasen * demos/gtk-demo/editable_cells.c (create_items_model): Also demonstrate GtkCellRendererProgress. * demos/gtk-demo/Makefile.am (demos): * demos/gtk-demo/combobox.c: Add a demo showing combo box variations. * demos/gtk-demo/Makefile.am (demos): * demos/gtk-demo/pickers.c: Add a demo showing all picker widgets. 2005-05-24 Matthias Clasen * demos/gtk-demo/iconview.c (do_iconview): Fix a typo. 2005-05-24 Tor Lillqvist * gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): Handle gtk-alternative-button-order (setting it to TRUE). 2005-05-23 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_search_init): Remove an unused variable. (#305130, Jaap A. Haitsma) * gtk/gtkfilechooserdefault.c (filter_create): Don't grab the focus away from the file list when operating the filter combo with the pointer. (#304844, Sven Neumann) 2005-05-23 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (handle_special): Map VK_APPS to GDK_Menu. (#172383, Ivan Wong) * gdk/win32/gdkkeys-win32.c (handle_dead): If the keysym isn't one of the special cases this function takes care of, use it as such. This takes care of for instance the Bengali Virama, see bug #165723. 2005-05-20 Matthias Clasen * gtk/gtkimcontextsimple.c (check_table): Avoid a possible buffer overrun. (#142444, Leonard Michlmayr) * gtk/gtkfilesystem.c: Remove C99-isms (#304879, Kazuki IWAMOTO) 2005-05-18 Matthias Clasen * gtk/gtkfilechooser.c (gtk_file_chooser_remove_shortcut_folder_uri): Use the correct function to conver the uri to a path. (#304565, Ismael Juma) * gtk/gtkfilechooserbutton.c (dialog_response_cb): Handle the Cancel button properly. (#304234, Sven Neumann) 2005-05-18 Anders Carlsson * gtk/gtktextview.c: (gtk_text_view_flush_scroll), (gtk_text_view_update_adjustments), (gtk_text_view_value_changed): * gtk/gtktextview.h: If the horizontal adjustment changes because of a change in the layout width, then do a complete redraw. This is because there might be right-aligned or centered text that needs to be redrawn. 2005-05-18 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_add_events): Try harder to set the event masks of descendent windows. (#169821, Tommi Komulainen) * gtk/gtktreeview.c (gtk_tree_view_get_drop_column) (gtk_tree_view_set_column_drag_info): Fix some errors in the handling of drop columns. (#143355, John Finlay) * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Remove the no longer needed workaround. * gtk/gtkwidget.c (widget_add_child_draw_rectangle): Only collect allocations of mapped children. * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add a bug reference. 2005-05-18 Tor Lillqvist * gdk/win32/gdkevents-win32.c * gdk/win32/gdkkeys-win32.c * gdk/win32/gdkprivate-win32.h: Check the KF_EXTENDED bit in lParam of WM_KEY* messages to distinguish between left and right Control and Alt keys. Unfortunately, the right Shift key doesnt set KF_EXTENDED, so to distinguish between left and right Shift keys, check the scan code. (#304584) 2005-05-18 Matthias Clasen * gdk/x11/gdkproperty-x11.c (gdk_property_get): Warn if length overflows. (#161520, Ian Wienand) * gtk/gtktoolbutton.c (gtk_tool_button_set_icon_name): Fix parameter names to make gtk-doc happy. * gtk/gtkscale.c (gtk_scale_class_init): Fix the default values of draw-value and value-pos to be the values we actually use in _init. (#304547, Mikael Hallendal) * gtk/gtkcellrendererpixbuf.c: Support named icons in cells by adding a icon-name property. (#165777, Anders Carlsson) * gtk/gtk.symbols: * gtk/gtktoolbutton.h: * gtk/gtktoolbutton.c (gtk_tool_button_set_icon_name) (gtk_tool_button_get_icon_name): Support named icons in tool buttons by adding a icon-name property. (#116577, Christian Neumair) * gtk/gtk.symbols: * gtk/gtkdnd.h: * gtk/gtkdnd.c (gtk_drag_source_set_icon_name) (gtk_drag_set_icon_name): New functions to support themed drag icons. (#116577, Christian Neumair) 2005-05-17 Owen Taylor * gdk/x11/gdkdrawable-x11.c (gdk_x11_ref_cairo_surface): Update to changed cairo interface. * gdk/x11/gdkdrawable-x11.[ch]: Add _gdk_x11_drawable_update_size() * gdk/x11/gdkwindow-x11.c (gdk_window_resize) (gdk_window_move_resize) * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call _gdk_x11_drawable_update_size(). 2005-05-17 Matthias Clasen * gtk/gtktextview.c (cursor_blinks): Don't blink the cursor if the text view is not editable. * gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Keep the popup posted if the button is released over the cellview. This matches the behaviour of other combo box implementations. (#171378) * gdk/gdkwindow.c (gdk_window_set_bg_pattern): Adjust offsets when recursing. (#153682, Felipe Heidrich) 2005-05-16 Matthias Clasen * gtk/gtkscale.c (gtk_scale_class_init): Don't bind GDK_Page_Up and GDK_Page_Down twice. (#168333, Hazael Maldonado Torres) * gtk/gtkentry.c (cursor_blinks): Don't blink the cursor if the entry is not editable. (#304171, Nikos Kouremenos) * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_constructor): Make sure the action of the button and the dialog are in sync, when the dialog is provided by the app. (#303987, David A Knight) * gdk/gdkpango.c (gdk_pango_renderer_get_default): Fix a typo in the docs. (#303940, Masao Mutoh) * configure.in (GTK_DOC_CHECK): Check for gtk-doc 1.4. * gtk/gtktoggleaction.c (connect_proxy): Be more careful when casting. (#304089, Philip Langdale) * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only shrink the label if we need to. (#169390, Felix Riemann) Sat May 14 00:07:46 2005 Manish Singh * gdk/gdkdraw.c * gdk/gdkpango.c: #include gdkcairo.h for gdk_cairo_create() declaration. * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): actually call gdk_cairo_set_source_color() with a color. * gtk/gtkimage.c (gtk_image_expose): remove unused stock_id variable. * tests/testiconview.c (main): cast args of drag functions to the appropriate type. 2005-05-13 Owen Taylor * gdk/x11/gdkdrawable-x11.c: Update for cairo-xlib API change. * gdk/x11/gdkpixmap-x11.[ch] gdk/gdk.symbols: Export gdk_pixmap_impl_x11_get_type(), needed in gdkdrawable-x11.c. 2005-05-11 Owen Taylor * tests/testgtk.c (on_alpha_window_expose): Fix to use gdk_cairo_create(). (create_alpha_window): Hook up "response" to close the window. 2005-05-11 Owen Taylor * gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to avoid having an extraneous window. * gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe color when !has_opacity. 2005-05-10 Owen Taylor * gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source files for Cairo convenience functionality. * gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a convenience functions to add GdkRectangle, GdkRegion to a cairo path. * gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c gtk/gtkstyle.c: Use gdk_cairo_rectangle/region(). * gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename gdk_drawable_create_cairo_context() to gdk_cairo_create(). * gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Rename gdk_pixbuf_set_as_cairo_source() to gdk_cairo_set_source_pixbuf(). * gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c: Adjust for renames. * gdk/gdk.symbols: Update. * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix coordinate system problem that was causing the wrong portions to be invalidated. * gtk/gtkcellrenderer.c (gtk_cell_renderer_render) gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render) gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render) gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render) gtk/gtkcellview.c (gtk_cell_view_expose) gtk/gtkdnd.c (gtk_drag_highlight_expose) gtk/gtkentry.c (gtk_entry_draw_text) gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization. * gtk/gtkcalendar.[ch]: Beat into something roughly resembling GTK+ style ... use instance-private data and standard names for private structure, etc. Move function docs inline. * gtk/gtkcalendar.[ch]: Switch to drawing everything in expose. Switch drawing to Cairo. * gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate gtk_calendar_freeze/thaw 2005-05-10 Tor Lillqvist * gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): Check that GDK_IS_SCREEN(screen) (like the X11 backend does), not screen == gdk_screen_get_default(), as that might return NULL when this function is called. 2005-05-09 Matthias Clasen * gtk/gtkalignment.c (gtk_alignment_size_allocate): Flip the padding in RTL mode. (#303572, Maciej Katafiasz) 2005-05-09 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_convert_0888_br, gdk_rgb_convert_8880_br): Fill in unused bits so they can be used for the depth-32 target case. Rewrite so that that gives a marginal speedup rather than a marginal slowdown. (on x86) * gdk/gdkscreen.h gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkvisual-x11.c: Add gdk_screen_get_rgba_colormap/visual to get a visual for windows with an alpha channel, if one exists. * gdk/win32/gdkscreen-win32.c gdk/linux-fb/gdkscreen-fb.c: Stub out gdk_screen_get_rgba_colormap/visual. * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): computation of "unused" wasn't right for depth == 32, since it depended on shifting by 32. * gdk/gdkrgb.c: Fill in alpha bits with 1s. (Based on patch from Keith Packard, http://mail.gnome.org/archives/gtk-devel-list/2004-June/msg00080.html) * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture): Implement again, without using Xft. * tests/testgtk.c: Add a test for windows with an alpha channel. 2005-05-09 Matthias Clasen * autogen.sh: Revert accidental commit. 2005-05-08 Matthias Clasen * gdk/gdkcolor.c (gdk_cairo_set_source_color): * gdk/gdkimage.h: * gdk/gdkdraw.c: * gdk/gdkcolor.h: * gdk/gdkcursor.h: * gdk/x11/gdkcolor-x11.c: Small documentation additions. 2005-05-07 Matthias Clasen * gtk/gtkscrolledwindow.h: * gtk/gtkscrolledwindow.c (gtk_scrolled_window_get_hscrollbar): (gtk_scrolled_window_get_cscrollbar): Change the return type to GtkWidget*, proposed by Owen Taylor. * gdk/x11/gdkscreen-x11.c (gdk_screen_get_width_mm) (gdk_screen_get_height_mm): Fix typos in the docs. (#303389, Masao Mutoh) 2005-05-07 Matthias Clasen * gtk/gtkiconview.c: Fix a copy-and-paste accident, spotted by Owen Taylor. 2005-05-07 Owen Taylor * gdk/gdkgc.c (gc_get_foreground): Get the foreground color, not the background color. 2005-05-07 Owen Taylor * gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h (gdk_pixbuf_set_as_cairo_source): Change prototype to match cairo_set_source_surface(). * gdk/gdkdraw.c gdk/gdkgc.c gdk/gdkpixbuf-render.c gdk/gdkwindow.c gtk/gtkhsv.c tests/testcairo.c. 2005-05-06 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilesystemunix.c (fill_in_mime_type): Don't fill the mime types if this is an AFS directory. (fill_in_names): If we are in an AFS directory, set the MIME type blindly to "x-directory/normal". 2005-05-06 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): Always initialize child-visible to FALSE, otherwise we may end up with the wrong page visible initially. (#302283, Patrik Fimml) * gtk/gtktreeview.c (gtk_tree_view_draw_arrow): Make expanders appear insensitive in insensitive treeviews. 2005-05-05 Matthias Clasen * gtk/gtktoolbar.c: Fix a typo in the docs. (#303024, Morten Welinder) 2005-05-06 Matthias Clasen * gtk/gtk.symbols: * gtk/gtkiconview.[hc]: Add DND support similar to the DND support in the tree view. (#150270) 2005-05-05 Matthias Clasen * gtk/gtktreednd.h: * gtk/gtkwidget.h: Small cleanups. * gtk/gtktreeview.c (gtk_tree_view_get_dest_row_at_pos): Fix a typo. 2005-05-04 Owen Taylor * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.h: Fix a bug in focus tracking when we move between has_pointer_focus and has_focus_window directly. (#109246, Billy Biggs, Niko Tyni and others) * gdk/x11/gdkevents-x11.c: Also fix some confusion that could happen in the case of no window manager + keyboard grabs, by moving to a more consistent model of when we pay attention to mode=NotifyGrab/NotifyUngrab events. * docs/focus_tracking.txt: Extensive writeup about how to track focus under X11. Wed May 4 13:21:41 2005 Søren Sandmann * tests/testcairo.c (draw): Replace cairo_show_surface() uses with cairo_set_source_surface()/cairo_paint(); 2005-05-04 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (generic_draw, blit_from_pixmap) * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values, _gdk_win32_gc_new, _gdk_windowing_gc_set_clip_region, gdk_win32_hdc_get): Minor fixes to make Win32 backend compile again. 2005-05-03 Matthias Clasen * gtk/gtkfilesystem.c: * gtk/gtkcelleditable.c: * gtk/gtktreemodel.c: Avoid getting the interface struct twice in the same function. (#300513, Billy Biggs) * gtk/gtkscrolledwindow.h: * gtk/gtkscrolledwindow.c (gtk_scrolled_window_get_vscrollbar): * gtk/gtk.symbols: Add getters for the scrollbars. (#167181, Billy Biggs) * gtk/gtkdialog.h: * gtk/gtkdialog.c (gtk_dialog_get_response_for_widget): Make this function public. (#170748, Morten Welinder) 2005-05-02 Federico Mena Quintero Merged from gtk-2-6: Fixes #301068: * gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add fields to store struct stat for /afs and /net, and boolean fields to say whether these are valid. (struct _GtkFileFolderUnix): Added a boolean is_network_dir field. (gtk_file_system_unix_get_folder): Fill in the is_network_dir field of the folder structure. (fill_in_names): If the folder is a network directory, create a fake struct stat for its entries. (fill_in_stats): Don't stat() the children of network directories. * gtk/gtkfilechooserdefault.c (list_mtime_data_func): If the mtime is 0, use "Unknown" for the cell's displayed text. 2005-04-28 Owen Taylor * gtk/gtkwidget.c: Add a draw-border style property to allow themes to draw outside the widget's allocation. * gdk/gdkwindow.c gtk/gtkstyle.c: Remove some save/restore pairs that were working around the clip-leakage bug in Cairo. * gtk/gtkstyle.c: Use cairo_fill_preserve() rathe than save/fill/restore. * gdk/gdkgc.c gdk/gdkinternals.h: Add _gdk_gc_update_context() That updates a Cairo context to match a GC. * gdk/gdkdraw.c: Use _gdk_gc_update_context() to add support for tiles/stipples/clipping to gdk_draw_glyphs(), gdk_draw_trapezoids(). * gdk/gdkpango.c: Use _gdk_gc_update_context() instead of internal implementation of stipples. Use one cairo_t across the entire drawing operation. Replace cairo_matrix_create() with stack-allocated matrices. * gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c gdk/win32/gdkgc-win32.c: Save various aspects of the GC state (fill, tile, stipple, foreground, background, clip region) in instance-private-data for future use. Add getters. Get rid of _gdk_windowing_gc_get_foreground() function implemented by the backends. * gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Add _gdk_gc_init() to do initial setup of the GC from values; fixes some problems from drawable redirection. * gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Move gdk_gc_copy() and gdk_gc_set_clip_{region,rectangle}() into the generic code, add _gdk_windowing_gc_copy(), _gdk_windowing_gc_set_clip_region() to do backend specific stuff. * gdk/x11/{gdkprivate-x11.h,gdkgc-x11.c.c,gdkdrawable-x11.c} gdk/win32/{gdkprivate-win32.h,gdkgc-x11.c.c,gdkdrawable-x11.c} gdk/linux-fb/{gdkprivate-fb.h,gdkgc-fb.c.c,gdkdrawable-fb.c}: Don't duplicate state that now is stored by the generic code. * gdk/gdk.symbols Update 2005-05-02 Matthias Clasen * tests/testiconview.c: Test cell renderers. * gtk/gtk.symbols: Add new functions. * gtk/gtkiconview.[hc]: Implement GtkCellLayout and use cell renderers for drawing and editing. (#148144, #160242) 2005-05-02 Matthias Clasen * gtk/gtkcellrenderertext.c (get_size): Return a sufficient width for cases where pango_layout_get_pixel_extents() returns a rectangle with nonzero x. * gtk/gtkselection.c: Small doc fixes. * gtk/gtkmenushell.c (gtk_menu_shell_set_take_focus): (gtk_menu_shell_get_take_focus): Fix up the docs a bit. 2005-05-02 Michael Natterer * gtk/gtkmain.c (do_post_parse_initialization): return silently if "gtk_initialized" is TRUE. Re-enables calling GTK's init functions multiple times when using gtk_get_option_group(), just as one can call gtk_init() multiple times without doing any harm. 2005-05-01 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_expose_event): Propagate the event to unanchored children in the text window. (#302494, Stephen Kennedy) 2005-04-30 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Take multi-monitor offset into account. (#302525) 2005-04-29 Matthias Clasen * gtk/gtkradioaction.c: Make the docs build. (#302230, Ali Akcaagac) * gtk/gtkiconview.c (gtk_icon_view_map): Get rid of this function, instead show the bin_window when it is created. * gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't grab focus to unrealized widgets. (#302240, Philip Langdale) * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set background upon state changes. (#301651, Billy Biggs) (gtk_tree_view_get_path_at_pos): Take RTL into account when iterating over the columns. (#302163) * configure.in: Check for nm. * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, Nguyen Thai Ngoc Duy) * gtk/gtkiconview.c (gtk_icon_view_move_cursor_start_end): Use the internal unselect_all function, since we need the unselection to happen even in browse mode. (#300995, Mathias Hasselmann) * gtk/gtkuimanager.c (update_node): Use g_object_notify() instead of triggering a ::notify by re-setting the property. (#300982, Sven Neumann) * gtk/gtkaction.c (connect_proxy): Use gtk_action_sync_tooltip(). * gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Also scroll horizontally when necessary, and keep the northwest corner of the item visible. (#300913, Mathias Hasselmann) * tests/testiconview.c: Add some more tests. * gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash if the path does not point to a row in the model. (#300909, Mathias Hasselmann) (gtk_icon_view_rows_reordered): Re-layout here. (#301009, Mathias Hasselmann) * tests/testtext.c: Add some more attribute tests. * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation of the rise property. String change, but it is more important to be correct than to be translated. (#301740) 2005-04-25 Tor Lillqvist * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name): Get volume name also on Win9x. (#301798, Daniel Atallah) (canonicalize_filename): Add explicit braces to silence compiler warning. 2005-04-22 Tor Lillqvist * gtk/gtkmain.c: Initailize gettext before use. Calling bindtextdomain() and bind_textdomain_codeset() in do_post_parse_initialization() is too late. Put the calls in a new function gettext_initialization(), and call that from gtk_init_with_args() and gtk_parse_args(). Fixes #170948 for GTK+'s part, but the same problem occurs also at least in atk. Thanks to Robert Ögren, Daniel Atallah and Kevin Stange. 2005-04-19 Ivan, Wong Yat Cheung * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Match character height instead of cell height. Fix #301228. 2005-04-18 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): Remove obsolete assertion that the selected row can't be a volume; this is handled by the "removable" column now. Fixes #301017. 2005-04-18 Owen Taylor * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for setting color and opacity. (#301066, Vincent Noel) 2005-04-15 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (pending_select_paths_process): Patch from Christian Neumair ; only select the first row if we are in OPEN mode. The only other case we were letting pass through was SELECT_FOLDER, but selecting the first row when changing folders confuses people when folders are actually being selected. Fixes #171885. 2005-04-13 Matthias Clasen * gtk/gtkimage.c (gtk_image_calc_size, gtk_image_expose): Revert the fix for #169870, adjust the documentation instead. * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): Revert the fix for #170727. 2005-04-11 Ivan, Wong Yat Cheung Fix #300218: * gdk/win32/gdkselection-win32.c (gdk_selection_convert): Fix C99ism. * gtk/updateiconcache.c: Guard inclusion of unistd.h and utime.h. 2005-04-09 Matthias Clasen * gdk/x11/gdkinput-xfree.c: * gdk/x11/gdkinput-none.c: * gdk/gtk.symbols: Some more fixes necessary to make building with gcc 4 work. Add 16x16 versions of the zoom icons and of GTK_STOCK_INDEX. Some of the images were taken from the hicolor icon theme, and were originally created by Jakub Steiner and Tuomas Kuosmanen. (#167515, Vincent Noel) * gtk/stock-icons/stock_index_16.png: * gtk/stock-icons/stock_zoom_1_16.png: * gtk/stock-icons/stock_zoom_fit_16.png: * gtk/stock-icons/stock_zoom_in_16.png: * gtk/stock-icons/stock_zoom_out_16.png: New images. * gtk/stock-icons/Makefile.am: Add the new images. * gtk/gtkimage.c (gtk_image_calc_size, gtk_image_expose): Don't display too many broken images. (#169870, Roman Kagan, patch by Ivan Wong) * gtk/gtkwidget.c (gtk_widget_unparent): Remove debugging output. (#300013, Tommi Komulainen) 2005-04-08 Matthias Clasen * gtk/gtkimage.c (gtk_image_expose, gtk_image_calc_size): If a stock_id is unknown, display the missing image. (#169870, Steven Walter) * gtk/gtkiconcache.c (icon_name_hash): Use the same function as in updateiconcache.c. (spotted by Morten Welinder) 2005-04-08 Carl Worth * gdk/gdkpango.c: (emboss_context): Simplify matrix manipulation now that cairo exposes the cairo_matrix_t structure. * gdk/gdkpixbuf-render.c: (gdk_pixbuf_set_as_cairo_source): Track cairo API change in signedness of data argument. 2005-04-08 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_popdown): Make this work when called from gtk_combo_box_destroy(). (#172999, Christian Persch) 2005-04-08 Matthias Clasen Fix double-click to autosize treeview columns. This was probably broken since 2.2 ! (#169675) * gtk/gtktreeview.c (gtk_tree_view_button_press): Leave the "user-resized" state of the column on a double-click to autosize. (gtk_tree_view_button_press, gtk_tree_view_motion_resize_column): Enter the "user-resized" state of the column only if a drag actually changes the column width, not on any click. 2005-04-07 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_paint): Allow setting background images on menus. (#169532, Benjamin Otte) * gtk/updateiconcache.c (write_card16, write_card32): Avoid unaligned access. (#172947) * gtk/gtkfilechooserdefault.c (file_list_build_popup_menu): Consistently use the term "Bookmarks" in the UI. (#166906, Sebastian Bacher) Some fixes from Morten Welinder (#172947): * gtk/updateiconcache.c (icon_name_hash): Make this compiler- and platform-independent. (is_cache_up_to_date): Don't compare mtimes is a stat call failed. (build_cache): Error out if a stat fails. 2005-04-07 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_expander_column): Add a hint about hiding expanders. * gtk/updateiconcache.c (is_cache_up_to_date): Return TRUE if the cache is newer than the directory. (#172852, Jacob Kroon) * configure.in: Replace an explicit pkg-config by $PKG_CONFIG. (#168074, Hans-Wolfgang Loidl) * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): Ignore regions which fall completely outside the line. (#165862, Felipe Heidrich) 2005-04-06 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_search_column): Document -1 as possible value. (gtk_tree_view_enable_model_drag_source) (gtk_tree_view_enable_model_drag_dest): Pass the target list to the underlying dnd implementation, otherwise we miss the target info in the drag-data-received signal. (#164085, Jorn Baayen) 2005-04-06 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column) (gtk_tree_view_bin_expose): Avoid a few unnecessary calls to gdk_window_get_pointer(). (#168015, Billy Biggs) * po/.cvsignore, po-properties/.cvsignore: Remove Makefile.in.in. (#171092, Stepan Kasal) * gtk/gtkrc.c (gtk_rc_parse_style): Don't modify scanner->value, copy it first. (#165693, Tommi Komulainen) 2005-04-05 Matthias Clasen * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_grab_focus): * gtk/gtkcombobox.c (gtk_combo_box_grab_focus): Implement grab_focus for GtkComboBox and GtkComboBoxEntry. (#171912, Gustavo Carneiro) * gtk/gtkicontheme.c: Store icon caches along with the mtimes of the toplevel directories. The previous mechanism of a hashtable-per-theme caused duplicate icon caches for the same toplevel directory to be created. (#170030) 2005-04-05 Matthias Clasen * gtk/gtktreemodelsort.c (gtk_tree_model_sort_build_level): Fix a typo in a warning. * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Protect the license and credits buttons from being affected by gtk_widget_show_all(). (#172724) 2005-04-05 Matthias Clasen * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): Keep a reference to the item. (#167920, Hazael Maldonado Torres) * gtk/gtktreeview.c (gtk_tree_view_set_search_column): Add some more docs on interactive search. 2005-04-05 Tor Lillqvist * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Handle 16 colour display mode. For some reason, in this mode GetDeviceCaps(BITSPIXEL) returns 1 (but GetDeviceCaps(NUMCOLORS) does return 16). (#143415) * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Don't force 24bpp GdkVisual on 32bpp displays. (#140706) Mon Apr 4 19:13:23 2005 Jonathan Blandford Fix for #172319, Tristan Van Berkom: * gtk/gtktreeview.c (gtk_tree_view_expand_all): change to use gtk_tree_view_real_expand_row() instead of doing this by hand. 2005-04-04 Johan Dahlin * gtk/gtktextbuffer.c: (gtk_text_buffer_class_init), (gtk_text_buffer_set_property), (gtk_text_buffer_get_property), (gtk_text_buffer_set_text): Add GtkTextBuffer::text (#172631) Mon Apr 4 14:33:55 2005 Manish Singh * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text): cast combo->priv->entry to GTK_ENTRY() * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): cast completion->priv->tree_view to GTK_TREE_VIEW() 2005-04-04 Matthias Clasen * gtk/gtktextbuffer.c: Some trivial doc fixes. * gtk/gtkwidget.c (gtk_widget_set_redraw_on_allocate): Improve the wording of the doc comment. (#172422, Vincent Untz) 2005-04-04 Owen Taylor * gtk/gtkstyle.c (gtk_default_draw_expander): Covert expander drawing to Cairo. Also always draw the entire triangle instead of just drawing the center for prelight. (Fixes inconsistent drawing in GtkTreeView.) 2005-04-04 Johan Dahlin * gtk/gtk.symbols: Remove symbols accidentally added. * gtk/gtkentryprivate.h: Add boolean property popup_set_width * gtk/gtktoggletoolbutton.c: (gtk_toggle_tool_button_class_init): Use object_class instead of gobject_class Mon Apr 4 12:14:35 2005 Søren Sandmann * gtk/gtkmenu.c (gtk_menu_handle_scrolling): Translate x, y into widget coordinates instead of root coordinates. Patch from Jorn Baayen. (#172236) 2005-04-04 Matthias Clasen * gtk/gtktoolbar.c: Add a tooltips property. * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_class_init): * gtk/gtkruler.c (gtk_ruler_class_init): Add docs. * gtk/gtktoggletoolbutton.c: Add an active property. 2005-04-04 Matthias Clasen Allow completion popups to be wider than the entry. (#131916, Ross Burton) * gtk/gtkentrycompletion.[hc]: Add a boolean popup-set-width property. * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Don't force the popup to have the same width as the entry if popup-set-width is FALSE. * gtk/gtk.symbols: Add new functions. 2005-04-04 Matthias Clasen * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): Use gtk_accel_map_change_entry(), so that reusing the same action name works. (#170727, Paolo Borelli) 2005-04-04 Tor Lillqvist * gdk/win32/gdkmain.c (_gdk_win32_cf_to_string): New debugging function, to log a clipboard format name symbolically. (_gdk_win32_data_to_string): Also new, to log random data bytes. Implement delayed rendering on Win32, specifically for transfering images through the clipboard from GTK+ apps to other apps (#168173, implementation by Ivan Wong): * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle WM_RENDERFORMAT. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: Add _format_atom_table, _delayed_rendering_data and _image_bmp. * gdk/win32/gdkmain-win32.c: Initialize _image_bmp. * gdk/win32/gdkproperty-win32.c (gdk_property_change): Accept formats other than GDK_TARGET_STRING or _utf8_string, and assume they are handled through delayed rendering. * gdk/win32/gdkselection-win32.c (gdk_selection_convert): Return all available formats (including those registered by GTK+ apps) on request_targets. (gdk_selection_property_get): We should append a zero byte like X11 does. (gdk_win32_selection_add_targets): New function, for gtkselection's use. Win32 requires that the clipboard owner registers all valid formats even if the owner wants delayed rendering. (_gdk_win32_selection_convert_to_dib): New function. Convert images to DIB using gdk-pixbuf. * gdk/win32/gdkwin32.h: Declare gdk_win32_selection_add_targets(). * gtk/gtkselection.c (gtk_selection_add_target, gtk_selection_add_targets): Call gdk_win32_selection_add_targets() to register target formats. * gdk/gdk.symbols: Add gdk_win32_selection_add_targets(). 2005-04-03 Hans Breuer [merged from gtk-2-6 branch] * gdk/win32/gdkdrawable-win32.c : let dash_offset shift the start of the line pattern not the start of the line. Fixes bug #171641. * gtk/makefile.msc.in : follow .symbols changes * gdk/win32/gdkwindow-win32.c : declare and resolve GetAncestor() dynamically. (It is not available in _WIN_VER <= 0x0400) * gdk/win32/makefile.msc : removed gdkpango-win32.obj * gtk/gtkhsv.c gtk/gtkstyle.c : use G_PI instead of M_PI [also applied to gtk-2-6 branch] * gdk/makefile.msc gdk-pixbuf/makefile.msc : handle gdk*alias.def * gdk/makefile.msc.in : add gtkmnemonichash.obj * test/testgtk.c(set_parent_signal) : use g_message instead of g_print to keep the 'testgtk --bench=all' output clean 2005-04-03 Matthias Clasen * gtk/gtkruler.c: Add a "metric" property. * gtk/gtkradiomenuitem.c: Add a "group" property like the one found in radio buttons. * gtk/gtkradiobutton.c (gtk_radio_button_class_init): Fix a typo in the docs. (gtk_radio_button_set_group): Add change notification. 2005-04-01 Matthias Clasen * gtk/gtkselection.c: Move documentation inline, document if add_target functions append or prepend. (#172350, Jon-Kare Hellan) 2005-04-01 Matthias Clasen Make gtk_combo_box_get_active_text do the right thing for GtkComboBoxEntry (#171373, Robert Staudinger) * gtk/gtkcombobox.h: Add a get_active_text vfunc. * gtk/gtkcombobox.c (gtk_combo_box_real_get_active_text): And implement it here. * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text): Implement get_active_text by always returning the content of the entry. 2005-03-31 Sven Neumann Merged from gtk-2-6: * gtk/gtkbutton.c * gtk/gtkiconview.c: fixed gtk-doc comments. 2005-03-31 Michael Natterer Allow to pop up menus without grabbing the keyboard. Useful for stuff like virtual keyboards. Fixes bug #159890 * gtk/gtk.symbols * gtk/gtkmenushell.[ch]: added boolean property "take-focus" and public API gtk_menu_shell_set/get_take_focus(). * gtk/gtkmenu.c (gtk_menu_popup) (popup_grab_on_window): don't grab the keyboard if take_focus is FALSE. * gtk/gtkmenuitem.c (_gtk_menu_item_popup_submen): propagate the parent menu_shell's take_focus property to the submenu which is about to be popped up. 2005-03-30 Federico Mena Quintero Merged from gtk-2-6: Fix #170755: * gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing if the row which changed is the same as the row being edited. 2005-03-30 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Make enable_search control only typeahead, not C-f. (#170435, Sven Neumann) (gtk_tree_view_start_interactive_search): Pass keybinding == TRUE. * gdk/gdkpixbuf.h: Include cairo.h * gtk/gtkclipboard.c (gtk_clipboard_set_can_store): Don't accept n_targets == -1. (clipboard_unset): unref the old_data, not the user_data which we have just cleared. (#172038, Sven Neumann) * gtk/gtkcombobox.c (gtk_combo_box_popup): Don't segfault if somebody tries to popup an unrealized combo box. (#172031, Felipe Heidrich) 2005-03-30 Tor Lillqvist * gdk/win32/gdkevents-win32.c (build_pointer_event_state): The state field should represent the state before the event, like on X11. (#169753) (gdk_event_translate): Fix event filter handling. If an event filter (global, client message filter, of window-specific) returns GDK_FILTER_CONTINUE, continue as if nothing happened. If it returns GDK_FILTER_REMOVE or GDK_FILTER_TRANSLATE, return TRUE from gdk_event_translate() which means that DefWindowProc() will not be called. (gdk_event_translate): Fix client message handling. Append a GDK_CLIENT_EVENT unless there is a filter that matches and returns something other than GDK_FILTER_CONTINUE. (#135552) 2005-03-29 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_visible_func): Document the need to refilter if parameters of the visibility function change. (#169516, Olivier Sessink) Mon Mar 28 15:13:42 2005 Søren Sandmann * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't invalidate areas that are covered by mapped input-output child windows. Bug 141380. 2005-03-28 Jeroen Zwartepoorte * gtk/gtkfilechooserdefault.c: (update_preview_widget_visibility): Make the preview label ellipsize so the dialog layout stays constant. (#171398) 2005-03-28 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_key_press): Don't pop up the context menu of the search entry if it is not visible. (#169534, Billy Biggs) 2005-03-27 Tor Lillqvist * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated after all, and in fact necessary with HEAD libtool. 2005-03-26 Matthias Clasen * gtk/*.c: * gdk/gdkdisplaymanager.c: Use canonical names for g_object_notify() as well. 2005-03-24 Tor Lillqvist * configure.in (GTK_EXTRA_CFLAGS): Include the -mms-bitfields flag in GTK_EXTRA_CFLAGS on Win32, so that it gets included in the gtk+-2.0.pc file and automatically used by dependents. MSVC users who use pkg-config will have to manually edit it out from gtk+-2.0.pc, sorry. Maybe pkg-config should be enhanced to support some kind of conditionals in .pc files? 2005-03-23 Matthias Clasen * gtk/gtkfilechooserbutton.c (update_combo_box): Remove a call whose result was unused and leaked. (#170776, Kjartan Maraas) Some cleanups to the GtkDialog code: (#170746, Morten Welinder) * gtk/gtkdialog.c (action_widget_activated): Simplify, use _gtk_dialog_get_response_for_widget. (gtk_dialog_add_action_widget): Use the correct signal id for non-buttons. (gtk_dialog_set_response_sensitive): (gtk_dialog_set_default_response): Use get_response_data. (gtk_dialog_run): Don't disconnect the signals if the dialog was destroyed while running. Tue Mar 22 14:16:31 2005 Manish Singh * gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label): Use g_return_if_fail, not g_return_val_if_fail. 2005-03-22 Matthias Clasen Implement bookmark renaming (#136216, Sean Middleditch) * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Add get_bookmark_label and set_bookmark_label vfuncs. * gtk/gtkfilesystem.h: * gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label): (gtk_file_system_get_bookmark_label): Wrappers for the vfuncs. * gtk/gtk.symbols: Add new exported symbols. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_set_bookmark_label): (gtk_file_system_unix_get_bookmark_label): Implementations for the Unix backend. * gtk/gtkfilechooserdefault.c: Add a context menu to the bookmarks pane, and allow to rename bookmarks. 2005-03-22 Matthias Clasen * gtk/gtkpathbar.c (gtk_path_bar_unmap): * gtk/gtkspinbutton.c (gtk_spin_button_unmap): * gtk/gtknotebook.c (gtk_notebook_unmap): * gtk/gtkrange.c (gtk_range_unmap): Stop scrolling when the widget is unmapped. (#168791, Ryan Lortie) 2005-03-21 Matthias Clasen * gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like their G_ counterparts, but also mark the name, nick and blurb as static. * gtk/*.c: Mark param spec strings as static, using the new macros. * gtk/gtkspinbutton.h: Fix a typo. 2005-03-21 Matthias Clasen * gtk/gtkcellrendererprogress.c: * gtk/gtkcellrendererpixbuf.c: * gtk/gtkcellrenderercombo.c: * gtk/gtkcellrenderer.c: * gtk/gtkcalendar.c: * gtk/gtkbutton.c: * gtk/gtkbox.c: * gtk/gtkbbox.c: * gtk/gtkaspectframe.c: * gtk/gtkarrow.c: * gtk/gtkalignment.c: * gtk/gtkactiongroup.c: * gtk/gtkaction.c: * gtk/gtkaccellabel.c: * gtk/gtkaboutdialog.c: Mark param spec strings as static. * gdk/gdkpango.c (gdk_pango_renderer_class_init): * gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): Mark param spec strings as static. 2005-03-21 Tor Lillqvist * modules/engines/ms-windows/*.c: Silence gcc warnings (unused variables, unhandled enum value in switch). Use g_object_unref() instead of deprecated gdk_gc_unref() and gdk_drawable_unref(). * modules/engines/ms-windows/xp_theme.c (xp_theme_map_gtk_state): Add missing "case" keyword. * modules/engines/ms-windows/Makefile.am: Link with -lgdi32 explicitly. 2005-03-20 Tor Lillqvist * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Return the Terminal Services session number, window station name (always "WinSta0" in interactive processes), and desktop name (typically "Default"), concatenated with backslash separators. (gdk_display_open): Accept only NULL or the string gdk_display_get_name() returns as display name. 2005-03-20 Matthias Clasen Make PLT-reduction work with gcc4, and don't include everything in gdkalias.h: * gtk/grk.symbols: Group symbols by header and source file. * gtk/makegtkalias.pl: Protect definitions by the same preprocessor symbols used to guard the headers. Move the alias declarations to a separate file which is produced when calling makegtkalias.pl -def * gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate this file. * gtk/*.c: Include gtkalias.h after the other headers, include gtkaliasdef.c at the bottom. * gtk/*.h: Small cleanups. Fri Mar 18 23:59:49 2005 Soeren Sandmann * gtk/gtkmenutoolbutton.c (arrow_button_button_press_event_cb): Make right-clicks not pop up the menu. 2005-03-18 Owen Taylor * gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_finish): Call cairo_surface_finish() * gdk/gdkinternals.c gdk/x11/gdkdrawable-x11.c: Remoev _gdk_windowing_set_surface_device_offset(). 2005-03-18 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_MOUSEMOVE, don't check if this process owns the active window. This makes cross-application widget embedding work better. On WM_MOVE, don't bother checking for window visibility. * gdk/win32/gdkim-win32.c: Remove bogus empty doc comment. Remove unused variables. Add some casts to silence gcc. 2005-02-24 Owen Taylor * gdk/gdkwindow.c: Use cairo_set_device_offset(). * gdk/win32/gdkdrawable-win32.[ch] gdk/win32/gdkwindow-win32.c gdk/win32/gdkpixmap-win32.c: Add_gdk_win32_drawable_acquire/release_dc() to get a DC for the drawable. Add _gdk_drawable_win32_finish() to clean up resources when a drawable is destroyed. * gdk/win32/gdkgc-win32.c gdk/win32/gdkdrawable-win32.c (blit_from_pixmap) gdk/win32/gdkprivate-win32.h : Use acquire/release_dc when getting a DC to use with a GC or for blitting from a pixmap. * gdk/win32/gdkdrawable-win32.[ch]: Implement ref_cairo_surface() * gdk/win32/gdkpango-win32.c gdk/win32/gdkdrawable-win32.c Makefile.am: Remove gdk_screen_get_pango_context(), draw_glyph[_transformed] implementations. * gdk/win32/gdkdrawable-win32.c: Remove gdk_draw_rectangle_alpha_libgtk_only() 2005-03-17 Owen Taylor * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple pattern. 2005-03-17 Matthias Clasen * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting in example in the docs. (#170611, Jianfei Wang) * gtk/gtkiconview.c (gtk_icon_view_size_allocate): Clamp adjustment values on resize. (#170567, Tomislav Jonjic) * gtk/gtkicontheme.c (theme_lookup_icon): Don't crash if there is no cache. (#170652, Diego Gonzalez) * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): Make inline completion insert the prefix at the right spot. (#170146, Doug Quale) 2005-03-17 Tor Lillqvist * gdk/gdkkeynames.c: gdk_key is a typedef, not a struct tag. 2005-03-16 Matthias Clasen * gtk/gtkprogressbar.c (gtk_progress_bar_get_ellipsize): Typo fix in the docs. * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_set_arrow_tooltip): Typo fix in the docs. * gtk/gtkiconview.c (gtk_icon_view_set_columns) (gtk_icon_view_get_columns, gtk_icon_view_set_item_width) (gtk_icon_view_get_item_width, gtk_icon_view_set_spacing) (gtk_icon_view_get_spacing, gtk_icon_view_set_row_spacing) (gtk_icon_view_set_column_spacing) (gtk_icon_view_get_row_spacing, gtk_icon_view_get_margin) (gtk_icon_view_set_margin): Add docs. * gtk/gtkcellview.c (gtk_cell_view_get_displayed_row): Add docs. 2005-03-15 Owen Taylor * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Switch set_cairo_target() virtual function to ref_cairo_surface() * gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual function to create_cairo_context() * gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo. * gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color, not just the pixel. * tests/testcairo.c: Update for create_cairo_context() * gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]): Reimplement in terms of Cairo, bypass the vtable entries. * gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove implementation of draw_trapezoids / draw_glyphs[_transformed]. * gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo * gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move gdk_pango_context_get_for_screen() into the backend independent code. * gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly for drawing images. * gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove gdk_draw_rectangle_alpha_libgtk_only. * gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add gdk_pixbuf_set_as_cairo_source() * gdk/gdk.symbols: Update * gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch] gtk/gtk[hv]ruler.c: Convert to Cairo rendering. * gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus, gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton, radio button style for now to get something more scalable. * gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/ antialiasing/dpi settings. 2005-03-16 Matthias Clasen * demos/gtk-demo/editable_cells.c: Also demonstrate GtkCellRenderer::editing-started and separators. Tue Mar 15 20:34:33 2005 Manish Singh * gdk/x11/gdkinput-xfree.c: #include gdkaliasdef.c here too. 2005-03-15 Matthias Clasen Make PLT-reduction work with gcc4, and don't include everything in gdkalias.h: * gdk/gdk.symbols: Group symbols by header and source file. * gdk/makegdkalias.pl: Protect definitions by the same preprocessor symbols used to guard the headers. Move the alias declarations to a separate file which is produced when calling makegdkalias.pl -def * gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this file. * gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other headers, include gdkaliasdef.c at the bottom. 2005-03-16 Tor Lillqvist * gdk/win32/gdkdisplay-win32.c (_win32_on_clipboard_change): Print debugging output only if asked for, not always. * gdk/win32/*.c: Use the %+d%+d format for coordinate pairs in debugging printout instead of +%d+%d. Misc other additions and cosmetic improvements to debugging printouts. Use API_CALL() and GDI_CALL() macros in more places. * gdk/win32/gdkwindow-win32.c (gdk_window_move, gdk_window_resize, gdk_window_move_resize): To detect child windows, check whether the real parent is not the desktop window, instead of relying on the GDK window type being GDK_WINDOW_CHILD. Foreign GtkPlug windows have a GDK window type GDK_WINDOW_FOREIGN, but are still de facto child windows. * gdk/win32/gdkprivate-win32.h * gdk/win32/*.c: Drop global variable _gdk_root_window, just call GetDesktopWindow(). Rename the GdkWindow* _gdk_parent_root to _gdk_root. * gdk/win32/gdkwindow-win32.h (GdkWindowImplWin32): Add toplevel_window_type field. * gdk/win32/gdkwindow-win32.c: As there is only one root window in GDK on Win32, we can compare directly to _gdk_root instead of checking the window type. (gdk_window_reparent): When reparenting a child of the desktop clear out the window decorations. Correspondingly, when reparenting to the desktop, add decorations. As in the X11 backend, save the window type of a toplevel window when reparenting, in case it is reparented back to toplevel. 2005-03-15 Matthias Clasen * gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an example for manually setting up a group of actions. * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Document that inline completion requires text-column to be set. (gtk_entry_completion_compute_prefix): Return NULL if text-column is not set. * gtk/gtkentry.c (check_completion_callback): Call gtk_entry_completion_complete() before inserting the prefix, otherwise the prefix may depend on (random) state of the filter model. 2005-03-15 Anders Carlsson * docs/iconcache.txt: Update spec. * gtk/gtkiconcache.c: (find_image_offset), (_gtk_icon_cache_get_icon_flags), (_gtk_icon_cache_add_icons), (_gtk_icon_cache_get_icon), (_gtk_icon_cache_get_icon_data): * gtk/gtkiconcache.h: Update to be able to fetch pixbuf data and icon metadata. * gtk/gtkicontheme.c: (theme_lookup_icon), (gtk_icon_info_free), (icon_info_ensure_scale_and_pixbuf): Use new cache functions. * gtk/updateiconcache.c: (foreach_remove_func), (load_icon_data), (maybe_cache_image_data), (scan_directory), (write_pixdata), (get_image_meta_data_size), (get_image_pixel_data_size), (get_image_data_size), (get_single_node_size), (get_bucket_size), (write_bucket), (main): Update to write pixbuf data as well as information from .icon files. 2005-03-15 Tor Lillqvist * gdk/win32/gdkmain-win32.c (_gdk_win32_key_to_string): New debugging function. As GetKeyNameText() returns a localized key name we need to convert it to UTF-8. * gdk/win32/gdkprivate-win32.h: Declare it. * gdk/win32/gdkevents-win32.c: Use it. * gdk/win32/gdkwindow-win32.c (gdk_window_new_internal): Fix handling of children of foreign windows. They should be child windows from Windows's perspective, even if they are toplevel GDK windows. 2005-03-13 Ivan, Wong Yat Cheung * gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): A further fix for big window support. Now also the test in testgtk works. 2005-03-11 Matthias Clasen * gtk/gtkaboutdialog.c (add_credits_page): Don't crash on style changes. (#169334, Yury Puzis) * gtk/gtkicontheme.c (gtk_icon_theme_set_custom_theme): Fix the doc comments. (#169967, Masao Mutoh) 2005-03-12 Ivan, Wong Yat Cheung Big window fix for Win32. Big windows are still emulated within 16-bit coordinate limits, though. Big windows now work on NT-based Windows. (#169989) * gdk/win32/gdkgc-win32.c (_gdk_win32_gdkregion_to_hrgn): Use 32-bit coordinates. * gdk/win32/gdkgeometry-win32.c: Largely rewrite. * gdk/win32/gdkwindow-win32.c: Minor related changes. 2005-03-10 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_insert_with_valuesv): Fix a doc typo. (#169873, Johan Dahlin) * gtk/gtkdialog.c (gtk_dialog_map): Don't try to focus the default_widget if there is none. (#169881, Thomas Leonard) Wed Mar 9 19:20:44 2005 Manish Singh * configure.in: Remove inadvertent gail references, require Pango 1.9.0 2005-03-09 Matthias Clasen * configure.in: Require GLib 2.7.0 2005-03-09 Matthias Clasen * gtk/gtkwidget.h (struct _GtkWidget): Typo fixes in comments. (#169728, Morten Welinder, Owen Taylor) * gtk/gtkwidget.c (gtk_widget_add_mnemonic_label): Fix a typo in the docs. (#169729, Morten Welinder) * gtk/gtkimage.c (gtk_image_class_init): Fix a typo. * gtk/gtkiconview.c (gtk_icon_view_set_model): Queue a resize when the model is unset. (#169528, Tomislav Jonjic) 2005-03-09 Matthias Clasen * gtk/gtkviewport.c (gtk_viewport_class_init): * gtk/gtkuimanager.c (gtk_ui_manager_class_init): * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_class_init): * gtk/gtktipsquery.c (gtk_tips_query_class_init): * gtk/gtktext.c (gtk_text_class_init): * gtk/gtkstatusbar.c (gtk_statusbar_class_init): * gtk/gtkspinbutton.c (gtk_spin_button_class_init): * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): * gtk/gtkoptionmenu.c (gtk_option_menu_class_init): * gtk/gtkoldeditable.c (gtk_old_editable_class_init): * gtk/gtkmessagedialog.c (gtk_message_dialog_class_init): * gtk/gtktoolbutton.c (gtk_tool_button_class_init): * gtk/gtktoolitem.c (gtk_tool_item_class_init): * gtk/gtkimage.c (gtk_image_class_init): * gtk/gtkruler.c (gtk_ruler_class_init): * gtk/gtkiconview.c (gtk_icon_view_class_init): * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): * gtk/gtkprogress.c (gtk_progress_class_init): * gtk/gtkmenu.c (gtk_menu_class_init): * gtk/gtkscale.c (gtk_scale_class_init): * gtk/gtkpaned.c (gtk_paned_class_init): * gtk/gtkhandlebox.c (gtk_handle_box_class_init): * gtk/gtkfontbutton.c (gtk_font_button_class_init): * gtk/gtkfontsel.c (gtk_font_selection_class_init): * gtk/gtkfilesel.c (gtk_file_selection_class_init): * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): * gtk/gtkcurve.c (gtk_curve_class_init): * gtk/gtkcombo.c (gtk_combo_class_init): * gtk/gtkcombobox.c (gtk_combo_box_class_init): * gtk/gtkcolorbutton.c (gtk_color_button_class_init): * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): * gtk/gtkmenuitem.c (gtk_menu_item_class_init): * gtk/gtkcheckbutton.c (gtk_check_button_class_init): * gtk/gtktogglebutton.c (gtk_toggle_button_class_init): * gtk/gtkcellview.c (gtk_cell_view_class_init): * gtk/gtktoolbar.c (gtk_toolbar_class_init): * gtk/gtkmenubar.c (gtk_menu_bar_class_init): * gtk/gtkclist.c (gtk_clist_class_init): * gtk/gtkctree.c (gtk_ctree_class_init): * gtk/gtkcolorsel.c (gtk_color_selection_class_init): * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init): * gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init): * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_class_init): * gtk/gtkcalendar.c (gtk_calendar_class_init): * gtk/gtkbbox.c (gtk_button_box_class_init): * gtk/gtktable.c (gtk_table_class_init): * gtk/gtkaspectframe.c (gtk_aspect_frame_class_init): * gtk/gtkframe.c (gtk_frame_class_init): * gtk/gtkaction.c (gtk_action_class_init): * gtk/gtkaccellabel.c (gtk_accel_label_class_init): * gtk/gtkaboutdialog.c (gtk_about_dialog_class_init): * gtk/gtkdialog.c (gtk_dialog_class_init): More of the same. 2005-03-08 Matthias Clasen * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): * gtk/gtkrange.c (gtk_range_class_init): * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): * gtk/gtktexttag.c (gtk_text_tag_class_init): * gtk/gtktextview.c (gtk_text_view_class_init): * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): * gtk/gtknotebook.c (gtk_notebook_class_init): * gtk/gtkentry.c (gtk_entry_class_init): * gtk/gtkexpander.c (gtk_expander_class_init): * gtk/gtkarrow.c (gtk_arrow_class_init): * gtk/gtkalignment.c (gtk_alignment_class_init): * gtk/gtkbutton.c (gtk_button_class_init): * gtk/gtklabel.c (gtk_label_class_init): * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): * gtk/gtktreeview.c (gtk_tree_view_class_init): * gtk/gtkbox.c (gtk_box_class_init): * gtk/gtkwindow.c (gtk_window_class_init, gtk_window_class_init): * gtk/gtkcontainer.c (gtk_container_class_init): * gtk/gtkwidget.c (gtk_widget_class_init): * gtk/gtkobject.c (gtk_object_class_init): Use canonical names when registering param specs. * demos/gtk-demo/editable_cells.c: Use GtkCellRendererCombo (#169607, Mark McLoughlin) * gtk/gtk.symbols: Add the new attributes here, too. * gtk/gtkwidget.h: * gtk/gtktreeview.h: * gtk/gtktreeviewcolumn.h: * gtk/gtktextbuffer.h: * gtk/gtkobject.h: * gtk/gtkfilechooserdialog.h: * gtk/gtkdialog.h: * gtk/gtkcontainer.h: * gtk/gtkcelllayout.h: * gtk/gtkaboutdialog.h: Use G_GNUC_NULL_TERMINATED where appropriate. (#165682, Marc Meissner) 2005-03-07 Matthias Clasen Convert the gdk keyval-keyname tables to a big string + offsets. (#168901) * gdk/gen-keyname-table.pl: Perl script inspired by pango/tools/gen-color-table.pl to create the gdk_keys_by_keyval and gdk_keys_by_name tables as lists of offsets pointing into a big const string. * gdk/keynames.txt: List of keyval-keyname pairs. * gdk/keyname-table.h: Generated tables. * gdk/gdkkeynames.c: Include keyname-table.h and don't generate the inverse table at runtime. 2005-03-07 Matthias Clasen * gtk/gtkstyle.c: Document which parameters may be NULL. (#166855, Frank Naumann) 2005-03-07 Matthias Clasen * AUTHORS: Add original authors of incorporated software. Thu Mar 3 16:59:44 2005 Manish Singh * configure.in: URL escape the '+' in gtk+ in the bugzilla URL. 2005-03-03 Matthias Clasen * gtk/gtksettings.c (gtk_settings_get_property): * gtk/gtkrc.c (gtk_rc_parse_assignment): Don't leak the values here. (#169047, Philip Langdale) * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Don't warn if a stock icon cannot be found. (#168830, Sven Neumann) 2005-03-03 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): Avoid warnings if gtk_widget_reparent() is called at unusual times. (#168966, Christian Persch) Tue Mar 1 14:04:08 2005 Manish Singh * gdk/x11/gdkproperty-x11.c (virtual_atom_check_init): Cast to avoid const warnings on data structure seeding. Tue Mar 1 13:53:56 2005 Manish Singh * gtk/xdgmime/xdgmime.[ch]: revert previous change, maintain ABI. 2005-03-01 Matthias Clasen * gtk/gtkmenutoolbutton.c (button_state_changed_cb): Fix prelighting. (#157392, Vincent Noel, patch by Christian Persch) * gtk/gtkicontheme.c (theme_lookup_icon): Make icon data caching work again. (#168851, Alexander Larsson) * gdk-pixbuf/gdk-pixbuf.c: * gdk-pixbuf/gdk-pixbuf-features.h.in: Revert the previous change, since it breaks bin compat. 2005-03-01 Matthias Clasen * gdk/gdkkeyuni.c * gdk/gdkpixbuf-drawable.c * gdk/gdkrgb.c * gdk/x11/gdkdnd-x11.c * gdk/x11/gdkevents-x11.c * gdk/x11/gdkproperty-x11.c * gdk/x11/gdkvisual-x11.c * gdk-pixbuf/gdk-pixbuf.c * gdk-pixbuf/gdk-pixbuf-features.h.in * gtk/gtkaction.c * gtk/gtkbindings.c * gtk/gtkcolorbutton.c * gtk/gtkcombo.c * gtk/gtkcontainer.c * gtk/gtkfilechooserdefault.c * gtk/gtkfilesel.c * gtk/gtkgamma.c * gtk/gtkiconview.c * gtk/gtkinputdialog.c * gtk/gtkitemfactory.c * gtk/gtkmenu.c * gtk/gtktextview.c * gtk/gtktooltips.c * gtk/gtktreedatalist.c * gtk/gtkuimanager.c * gtk/tree_minus.xpm * gtk/tree_plus.xpm * gtk/xdgmime/xdgmime.c * gtk/xdgmime/xdgmime.h: Move constant data to .rodata. 2005-02-27 Matthias Clasen * gtk/gtkaction.c (connect_proxy): Improve the handling of buttons as action proxys. (#165534, Milosz Derezynski) * gtk/gtklabel.c (gtk_label_size_request): Fix a typo. (#168646, Vincent Untz) * gtk/gtkfilechooserdefault.c (save_folder_combo_create): Unset "focus-on-click" for the save folder combo. (#168688, Sven Neumann) 2005-02-25 Matthias Clasen * demos/testpixbuf.c (main): Remove a C++ comment. (#168531, Paul Cornett) * gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Don't leak a path here. (#168443, Morten Welinder) 2005-02-24 Robert Ögren Implement better handling of Wintab tablet context overlap on Win32. (#167298) * gdk/win32/gdkinput-win32.c (_gdk_input_set_tablet_active): New function that brings any tablet contexts to the top of the overlap order. * gdk/win32/gdkinput-win32.h: Declare _gdk_input_set_tablet_active () * gdk/win32/gdkevents-win32.c (gdk_event_translate): Call _gdk_input_set_tablet_active when a window is activated (on WM_ACTIVATE) 2005-02-24 Matthias Clasen * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_path): Don't leak parent_path. (#168435, Morten Welinder) Thu Feb 24 14:20:16 2005 Søren Sandmann * gtk/gtkstyle.c: Add g_return_if_fail (style->depth == gdk_drawable_get_depth(window)); all over the place. 2005-02-24 Matthias Clasen * gtk/gtkcombobox.c: Consistently use gtk_tree_row_reference_valid(). (gtk_combo_box_model_row_deleted): Update the displayed row in the cell_view. (#167842, Gustavo Carneiro) 2005-02-24 Matthias Clasen Fix #167259, reported by Christian Persch: * gtk/gtkwidget.c (gtk_widget_unparent): Unmap the reparented widget, even if we avoid the unrealizing. (gtk_widget_reparent_subwindows): Make reparenting work for !NO_WINDOW widgets which have other windows which are siblings of widget->window (as e.g. GtkSpinButton). 2005-02-24 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_changed): Don't emit a warning if a parent node is filtered out. (#164726, Olivier Sessink) 2005-02-23 Matthias Clasen * gtk/gtklabel.c (gtk_label_style_set): Revert the last change, since gtk_widget_set_style_internal() already queues a resize. 2005-02-23 Matthias Clasen * gtk/gtklabel.c (gtk_label_style_set): Queue a resize, since fonts may have changed. (#164128, Phil Blundell) * gtk/gtkaboutdialog.c (gtk_about_dialog_init) (gtk_about_dialog_new): Move initialization code from _new to _init. (#168249, Murray Cumming) Wed Feb 23 17:34:01 2005 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_node_queue_redraw): Patch from jorn@nl.linux.org (Jorn Baayen) to notice changes to fixed-height widgets. 2005-02-23 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap): Workaround for bug in MapVirtualKey(VK_DIVIDE, 0) in some Windows versions. (#142998) Tue Feb 22 13:49:09 2005 Manish Singh * gtk/updateiconcache.c: #include 2005-02-22 Federico Mena Quintero Merged from gtk-2-6: Fix #164940, patch by Ben Maurer and Tommi Komulainen. * gdk/gdkrgb.c (gdk_rgb_convert_565_d): Constify the "dmp" variable. (gdk_rgb_convert_565_d): Likewise. (DM_565): Made a static const precomputed array to avoid allocating it at runtime. (gdk_rgb_preprocess_dm_565): #ifdef out. 2005-02-20 Matthias Clasen * gtk/gtkwindow.c: * gtk/gtkclipboard.c: Fix links to freedesktop.org specs in the documentation. * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): Set have_render_with_trapezoids to GDK_YES when we have a new enough Render extension. (#167965,Billy Biggs) * gtk/gtkwindow.c (gtk_window_present): Use the timestamp of the last user interaction when focusing the window. (#166379, Elijah Newren) Thu Feb 17 14:58:16 2005 Manish Singh * gtk/gtkuimanager.c (start_element_handler): make sure expand is initialized, cast to GTK_SEPARATOR_TOOL_ITEM. Thu Feb 17 14:52:57 2005 Manish Singh * gtk/gtkcombobox.c: Pass gtk_widget_get_toplevel() a GTK_WIDGET. 2005-02-16 Matthias Clasen * docs/iconcache.txt: Add some information about the icon cache format (since I can't locate it at freedesktop.org) Fixes for #143829, Tommi Komulainen, Christian Persch: * gtk/gtktreeview.c (gtk_tree_view_destroy): Remove the typeselect_flush_timeout when destroying the widgets it is operating on. (gtk_tree_view_ensure_interactive_directory): Add the popup to the window group of the toplevel it belongs to. * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget) (gtk_combo_box_popup): Do the same here. 2005-02-14 Matthias Clasen * configure.in: Kill --enable-ansi (#164394) 2005-02-11 Matthias Clasen * gtk/gtkpathbar.c (gtk_path_bar_finalize): Stop scrolling when the pathbar goes away. (#167094, Rodney Dawes) (change_icon_theme): Use GTK_ICON_SIZE_MENU here as well (Vincent Noel) 2005-02-11 Matthias Clasen Support vertical menubars (#166632): * gtk/gtkenums.h (GtkPackDirection): New enumeration for pack directions, with values for left-to-right, right-to-left, top-to-bottom and bottom-to-top. * gtk/gtk.symbols: * gtk/gtkmenubar.h: * gtk/gtkmenubar.c: Add two properties, pack-direction and child-pack-direction, which specify how children and grandchildren of a menubar are packed, with getters and setters. * gtk/gtkmenubar.c (gtk_menu_bar_set_property): (gtk_menu_bar_get_property): Implement set_property and get_property. * gtk/gtkmenubar.c (gtk_menu_bar_size_request): (gtk_menu_bar_size_allocate): Take pack direction into account. * gtk/gtkmenubar.c (gtk_menu_bar_move_current): Implement move_current here move all the menubar-specific direction tweaking from the generic menushell implementation here. * gtk/gtkmenu.c (gtk_menu_move_current): Move menu-specific direction tweaking from the generic menushell implementation here. * gtk/gtkmenuitem.c (gtk_menu_item_size_request): (gtk_menu_bar_size_allocate): Take pack direction into account. * gtk/gtkimagemenuitem.c (gtk_image_menu_item_size_request) (gtk_image_menu_item_size_allocate): (gtk_image_menu_item_toggle_size_request): Take child pack direction into account and pack the image vertically if necessary. * gtk/gtkmenushell.c (gtk_menu_shell_real_select_item): Set the submenu direction to left-right for menuitems in vertical menubars. (gtk_real_menu_shell_move_current): Simplify by moving direction tweaking to menu- and menubar-specific implementations. Take pack direction into account when doing fallbacks. * tests/testmenubars.c: Test menubars in various packing direction combinations. * tests/Makefile.am (noinst_PROGRAMS): Add testmenubars. 2005-02-11 Matthias Clasen Complete the fix for #165770, Vincent Noel: * gtk/gtkfilechooserbutton.c (FALLBACK_ICON_SIZE): Make the fallback size be 16, to be equal to the default for GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()). (gtk_file_chooser_button_init): (change_icon_theme): Use GTK_ICON_SIZE_MENU instead of GTK_ICON_SIZE_SMALL_TOOLBAR. 2005-02-09 Matthias Clasen * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Fix RTL keynav for going from menubar to menu. 2005-02-08 Christian Rose * configure.in: Added "xh" to ALL_LINGUAS. 2005-02-08 Matthias Clasen * gtk/gtkuimanager.c (start_element_handler): Accept the "expand" attribute and set a flag in the node if it is set to "true". (update_node): If the expand flag is set, make separator toolitems non-drawn and expanding. (#166489, Christian Persch) 2005-02-05 Hans Breuer * gdk/makefile.msc gdk/win32/makefile.msc gtk/makefile.msc.in : build with Cairo dependency. The patch to acually use Cairo on win32 will be on gtk-devel-list soon. * tests/makefile.msc : add testcairo building * gtk/stock-icons/makefile.msc : split command line into two to work with the shells default Fri Feb 4 14:16:31 2005 Manish Singh * gtk/gtkaccelgroup.c (substitute_underscores): remove unused function. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Add some extra parens for bitop order of operations disambiguiation. * gtk/gtkstock.c: Fix const confusion, make our own copy of the domain when setting a translate function. * tests/testcombo.c: removed unused variable. 2005-02-04 Matthias Clasen * gtk/gtkstock.c (gtk_stock_lookup): Handle item->translation_domain being NULL. (#166179, Diego Gonzalez) 2005-02-04 Owen Taylor * configure.in: Revert gtk_binary_version to 2.4.0. Fix up comment to talk only about backwards compat, not forward/backwards compat. (#166293, reported by Vincent Noel) 2005-02-04 Matthias Clasen * gtk/gtkpaned.c (gtk_paned_compute_position): Work better when there is not enough space. This avoids a nasty size allocation loop in the file chooser. (#154007, reported by Milosz Derezynski, patch by Robert Ögren) 2005-02-04 Matthias Clasen * gtk/gtkentry.c (gtk_entry_create_layout): Avoid spurious selection of RTL direction if the widget does not have focus. (#164125, Frederic Crozat) Thu Feb 3 19:15:55 2005 Manish Singh * gdk/x11/gdkdrawable-x11.c: #include cairo-xlib.h 2005-02-03 Owen Taylor * gdk/gdkdrawable.[ch] gdkpixmap.c gdkwindow.c: Add gdk_drawable_set_cairo_target(). * tests/testtreeflow.c (enum): Use grand not rand as a variable name because one of the cairo headers is pulling in stdlib.h. * tests/testcairo.c tests/Makefile.am: Add a simple cairo based example. * configure.in: Bump release to 2.7.0, gtk_binary_version to 2.7.0. * Require libpangocairo for all backends. 2005-02-03 Tor Lillqvist * modules/input/gtkimcontextime.c (get_pango_attr_list): Use the wide character version of ImmGetCompositionString() here, too. (#165278, Takuro Ashie) 2005-02-03 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_handle_scrolling): Don't do one roundtrip per motion event. (#166173, pointed out by Chris Lee, patch by Søren Sandmann) * gtk/gtk.symbols: * gtk/gtkstock.h: * gtk/gtkstock.c (gtk_stock_set_translate_func): New function which allows to change the function used for translation stock labels, on a per-domain basis. Use this functionality to switch the GTK+ stock items to use Q_() prefixed msgids. (#166179, Funda Wang) * gdk/gdkkeynames.c: Make the gdk_key array const (#166075, Tommi Komulainen) 2005-02-02 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (pending_select_paths_process): Don't select the first row if the chooser is not mapped. This happens when it's acting on behalf of GtkFileChooserButton. Also, don't select the first row if we are in SAVE or CREATE_FOLDER modes --- I had missed that (see the ChangeLog entry from 2005-01-18). Fixes #165264. 2005-02-02 Tor Lillqvist Implement lazy extended input initialization on Win32, by Robert Ögren. Fixes #163163, possibly #162334. Lazy initialization would be a good idea in any case even if it didn't fix any visible problems, though. The Wacom tablet driver seems to get confused if Wintab is initialized but no window is shown before the process exits. This is the case for some GIMP plug-ins, for instance. * gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Made non-static (and renamed). (_gdk_input_init): Don't call _gdk_input_wintab_init_check(). * gdk/win32/gdkinput-win32.h: Declare _gdk_input_wintab_init_check(). * gdk/win32/gdkinput.c (gdk_devices_list, gdk_display_list_devices, gdk_input_set_extension_events): Call _gdk_input_wintab_init_check() here instead. 2005-02-02 Ivan, Wong Yat Cheung * gdk/win32/gdkselection.c: Use a FIFO list for storing GdkSelProp of a single window so that gtk_clipboard_request_contents() can be called inside a GtkClipboardReceivedFunc(). (#163844) 2005-02-01 Matthias Clasen * gtk/gtkicontheme.c (gtk_icon_theme_init): Look for icons in XDG_DATA_DIRS/pixmaps. (#165950, Thomas Zajic) * gtk/gtkwindow.c (gtk_window_set_icon_name): Set info->icon_list to NULL after freeing it. (#165800, Damon Chaplin) 2005-02-01 Michael Natterer * configure.in: depend on stable pango-1.8, not unstable 1.7 2005-02-01 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (browse_files_model_finished_loading_cb): Don't g_assert_not_reached() if we are in any other state. Another code path may have triggered a folder reload. Fixes #165556. 2005-02-01 Federico Mena Quintero Merged from gtk-2-6: Fix #165770: * gtk/gtkfilechooserdefault.c (FALLBACK_ICON_SIZE): Make the fallback size be 16, to be equal to the default for GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()). (change_icon_theme): Use GTK_ICON_SIZE_MENU instead of GTK_ICON_SIZE_SMALL_TOOLBAR. 2005-02-01 Matthias Clasen * */*.c: Fix many instances of "the the" in docs and comments. (#165815, Masao Mutoh) * gtk/updateiconcache.c (main): Add a --quiet option. 2005-02-01 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (handle_special, set_shift_vks, reset_after_dead, handle_dead): New functions, code blocks refactored out of update_keymap(). No functionality change. (update_keymap): Use ToUnicodeEx() when available (on NT-based Windows) instead of ToAsciiEx(). Makes keyboard input work in Unicode-only input locales that don't have any ANSI codepage, for instance Hindi and Bengali. Use _gdk_input_codepage only on Win9x. (#165723) * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_INPUTLANGCHANGE, use GetLocaleInfo() instead of TranslateCharsetInfo() to get the input locale's corresponding codepage, if any. 2005-01-31 Matthias Clasen * modules/input/gtkimcontextxim.c: Use NULL, not 0 to terminate NULL-terminated va lists. (#165683) 2005-01-29 Matthias Clasen * gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_set_draw): Typo fix. (#165581, Masao Mutoh) Thu Jan 27 14:25:45 2005 Manish Singh * README.cvs-commits: update ancient IRC info. 2005-01-27 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_path): Oops, don't assert that we can't reach the end of the function; this happens if we are still loading but don't need a path change. Fixes #165213. 2005-01-27 Matthias Clasen * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Make wrapping work in RTL mode. * gtk/gtkaboutdialog.c: Some visual tweaks to the about dialog, obey HIG spacing a bit more, add a hand cursor when over the link button. (#163979, Jorn Baayen) 2005-01-26 Matthias Clasen * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Don't allow -1 as minimum-key-length. (gtk_entry_completion_set_model): Add missing notification. (gtk_entry_completion_set_minimum_key_length): Add missing notification, allow setting minimum-key-length to 0. (#165194, Vincent Ladeuil) 2005-01-26 Matthias Clasen * gtk/gtkaboutdialog.c (display_license_dialog): Make sure the license dialog is initially displayed without a horizontal scrollbar. (gtk_about_dialog_class_init): Document the fact that the license text is not wrapped. (#165012, Christian Rose) 2005-01-25 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Fix docs. (#165180, Jeff Franks) * gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Fix docs. (#165163, Jeff Franks) * gtk/gtkimage.c (gtk_image_get_property): Use the correct setter for a string GValue. (#165203, Damon Chaplin) 2005-01-24 Matthias Clasen * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Initialize user_time from DESKTOP_STARTUP_ID. (#165131, Elijah Newren) 2005-01-24 Federico Mena Quintero * gtk/gtkfilechooserdefault.c: Removed leftover comments. 2005-01-24 Federico Mena Quintero Merged from gtk-2-6: Fix #147785 and clean up the loading code: * gtk/gtkfilechooserdefault.c (LoadState): Make the set of states be EMPTY, PRELOAD, LOADING, FINISHED. (gtk_file_chooser_default_init): Start in the LOAD_EMPTY state. (struct _GtkFileChooserDefault): Added a pending_select_paths field. (load_remove_timer): Add the new states. (load_setup_timer): Likewise. (load_timeout_cb): Likewise. Switch to the LOAD_LOADING state. (browse_files_model_finished_loading_cb): Switch to the LOAD_FINISHED state. (enum PendingOp): Removed. (struct _GtkFileChooserDefault): Removed the pending_op and pending_select_path fields. (pending_select_paths_free): New utility function. (pending_select_paths_add): New utility function. (gtk_file_chooser_default_finalize): Call pending_select_paths_free(). (pending_op_queue): Removed. (pending_op_process): Removed. (pending_select_paths_process): New function. (browse_files_model_finished_loading_cb): Call pending_select_paths_process(). (center_selected_row_foreach_cb): Handle multiple selection by only centering the first row. (get_is_file_filtered): Constify. (gtk_file_chooser_default_select_path): Queue into a list of paths to select if we are not finished loading. (show_and_select_paths): New utility function. (up_folder_handler): Use pending_select_paths_add(). (gtk_file_chooser_default_should_respond): Do not call pending_op_queue(); free the pending_selected_paths instead. (gtk_file_chooser_default_initial_focus): Don't queue a pending operation, and don't select the first row unconditionally --- this will happen when the folder is done loading. (shortcuts_row_activated_cb): Free the pending_select_paths. (pending_select_paths_store_selection): New utility function. (gtk_file_chooser_default_map): Call pending_select_paths_store_selection() to save the selection before reloading the folder. (select_func): Umm? Call gtk_tree_selection_select_iter(). Don't move the cursor here; it will be done when processing the pending paths. * tests/testfilechooser.c (main): Add a button to the command window to unmap and remap the file chooser. 2005-01-24 Matthias Clasen * docs/tutorial/gtk-tut.sgml: * docs/tutorial/gtk_tut.sgml: * docs/reference/gtk/tmpl/gtkliststore.sgml: * gtk/gtkactiongroup.c: * gtk/gtksizegroup.c: * gtk/gtksizegroup.h: * gtk/gtktogglebutton.c: Replace "effect" by "affect" where appropriate. (#165108, Dan Winship) 2005-01-24 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Document GtkWidget::style-set. (#164222, Alex Graveley) 2005-01-22 Matthias Clasen * gdk/gdkdisplay.h (gdk_display_add_client_message_filter_full): Remove the accidentally added prototype for this unimplemented function. (#164893, Jeff Franks) * gtk/gtktreeview.c (gtk_tree_view_leave_notify): Avoid spurious drags. (#164884) 2005-01-23 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos dead accent key. (#164859, reported and fix verified by Daniel Atallah.) * gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle GDK_Greek_accentdieresis (tonos and dialytika) combining with iota and upsilon. * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() for network drives. They might be disconnected, and calling GetVolumeInformation() will then cause long delays. (#164448, reported by Dave Neary.) It seems to be very hard to reliably find out whether a network drive is connected or not, so it's easier to just not try getting the volume name for them. See the bug report for discussion. Make volume name display formats translatable. Fix for #163702, from Ivan Wong: * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New flag _ignore_destroy_clipboard. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle WM_DESTROYCLIPBOARD. Unless _ignore_destroy_clipboard, generate a GDK_SELECTION_CLEAR event. * gdk/win32/gdkselection-win32.c (gdk_selection_owner_set_for_display): Set _ignore_destroy_clipboard when emptying the clipboard ourselves. (gdk_selection_send_notify_for_display): Remove the artifical GDK_SELECTION_CLEAR event generation. 2005-01-21 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_get_accessible): More details provided by Bill Haneman. 2005-01-20 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_get_accessible): Add docs. (#164725, George Kraft IV) * gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever here, even if the only focusable widgets are labels. 2005-01-20 Matthias Clasen Support tinting in GtkCellRendererPixbuf (#162903, Jorn Baayen): * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init) Add a follow-state property which when TRUE causes the pixbuf to be tinted according to state. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Use follow-state and colorize the pixbuf when appropriate. 2005-01-20 Matthias Clasen Support wrapping in GtkCellRendererText (#163608): * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): Add wrap-mode and wrap-width properties which cause a text cell to break to a specified width when set. * gtk/gtkcellrenderertext.c (get_layout): Use wrap-mode and wrap-width when they are set. 2005-01-20 Matthias Clasen * gtk/gtkmodules.c (load_module): Don't reverse the order of modules when putting them in gtk_modules. (#162676, Dennis Cranston, patch by Remus Draica) * gtk/gtktreeview.c (gtk_tree_view_search_move): Don't crash if the tree is empty. (#164669, Priit Laes) Wed Jan 19 18:57:02 2005 Manish Singh * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Call GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the function a bit too. Wed Jan 19 17:17:31 2005 Manish Singh * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Squash strict aliasing warning in _NET_VIRTUAL_ROOTS code. 2005-01-19 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap, gdk_keymap_translate_keyboard_state): Handle keyboards with ShiftLock (and not CapsLock) correctly. (#161814) 2005-01-19 Matthias Clasen * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): In save mode, don't return paths containing nonexisting directories. (#162443, Jean Marie Favreau) * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan Maraas. * gdk/x11/gdkdisplay-x11.c: Precache the _NET_VIRTUAL_ROOTS atom. * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Support _NET_VIRTUAL_ROOTS. (#163910, Carsten Haitzler) * gdk/gdk.symbols: * gdk/x11/gdkx.h: * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_get_user_time): Add a function to obtain the last user interaction time. (#163119, Elijah Newren) Tue Jan 18 13:56:09 2005 Manish Singh * gtk/gtkfilechooserdefault.c (pending_op_queue): Actually assign PENDING_OP_NONE. Tue Jan 18 13:46:46 2005 Manish Singh * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): disambiguate nested if/else. 2005-01-18 Federico Mena Quintero Merged from gtk-2-6: * gtk/gtkfilechooserdefault.c (pending_op_queue): Don't queue an operation to select the first file if we are in SAVE or CREATE_FOLDER modes. Executing that operation would overwrite the contents of the save-name entry. 2005-01-18 Matthias Clasen * gdk/gdkdisplay.h: * gdk/x11/gdkwindow-x11.c (gdk_display_warp_pointer): * gdk/win32/gdkwindow-win32.c (gdk_display_warp_pointer): Add pointer warping to GDK. (#160437) * gtk/gtkcolorsel.c (key_press): Use gdk_display_warp_pointer. 2005-01-18 Matthias Clasen * gtk/gtkstyle.c (gtk_default_draw_check) (gtk_default_draw_option, gtk_default_draw_handle): Add some more NULL checks, patch by Michael Natterer. Tue Jan 18 10:55:47 2005 Søren Sandmann * gtk/gtkstyle.c (gtk_default_draw_handle): Check for NULL detail and NULL widget. * gtk/gtkstyle.c (gtk_default_draw_box): Check for NULL detail and NULL widget. (#164477, Michael Natterer) 2005-01-18 Matthias Clasen Avoid X errors when running against servers which implement XRender < 0.4. (#164427, Albert Chin) * gdk/x11/gdkprivate-x11.h: * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): New function to check for trapezoid support in XRender. (gdk_x11_draw_trapezoids, _gdk_x11_drawable_draw_xtrapezoids): Use it here. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a separate have_render_with_trapezoids field. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize it. 2005-01-17 Matthias Clasen * gtk/gtkiconview.c: Remove debug output. (#164376, Jens Finke) Mon Jan 17 16:44:36 2005 Jonathan Blandford * docs/Makefile.am (EXTRA_DIST): add tree-column-sizing.png to dist. 2005-01-17 Matthias Clasen * gtk/gtkfilechooserdefault.c (shortcuts_add_bookmarks): Save and restore the selected row in the bookmark list and the save folder combo. (#164290) 2005-01-16 Matthias Clasen * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new_with_backend): Fix argument order in docs. 2005-01-15 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_check_keymap_direction): * gtk/gtkentry.c (gtk_entry_create_layout): Prefer LTR over RTL if the keymap is neutral. (#164125, Phil Blundell) 2005-01-14 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_search_column): Allow to reset the property to its default value -1. (gtk_tree_view_get_search_column): Return the default value in the g_return_val_if_fail() check. (#163864, Richard Hult) * gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_set_value): Add a translator hint. (#163889) * configure.in: Check for _NL_TIME_FIRST_WEEKDAY too, since it is an enum value, not a define. Pointed out by Tommi Komulainen. * gtk/gtkcalendar.c (gtk_calendar_init): Adapt. 2005-01-13 Matthias Clasen * configure.in: Check for nl_langinfo() * gtk/gtkcalendar.c (gtk_calendar_init): Use nl_langinfo() when it's available to determine first day of week (#163842, Vincent Untz) * gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Add hints about the lifecycle of widgets. (#159503, Christian Persch) * demos/gtk-demo/main.c (create_text): Use monospace for the source code view. (#163526, Theerud Lawtrakul) * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Use R as mnemonic for the Credits button to avoid duplicate. (#163465, Tim-Philipp Müller) * configure.in: Add an OS_LINUX conditional. * gdk/Makefile.am (TESTS): * gdk-pixbuf/Makefile.am (TESTS): * gtk/Makefile.am (TESTS): Only run abicheck on Linux. (#163917, Roger Leigh) 2005-01-13 Matthias Clasen * gtk/gtktreeview.c: (gtk_tree_view_class_init), (gtk_tree_view_set_headers_clickable): Make the headers-visible property readwrite instead of just writable, and remove the g_return_if_fail check that there is a model when setting this property. Also improve the blurb. (#163851, Richard Hult) 2005-01-12 Owen Taylor * configure.in: Remove GLIB_DIVERT_BEFORE_HELP() on initialization of gdktarget, that was causing it to be evaluated before host was set. Simplify --with-gdktarget help message. * gtk/Makefile.am: Use grep | head -n 1 instead of grep -m 1 which doesn't work with slightly older versions of GNU grep in install-libtool-import-lib rule. 2005-01-12 Tor Lillqvist Fix for #162790, by Iwan Wong: * gdk/win32/gdkdrawable-win32.c: Implement dashed lines correctly. Simplify the interface to render_line_horizontal() and render_line_vertical(). Need to draw lines "manually" also on NT-based Windowses if we have a dash offset or are drawing double-dashed lines. * gdk/win32/gdkprivate-win32.h: Keep also the dash offset, double-dash flag, and a brush for the background colour (used by the odd dashes in the double-dash line style) in the GdkGCWin32 struct. * gdk/win32/gdkgc-win32.c: Set up above new fields. 2005-01-10 Federico Mena Quintero Fix #162617. * gtk/gtkfilesystemunix.c (STAT_NEEDED_MASK): Take out GTK_FILE_INFO_IS_HIDDEN; we don't need to stat() to know this. (gtk_file_system_unix_get_folder): Make error reporting more accurate. Don't bail out if we can't read the directory. (fill_in_stats): Don't return an error; just assume we don't have stat info for this folder's files. (fill_in_names): Don't create the hash table for the names if we can't open the directory. (gtk_file_folder_unix_list_children): Don't emit the "finished-loading" signal --- we don't do asynchronous loads, so we are always finished loading. (gtk_file_folder_unix_get_info): Use helper functions; handle the case where we can't stat '/'. (get_icon_type_from_path): Don't call fill_in_stats() here; only use the info we have. (fill_in_mime_type): Don't return an error. Don't do anything if we don't have the stat info. 2005-01-10 Owen Taylor * Makefile.am (EXTRA_DIST): Adding missing ChangeLog.pre* to EXTRA_DIST. 2005-01-10 Matthias Clasen * gtk/gtkaccelgroup.c (gtk_accel_group_class_init): Document signals. (#163319, Murray Cumming) 2005-01-09 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current cursor also when changing the cursor of a window that is the first ancestor of the window containing the pointer that has a cursor defined. (#163035, Ivan Wong) 2005-01-09 Anders Carlsson * gtk/gtkcellrenderertext.c: (get_size): * gtk/gtklabel.c: (gtk_label_size_request): * gtk/gtkprogressbar.c: (gtk_progress_bar_size_request): Don't pass NULL to pango_context_get_metrics. Use pango_context_get_language instead, which is way faster. 2005-01-08 Matthias Clasen * configure.in: Bump version * === Released 2.6.1 === * gdk-pixbuf-2.0.pc.in: Require gmodule-no-export-2.0 2005-01-07 Tor Lillqvist * gdk/win32/gdkselection-win32.c (_gdk_selection_property_store): Fix braino. (#163232, Arnaud Charlet) 2005-01-06 Matthias Clasen * gtk/gtkiconview.c: Make markup_column work, and fix some layout issues when either icon or text is missing. (#163065) 2005-01-06 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (file_list_build_popup_menu): Add an "Open _Location" item. Fixes #148839. 2005-01-06 Matthias Clasen * README.in: Fix a typo. (#163128, kentaro fukuchi) 2005-01-06 James M. Cape * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new) (gtk_file_chooser_button_new_with_backend): Use default title if NULL is passed. * docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Make examples match API. 2005-01-05 Federico Mena Quintero Fix #161409: * gtk/gtkfilechooserdefault.c (shortcuts_row_activated_cb): Queue a pending operation to select the first row. 2005-01-05 Federico Mena Quintero * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't call button_data_free() explicitly; the button is weak-reffed and the callback will free the button data. Fixes #163010. (_gtk_path_bar_set_path): Don't ref/sink the button. And for the failure case, call gtk_widget_destroy() on it. * gtk/gtkfilechooserdefault.c (check_is_folder): Use gtk_file_system_get_folder() again (see the ChangeLog entry from 2004-08-25). We can't first get the parent folder and then request the info for the path in question, as the parent folder may not be readable. See bug #162617. (gtk_file_chooser_default_set_current_folder): Assert that the passed-in path is not null. (shortcuts_find_current_folder): Likewise. (shortcuts_add_current_folder): Likewise. (set_list_model): Likewise. (gtk_file_chooser_default_map): Only reload the current folder if it exists. (bookmarks_check_add_sensitivity): Check for the current folder being NULL. (browse_files_select_first_row): Don't set the cursor if there is no model loaded. 2005-01-05 Matthias Clasen * gtk/gtkfilechooserdefault.c: Don't construct errors from the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911. (get_file_info, check_is_folder): Translate errors from the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest of the fix for #162911, noticed by Murray Cumming. Wed Jan 5 11:42:49 2005 Søren Sandmann * gtk/gtkviewport.c (gtk_viewport_realize): * gtk/gtktextview.c ((text_window_realize): Set the background of the windows to None instead of adding EXPOSURE_MASK, as suggested by Owen in #162112. * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Update the user time when receiving a WM_DELETE message. (#162980, Elijah Newren) Tue Jan 4 16:52:14 2005 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): only reorder on button 1, part of #141937 Tue Jan 4 11:36:43 2005 Søren Sandmann Bug 162112. * gtk/gtktextview.c (text_window_realize): Add GDK_EXPOSURE_MASK to win->window's event_mask * gtk/gtkviewport.c (gtk_viewport_realize): Add GDK_EXPOSURE_MASK to viewport->view_window. 2005-01-04 Matthias Clasen * demos/testpixbuf.c (main): Remove the size_prepared callback, to test incremental display. (new_testrgb_window): Return the drawing area, not the window, since we want to queue draws on the drawing area. 2005-01-03 Matthias Clasen * examples/*: Re-extract. * docs/tutorial/gtk-tut.sgml: Small corrections. * docs/tutorial/gtk-tut.sgml: Some updates for the drawing section. (#161414, Robert Ancell) * docs/tutorial/gtk-tut.sgml: Make it build. * gtk/gtkdialog.c (gtk_dialog_run): Some clarification regarding modality. (#112903, Dave Bordoley) * gtk/gtkfixed.c (gtk_fixed_set_has_window): Add a little motivation. (#145556, Tommi Komulainen) * docs/tutorial/gtk-tut.sgml: Clarify section on g_signal_connect_swapped. (#120543, David Bourguignon) Make gtk_icon_theme_load_icon() work independent of icon factory initialization. (#162791, Tristan Van Berkom) * gtk/gtkiconfactory.[hc]: Rename ensure_default_icons to _gtk_icon_factory_ensure_default_icons, and make it non-static. * gtk/gtkicontheme.c (find_builtin_icon): ..and call it here. 2005-01-02 Matthias Clasen * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_remove_shortcut_folder): Don't add a shortcut here. (#162752, Tor Lillqvist) 2005-01-02 Tor Lillqvist * gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for CoTaskMemFree in get_special_folder() below. * gtk/gtkfilesystem.h: Implement case-insensitive path compare on Win32 using _gtk_file_system_win32_path_compare(). * gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare. * gtk/gtkfilechooserbutton.c (model_add_special) * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use _gtk_file_system_win32_get_desktop() to get correct Desktop folder on Win32. (#144003) * gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do consider all drives "mounted", including floppies. Trying to inspect the contents of a nonexistent floppy will cause errors later that are handled normally, no need to avoid them completely. Keep the drive type in the GtkFileSystemVolume. Support UNC paths. (#161797, #137874) Fix error message capitalizations as in gtkfilesystemunix.c. (gtk_file_system_win32_init): Start one timeout per GtkFileSystemWin32. (gtk_file_system_win32_finalize): Remove the timeout. (get_special_folder): Copied from GLib. (_gtk_file_system_win32_get_desktop): New function, uses get_special_folder(). (gtk_file_system_win32_list_volumes): Don't start a timeout at each call to this function. Don't assume A: and B: are floppies. (gtk_file_system_win32_get_volume_for_path): Don't assume all volumes are drive roots, i.e. support share roots of UNC paths (\\server\share). (gtk_file_system_win32_get_folder): Don't assume errno is set after g_file_test() returns FALSE. It isn't on Win32 (and even on Unix I don't think one should assume anything about errno after g_file_test()). (gtk_file_system_win32_volume_get_is_mounted): Always return TRUE. (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() on drives A: or B: if they are removable, as they might then be floppies, causing an unnecessary delay. (#157820) (gtk_file_system_win32_volume_render_icon): Use network icon for unrecognized drive types. (canonicalize_filename, gtk_file_system_win32_parse): Don't get confused by UNC paths. (bookmarks_serialize): Use _gtk_file_system_win32_path_compare() for case-insensitive UTF-8 path comparison. (extract_icon): Use SHGetFileInfo() which is faster than ExtractAssociatedIcon(). Icon extraction is still slow, though, needs work. (win32_pseudo_mime_lookup): Don't use the same icon for all shortcuts or executables. Cache only other file type icons. (gtk_file_system_win32_render_icon): Use network stock icon for remote drives and UNC server share roots. Compare home directory case-insensitively. Do lookup icons also for executable files, after all, it's these files that can have individual icons in the first place. Yes, it can be slow. Needs work. (filename_is_drive_root): Require also the slash after the colon. (filename_is_server_share): New function. (_gtk_file_system_win32_path_compare): New function, does case-folded UTF-8 comparison. * gtk/gtkfilesystemwin32.h: Declare _gtk_file_system_win32_path_compare(). 2005-01-01 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the custom image by passing NULL. (gtk_button_init): Initialize image_is_stock to TRUE, fixing a problem with changing stock labels. (#162273, Marcin Krzyzanowski) 2005-01-01 Tor Lillqvist * gtk/gtkmodules.c (get_module_path) * gtk/gtkrc.c (gtk_rc_make_default_dir, gtk_rc_get_im_module_file, gtk_rc_get_theme_dir, gtk_rc_add_initial_default_files): With g_getenv() now returning UTF-8 on Win32, no need to call g_locale_to_utf8(). 2004-12-31 Matthias Clasen * gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval) (_gtk_key_hash_lookup): Don't sort a list of values as if it was a list of entries. This fixes crashes during mnemonic activation in the presence of multiple keymaps. (#162488, Christian Persch) 2004-12-30 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Fix state propagation when making an insensitive combo box sensitive again. (#162524, Carlos Garnacho Parro) * gtk/gtkfilechooserdefault.c: Use secondary text for error dialogs. * gtk/gtkfilesystemunix.c: Clean up some cases of errno handling (#162496, noted by Tor Lillqvist), and use g_filename_display_name() for error messages. Also mark some error messages for translation, fix capitalization of error messages. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property): Use g_value_get_boolean() for ellipsize_set. (#162447, Brian Tarricone) 2004-12-30 Tor Lillqvist * gtk/gtkicontheme.c (gtk_icon_theme_init): Use /usr/share/pixmaps only on Unix. 2004-12-28 Matthias Clasen * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Inherit submenu direction from the parent menu. * gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first): Return a boolean indicating whether an item in the submenu was selected. (gtk_real_menu_shell_move_current): When going in child direction, don't get stuck at completely insensitive submenus. (#162055, Billy Biggs) 2004-12-27 Matthias Clasen Make the clipboard image API more robust (#162357, Torsten Schoenfeld): * gtk/gtkclipboard.c (clipboard_image_received_func): Don't ref the pixbuf if it is NULL. * gtk/gtkselection.c (gtk_selection_data_set_pixbuf): NULL-terminate the varargs in the call to gdk_pixbuf_save_to_buffer(). (gtk_selection_data_get_pixbuf): Only use a pixbuf loader if there is data to load. 2004-12-27 Matthias Clasen * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Set x_root and y_root in button and motion events from extended input devices. (#148715, Robert Ögren) * gtk/gtktreeview.c (gtk_tree_view_class_init): Fix a typo. (#162339, Alessio Dessi) * gtk/gtkadjustment.c (gtk_adjustment_class_init): Document properties as new since 2.4. (#156101, Billy Biggs) * configure.in: Add a warning about the linux-fb target. (#155488, Zeeshan Ali) * gtk/gtkmain.c (gtk_init_with_args): Typo fix. (#162278, Torsten Schoenfeld) 2004-12-26 Matthias Clasen * gtk/gtkfilechooser.c (gtk_file_chooser_set_action): Typo fix. (#162219, Masao Mutoh) (gtk_file_chooser_set_preview_widget_active): Another typo. (#162218, Masao Mutoh) 2004-12-23 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_iter_children): Return TRUE if there are children. (#162134, Iñigo Serna, patch by John Finlay) * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Transfer state from the button to the cell view to get prelighting right. (#156327, Ricardo Veguilla) Wed Dec 22 14:22:19 2004 Søren Sandmann * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing timeout. Written by Christian Persch. Wed Dec 22 14:14:02 2004 Søren Sandmann Bug #161561 * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the background for windows that get expose events. * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove hack to repaint !expose windows. Wed Dec 22 11:35:41 2004 Søren Sandmann Bug #147497, make menu items activate immediately when you release the button. * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make items activate immediately. * gtk/gtkmenu.c (definitely_within_item): New function * gtk/gtkmenu.c (check_threshold): New function 2004-12-22 Matthias Clasen * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to null the mnemonic_menu when unsetting a mnemonic, reported by Owen Taylor. 2004-12-21 Matthias Clasen * gtk/gtkliststore.c (generate_order): Generate the order the way it is supposed to be, order[new_pos] == old_pos. (gtk_list_store_reorder): Invert the order before using it. 2004-12-22 Matthias Clasen Fix sorting of list stores. (#161886, Marcin Krzyzanowski) * gtk/gtkliststore.c (generate_order): Generate the order the way it is supposed to be, order[new_pos] == old_pos. (gtk_list_store_reorder): Invert the order before using it. * gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Adapt to the list store fix. Wed Dec 22 01:24:01 2004 Jonathan Blandford * gtk/queryimmodules.c (main): print out the version and binary name in the header comment. Problem reported by Seth Nickell. 2004-12-20 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a root path to gtk_tree_model_rows_reordered(). (#161720, Marcin Krzyzanowski) * gtk/gtkactiongroup.c (gtk_action_group_translate_string): Don't translate NULL messages. (#161789, Morten Welinder) * gtk/gtkmessagedialog.c (setup_primary_label_font): Don't show the secondary label on show_all(). (#161707, Christian Persch) 2004-12-19 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (resolve_link, gdk_dropfiles_filter): Use wide character API when available. Use UTF-8 for filenames. * gdk/win32/gdkselection-win32.c (_gdk_dropfiles_store): Include the string's trailing zero byte in the property's length, just for safety. 2004-12-18 Matthias Clasen * gtk/gtkfilechooserentry.c (check_completion_callback) (load_directory_callback): Add missing GDK_THREADS_ENTER/LEAVE. * gtk/gtkfilechooserdefault.c (edited_idle_cb) (shortcuts_drag_outside_idle_cb): Add missing GDK_THREADS_ENTER/LEAVE. (#161604) * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): (list_select_func): Don't call gtk_file_info_get_is_folder() on NULL. * gtk/gtkaboutdialog.c (gtk_about_dialog_get_logo_icon_name): (gtk_about_dialog_init): Add missing initializations. (#161646, Torsten Schoenfeld)