Wed Jan 15 17:02:18 2003 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange): Fix off-by-one error on the backward iteration loop, that was causing the wrong range to be redrawn. (at least part of #72734) 2003-01-21 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the vadjustment value after changing its bounds. (fixes #101963 and #73562) * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid unnecessary roundtrip failures. (#93500) 2003-01-19 Tor Lillqvist Merge from stable: Fix for #103614 and some other problems with GtkFileSelection on Windows: * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not g_ascii_tolower(). Windows file names are case-insensitive for all Unicode letters. * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h earlier, as it includes config.h unconditionally, and gtkprivate.h redefines GTK_LOCALEDIR. (struct _CompletionDirSent): Ifdef out the fields not used on Windows. (compare_utf8_filenames, compare_sys_filenames): Need different comparison implementation for UTF-8 file names and system locale file names on Win32. Cannot simply use g_ascii_strcasecmp(), but need to casefold all Unicode letters. (cmpl_completion_matches, open_dir, correct_parent): Ifdef out variables not used on Win32 to avoid warnings about unused variables. (open_ref_dir): Use g_path_skip_root() to skip past potential drive letter in front of the leading (back)slash. (open_new_dir): Ifdef out use of CompletionDirSent fields not there on Win32. (correct_parent): Bypass inode check also on Cygwin. Fix bug noticed by Alex Shaduri: Tooltips and other GDK_WINDOW_TEMP windows were activated. This looked very odd, and was a regression from earlier versions. * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune behaviour. Don't ever activate GDK_WINDOW_TEMP windows. (gdk_window_move, gdk_window_resize): Add debug logging. * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a WM_SIZE message for a non-visible (withdrawn) window, don't clear the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn even if its size changes. 2003-01-16 Matthias Clasen * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes. (totally_invisible_line): Fix an incorrect optimization which caused invisible paragraphs to be occasionally misrendered. Wed Jan 15 15:55:47 2003 Owen Taylor * gtk/gtksettings.c: Set the double click speed from XSETTINGS when creating a new GtkSettings object as well as when getting a notify. (#103601, reported by Louis Garcia) Wed Jan 15 14:56:09 2003 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_size_allocate): Show/hide the notebook event window as necessary, we weren't previously keeping the visibility updated properly. (#103599) 2003-01-15 Matthias Clasen * examples/menu/itemfactory.c: * docs/tutorial/gtk-tut.sgml: Add a to the itemfactory example. (#103211) 2002-12-29 Murray Cumming Fixes #102168. * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c: Actually implement the GtkTreeDragSource::row_draggable virtual function in GtkListStore and GtkTreeStore instead of just checking whether it's implemented at all. This means that DnD isn't broken by gtkmm's virtual function wrappers. The alternative would be to hard-code the TRUE return value into gtkmm's wrappers, but that's part of GTK+'s implementation, not it's API. Tue Jan 14 23:42:29 2002 Kristian Rietveld * gtk/gtktreeview.c: fix compiler warning. Tue Jan 14 23:29:00 2002 Kristian Rietveld * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): make sure exposed pixbufs are clipped to the exposed area before drawing, which is a slight speedup. (#102379, patch from Soeren Sandmann). Tue Jan 14 23:26:41 2002 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): silly typo fix, only free scroll_to_path when the complete tree has been validated. This makes sure that we scrolled to the correct path. Tue Jan 14 23:25:32 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_style_set): update the background of widget->window and bin->window. (Fixes #96650, reported by Dave Camp). Tue Jan 14 23:24:02 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process updates before scrolling, avoiding a "selection streak". (Fixes #101235, patch from Soeren Sandmann). Tue Jan 14 23:22:13 2002 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): actually put values in the requisition using gtk_widget_size_request. (Fixes #100172, reported by Kjartan Maraas). Tue Jan 14 23:19:45 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the arrow animation timeout before we actually reorder the rbtree. If we don't do this we can get stuck arrows, (cancel_arrow_animation): new function. (Fixes #93629, part 2, reported and testcase provided by Hans Petter Jansson). Tue Jan 14 23:18:21 2002 Kristian Rietveld * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range): anchor_path should be start_path, not end_path. (Fixes #102618, patch from Carlos Garnacho Parro). Tue Jan 14 23:16:15 2002 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_move): also update the tail, only correct new_pos if we don't move to the head/tail. Tue Jan 14 23:11:55 2002 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from the parent_iter if depth >= 1, so we send the reordered signal to the correct level, remove debugging printfs which I forgot the remove earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and testcase provided by Matthew Tuck). Tue Jan 14 20:58:44 2002 Kristian Rietveld * gtk/gtktreeview.c (invalite_last_column): split out actual column invalidation into invalidate_column(), (gtk_tree_view_size_allocate_columns): invalidate column if the new width is larger than the old width. (fixes #102890, reported by Alex Duggan). 2003-01-14 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and GTK_MOVEMENT_WORDS. * gtk/gtktextiter.c, gtk/gtktextiter.h: Add some variant movement functions which skip invisible chars, and do some cleanups. 2003-01-12 Tor Lillqvist Merge from stable: * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier, as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time lookup. * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on gdk.def. * gdk/gdk.def * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO. * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0, gtk-demo}.exe and share/gtk-2.0. * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint): Implement by setting or clearing the WS_EX_TOOLWINDOW extended window style. (gdk_window_set_type_hint): Add all cases to the switch (not all do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by calling gdk_window_set_skip_taskbar_hint(). This means that GTK won't know that the skip_taskbar hint is on for the window, is this bad? Wed Jan 8 18:43:03 2003 Manish Singh * gdk/x11/gdkdisplay-x11.c: #include for putenv, for strlen. * gdk/x11/gdkscreen-x11.c: #include for getenv, for strrchr. * tests/testgtk.c (create_saved_position): "x" and "y" properties for widgets no longer exist, use gtk_window_move instead. * test/testtextbuffer.c (check_get_set_text): cast strlen to int for g_error. 2003-01-08 Matthias Clasen * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of the selection in the presence of invisible segments. 2003-01-07 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\ to "select all" and "unselect all". (#102065) * gtk/gtktextview.h (struct _GtkTextView): Add a comment that the just_selected_element is unused. * gtk/gtktextview.c (extend_selection): New helper function to find the range that should be added to the selection. (selection_motion_event_handler): (gtk_text_view_start_selection_drag): (gtk_text_view_end_selection_drag): (selection_motion_event_handler): (selection_scan_timeout): Support select-by-words/lines. (gtk_text_view_button_press_event): Start a selection drag on double/triple clicks. (#78499) 2003-01-06 Matthias Clasen Implement a utility function proposed in #102534: * gtk/gtktextbtree.h: * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function. (_gtk_text_btree_place_cursor): Now a simple wrapper around _gtk_text_btree_select_range(). * gtk/gtktextbuffer.h: * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function. (gtk_text_buffer_place_cursor): Now a simple wrapper around gtk_text_buffer_select_range(). 2003-01-05 Havoc Pennington * configure.in: fix a stray bracket that was breaking the build 2003-01-05 Tor Lillqvist * gtk-zip.sh.in: Use correct DLL and import library names, with GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION. (DEVZIP): Add gdk-pixbuf-query-loaders.exe. * configure.in: Improve check for dimm.h. * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in gdk-pixbuf/Makefile.am. * gdk-pixbuf/makefile.mingw.in * gdk-pixbuf/pixops/makefile.mingw.in * gdk/makefile.mingw.in * gdk/win32/makefile.mingw.in * gtk/makefile.mingw.in: Remove. Not maintained anyway. * gdk-pixbuf/Makefile.am * gdk-pixbuf/pixops/Makefile.am * gdk/Makefile.am * gdk/win32/Makefile.am * gtk/Makefile.am * configure.in: Remove makefile.mingw{,.in} from here, too. * README.win32: Updates. Don't mention the now removed makefile.mingw files. * gdk/gdk.def * gtk/gtk.def: Add a couple of missing entries. * gdk/gdkkeynames.c: Include for strcmp() and memcpy(). * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround earlier. * gdk/win32/rc/Makefile.am: Add hack to help build/win32/lt-compile-resource decide which kind of libtool object file to produce. 2003-01-05 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make C-Down step through the sequence of paragraph ends (old behaviour included paragraph starts). (#80340, patch by Narayana Pattipati) * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle): Check for a tag toggle at the start iterator before calling gtk_text_iter_forward_to_tag_toggle(). (#102090, patch by Daniel Elstner) 2003-01-04 Matthias Clasen * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/ and /*< private >*/ as appropriate. (#97211) 2003-01-04 Tor Lillqvist * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do distribute gtk-zip.sh.in. * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1. 2003-01-03 Havoc Pennington * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST * docs/text_widget_internals.txt: add a file documenting some of the text widget internals 2003-01-02 Matthias Clasen * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may return NULL. (#102069) 2003-01-01 Matthias Clasen * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having a main() in the library is obviously bad. 2002-12-27 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the cursor at drop point. (#72384) (gtk_text_view_size_allocate): Update the horizontal adjustment value. (#75694) 2002-12-25 Matthias Clasen * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of selection wrt. to empty lines. (#90435, #90582, #91619) * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): Keep the cursor on screen. (#96929) 2002-12-24 Matthias Clasen * gtk/gtktextbuffer.c (paste_from_buffer): (clipboard_text_received): Let the user action span the insertion and the deletion of the old selection. (#82844) 2002-12-23 Matthias Clasen * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts): Don't call gtk_text_iter_backward_sentence_start() if count is zero. (#99115) * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call move_cursor() even if the cursor hasn't moved, since it has the side effect of canceling the selection. (#81395, #98537, #98333) 2002-12-22 Matthias Clasen * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes with empty ranges. (fixes #101564 and #80637) 2002-12-21 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that sets the window style and extended window style, and adjusts the width and height to take the window decorations into account earlier. The adjusted width and height used to be ignored. Remove the local x, y, width and height variables, no need to further confuse the code by having local copies. (Partial fix, I hope, for #101588) (gdk_window_move): When moving top-level windows, take title bar and border width into account, offsetting the coordinates before calling SetWindowPos(). (gdk_window_set_decorations, gdk_window_set_functions): Reimplement, taking into account the peculiar semantics of GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036) (gdk_window_get_decorations): Implement. (#98981) (gdk_window_set_type_hint): When setting GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations(). (#79036) * gdk/gdk.def: Add gdk_window_get_decorations. (#98981) 2002-12-21 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_set_background): New static function to set the background of all windows. (gtk_text_view_style_set): Use gtk_text_view_set_background(). (gtk_text_view_state_changed): New function; change background according to state. (#88126) 2002-12-21 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation