Fri Mar 1 00:46:49 2002 Owen Taylor * configure.in: Add a --enable-explicit-deps option to control whether dependency libraries are written into .la files and .pc files. Default is auto: if static libraries are off and shlib dependencies are found, don't write deps. * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script used to strip dependencies out of .la files. * Makefile.am: Add a slightly modified distcheck rule that passes --enable-gtk-doc to the configure inside. (So that 'make dist' succeeds inside.) * configure.in: If pango was compiled with --disable-explicit-deps, then repeat the checks for X and freetype ourselves so we don't depend on linking to libraries that pango doesn't reveal in the link line. Add some more paranoia for whether what we detect ourselves matches what Pango backends we found. 2002-03-03 Tor Lillqvist * configure.in: Output gdk-pixbuf/gdk_pixbuf.rc. * gdk/gdk.def * gdk/win32/gdkevents-win32.c: Add and (trivially) implement gdk_pointer_grab_info_libgtk_only() and gdk_keyboard_grab_info_libgtk_only(). 2002-03-02 Tor Lillqvist * gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder code, keyval should get a value in all cases now. (build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it was a control character produced with Alt+keypad digits. (gdk_event_translate): Minor cleanups to keyboard input handling. Still need more major work. Sat Mar 2 16:12:03 2002 Owen Taylor * gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't do special focus handling if draw_indicator is not set. (#64723, Damon Chaplin.) Sat Mar 2 15:48:04 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_new_with_max_length, gtk_entry_set_max_length): Clamp @max parameter passed in to [0, MAX_SIZE], improve docs. Fix default and range for ::max-length property, range for ::ncursor_position, ::selection_bound properties. (#55916, Vitaly Tishkov) * gtk/gtkmain.c (rewrite_event_for_grabs): Fix typo Fri Mar 1 18:39:44 2002 Owen Taylor * gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h, gdkwindow-x11.c}: Robustify tracking of pointer grab window. * gdk/x11/gdkmain-x11.c: Keep track of current keyboard grab window. * gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only, gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk API for finding out current grab information. * gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events so that the effective behavior of owner_events = TRUE is changed to "deliver events to same window group normally" instead of "deliver events to same application normally. #69934 * gtk/gtkrange.c: Use an explicit gtk_grab_add() so that it works within the GtkList combo, where there is a owner_events = FALSE gdk_pointer_grab() already in effect. (#65006, reported by Damon Chaplin) Sat Mar 2 14:32:50 2002 Owen Taylor * configure.in: Default to --disable-gtk-doc (avoid Jade breakage) and --disable-static (static linking causes problems with Xft changes.) * autogen.sh: Add --enable-gtk-doc by default. * Makefile.am: Add a 'mydistcheck' rule that passes --enable-gtk-doc to the configure since that is needed for 'make dist'. * docs/tutorial/Makefile.am (dist-hook): Don't distribute the PDF file. (Rule doesn't work on my system, plus it's big.) * gtk/Makefile.am: 'make dist' fixes. Sat Mar 2 13:26:58 2002 Owen Taylor * gtk/Makefile.am: Switch style of stamp file usage. * gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported enumeration/fags TYPE variables over to macros for get_type() functions, for lazy definition and to get rid of expensive relocations. * gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch] gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch] gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type definitions over manually coded get_type() functions. * gtk/gtk.def: Updates for above * gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}: Remove from CVS, no longer used. * configure.in: Remove checks for awk. Sat Mar 2 04:44:10 2002 Tim Janik * gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo. Fri Mar 1 23:59:35 2002 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size): set first_cell to FALSE after first iteration * gtk/gtktreeview.c (validate_visible_area): reduce usage of GTK_RBNODE_GET_HEIGHT, check for node != NULL, (gtk_tree_view_top_row_to_dy): remove call to gtk_adjustment_changed (gtk_tree_view_search_iter): select iter after scrolling 2002-03-02 Tor Lillqvist * gtk/gtkitemfactory.c: Remove unneeded Win32 stuff inside #ifdef G_OS_WIN32. (Leftover from when gtkitemfactory.c handled files.) 2002-03-01 Tor Lillqvist * gdk/gdkkeys.c (gdk_keyval_convert_case) * gdk/x11/gdkkeys-x11.c (gdk_keyval_convert_case): If the keyval to be converted is one of those that consist of a Unicode character plus our special flag bit, use the g_unichar_to{lower,upper} functions (Bug#73112). * gdk/gdkkeys.c (gdk_keyval_convert_case): Drop the #ifdefs for the GDK keysym symbols. As we include gdkkeysyms.h, we know they are there. And if GDK keysyms some day are added/removed, this function needs changes, too, anyway. Fri Mar 1 17:00:28 2002 Owen Taylor * gdk/gdkpolyreg-generic.c: Fix some reported (but not significant) UMR's from purify. (#73160, Morten Welinder) Fri Mar 1 16:48:19 2002 Owen Taylor * gtk/gtkscrolledwindow.c: Initialize the scrollbar spacing variable in the class to -1, and then take that to mean "default" (3) rather than putting 3 in the class directly. This gives us some wiggle room to make it a per-instance rather than a per-class property later. 2002-03-01 jacob berkman * Makefile.am (install-data-hook): (dist-hook): replace uses of test -e with more portable test -f Fri Mar 1 14:49:35 2002 Owen Taylor * gtk/gtktextview.c (gtk_text_view_commit_text): Don't delete forward across line boundaries when in overwrite mode. (#73145, reported by Ettore Perazzoli) Fri Mar 1 14:47:39 2002 Owen Taylor * gtk/gtktextview.c (gtk_text_view_commit_text): Don't join up lines. Fri Mar 1 10:31:14 2002 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_reorder_child): Fix signed-unsigned error that was accidentally causing negative values to append, do it intentionally. Fix docs to say that negative values append. (Alexey A. Malyshev, #73108) 2002-03-01 Alexey Malyshev * gtk+/gtk/gtkitemfactory.c fixed a little type in docs for gtk_notebook_set_show_border() Fri Mar 1 09:05:19 2002 Owen Taylor * gtk/gtkitemfactory.c (gtk_item_factory_delete_entries): Really make it work for paths with underline accelerators. (#69247) 2002-02-28 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_finalize): free the tab array for custom tabs, reported by Paolo Maggi #72980 Thu Feb 28 19:55:01 2002 Owen Taylor * gdk/gdkkeys.c: include gdkkeysysms.h if compiling gdk_keyval_convert_case. * gtk/gtkmenubar.c (gtk_menu_bar_cycle_focus): Implement Tab Tab to cycle between all menu bars in a toplevel once one is up. * tests/testgtk.c: Add a second menubar, this example is already full of crack anyways. * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Padd unhandled events up to the parent menu shell. * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Only pop up the menu if the parent menu shell is still active. * gtk/gtkcontainer.[ch] (_gtk_container_focus_sort): Add a old_focus argument, export privately. 2002-02-28 Darin Adler * gtk/gtkfilesel.c: (open_new_dir): Add missing NULL check. 2002-03-01 Tor Lillqvist * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32): Remove the event_mask, it is now in GdkWindowObject. * gdk/win32/gdkwindow-win32.c: Change accordingly. Set the GDK_STRUCTURE_MASK in gdk_window_set_events(), as it is always set in gdk_window_new(), too. (Bug#72921) * gdk/win32/gdkevents-win32.c: Change accordingly here, too. (vk_from_char): New function, calculates the virtual keycode corresponding to the char in a WM_CHAR message. (build_keypress_event, build_keyrelease_event): Use it. (build_keypress_event): Call ImmReleaseContext() after using the input context. This might plug a memory or resource leak. (build_key_event_state): Remove #if 0 code. (gdk_event_translate): Actually, it would be preferrable to always handle just the WM_KEYDOWN and WM_KEYUP messages, not WM_CHAR at all, and thus drop the contorted logic with ignore_wm_char etc. * gdk/win32/gdkkeys-win32.c: (gdk_keymap_get_entries_for_keyval): Debugging output. (gdk_keymap_translate_keyboard_state): Return correct value. (But _gtk_key_hash_lookup() doesn't check the return value...) Thu Feb 28 14:49:08 2002 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize private->event_mask from attributes we retrieved for the window. 2002-02-22 Havoc Pennington * gtk/gtktextbuffer.c (save_range): change gravity of start/end marks so that text added at either end of the range doesn't end up inside the range. (gtk_text_buffer_real_insert_range): fix to handle pasting a range into itself. 2002-02-28 Sven Neumann * configure.in: beautified configure --help output. 2002-02-28 Tor Lillqvist * gdk/win32/Makefile.am: Move bdfcursor.c from libgdk_win32_la_SOURCES to EXTRA_DIST. * gdk/win32/gdkgc-win32.c (gdk_win32_colormap_color_pack): In the bitmap case, use just the LSB of the pixel value. Does this match X11 semantics? Or should it be pixel!=0? Wed Feb 27 19:16:50 2002 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_new): * gdk/x11/gdkwindow-x11.c (gdk_window_get_events): * gdk/x11/gdkwindow-x11.c (gdk_window_set_events): * gdk/win32/gdkwindow-win32.c (gdk_window_set_events): * gdk/win32/gdkwindow-win32.c (gdk_window_new): * gdk/gdkwindow.h (struct _GdkWindowObject): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_events): Save the window's event mask in window->event_mask. * gdk/gdkwindow.c (gdk_window_process_updates_internal): Only generate expose events if GDK_EXPOSE_MASK is included window->event_mask. (#54506) Wed Feb 27 18:50:29 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_event): Allow focus-change events to be sent to unrealized widgets; they aren't really normal events in that they have anything to do with widget->window. (#72914, Andreas J. Guelzow) Wed Feb 27 18:39:25 2002 Owen Taylor * gtk/stock-icons/Makefile.am: Split big VARIABLES variable that was causing overlong lines into 6 variables with 20 in each one. Wed Feb 27 18:01:03 2002 Owen Taylor * gtk/gtkaccellabel.c (gtk_accelerator_name) po/POTFILES.in: Mark Ctrl, Shift, Alt for translation. (#60590) * gtk/gtkfontsel.c: Mark PREVIEW_TEXT for translation. (Vlad Harchev, #53223) Wed Feb 27 17:32:09 2002 Owen Taylor * gtk/gtkrange.c (gtk_range_get_props): if CAN_FOCUS reserve focus_line_width + focus_line_pad extra space and draw the focus in that space. #72027. Wed Feb 27 23:02:55 2002 Soeren Sandmann * gtk/gtkhandlebox.c (gtk_handle_box_realize): minor code cleanup Wed Feb 27 14:58:12 2002 Owen Taylor * gtk/gtkmenubar.c (gtk_menu_bar_size_request/allocate): Don't reserve space for border when the shadow type for the menubar is "none". (#61843) * gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Fix offset for right-justified menu items. Wed Feb 27 14:45:21 2002 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Go back to old style of drawing children over the bevel. (#58615) Wed Feb 27 14:08:26 2002 Owen Taylor * modules/input/imxim.c: Add ko and zh to the locales where this is the default. Wed Feb 27 12:34:21 2002 Owen Taylor * gtk/gtkiconfactory.c: Register all stock icons "unscaled" so that we don't have icons only available at some sizes. (#68896) Wed Feb 27 11:59:05 2002 Owen Taylor Some ASCII vs. locale fixes from Darin Adler (#55837) * gtk/gtkcombo.c (gtk_combo_find): Implement real case-insensitive comparison using g_utf8_casefold(). * gtk/gtkaccellabel.c (gtk_accel_label_refetch): Fix assignment of gunichar to char by replacing g_unichar_totitle with g_ascii_toupper ... the contents would only be ascii here anyways. * gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale) * gtk/gtkfontsel.c (gtk_font_selection_show_available_fonts): Replace a calls to g_strcasecmp() with g_ascii_strcasecmp(). 2002-02-27 Hans Breuer * demos/gtk-demo/makefile.msc.in : new file * gdk-pixbuf/gtk-pixbuf.rc.in : new file to include version resource * gdk-pixbuf/makefile.msc : create and use gdk-pixbuf.res * gdk/win32/gdkkeys-win32.c : handle undefined LANG_URDU, (gdk_keyval_name) : fix endless looping * gtk/gtkfilesel.c : translate_win32_path() static * gtk/queryimmodules : print_escaped(), query_module() static * gtk/makefile.msc.in : added gtkkeyhash, build gtk-win32.res * gtk/stock-icons/makefile.msc : regenerated from directory listing (almost all filenames changed) Wed Feb 27 10:34:46 2002 Owen Taylor * gtk/gtkrange.c (gtk_range_set_range): After computing the clamped value, actually set it. (#62639, Sergey Kuzminov) Tue Feb 26 22:22:37 2002 Owen Taylor * gtk/gtkbox.c (gtk_box_reorder_child): Clean up the code so < 0 == end wasn't just a side effect, remove most of the manual linked list manipulation code in favor of g_list_* functions. Tue Feb 26 21:44:01 2002 Owen Taylor * config.status config.guess: Remove these files from CVS so we more-or-less current versions from automake --add-missing. (Reported by Finlay Dobbie, #60342) * gdk/gdkkeyuni.c: Shouldn't map KP_Enter to '\n', or KP_Tab to \t' since we don't map the corresponding main keyboard characters in that way. (#61561, Padraig O'Briain) Tue Feb 26 19:45:29 2002 Owen Taylor * gtk/gtkcombo.c (gtk_combo_set_popdown_strings): Call gtk_combo_set_popdown_strings() in case the combo is up currently. (#63535, Skip Montaro) Tue Feb 26 19:38:14 2002 Owen Taylor * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Switch control-home/end and home/end with the idea that scrolled windows more typically contain vertical sets of controls and to correspond to the bindings in GtkTreeView. Tue Feb 26 19:32:42 2002 Owen Taylor * gtk/gtk[hv]vscale.c (gtk_[hv]scale_expose): Chain up before drawing the scale values so that the number is drawn in the right place instead of one step back. (#61743, patch from Satyajit Kanungo) Tue Feb 26 19:16:28 2002 Owen Taylor * gdk/win32/gdkkeys-win32.c (gdk_keyval_name): * gdk/x11/gdkkeys-x11.c (gdk_keyval_name): Make sure Page_Up, Page_Down get those names, not Prior, Next. Tue Feb 26 18:58:49 2002 Owen Taylor * gtk/gtkaccelgroup.c (gtk_accelerator_set_default_mod_mask): OR in the three default modifiers to any value passed in by the caller, so that the caller won't break the the default bindings. (#70142, Jody Goldberg, though he wasn't in favor of this particular way of solving it.) Tue Feb 26 18:47:44 2002 Owen Taylor * gtk/gtkwindow.c (gtk_window_add_mnemonic): Append mnemonics rather than prepending them so that the order is typically forward rather than typically backward. (Partial fix for #52395) Wed Feb 27 00:45:39 2002 Soeren Sandmann * gtk/gtkarrow.c, gtk/gtkmenuitem.c, gtk/gtkrange.c gtk/gtkspinbutton.c gtk/gtkstyle.c: Draw arrows better (without extra baseline) Tue Feb 26 18:38:17 2002 Owen Taylor * gtk/gtkaccellabel.c (gtk_accel_label_refetch): Display any "g_unicode_isgraph()" char literally, not just latin1. (#65679) Tue Feb 26 18:01:10 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_grab_focus): Don't focus insensitive widgets. (#68203) * gtk/gtkentry.c (gtk_entry_state_changed): Clear any current selection if we become insensitive. (#68203) * gtk/gtkentry.c (gtk_entry_grab_focus): Don't select the text if the entry isn't editable. (#67203) * gtk/gtkentry.c: Activate keybindings when not editable, but supress keybindings that change the text. (#65848, #68203) * gtk/gtkentry.c (gtk_entry_set_property): Reset the IM context for the entry when it is made not editable. Tue Feb 26 17:04:44 2002 Owen Taylor * gtk/gtkcolorsel.c (update_color): Emit ::color_changed every time we notify current_color. (Brute force fix for #72470, Matthias Clasen). Some fixes to improve reentrancy. Tue Feb 26 15:04:33 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_enter_text): use the cursor position _after_ deleting the text as the position to insert at. (#72717, Jan Mynarik) 2002-02-26 Vitaly Tishkov * gtk/gtktreemodel.c misprints in documentation for gtk_tree_row_reference_inserted() and gtk_tree_path_new () are fixed Tue Feb 26 19:47:16 2002 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): take into account that a path from a rowref can be NULL. (#72623 and #72650) * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_render_or_focus): let focus_rectangle be the same as cell_area for empty cells (#69900) Tue Feb 26 11:51:56 2002 Owen Taylor * gtk/gtkkeyhash.c (_gtk_key_hash_remove_entry): Fix double free. Tue Feb 26 10:38:14 2002 Owen Taylor * gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval): Handle a keyval of 0, by returning an empty list. (#72617, Kevin Breit) 2002-02-26 Richard Hult * gtk/gtktreeview.c (gtk_tree_view_expand_all): Fix #72586. Silently accept empty tree. (gtk_tree_view_collapse_all): Likewise. 2002-02-26 Tor Lillqvist * gtk/gtk.def: A couple of name changes. Mon Feb 25 22:10:47 2002 Owen Taylor * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix double set of bindings for page-up/down. (#72605, Tor Lillqvist) * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers when setting up accelerator to make accelerators look prettier. (#65416, Guillermo S. Romero) 2002-02-26 Tor Lillqvist * gdk/win32/gdkkeys-win32.c: Implement the functions that until now just were non-functional stubs. For "hardware keycodes", we use Windows virtual keycodes. Not scancodes, although that at first might seem more low-level and a better match to X11 keycodes. The Windows API is really mixed up and confused with respect to scancodes and virtual keycodes. (Surprised?) Some scancodes are generated by two keys on the keyboard (!), and although the keyboard messages do have a flag to indicate which key the user pressed, other API that take a scan code as input don't let you specify which actual key you mean. (update_keymap): Function to build a X11-like representation of the keyboard. Each key has four keysyms: two levels (nonshifted and shifted) and two groups (normal and with AltGr). (gdk_keymap_get_direction): Use the codepage corresponding to the thread's input locale, not the system codepage. * gdk/win32/gdkglobals.h * gdk/win32/gdkmain-win32.c * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwindow-win32.h * gdk/win32/gdkwindow-win32.c: Remove the input_locale and charset_info fields from GdkWindowImplWin32. Input locale is per-thread in Windows, and as GDK on Windows really only works when the GDI interaction all happens in just one thread anyway, this state can be global. Use globals _gdk_input_locale and _gdk_input_codepage instead. Set these based on the thread's input locale (keyboard layout, or which IME is active). * gdk/win32/gdkevents-win32.c: Set the group and hardware_keycode fields in GDK key events. On input locale change messages, set the global state variables, and inform update_keymap() that it has to rebuild the keymap. 2002-02-25 Matthias Clasen * docs/tutorial/gtk-tut.sgml: Fix typos in pkg-config invokations. (#72476) Mon Feb 25 18:59:27 2002 Owen Taylor * gtk/gtktooltips.c (start_keyboard_mode): Set the keyboard-mode flag before popping up the tooltip so that pop it up in the right place. (#71917, Narayani Pattipati) Mon Feb 25 22:11:34 2002 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_visible): call _gtk_tree_view_column_cell_set_dirty when visible, so this column gets some space allocated. (#70996) * gtk/gtkliststore.c (gtk_list_store_get_path): add simple optimization for the tail case (gtk_list_store_real_set_value): remove unneeded _get_path calls Mon Feb 25 12:47:25 2002 Owen Taylor * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Fix precendence problem. (Sven Neumann) Sun Feb 24 23:23:28 2002 Owen Taylor * tests/testselection.c (main): Convert over to using an GtkInvisible - selections don't work properly with now NO_WINDOW GtkToggleButton. (Example really should be using GtkClipboard.) * gdk/x11/gdkselection-x11.c (gdk_selection_property_get): Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely) * gdk/x11/gdkproperty-x11.c (gdk_property_get): Set actual_length when converting atoms as well. (Gregory Merchan, #72074) 2002-02-24 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_value_changed): add dx/dy to child allocation, don't subtract them. Also, copy code from CList to recursively adjust the child allocation, instead of just adjusting immediate children. #69115 2002-02-24 Havoc Pennington * gtk/gtkstyle.c (_gtk_draw_insertion_cursor): change to pass in the cursor direction always, not just when we need an arrow, so we can flip the cursor around its axis for RTL. Resolves #72372 * gtk/gtkentry.c (gtk_entry_draw_cursor): update for draw_insertion_cursor change * gtk/gtklabel.c (gtk_label_draw_cursor): ditto * gtk/gtktextdisplay.c (gtk_text_layout_draw): ditto 2002-02-24 Alexander Larsson * gdk/x11/gdkwindow-x11.c (gdk_window_set_background): Always NULL out bg_pixmap, even when it used to be None or parent relative. 2002-02-24 Havoc Pennington * gtk/gtktextbuffer.c (parent_class): parent_class variable was GtkObjectClass instead of GObjectClass * gtk/gtktextview.c (widget_to_buffer): fix this the way buffer_to_widget was fixed, to avoid duplicating the code that computes text_window->allocation.x/y Sun Feb 24 21:18:20 2002 Owen Taylor * gtk/gtksocket.c (gtk_socket_end_embedding): Fix off-by-one error. (Pointed out by Anders Carlsson) 2002-02-25 Matthias Clasen * docs/tutorial/gtk-tut.sgml, docs/tutorial/images/*, examples/*: More GTK+ 2.0 updates. * docs/tutorial/Makefile.am: build and dist the new tutorial, not the old Linuxdoc one. Mon Feb 25 01:14:26 2002 Kristian Rietveld * gtk/gtktextlayout.c (find_display_line_above): free iter before going to done * gtk/gtktreeview.c (validate_visible_area): free above_path, (set_destination_row): free path before returning, (gtk_tree_view_set_drag_dest_row): free current_dest Sun Feb 24 14:15:45 2002 Owen Taylor * gtk/gtktextview.c (widget_to_buffer): Take border width into account. * gtk/gtklabel.c (get_label_wrap_width): Don't use GdkFont to compute wrap width ... GdkFont will pull in X11 core fonts. Sun Feb 24 00:06:58 2002 Owen Taylor * Released 1.3.15. * configure.in: Version 1.3.15, binary, interface age 0. * NEWS: Updates * configure.in: Update version requirements. Sat Feb 23 22:37:23 2002 Owen Taylor * gtk/gtkstyle.c (gtk_style_init): Sanity check default font family name and size. * gtk/gtkwindow.c (gtk_window_set_default_size): Remove incorrect comment about the geometry widget. * gtk/gtkwindow.c (gtk_window_move_resize): Unset the gtk_window_resize)() information once we've set the size once, to avoid it coming back next time we queue a resize. (#72359) * gtk/gtkwindow.c (gtk_window_move_resize): Remove sething of ->need_default_position from here, Havoc says that it should correspond more or less exactly to GTK_WIDGET_MAPPED (window). Sat Feb 23 23:00:48 2002 Jonathan Blandford * gtk/gtktreemodel.h: add () to function macros as per owen's request. * gtk/gtkfontsel.c: (gtk_font_selection_select_best_style), (gtk_font_selection_show_available_sizes), (gtk_font_selection_set_font_name): * gtk/gtktreemodel.c: (gtk_tree_model_get_iter_first), (gtk_tree_model_foreach): * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_sort_level), (gtk_tree_model_sort_build_level): * gtk/gtktreeselection.c: (gtk_tree_selection_selected_foreach): * gtk/gtktreeview.c: (validate_visible_area), (gtk_tree_view_focus_to_cursor), (gtk_tree_view_set_model), (gtk_tree_view_map_expanded_rows), (gtk_tree_view_search_move), (gtk_tree_view_search_init): * tests/testtreeview.c: (run_automated_tests): change iter_root to iter_first Sat Feb 23 22:10:52 2002 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_path_new_first): change new_root to new_first to avoid confusion. (gtk_tree_model_get_iter_first): ditto. Sat Feb 23 20:59:05 2002 Owen Taylor * gtk/gtkstyle.c gtk/gtkrc.[ch]: gtk/gtksettings.c gtk/gtkstyle.c: Patch from Richard Hestilow to add a gtk-font-name GtkSetting. * gdk/x11/gdkevents-x11.c: Add Gtk/FontName XSETTING. 2002-02-24 Tor Lillqvist * gtk/gtkfilesel.c: Move inclusion of before inclusion of , to actually get STRICT prototypes for Win32 API. Include glib.h early to get G_OS_WIN32 and G_WITH_CYGWIN. Don't declare static functions that aren't defined if !HAVE_PWD_H or if G_OS_WIN32. (win32_gtk_add_drives_to_dir_list): Remove #if 0 code, reindent. (gtk_file_selection_get_selections): Don't crash if nothing has been selected. Sat Feb 23 20:33:29 2002 Owen Taylor * gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/xembed.h: Implement accelerator propagation using a custom XEMBED_GTK_KEY_GRAB XEMBED_GTK_KEY_UNGRAB pair of messages. * gtk/gtkwindow.[ch]: private export _gtk_window_keys_foreach(). * gtk/gtkplug.c (gtk_plug_set_is_child): Clear focus and default widgets. 2002-02-23 Havoc Pennington * gtk/gtktextbuffer.c (save_range): change gravity of start/end marks so that text added at either end of the range doesn't end up inside the range. (gtk_text_buffer_real_insert_range): fix to handle pasting a range into itself. #71412 Sat Feb 23 19:05:34 2002 Jonathan Blandford * gtk/gtktreeview.c (validate_visible_area): Didn't refind node when it was NULL. Bug found by Tor Lillqvist. 2002-02-24 Tor Lillqvist * gdk/win32/gdkevents-win32.c (build_keypress_event, build_keyrelease_event, gdk_event_translate): Set also group in the key press/release events, always to zero for now. 2002-02-24 Anders Carlsson * gtk/stock-icons/stock_dialog_error_48.png: * gtk/stock-icons/stock_sort_ascending_16.png: * gtk/stock-icons/stock_undelete_24.png: * gtk/stock-icons/stock_sort_descending_16.png: Alpha-pad icons so they get the correct size. Sat Feb 23 16:52:38 2002 Owen Taylor * gtk/gtkentry.c: Patch from Matthias Clasen to remove some excessive ::changed signals for GtkEntry. (#53130) 2002-02-23 Tor Lillqvist * gtk-zip.sh.in: Include the gtkrc files for themes. 2002-02-23 Anders Carlsson * gtk/gtkiconfactory.c (get_default_icons): Register 16x16 versions of most icons. * gtk/stock-icons: Add 16x16 versions of most icons. Wed Feb 20 16:44:05 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): delay scrolling until we try to draw the window. * gtk/gtktreeview.c (validate_visible_area): Implement scroll_to_cell. 2002-02-23 Tor Lillqvist * gtk/gtk.def: Add missing gtk_file_selection_get_select_multiple. Remove gtk_tree_view_column_cell_* entry points that were made private. Sat Feb 23 15:43:46 2002 Owen Taylor * gtk/gtktogglebutton.c: Make button draw depressed whenever the user clicks / activates it, whether it's off/on/inconsistent. Sat Feb 23 11:54:12 2002 Owen Taylor * gtk/*.h gdk/*.h: Massive padding addition to class structures. * gtk/gtktextmark.h: Fix a FIXME about G_CONST_RETURN. Fri Feb 22 20:28:18 2002 Owen Taylor * gtk/gtkrange.c: Applied patch from Thomas Leonard to make stepper click to scroll take effect immediately, rather than after a delay (#67649). * gtk/gtkrange.c: Remove right-click == step in trough since it isn't a useful binding and it's a large area to hit accidentally. (Leave it on the steppers since its more useful there and less likely to do accidentally.) 2002-02-23 Pablo Saratxaga * configure.in (ALL_LINGUAS): Add "cy" to the language list. 2002-02-23 Jody Goldberg * gtk/gtkaccelgroup.c (gtk_accel_group_connect) : lower case the key_val. (gtk_accel_group_connect_by_path) : ditto. (gtk_accel_group_disconnect_key) : ditto. * gtk/gtkwidget.c (gtk_widget_real_key_release_event) : simplify. (gtk_widget_real_key_press_event) : ditto. Sat Feb 23 00:28:47 2002 Jonathan Blandford * gtk/gtktreeviecolumn.c: Documented undocumented functions. * gtk/gtktreemodel.c: Documented undocumented functions. Sat Feb 23 03:10:20 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_key_press): honor min_width and max_width while resizing columns (pointed out by Jorn Baayen) Fri Feb 22 19:17:46 2002 Owen Taylor Patch from Matthias Clasen (#54488) * gtk/gtkwindow.c: Set/unset HAS_FOCUS flags here, and do ::has-focus notifications. * gtk/gtkclist.c gtk/gtkentry.c gtk/gtksocket.c gtk/gtktext.c gtk/gtktextview.c gtk/gtkwidget.c: Remove unecessary focus_in/out handles and unecessary flag setting. * gtk/gtkwidget.c: Adda missing notification on ::parent. Fri Feb 22 18:36:45 2002 Owen Taylor Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann, #72182. * demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h: Squash trailing commas on enumerations. * gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead of 1 << 31 to work around AIX compiler problem. (C standard seems to imply that compiler is required to use an unsigned type for the enum value in this case.) * gdk/gdkpixbuf-drawable.c: Fix lvalue casts. * gtk/gtkwindow.h: Fix use of enum types for bitfields ... compilers may choose to use a signed type for bitfields. Sat Feb 23 00:34:01 2002 Kristian Rietveld * gtk/gtktreeview.c (validate_rows_handler): leave threads before returning (#72045) 2002-02-22 Anders Carlsson * gtk/stock-icons/*: Rename icons. * gtk/stock-icons/Makefile.am: Update for new icon names. * gtk/gtkiconfactory.c (init_icon_sizes): Set the GTK_ICON_SIZE_BUTTON size to be 20x20. (get_default_icons): Change stock names. Fri Feb 22 22:39:59 2002 Kristian Rietveld * gtk/gtktreeprivate.h: add last_single_clicked and last_single_clicked_2 rowrefs and add disable_popdown to the bitfield * gtk/gtktreeview.c (gtk_tree_view_destroy): add destroy stuff for two new rowrefs (gtk_tree_view_button_press): add some 'advanced' button handling, so double click is being handled right (double click madness was discovered by Anders Carlsson) * gtk/gtktreeview.c (gtk_tree_view_set_property): add missing break (gtk_tree_view_class_init): default value of headers_visible should be TRUE (both pointed out by Damon Chaplin, #71986) * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): connect to populate_popup, (gtk_tree_view_search_disable_popdown): new function, (gtk_tree_view_real_search_enable_popdown): ditto, (gtk_tree_view_search_enable_popdown): ditto, (gtk_tree_view_search_dialog_destroy): check for gtk-tree-view-popdown-disabled (#71868) * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): move ->priv->reorderable assignment to bottom. (#72122) 2002-02-22 Havoc Pennington * gtk/gtkstyle.c (_gtk_draw_insertion_cursor): subtract 1 from line endpoint, to avoid cursor dirt in the text widget. zero-width lines appear to draw the endpoint always. #67999 2002-02-22 Havoc Pennington * gtk/gtktextview.c (buffer_to_widget): implement more cleanly by using text_window->allocation.x/y instead of recomputing it. Fixes a bug caused by leaving out the border width here. 2002-02-22 Havoc Pennington * gtk/gtktextview.c (changed_handler): call gtk_size_group_queue_resize to avoid invalidating the widget every time its requisition changes. Instead we use the btree invalid lines to know what to redraw. Fixes #71429 Fri Feb 22 14:08:38 2002 Soeren Sandmann * gtk/gtkradiobutton.c, gtk/gtkcheckbutton.c, gtkbutton.h, gtktogglebutton.c: feedback when check and radio buttons are depressed. 2002-02-22 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): s/columns/rows/ in docs. (#70199) * gtk/gtktreestore.c (gtk_tree_store_insert): s/before/after/ in docs. (#71852, #68405) * gtk/gtkcalendar.c (gtk_calendar_select_day): Correct a comment. Thu Feb 21 23:02:29 2002 Kristian Rietveld * gtk/gtktreeview.[ch]: add keynav handling for unselect all, focus column header, change focus with arrow keys in column headers, column reordering, column resizing, small try to fix page up/down (this fixes #70889, and fixes a great deal of #53580) Thu Feb 21 16:51:17 2002 Owen Taylor * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add GDK_ISO_Next_Group/Prev_Group/Level3_Shift/ First_Group/Last_Group to list of invalid accelerators. (A lot more that should be added, but probably would want a range mechanism. These are the ones found in the standard XFree86 config files.) * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem that broke bindings for menus. * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key() privately. * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use _gtk_window_activate_key(), gtk_bindings_activate_event(). Thu Feb 21 12:24:22 2002 Owen Taylor * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds for +/= and shift key handling. Wed Feb 20 14:26:47 2002 Owen Taylor * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups; allow matches on key and level but not group. Also, implement ignoring "consumed modifiers correctly." * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using GtkKeyHash. * gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in the group for key release events as well as key press events. * gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Rename unused_modifiers to consumed_modifiers, make the docs and non-Xkb implementation match the Xkb implementation. * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate doc and parameter name changes. * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): XkbTranslateKeyCode doesn't handle LockMask, we need to handle it ourselves. * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force Tab to give GDK_ISO_Left_Tab, since we need consistency to allow dealing with ISO_Left_Tab. * gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c gtk/gtkpaned.c gtk/gtkcombo.c gtk/gtknotebook.c: Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab or Tab both are equivalent as a binding specifier.) * gtk/gtkbutton.c (gtk_button_class_init): Make ::activate GTK_RUN_ACTION, so you can bind an accelerator to it. * gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call gdk_unicode_to_keyval on the mnemonic character. * tests/testgtk.c: Add a test for the new fuzzy key binding matching. 2002-02-21 jacob berkman * gtk/theme-bits/Makefile.am (EXTRA_DIST): inconsitent files are .pngs too Wed Feb 20 21:52:13 2002 Owen Taylor * gtk/gtkselection.c (gtk_selection_request): Set the property as type ATOM_PAIR, not ATOM. (#72074, Gregory Merchan.) * gdk/x11/gdk{property,selecton}-x11.c: Auto-convert properties of type ATOM_PAIR as well as properties of type ATOM. 2002-02-21 Matthias Clasen * docs/tutorial/images/*.png: screenshots of examples. * docs/tutorial/gtk-tut.sgml: remove deprecated widgets, add screenshots, fix chapters 1-4 for GTK+ 2.0. * demos/gtk-demo/Makefile.am (INCLUDES): add -DGDK_PIXBUF_DISABLE_DEPRECATED. Thu Feb 21 00:31:41 2002 Soeren Sandmann * gtk/gtkspinbutton.c: Many cleanups and fixes. Draw exclusively in expose handler. Feedback when buttons are depressed. * gtk/gtkstyle.c: update for changes in gtkspinbutton.c. Fix spinbuttons for RTL langauges. Wed Feb 20 23:00:08 2002 Soeren Sandmann * gtk/gtkstyle.c: new radio buttons. handle inconsistent state for check- and radiobuttons. * gtk/theme-bits/check-13-inconsistent.png, gtk/theme-bits/radio-13-inconsistent.png: new files * gtk/theme-bits/radio-13.png: new radio buttons * gtk/theme-bits/Makefile.am (EXTRA_DIST): add new -inconsistent.png files Wed Feb 20 16:19:49 2002 Owen Taylor * gdk/x11/gdkevents-x11.c: Add a XSETTING mapping for gtk-can-change-accels. (#70218, Thomas Leonard.) 2002-02-20 Sven Neumann * gtk/gtkcolorsel.c (gtk_color_selection_finalize): check handler_id before disconnecting the signal handler since it might have never been connected if the GtkColorSelection is destroyed before it was realized. 2002-02-20 Matthias Clasen * docs/tutorial/gtk-tut.sgml: Fold back Svens g_signal fixes from the examples. * docs/tutorial/gtk-tut.sgml, examples/progressbar/progressbar.c, examples/progressbar/Makefile: Make the progressbar example deprecation-clean. Tue Feb 19 22:10:59 2002 Kristian Rietveld * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_mnemonic_activate): new function (gtk_tree_view_column_create_button): use g_signal_* instead of gtk_signal_*, hook up _mnemonic_activate callback (gtk_tree_view_column_update_button): use gtk_label_set_text_width_mnemonic instead of gtk_label_set_text (#69095) * gtk/gtktreeview.c (gtk_tree_view_class_init): remove key bindings for C-f and C-b, let treeview search use C-f (instead of C-s) (#61866) * gtk/gtkrc.key.emacs: add some GtkTreeView bindings Tue Feb 19 20:56:32 2002 Soeren Sandmann * gtk/theme-bits/decompose-bits.c (do_part): fix bug (skipping all black pixels). 2002-02-19 Sven Neumann * examples/*/*.c: finish conversion to g_signal_* functions by using G_OBJECT and G_CALLBACK and other assorted changes. Tue Feb 19 17:36:31 2002 Kristian Rietveld * gtktreeprivate.h, gtktreeviewcolumn.[ch], gtktreeview.c: change gtk_tree_view_column_cell_render, gtk_tree_view_column_cell_focus, gtk_tree_view_column_cell_draw_focus and gtk_tree_view_column_cell_set_dirty to be private functions. * gtktreeviewcolumn.[ch]: add install_handler argument to _cell_set_dirty to control if _mark_rows_col_dirty (which calls install_presize_handler) gets called, set widths correctly so autosizing works (#71870) * gtktreeview.c (gtk_tree_view_column_autosize): new function, (gtk_tree_view_button_press): make double click on column separator resize the row (#71870) (gtk_tree_view_get_dest_row_at_pos): change DnD threshold to 33% (#71869, suggestion by Anders Carlsson) Mon Feb 18 23:16:16 2002 Owen Taylor * gtk/gtkmain.[ch]: Add routines _gtk_find_module(), _gtk_get_module_path() to look up a module of an arbitrary type in a standard fashion. (#68474) * gtk/gtkrc.c: Make module_path keyword warn and do nothing. Remove the im_module_path keyword. * gtk/gtkrc.c (gtk_rc_get_im_module_path): Fix to return the standard path instead of one determined from im_module_path and GTK_IM_MODULE_PATH. * gtk+-2.0.pc.in: Add gtk_host to go along with gtk_binary_version. 2002-02-19 Matthias Clasen * docs/tutorial/gtk-tut.sgml, docs/examples/*: Trivial formatting fixes to all examples, simple functional fixes to rangewidgets example. Mon Feb 18 18:27:45 2002 Owen Taylor * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Select the right item in the family list. (Reported by Mark Patton, Patch from Satajyit Kanungo, #64240) * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Update the size and face entry lists as well, fix memory leak. (Also #64240) * gtk/gtkfontsel.c (gtk_font_selection_show_available_sizes): Allow fractional sizes, unselect the selected row if none matches. * gtk/gtkscrolledwindow.c (gtk_scrolled_window_focus): Fix a bug where the scrolled window would always get focus when focusing out of the child. 2002-02-18 Hans Breuer * gdk/win32/gdkevents-win32.c : process WM_PAINT messages for bg_pixmap == GDK_NO_BG, fixes The GIMP's canvas rendering glitches on win32 * gdk/win32/gdkinput-win32.c : use g_object_new to create GdkDevice instead of g_new * gtk/gtkpaned.c : make LAST_SIGNAL the last in enum. This avoids to smash totally unrelated static data and resulting random crashes. (as reported on gtk-devel-list, 2002-02-10 : testgtk crashes) * gtk/gtk.def : add new file selection entry points Mon Feb 18 17:34:43 2002 Owen Taylor * gtk/gtkentry.c gtk/gtktextview.c: Remove support for the poorly defined text/plain type for now. (#55117) Mon Feb 18 16:44:00 2002 Owen Taylor * docs/widget_system.txt: Add some docs for GTK_NEED_REQUEST GTK_NEED_ALLOCATION. * gtk/gtkmenu.c (gtk_menu_popup): Scroll the menu to the right place before showing the menu to avoid spurious enter events. * gtk/gtkmenu.c (gtk_menu_realize): Only scroll if there is an active menu item. * gtk/gtkwidget.c (gtk_widget_init): Set RESIZE_NEEDED ALLOC_NEEDED initially. 2002-02-18 Matthias Clasen * NEWS: fix version number. 2002-02-18 Manish Singh * Makefile.am: don't comment out the lines to dist the packer example, just simply remove it. (the continuation line confused make even though it was in the comment, barf) Mon Feb 18 14:40:22 2002 Owen Taylor * gtk/gtkcombo.c (gtk_combo_popdown_list): Fix problems with stuck grab (#60132, reported by Nicolas Setton) and stuck prelighting. Combine duplicated code in three places for popping down the list. Mon Feb 18 14:17:59 2002 Owen Taylor * gtk/gtkclist.c (adjust_adjustments) * gtk/gtklayout.c (gtk_layout_size_allocate) * gtk/gtktextview.c (gtk_text_view_size_allocate) * gtk/gtktreeview.c (gtk_tree_view_size_allocate) * gtk/gtkviewport.c (gtk_viewport_size_allocate): Standardize on a page increment of page minus 1 line rather than half a page (#51027, Eric Fischer) * gtk/gtkviewport.c (gtk_viewport_size_allocate): Change step increment to be 0.1 * page_size height rather than a fixed 10 pixels. Mon Feb 18 12:31:52 2002 Owen Taylor * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Don't commit unless we got at least one hex digit. (#70619) Sun Feb 17 21:30:49 2002 Owen Taylor * Released 1.3.14 * configure.in: Version 1.3.14, interface, binary age 0. * gdk/gdkregion-generic.c (miSubtractO): Fix out-of-bounds read. (#71619, reported by Morten Welinder) * gtk/gtkmenu.c (gtk_menu_class_init): Fix setting default. * gtk/gtkfilesel.c (gtk_file_selection_class_init): Add a select_multiple property to go along with thenew get/set_select_multiple. * gdk/gdkwindow.c: Patch from Soeren Sandmann to improve update debugging code. (#71703) 2002-02-17 Tor Lillqvist * gdk/win32/gdkcolor-win32.c (free_colors): Don't set the PC_EXPLICIT flag for unused palette entries, that might have undesired side effects. Just set them to black. Black is always present in a palette, so having superfluous black entries won't cause any extra allocations from the system palette either when realized. * gdk/win32/gdkevents-win32.c (gdk_event_translate:WM_QUERYNEWPALETTE): Don't do anything if the system visual is static color, i.e. the user has told GDK to use just the 16 static colors. In that case no need to redraw anything, as the colors are static and by definition always correctly mapped in the system palette. (WM_PALETTECHANGED): Ditto, no need to call UpdateColors() either. * gtk/gtk.def: Add new gtkfilesel entry points. 2002-02-17 Matthias Clasen * docs/tutorial/gtk-tut.sgml, examples/paned/paned.c, examples/paned/Makefile: Make the paned example deprecation-clean. 2002-02-17 jacob berkman * Makefile.am: remove the packer example files as they don't exist in CVS. 2002-02-16 Manish Singh * tests/testgtk.c: hm, check buttons look better for below. 2002-02-16 Manish Singh * tests/testgtk.c: redid the filesel test. Added a way to set select multiple as a toggle button, and made show/hide fileops toggle buttons as well. get_selections() is called on OK and all the filenames selected are printed. 2002-02-17 Tor Lillqvist * README.win32: Remove comment about the gtk-1-3-win32-production branch having more functionality. * gdk/win32/*.c: Massive changes. Too many to list here, but I'll try a summary: 1) Unify GdkPixmap and GdkImage implementation: For each GdkPixmap, allocate a GdkImage, and vice versa. GdkPixmapImplWin32Data has a pointer to the GdkImage. GdkImage::windowing_data is a pointer to the GdkPixmap. This simplifies many pixmap and image related functions a lot, and reduces duplicated code. For instance, there is only one place in gdk/win32 where CreateDIBSection() is called, in the function _gdk_win32_new_pixmap(). Converting a bitmap (GdkPixmap) to a Windows region is almost trivial, with the bitmap bits being readily accessible in the associated GdkImage. All blitting between GdkPixmaps, GdkWindows and GdkImages goes through handled the _gdk_win32_blit() function, which calls different functions to handle the cases of blitting from pixmaps, inside windows (scrolling), or from windows, which all require somewhat different handling. 2) Support 256-color mode. This has long been very broken, now it works more or less OK. Keep the logical palette for each colormap as small as possible while allocating and freeing colors. Select and realize the logical palette associated with a GdkColormap into a DC before drawing or blitting. When the display is in 256-color mode, make it possible for the user to override the size of the palette(s) used with either the GDK_WIN32_MAX_COLORS environment variable, or a -max-colors command line option. It is possible to reduce the palette size all the way down to using just the 16 static colors (which causes the system visual to be of type GDK_VISUAL_STATIC_COLOR. This could possibly be useful if one desperately wants to avoid color flashing. (Note that in order for this to work properly, an as of yet not commited fix to gdkrgb.c is needed.) Handle the palette messages. On WM_PALETTECHANGED, call UpdateColors() for the given window hierarchy. Do this only if a window in some other top-level window hierarchy caused the palette change (realized a palette). Do this max five times in a row (an arbitrarily chosen limit), though, otherwise redraw by generating expose events. On WM_QUERYNEWPALETTE, cause a redraw of the whole window hierarchy by generating GDK_EXPOSE events. 3) Code cleanup in general. For instance, remove the "emulated" X11 structs ColormapStruct, Visual and XStandardColormap. Use the new GDK_DEBUG_* flags for debugging output in the relevant source files. Remove the unused colormap hash table in gdkcolor-win32.c 4) Plug some resource leaks. 2002-02-14 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use g_filename_to_uri() to actually create legal URIs in the text/uri-list data. 2002-02-16 Manish Singh * gtk/gtkfilesel.[ch]: Added multiple selection API 2002-02-16 Manish Singh * gdk/linux-fb/miarc.c: use fabs() on a double instead of abs() 2002-02-17 Matthias Clasen More work on #71430. * examples/*/Makefile (CFLAGS): add deprecation guards. * docs/tutorial/gtk-tut.sgml, examples/*/*.c: make most examples deprecation-clean; the major offenders right now are the examples that make heavy use of completely deprecated or broken widgets: list, tree, text, pixmap, paned and progressbar. These will have to be redone from scratch. Sun Feb 17 00:13:06 2002 Kristian Rietveld This commit lands the 'dy patch'. * gtk/gtktreeview.c (validate_rows_handler): update top_row or dy, (gtk_tree_view_top_row_to_dy): new function, (gtk_tree_view_row_changed): update top_row or dy, (gtk_tree_view_rows_reordered): update top_row 2002-02-16 Matthias Clasen * demos/Makefile.am (INCLUDES): add -DGDK_PIXBUF_DISABLE_DEPRECATED. 2002-02-16 Matthias Clasen * examples/extract.awk: rearrange rules to not emit the example start and end markers. * docs/tutorial/gtk-tut.sgml: turn the start and end markers into SGML comments, so they don't clutter the formatted tutorial. 2002-02-16 Havoc Pennington * gtk/gtkwindow.c (gtk_window_parse_geometry): take GDK_HINT_RESIZE_INC into account, and handle negative coordinates correctly. (Can't email Owen - hope this is OK.) Fri Feb 15 20:09:45 2002 Owen Taylor * gtk/gtkscrolledwindow.[ch] gtk/gtkmarshallers.list: Add key bindings on GtkScrolledWindow for arrow keys, PageUp/PageDown Home/End to scroll the window. Bind Control-[Shift]-Tab to focus out of the scrolled window entirely. Allow the scrolled window to be focused if no child can be focused. (#63480) * gtk/gtkwidget.c (gtk_widget_hide): Remove the REALIZED() check - if we have visible but not mapped widgets (inside a unshown notebook tab, for instance), we need to track their size. (#65087, reported by Damon Chaplin.) * gtk/gtkcolorsel.c (palette_change_color): Shut up a warning. 2002-02-16 Tor Lillqvist * gdk/win32/rc/Makefile.am (gdk-win32res.lo): Depend on gtk.ico. * gdk/win32/rc/gtk.ico: Use the real GTK logo. Thanks to Jernej Simoncic for providing the nice multi-resolution .ico file. 2002-02-15 Alexey Malyshev * gtk/tmpl/gtkimage.sgml removed wrong sentence from gtk_image_new() docs Fri Feb 15 19:38:00 2002 Kristian Rietveld * gtk/gtktreestore.c (gtk_tree_store_clear_traverse): new function (gtk_tree_store_clear): traverse the tree, so we emit row_deleted for every node. This way we don't have confused row refs crashing the application. (#70631) 2002-02-14 Richard Hult * gtk/gtkpaned.c (gtk_paned_enter): Only queue a draw on the handle, not the whole widget. #71530. (gtk_paned_leave): Likewise. 2002-02-14 Jody Goldberg * gtk/gtkrange.c (gtk_range_class_init) : add new signal 'adjust_bounds' to potentialy change the bounds before assigning the new value and camping it to the existing bounds. (gtk_range_internal_set_value) : used here. #68800. * gtk/gtkmarshalers.list : add VOID:DOUBLE Thu Feb 14 21:08:49 2002 Owen Taylor * gdk/gdkglobals.c: Remove GDKVAR from C file, see if anyone complains. (#71317, Morten Welinder.) 2002-02-14 Matthias Clasen The following changes are the beginning of the work on #71430. * examples/extract.sh, examples/extract.awk: Make extraction work. * examples/Makefile (SUBDIRS): Remove packer. * examples/packer/pack.c, examples/packer/Makefile: Removed. * docs/tutorial/gtk-tut.sgml: Fix the included examples far enough to make them compile and (mostly) work, remove the packer example. Thu Feb 14 16:46:48 2002 Owen Taylor * gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill Haneman and Padraig O'Briain to add cursor_aspect_ratio style property to GtkWidget to allow theming the aspect ratio of the cursor. * gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property to GtkWidget. Thu Feb 14 11:13:22 2002 Owen Taylor * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_surrounding): Fix bug where we called get_surrounding on the context,. not the slave. Thu Feb 14 00:10:09 2002 Owen Taylor * gtk/gtktooltips.c (gtk_tooltips_event_handler): Only pop the tooltip down on a select set of events, not on any unknown event. (#71157, Jody Goldberg) * gtk/gtktooltips.c (gtk_tooltips_event_handler): Fix some warnings. Thu Feb 14 00:02:21 2002 Owen Taylor * gtk/gtkcalendar.c (gtk_calendar_size_request): A bunch of small allocation/drawing fixes. * gtk/gtkcalendar.c: Replace DAY_XPAD, DAY_YPAD with GtkWidget::focus-padding Wed Feb 13 23:01:20 2002 Owen Taylor * gtk/gtkcalendar.c: Patch from Bill Haneman to draw to focus using gtk_paint_focus() with the focus width GtkWidget::focus-width. (#63075) * gtk/gtkcalendar.c (gtk_calendar_size_request): Initialize label_char_ascent/descent to 0. (#56925, reported by (Jean-Noel Guiheneuf) 2002-02-13 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_flush_scroll): validate a larger area, proportional to widget size, to fix #71427 reported by Dennis Bjorklund 2002-02-13 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush all the first validate stuff if it hasn't been done, presumably someone called process_updates at a weird time. * tests/testtext.c (do_apply_colors): terminate on >= end, not > end, avoids infinite loop when end is at the end of the buffer. * gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a line data, we were adding it to the wrong line ("line" instead of "start_line") 2002-02-13 Joe Shaw * gtk/gtktreeitem.c (gtk_tree_item_expose): Don't chain up to the container's expose event. Instead call gtk_tree_item_expose_child() on each child. Avoids a failed g_assert() in gtk_container_propagate_expose(). (gtk_tree_item_expose_child): Added. Synthesize an expose event for our children. Basically gtk_container_propagate_expose() minus the g_assert(). (#71396) 2002-02-13 Tor Lillqvist * gdk/gdkinternals.h: Add some more GdkDebugFlags, for more fine-grained debugging output (mainly used in the Win32 backend). * gdk/gdk.c: Corresponding additions to the gdk_debug_keys table. Wed Feb 13 15:42:42 2002 Owen Taylor * gtk/gtktooltips.[ch] gtkwidget.c: Implement Control-F1 as toggle-tooltips-mode. * gtk/gtktooltips.c: Remove parsing of tooltips style string from here ... now in gtkrc.c. Wed Feb 13 12:41:44 2002 Owen Taylor * gtk/gtkmain.c (gtk_init_check): g_warning() if setting the local fails, like gdk_set_locale() did. * gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list): Don't free local_list if local_count == 0. (#71241, reported by Kevin Vandersloot.) * gdk/x11/gdkselection-x11.c (gdk_text_property_to_text_list): Clean up list == NULL handling and failure. Wed Feb 13 11:27:31 2002 Owen Taylor * tests/testtreeview.c (typesystem_recurse): Cast GType to long and use %ld to fix warning. (#71318, Morten Welinder) Wed Feb 13 13:26:39 2002 Tim Janik * gtk/gtkmenu.c: fix figuring accel path and changing behaviour. Wed Feb 13 06:42:37 2002 Tim Janik * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert my recent expanding change to not expand the table if all children have not epxand behaviour. this fixes palette views which often use homogeneous non-expanding tables. Tue Feb 12 14:27:41 2002 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit row_deleted before we start unreffing the nodes ourselves (gtk_tree_model_sort_increment_stamp): always increment the stamp, and not only if the stamp equals 0 (pointed out by Darin Adler) * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): we want to continue the while loop and not the nested for loop. Tue Feb 12 02:19:49 2002 Tim Janik * gtk/gtktable.c (gtk_table_size_allocate_pass1): always spread out the extra space allocated for the homogeneous case, as we don't properly deal with readjusting table allocation within it. (for this purpose, a GtkAlignment can be used as table parent). 2002-02-11 Darin Adler * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_row_changed): Consider reordering the row even when there's no sort column, if there's a default sort function. (gtk_tree_model_sort_rows_reordered): Use symbolic constants. (gtk_tree_model_sort_level_find_insert): Add code to handle the case where there is no sort column, but a default sort function. (gtk_tree_model_sort_insert_value): Add code to handle the case where there is no sort column an no default sort function. (gtk_tree_model_sort_set_model): Use symbolic constant. (gtk_tree_model_sort_reset_default_sort_func): Use symbolic constant. 2002-02-11 Sven Neumann * gtk/gtkfilesel.c: converted the "Delete File" dialog to GtkMessageDialog. Marked missing strings for translation. Mon Feb 11 22:03:15 2002 Soeren Sandmann * gtk/gtkpaned.[ch]: Opaque resizing + prelighting for paned widget. * gtk/gtkvpaned.c, gtk/gtkhpaned.c: move reszing logic to gtkpaned.c Mon Feb 11 21:42:17 2002 Kristian Rietveld Implements DnD scrolling and fixes #71139 * gtk/gtktreeview.c (gtk_tree_view_vertical_autoscroll): new function, (scroll_row_timeout): new function, (gtk_tree_view_drag_motion): create scroll_timeout, so scroll_row_timeout gets called Mon Feb 11 17:54:46 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper member of hadjustment correct, so the hscrollbars of lists smaller than 1 page (in width) are somewhat saner 2002-02-11 jacob berkman * gdk/gdkwindow.h (gdk_get_default_root_window): fix signature to match implementation Mon Feb 11 16:48:34 2002 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_set_valist): set value of func to NULL during initialization (we don't use func in the !SORTED case, so we just silent the compiler here) (#71029) Mon Feb 11 16:40:44 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_set_model): install presize handler, so the validate_rows_handler will always be run (#70997) Sun Feb 10 22:20:46 2002 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): increase value of new_location by one if cmp_a > 0 and we hit the end of the list and pass NULL instead of a 'NULL-iter' with _rows_reordered (#71060) Sun Feb 10 12:32:44 2002 Owen Taylor * modules/input/Makefile.am modules/input/{imam-et.c, imti-er.c, imti-et.c} po/POTFILES.in: Add three Ethiopic input methods from Daniel Yacob. 2002-02-10 Anders Carlsson * gtk/gtkcalendar.c (gtk_calendar_class_init): Set finalize handler; (gtk_calendar_finalize): Rename gtk_calendar_destroy to gtk_calendar_finalize since ::destroy can be called multiple times, resulting in double-freeing memory. 2002-02-10 Hans Breuer * gdk/win32/gdkgeometry-win32.c : don't reduce the scroll rect size by the scroll amount * gdk/win32/gdkwindow-win32.c * gdk/win32/gdkselection-win32.c : added some casts to make it compile with msvc's strict type checking * gtk/fnmatch.c : #include again for tolower prototype. The fnmatch() code assumes to be in the crt locale though it is feeded by utf8 strings from gtkfilesel.c * gtk/gtkfilesel.c : let ->cmpl_text be a strdup managed by _CompletionDir instead of referencing already freed memory * gtk/gtktooltips.c (gtk_tooltips_init) : fix typo to gtk_rc_parse_string (theDefaultTooltipColor) once as it was intended * tests/makefile.msc : added more tests * tests/testgtk.c (create_list) : don't try to load gtkenums.h from the current directory use ../gtk/gtkenums.h instead 2002-02-10 Kjartan Maraas * gtk/gtksizegroup.c: Fix a double "The" typo in a string. 2002-02-09 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_set_focus_child): Avoid segfault for selectable tab labels (even without a segfault, they make the notebook almost unusable, though). (#69985) 2002-02-08 Matthias Clasen * gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path): Silently do nothing if the parent is not a menu. (#66492) 2002-02-06 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_from_widget, gtk_item_factory_path_from_widget): Try fetching the return value from menu_item->submenu as a fallback. (#69020) Sat Feb 9 22:57:43 2002 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_build_level): convert the iter to a child iter again, after doing _iter_children. It's possible that _iter_children added some rows and updated the stamp. 2002-02-09 Daniel Elstner * gtk/gtktextchild.c: Use == rather than = in sanity checks. Ouch! 2002-02-09 Daniel Elstner * gtk/gtktextchild.c (CHECK_IN_BUFFER_RETURN): Add missing curled braces so that it doesn't always return. Also indent both CHECK_IN_BUFFER* macros properly, and make use of G_STMT_START/G_STMT_END. Sat Feb 9 13:27:14 2002 Owen Taylor * gtk/gtkbindings.h: Add prototype for _gtk_binding_reset_parsed(). Sat Feb 9 13:19:20 2002 Owen Taylor * configure.in gtk/Makefile.am gtk/theme-bits/*: Add tools and images used for creating the check/radio button images in the default theme. Sat Feb 9 13:58:41 2002 Soeren Sandmann * gtk/gtkpaned.[ch]: Keyboard navigation for GtkPaned F6: cycle between panes. F8: focus handle (#53584) * tests/testgtk.c: Add test cases for GtkPaned keyboard navigation. Sat Feb 9 00:16:31 2002 Owen Taylor * gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): XCopyArea with subwindow_mode = IncludeInferiors. (#70999) * demos/testpixbuf-save.c (configure_cb): Fix a minor memory management problem. Fri Feb 8 20:24:58 2002 Owen Taylor * gtk/gtkbindings.c (binding_compose_params): Fix problem with string-valued parameters (#70012, Johan Dahlin.) * gtk/gtkentry.c (gtk_entry_delete_whitespace): Fix white space deletion. Fri Feb 8 21:25:56 2002 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): fix evil ref bug where the wrong row and a deleted row was unreffed. Found by Darin Adler Fri Feb 8 18:46:13 2002 Owen Taylor * gtk/gtkbindings.[ch] (_gtk_binding_reset_parsed): Add a function to delete all bindings add by gtk_binding_parse_binding() when rereading RC files. * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Reset binding set content as well as RC content. * gtk/gtkbindings.c (binding_compose_params): Fix various GValue handling problems. * gtk/gtkentry.c (gtk_entry_class_init): Remove bindings for C-b, C-f, M-b, M-f, C-a, C-e, C-w, C-y, M-space, C-u, C-k, M-\, M-d, C-d. * gtk/gtktextview.c (gtk_text_view_class_init): Remove same bindings as GtkEntry, plus C-n, C-p, C-space * gtk/gtkrc.key.default gtk/gtkrc.key.emacs gtk/Makefile.am: Add Emacs and Default key themes. 2002-02-08 Darin Adler * gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper): Remove a tiny bit more dead code. 2002-02-08 Darin Adler * gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper): Fix stale pointer bug. Fri Feb 8 14:30:14 2002 Owen Taylor * gtk/gtkclist.c (title_focus_in): Return FALSE if not showing the titles. (#70959, Thomas Leonard) 2002-02-08 Darin Adler * demos/gtk-demo/main.c: (load_file): isspace -> g_ascii_isspace * gdk/x11/gdkim-x11.c: Remove gdki8n.h include. * gdk/x11/gdkkeys-x11.c: Remove include. * gdk/x11/gdkmain-x11.c: Remove include. * gtk/fnmatch.c: Remove include. * gtk/gtkaccelgroup.c: Remove include. * gtk/gtkaccellabel.c: (gtk_accel_label_refetch): toupper -> g_unichar_toupper, toupper -> g_unichar_totile * gtk/gtkbindings.c: Remove include. * gtk/gtkfontsel.c: Remove include. * gtk/gtkiconfactory.c: Remove include. * gtk/gtkinputdialog.c: Remove include. * gtk/gtklabel.c: Remove include. * gtk/gtkmain.c: Remove include. * gtk/gtkmenu.c: Remove include. * gtk/gtkoldeditable.c: Remove include. * gtk/gtkrc.c: Remove include. * gtk/gtktextbtree.c: Remove include. * gtk/gtktextiter.c: Remove include. * gtk/gtktextsegment.c: Remove include. 2002-02-08 Sven Neumann * gtk/gtkfilesel.c * gtk/gtkgamma.c * gtk/gtkinputdialog.c: use stock labels for dialog action buttons. 2002-02-08 Darin Adler * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_ref_node), (gtk_tree_model_sort_unref_node): Pass the ref_node and unref_node calls through to the child model. 2002-02-08 Laszlo Peter * gtk/gtktextchild.c: s/__FUNCTION__/G_GNUC_FUNCTION/ * gtk/gtktextview.c: ditto 2002-02-07 Havoc Pennington * gtk/gtkspinbutton.h (struct _GtkSpinButtonClass): add change_value virtual function, to fix build * gtk/gtkpixmap.c (gtk_pixmap_class_init): parent_class was from GtkWidget not GtkMisc. Not that it ever mattered. Thu Feb 7 19:52:00 2002 Owen Taylor * gtk/gtknotebook.[ch]: Add ::move-focus-out signal to handle Control[-Shift]-Tab and Control-arrow bindings and implement bindings as per #53612. * gtk/gtktextview.c (gtk_text_view_move_focus): Fix fetching the toplevel for plug-socket. * gtk/gtknotebook.c (gtk_notebook_class_init): Remove bindings for Return/Enter to select the page. * gtk/gtknotebook.c (gtk_notebook_change_current_page): Beep at ends. * gtk/gtknotebook.c (focus_tabs_move): Don't wrap around and beep at ends. * gtk/gtknotebook.c (gtk_notebook_focus): When focusing into the page with the arrow keys, focus the first widget, not the directionally closest widget. Thu Feb 7 19:00:10 2002 Owen Taylor * gtk/gtkspinbutton.c (gtk_spin_button_key_release): Convert to using binding set for doing key bindings. (#62622, Requested by Skip Montaro) * gtk/gtkwindow.c (gtk_window_class_init): Add control-arrow bindings as overrides along with control-tab bindings. * gtk/gtknotebook.c (gtk_notebook_class_init): Fix return type for ::focus_tab signal. Thu Feb 7 19:39:27 2002 Kristian Rietveld Fixes #70782 and some drag dest rectangle/line issues * gtk/gtktreeview.c (gtk_tree_view_set_model): set GTK_TREE_VIEW_IS_LIST flag (we can switch from a TreeStore to a ListStore for example) (gtk_tree_view_get_path_at_pos): revert previous change, we shouldn't correct for the header, because we are taking bin_window coordinates here (gtk_tree_view_set_drag_dest_row): queue old drag_dest row and upper/lower neighbors for draw, so the drag dest rectangle/line will be cleared correctly (gtk_tree_view_get_dest_row_at_pos): correct for treeview header here, as drag_y is relative to the widget and _get_path_at_pos wants coords relative to bin_window, draw black outline rectangle after drawing the cells Thu Feb 7 10:53:12 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_draw_text): Use layout text (which may be affected by invisible char) to compute selection bounds, not entry text. (#70733, Alex Larsson) 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: Change show_help signal to return gboolean instead of void. This allows the keypress which invokes the signal to be propagated to the focus widgets ancestors if not handled by the focus widget. * gtk/gtktoolips.[ch] Change _gtk_tooltips_show_tip () to return a gboolean indicating whether widget has tooltip to display. 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: Change popup_menu signal to return gboolean instead of void. This allows the keypress which invokes the signal to be propagated to the focus widgets ancestors if not handled by the focus widget. * gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtktextview.c: Change signature of popup_menu signal handler to return gboolean instead of void and return TRUE in the signal handler 2002-02-07 Anders Carlsson * gdk/x11/xsettings-common.c (xsettings_setting_free): Free the setting name. Wed Feb 6 23:28:39 2002 Kristian Rietveld Fixes #70708 * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): we're dealing with widget coordinates here, so take the header height into account while converting (gtk_tree_view_widget_to_tree_coords): take header height into account (gtk_tree_view_tree_to_widget_coords): ditto (gtk_tree_view_get_dest_row_at_pos): we were passing coords relative to the tree with _get_path_at_pos, while that function wants coords relative to the widget 2002-02-06 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_scroll_hpages): remove unused variable (gtk_text_view_get_window): add warning about how you can't get the private window. #70683, and avoid default: in the switch so we get "enum value unhandled" warnings 2002-02-06 Havoc Pennington * gtk/gtktextchild.c: Add warnings if you try to use a child anchor that isn't inside a buffer. Really kind of lame; we should separate the anchor from the buffer. But not worth fixing for now. #70601 Wed Feb 6 18:25:24 2002 Kristian Rietveld * gtk/gtktreemodelsort.c: rip out all the debugging ifdefs, as modelsort seems to be stable (and nobody complained :) Tue Feb 5 19:13:42 2002 Owen Taylor * gdk/x11/gdkgeometry-x11.c (gdk_window_queue): Keep the length of the anti-expose queue finite, by if it gets too long, first doing a XSync() and checking the event queue, and if that doesn't work, simply discarding all anti-expose items in the queue. * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix ordering on ConfigureNotify (#56349, Thomas Leonard) 2002-02-05 Havoc Pennington * gtk/gtkimage.c (gtk_image_expose): offset area being gotten from pixmap by the align/padding offsets, so we don't get warnings in gdk_pixbuf_get_from_drawable (and so it works, of course) 2002-02-05 Matthias Clasen * gtk/gtkrc.c (gtk_rc_parse_file): Remove a (now) misleading comment. 2002-02-05 Federico Mena Quintero * gdk/gdkwindow.h: Do not #include . Tue Feb 5 22:54:16 2002 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_insert_after): let's set the path, which we're going to pass with the emission of row_inserted, to the iter we inserted and not its sibling. 2002-02-04 Padraig O'Briain * gtk/gtkmenu.c (gtk_menu_popup): Fix leak of GdkEvent (#70519) Mon Feb 4 10:40:28 2002 Owen Taylor * gtk/gtkstyle.c (gtk_default_draw_resize_grip): Fix from Matthias Clasen to clear background appropriately for theme by calling gtk_style_apply_default_background(). (#70449) Mon Feb 4 10:06:49 2002 Owen Taylor * gdk/x11/gdkevents-x11.c: gtk-double-click-time, not gtk-double-click-timeout. (#70501) 2002-02-04 Havoc Pennington * gtk/gtksignal.c (gtk_signal_connect_while_alive): (gtk_signal_connect_object_while_alive): rename "signal" arg to "name" to avoid compiler warnings about shadowing signal(). #70453 2002-02-03 Anders Carlsson * gtk/gtkstyle.c (gtk_default_draw_expander): Add flipping support to the expanders. Sat Feb 2 21:54:01 2002 Owen Taylor RC file lookup improvements (#68234, suggestions from Matthias Clasen.) * gtk/gtkrc.c (gtk_rc_parse_file): Look for the locale suffix variants (gtkrc.en_US, gtkrc.en) for all RC files we parse, not just the default RC files. * gtk/gtkrc.c (gtk_rc_parse_default_files): Remove support for charset specific RC files. Sat Feb 2 20:16:04 2002 Owen Taylor * gtk/gtkmenushell.c (_gtk_menu_shell_select_first): Non-exported _gtk_menu_select_first() function that selects the first item of the menu in a standard way. (Skipping tearoffs.) * gtk/gtkmenushell.c gtk/gtkentry.c gtk/gtktextview.c gtkmenuitem.c: Use _gtk_menu_shell_select_first(). * gtk/gtkmenuitem.c (gtk_real_menu_item_select): Remember if we are starting the timeout from a keypress so we can set menushell->ignore_enter properly. * gtk/gtknotebook.c (focus_child_in): Return something meaningful if there are no children. * gtk/gtkmenu.c (gtk_menu_key_press): Fix precendence problem. Sat Feb 2 19:15:42 2002 Owen Taylor * gtk/gtkmenu.c (gtk_menu_popup): Fix some bugs in the determination of xgrab_shell. Sat Feb 2 17:43:00 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_grab_focus): Add a GtkSetting (gtk-entry-select-on-focus) controlling whether the contents of an entry are selected on focus in. * gtk/gtkmenu.c (gtk_menu_key_press): Add a GtkSetting (gtk-can-change-accels) controlling whether accelerators can be changed on the fly or not. (#51902) * gtk/gtkmenu.c (gtk_menu_key_press): Allow unmodified accelerators, now that accelerator changing can be turned off for those who won't expect it. (#61285) * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Allow Backspace/Delete/KP_Delete as valid accelerators. * gtk/gtkmenu.c (gtk_menu_key_press): Allow setting of Delete/Backspace as accelerators by making them toggle the menu item between empty and the pressed key. (#58605) * tests/testgtkrc: Remove the objectionably short cursor blink time setting. Sat Feb 2 16:43:31 2002 Owen Taylor * gtk/gtkmenu.c (gtk_menu_popup): To get around the fact that we may have a owner_events = FALSE grab in effect when we pop up a window, make a temporary grab on a different window, then grab on the real window. Fixes a problem where if a context menu popped up under the cursor, the first item would be stuck unselected. (#59812, reported by Arnaud Charlet.) 2002-02-02 Peter Williams * gtk/Makefile.am (install-data-local): Install gtkrc.default from $(srcdir) for when $(builddir) is different. Sat Feb 2 19:00:39 2002 Kristian Rietveld * gtk/Makefile.am: remove TESTGTK_RCFILE define Sat Feb 2 11:37:21 2002 Owen Taylor * gtk/gtkmenu.c (gtk_menu_popup): Remove the "select first item if popped up from keypress" hack -- was causing more problems than it was worth (#53191, #68483) * gtk/gtktextview.c (popup_targets_received): gtk/gtkentry.c (popup_targets_received): If activated from keyboard, select first item of popup menu. Sat Feb 2 18:07:51 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper member of vadjustment correct, so the vscrollbars of lists smaller than 1 page are somewhat saner (#66905) * gtk/gtkliststore.c (gtk_list_store_remove_silently): do not increment the stamp, liststore is a model with persisting iters Fri Feb 1 23:54:00 2002 Owen Taylor * gtk/gtkrc.[ch] (gtk_rc_parse_engine): Support engine "" {} to mean override to the default engine. (#70205) Fri Feb 1 23:25:33 2002 Owen Taylor * gtk/gtktooltips.c (gtk_tooltips_init): Parse the RC string here when the first object is created rather than in the class_init to not break doc building. (#70341, Havoc Pennington.) * gtk/gtkrc.c (parse_include_file): Use the directories for the currently parsed files as the starting point to look for include files. (#59975) Fri Feb 1 20:21:56 2002 Manish Singh * gtk/gtkinputdialog.c: use gtk_label_new_with_mnemonic for labels that actually have mnemonics Fri Feb 1 19:57:59 2002 Owen Taylor * configure.in: Fix use of ! in shell. * gtk/gtktooltips.c (gtk_tooltips_class_init) gtkrc.default: Move the setting of default tooltips colors to gtktooltips.c from gtkrc.default. (Use default priority so themes will override.) (#58542) Fri Feb 1 17:48:51 2002 Owen Taylor * gtk/gtkrc.c (gtk_rc_get_style): Fix ordering of priorities so that priorities take precendence over the ordering by type. (#70205) * test/testgtkrc tests/testgtk.c (create_rc_file): Add some labels to test priorities in testgtkrc. Fri Feb 1 00:37:49 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): use y coordinate relative to the tree and not the treeview window (fixes the PgDn/PgUp brokenness) Fri Feb 1 23:40:31 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust cell_area and background_area for possible treeview scroll (fixes #70283, #70065) Fri Feb 1 22:20:13 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use height - page_size not height - allocation->height (fixes #66269) Fri Feb 1 15:22:23 2002 Owen Taylor * gtk/gtkimage.c (gtk_image_class_init): Fix typo in property description. (Christian Rose.) Fri Feb 1 14:50:36 2002 Owen Taylor * gtk/gtkrc.c (gtk_rc_parse_string): Handle reparsing any strings if the theme changes. (#69465) * tests/testgtk.c: Add a test for gtk_rc_parse_string(). Fri Feb 1 20:50:29 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): set tree to NULL if tree_view->priv->tree is NULL (#70152, patch by John Harper). Fri Feb 1 12:51:20 2002 Owen Taylor * gtk/gtknotebook.c (focus_child_in): Catch the cur_page == NULL (no children) case. (#70287, Paolo Maggi.) Fri Feb 1 12:12:12 2002 Owen Taylor * gtk/gtkfilesel.c (attempt_file_completion): s/directory/folder/ in all labels and messages. Fri Feb 1 08:57:38 2002 Owen Taylor * gtk/gtkmain.c (gtk_exit_func): Remove this useless atexit handler. (existance pointed out by Stefan Kost) * gtk/gtkmain.c (gtk_init_check): Warning fixes. Thu Jan 31 18:46:10 2002 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_row_reference_free): unref the model after the last use, not before. Thu Jan 31 14:50:16 2002 Owen Taylor * gtk/gtkrc.default gtk/Makefile.am: Install a Default RC file that sets the tooltips color to yellow. (#58542) * gtk/gtksettings.c (gtk_settings_class_init): make the default theme "Default", not NULL. Thu Jan 31 11:33:52 2002 Owen Taylor * gdk/x11/gdkproperty-x11.c (insert_atom_pair): Fix another missing static. * gtk/gtkimmodule.c (n_loaded_contexts): And another. * gdk/x11/Makefile.am gdk/x11/gxid_lib.c: Don't build gxid sources at all except in the vanishingly rare case of --with-xinput=xfree. 2002-01-31 Mark McLoughlin * gdk/gdkimage.c: (scratch_image_info_for_depth): make static. * gdk/x11/gdkimage-x11.c: (get_full_image): ditto. * gdk/x11/gxid_lib.[ch]: (_gxid_claim_device), (_gxid_release_device): renamed from gxid_(claim|release)_device. * gdk/x11/gdkinput-gxi.c: (_gdk_input_enable_window), (_gdk_input_disable_window): upd for gxid change. * gtk/gtkimage.c: (animation_timeout): make static. * gtk/gtkstyle.c: (draw_thin_shadow), (draw_spin_entry_shadow): make static. * gtk/gtktextutil.c: (bidi_menu_entries): make static. Thu Jan 31 10:21:05 2002 Owen Taylor * gtk/gtkplug.c (gtk_plug_focus): Handle the case where bin->child is NULL. (#70153, Padraig O'Briain) * gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems): Actually call gettext() on the labels; previously they were marked with N_() but we never called gettext(). Wed Jan 30 20:15:49 2002 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_set_valist): save last minute changes before committing. * gtk/gtkliststore.c (gtk_list_store_set_valist): ditto Wed Jan 30 18:46:14 2002 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_set_valist): only emit the signal if an interesting column changes. * gtk/gtktreestore.c: ditto. * gtk/gtktreeview.c (gtk_tree_view_set_cursor): change behavior so that it no longer grabs 2002-01-30 Manish Singh * gtk/gtkhandlebox.c (gtk_handle_box_destroy): remove unused variable. * gtk/gtkwindow.c (gtk_window_get_icon): function returns a value, so return NULL with g_return_val_if_fail instead of g_return_if_fail. 2002-01-30 Matthias Clasen * gtk/*.c: Remove excess g_return_if_fail calls from static and virtual functions. (#57615) 2002-01-30 Anders Carlsson * gtk/gtkstyle.c (gtk_default_render_icon): Allow a -1 icon size. Wed Jan 30 20:29:01 2002 Tim Janik * gtk/gtkscale.c (gtk_scale_set_digits): fix revrted bug fix. (use a define for max digits). Wed Jan 30 13:55:59 2002 Owen Taylor * gtk/gtkwindow.c (gtk_window_show): Try to make sure that we have some focused widget on map. (#50339) * gtk/gtkdialog.c (gtk_dialog_map): Handling picking a focus widget here differently so that if a response button gets picked, it's the default one. * tests/testgtk.c (make_message_dialog): Set the default response for the dialogs. Tue Jan 29 22:52:36 2002 Owen Taylor * Released 1.3.13 * configure.in: Micro version 13, interface, binary age 0. Require GLIB-1.3.13, Pango 0.24. * docs/Makefile.am (EXTRA_DIST): Add widget_geometry.txt, sizing-test.txt, tree-column-sizing.txt * docs/Makefile.am (EXTRA_DIST): Don't distribute Changes-1.2.txt, Changes-2.0.txt, README.linux-fb, since they are no longer canonical. * gtk/gtk.def: Convert spaces to tabs in front of gtk_widget_set_accel_path in case it matters. * NEWS: Updated for 1.3.13. Tue Jan 29 22:31:07 2002 Owen Taylor * gtk/gtkwidget.[ch] gtkmenuitem.c gtkitemfactory.c: Export gtk_widget_set_accel_path(). * gtk/gtk.def: Add gtk_widget_set_accel_path. Tue Jan 29 21:50:28 2002 Owen Taylor * gtk/gtkaccelmap.[ch] gtk/gtkbindings.[ch] gtk/gtkwidget.[ch]: Consistently use GdkModifierType. (#66950, Mark Patton) * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock): For consistency with gtk_button_new_from_stock(), fall back to gtk_image_menu_item_new_with_mnemnonic(). (#65944, Havoc Pennington) * gtk/gtkitemfactory.[ch] (gtk_item_factory_path_from_widget): Make G_CONST_RETURN. (#68527, Matt Wilson) Tue Jan 29 20:56:13 2002 Owen Taylor * gtk/gtk[vh]scale.c (gtk_[vh]scale_new_with_range): Document that the end points are included in the range. (#69783, Jeffrey Baker) Tue Jan 29 20:38:04 2002 Owen Taylor * gtk/gtkscale.[ch]: Revert the last changes to make the number of digits only effect drawing, instead, don't round unless we are in the 'draw_value' mode -- this is the behavior of GTK+-1.2, and keeps the behavior that if the user sees a displayed value, it is the correct value. Tue Jan 29 19:51:05 2002 Owen Taylor * gtk/gtkenums.h: Deprecate GtkPreviewType, GtkSignalRunType, GtkSideType, GtkSubmenuPlacement, GtkSubmenuDirection (#68183, Matthias Clasen) * gtk/gtkmenuitem.h: Remove _gtk_menu_item_set_placement() from the public header to avoid having to use GtkSubmenuPlacement. * gtk/{gtkmenuitem.c,gtkmenubar.c,gtkmenushell.c}: #define GTK_MENU_INTERNALS to preserve access to GtkSubmenu*. * gdk/gdki18n.h: Deprecate contents. (Darin Adler.) Tue Jan 29 19:32:47 2002 Owen Taylor * gtk/gtktextview.c (gtk_text_view_get/set_property): Fix wrong usage of g_value_set/get_object for PROP_TABS and memory leak in getter for PROP_TABS. (Jeff Franks) Tue Jan 29 19:04:41 2002 Owen Taylor * gtk/gtkstyle.c (gtk_style_render_icon): Document that a size of (GtkIconSize)-1 means don't scale. * gtk/gtkstyle.c (gtk_default_render_icon): Obey the -1 convention. * gtk/gtkimage.c (gtk_image_expose): Pass in -1 to gtk_style_render_icon() to make sure that we catch it obviously if the style's render function tries to scale. Tue Jan 29 18:50:59 2002 Owen Taylor * gtk/gtkimage.c (gtk_image_expose): Optimize exposes of partial insensitive images. 2002-01-24 Havoc Pennington * gtk/gtkimage.c (gtk_image_expose): create insensitive version of the image regardless of storage type, #63305 * demos/gtk-demo/images.c: add toggle button to demonstrate that GtkImage makes its contents insensitive Tue Jan 29 17:40:02 2002 Owen Taylor * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Call _gdk_draw_pixbuf(), thus enabling using this function for pixbufs with alpha. (#68801) * gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Move implementation of gdk_pixbuf_render_to_drawable() to here. Tue Jan 29 17:16:17 2002 Owen Taylor * gtk/gtklayout.c: Patch from Jacob Berkman to fix problem when the height/width of a layout was set before the adjustments were added. (#66294) * gtk/gtktreeview.c: Warning cleanups. Tue Jan 29 16:35:04 2002 Owen Taylor * gtk/gtkhandlebox.c (gtk_handle_box_motion): Small fix to size of torn off window (#60271, Detlef Reichl) * gtk/Makefile.am: Don't install gtkhsv.h. (Pointed out by Ross Burton) Tue Jan 29 18:50:46 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): free cursor_path after usage (gtk_tree_view_real_start_interactive_search): use new g_signal and g_object calls (gtk_tree_view_search_dialog_destroy): use g_object calls and free selected_iter if set (gtk_tree_view_search_position_func): rework so it will never ever appear offscreen (#68492) (gtk_tree_view_search_move): use new g_object calls (gtk_tree_view_search_init): free selected_iter if set, use new g_object calls (gtk_tree_view_leave_notify): don't destroy interactive search dialog Tue Jan 29 23:07:03 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): send focus in event (gtk_tree_view_search_dialog_destroy): send focus out event (#66466) 2002-01-29 Anders Carlsson * gtk/gtkfontsel.c (gtk_font_selection_select_size): Show correct size in the size entry. Tue Jan 29 16:11:55 2002 Owen Taylor * gtk/gtkfontsel.c (gtk_font_selection_show_available_sizes): Use gtk_tree_view_set_cursor() instead of gtk_tree_selection_select_iter(). * gtk/gtkfontsel.c (gtk_font_selection_init): Add mnemonic to preview field. (#52433, patch from Anders Carlsson) * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Remove the dialog separator. (#69558, Alex Larsson, patch from Anders Carlsson) Tue Jan 29 15:24:59 2002 Owen Taylor * gtk/gtkfontsel.[ch]: Switch over to GtkTreeView from GtkCList. Remove the entries above the font/face lists since they were a little confusing. (Not sure about this change, so the code is still there the entries are just hidden.) (#68890) * gtk/gtkfilesel.c: Switch over to GtkTreeView from GtkCList. Add mnemonics for fileops. Allow Control/Shift Tab to focus out. * gtk/gtkfilesel.c: Make fileop dialogs transient-for the fileselector. (#69336, patch from Melvin Hadasht) * gtk/gtkgamma.c (button_clicked_callback): Fix handling of gamma dialog a bit. (#69336, Matthias Clasen.) Tue Jan 29 14:56:28 2002 Owen Taylor * gtk/gtksocket.c (toplevel_focus_out_handler): Return boolean (and FALSE from focus_in / focus_out handlers. (#69528, Padraig O'Briain) Tue Jan 29 14:47:54 2002 Owen Taylor * gtk/gtkmain.c (gtk_init_check): Remove the scary startup warning. (#69480) Tue Jan 29 14:24:49 2002 Owen Taylor * gtk/gtkwindow.c (gtk_window_class_init): Add Tab bindings for "move-focus" so that Control-Tab to escape from something that eats Tab just works if not otherwise overriden. * gtk/gtkspinbutton.c (gtk_spin_button_new_with_range) * gtk/gtkvscale.c (gtk_vscale_new_with_range) * gtk/gtkhscale.c (gtk_hscale_new_with_range): Use a page_size of zero for the adjustment, since at times we think that the range is lower to upper - page_size. A page size equally to the step_increment is, in any case, not meaningful. 2002-01-29 Tor Lillqvist * README.win32: Add comment about gtk-1-3-win32-production branch currently being ahead in functionality and code cleanliness (in gdk/win32). Just in case somebody looks at the code in gdk/win32 here and starts fixing it, when it is going to change soonish anyway. 2002-01-29 Sven Neumann * gtk/gtkrc.c: don't install an empty icon_set if none of the image files could be found in the pixmap_path (bug #69398). 2002-01-29 Sven Neumann * gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): fixed a segfault that showed up when using the color picker. Tue Jan 29 11:51:14 2002 Tim Janik * gtk/gtkscale.[hc]: fix default value for ::digits property, leave as 1 as per havoc's request. don't apply the draw_digits value to range->round_digits, so we don't perform gross quantization by default. 2002-01-25 Havoc Pennington * gtk/gtktextbtree.c (_gtk_text_btree_delete): fix assertion failure by creating the line data, but not validating it at this stage. Also, remove old code related to the "bogus newline" mess that removed all tags from the last char in the buffer if you tried to delete it. (_gtk_text_line_data_new): put this here and prepend underscore, remove from gtktextlayout.c Mon Jan 28 19:57:39 2002 Owen Taylor * modules/input/imhangul.c modules/input/imhangul-defs.h po/POTFILES.in. Add port of Emacs korean-hangul input method from Yusuke Tabata (#67665) Mon Jan 28 18:25:10 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_draw_frame): Paint shadow before focus to give theme engines a bit morea flexibility. (#69857) Mon Jan 28 16:23:20 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer g_assert. 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the GtkTreeView's model, set prelight_node, prelight_tree, button_pressed_node and button_pressed_tree to NULL. (#69603) 2002-01-28 Bill Haneman * gtk/gtkstyle.c: Make sure that the default expanders are drawn with an outline thickness appropriate to the size of the expanders (RINT expander_size/7). Added static gtk_style_draw_polygon_with_gc(), to reduce code duplication. * gtk/gtktreeview.c: (gtk_tree_view_bin_expose): Use focus_line_thickness when drawing focus lines. * gtk/gtktreeviewcolumn.c:(gtk_tree_view_column_cell_get_size): Adjust requested width to include focus line thickness. (gtk_tree_view_column_cell_render_or_focus): Calculate a focus line rectangle which gets larger as the focus line thickness increases, to avoid overwriting cell content. Render left-aligned content at x+focus_line_width. (gtk_tree_view_column_cell_draw_focus): Don't draw a focus line around an editable text cell, since the text caret already indicates keyboard focus. Pass a GtkStateType appropriate to the focussed cell's state to gtk_paint_focus. Mon Jan 28 14:44:40 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): Only activate/edit the row if shift is not pressed, #69248 2002-01-28 Anders Carlsson * gtk/gtkcurve.c (gtk_curve_set_vector): Fix build. 2002-01-28 Matthias Clasen * gtk/{gtkalignment.c,gtkaspectframe.c,gtkbutton.c, gtkcellrenderer.c,gtkcellrendererpixbuf.c,gtkcombo.c, gtkcontainer.c,gtkcurve.c,gtkframe.c,gtklabel.c, gtkmessagedialog.c,gtknotebook.c,gtkspinbutton.c,gtktable.c, gtktext.c,gtktextview.c,gtktreeview.c,gtktreeviewcolumn.c, gtkviewport.c,gtkwidget.c}: General property notification cleanup. (#69066) 2002-01-28 Anders Carlsson * gtk/gtkaccelgroup.c (gtk_accel_groups_activate): & with the default mod mask so accels work when numlock is on. Sun Jan 27 23:23:23 2002 Kristian Rietveld * gtk/gtkrbtree.[ch]: add _gtk_rbtree_mark_invalid (my previous commit already needed this ...) Sun Jan 27 22:13:02 2002 Kristian Rietveld Fix for bug #69586 * gtk/gtktreeprivate.h: get rid of tab_offset, introduce expander_size * gtk/gtktreeview.c: get rid of ->priv->tab_offset, introduce expander_size caching (from style), fix CELL_HEIGHT macro, use MAX ("RBNODE_HEIGHT", expander_size) (differs per case) for row height calculation, added style_set callback 2002-01-27 Anders Carlsson * gtk/gtklabel.c (gtk_label_create_window): Set the cursor to GDK_XTERM. * gtk/gtktextview.h (struct _GtkTextView): add mouse_cursor_obscured. * gtk/gtkentry.h (struct _GtkEntry): Add mouse_cursor_obscured. * gtk/gtktextview.c (set_invisible_cursor): New function. (gtk_text_view_obscure_mouse_cursor): Likewise. (gtk_text_view_key_press_event): Call obscure_cursor if text has been inserted. (gtk_text_view_motion_event): Restore the mouse cursor. * gtk/gtkentry.c (gtk_entry_realize): Add GDK_POINTER_MOTION_MASK. (set_invisible_cursor): New function. (gtk_entry_obscure_mouse_cursor): Likewise. (gtk_entry_key_press): call obscure_cursor if text has been inserted. (gtk_entry_motion_notify): Restore the mouse cursor. 2002-01-27 Sven Neumann * gtk/gtkstyle.c (sanitize_size): removed unused return value. Sat Jan 26 19:27:23 2002 Owen Taylor * gtk/gtksocket.c (gtk_socket_grab_notify): Don't send MODALITY_ON/OFF if socket->same_app (More fixes for #69735) Sat Jan 26 19:04:37 2002 Owen Taylor * gtk/gtkmain.c (check_is_grabbed): Return FALSE not true in the grab_widget == NULL case. (Bug reported by Padraig O'Briain, #69735) * gtk/gtkplug.c (handle_modality_on): Realize the modality window so gtk_widget_event() doesn't complain :-((((. 2002-01-25 Federico Mena Quintero Merge from gdk-pixbuf stable. * gdk/gdkpixbuf-drawable.c (rgb565msb): Fixed the endianness conversion --- swap the individual 16 bit values instead of taking everying as a 32 bit value. (rgb565lsb): Likewise. (rgb555lsb): Likewise. (rgb555msb): Likewise. 2002-01-25 Alex Larsson * gdk/linux-fb/gdkdrawable-fb2.c (gdk_drawable_impl_fb_class_init): Implement copy_to_image instead of get_image * gdk/linux-fb/gdkimage-fb.c: Implement _gdk_image_new_for_depth, _gdk_windowing_get_bits_for_depth and _gdk_fb_copy_to_image. Based in part on patch from Mathieu Lacage * gdk/linux-fb/gdkmain-fb.c: Make ENABLE_FB_MANAGER region larger. * gdk/linux-fb/gdkprivate-fb.h: Change _gdk_fb_get_image to _gdk_fb_copy_to_image. 2002-01-25 Sven Neumann * gtk/gtkwindow.c (gtk_window_get_size): changed the comment so that gtk-doc doesn't get confused. Fri Jan 25 14:03:36 2002 Tim Janik * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): assert that the passed in arrow is always _UP or _DOWN, this catches false invocations which lead to drawing artefacts. (start_spinning): likewise, i.e. sanity check the passed in arrow. (gtk_spin_button_button_release): fix arrow redrawing. (gtk_spin_button_button_press): must set click_child for button3 even if we don't take spinning action right away. * gtk/gtkspinbutton.h (struct _GtkSpinButton): document valid values for click_child. Thu Jan 24 23:03:24 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): update docs, return current FALSE if x is smaller than the current visible area, not than the requested area, don't correct y coordinate, TREE_WINDOW_Y_TO_RBTREE_Y will do that. Fixes #67477. Thu Jan 24 15:41:08 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow): fix column reordering fully. (gtk_tree_view_size_allocate): fix evil bug. Thu Jan 24 11:53:19 2002 Owen Taylor * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't clear the model until we clean up all the other objects that might refer to the object. 2002-01-24 Mark McLoughlin * gtk/gtkaccessible.h: include gtk/gtkwidget.h Wed Jan 23 20:28:59 2002 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_draw_arrow): Use insensitive state for insensitive arrows, not just an "etched state". (#67172, Adrian Custer) 2002-01-23 Manish Singh * gtk/gtkentry.c (gtk_entry_set_text): use a variable that's actually been declared. 2002-01-23 Damon Chaplin * configure.in (gtk_doc_min_version): set minimum gtk-doc version to 0.9, since we need to use the new --type-init-func argument for gtkdoc-scangobj. 2002-01-23 Matthias Clasen * gtk/gtkentry.c, gtk/gtkwidget.c: Remove excessive g_return_if_fail() calls. (#57615) * gtk/gtkitemfactory.c (gtk_item_factory_delete_entries): Make it work for paths with underline accelerators. (#69247) Wed Jan 23 15:12:16 2002 Owen Taylor * gtk/gtkspinbutton.c (gtk_spin_button_state_changed): Stop spinning if widget becomes insensitive. (#56248) Wed Jan 23 14:44:12 2002 Owen Taylor * gtk/gtkspinbutton.c (EPSILON): Decrease value since we now use doubles. Tue Jan 22 16:58:37 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_size_allocate): Fix sizing bug I introduced accidentally, #69358 2002-01-22 Padraig O'Briain * gtk/gtktreestore.c (gtk_tree_store_iter_children): Update last change to prevent core dump Mon Jan 21 01:21:54 2002 Kristian Rietveld * gtk/gtktreestore.c: add some more stamp checks (pointed out by Anders Carlsson) * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): don't assume _row_changed will insert sort (because _row_changed doesn't need to follow this signal), so apply insert sort here (gtk_tree_model_sort_level_find_insert): header doesn't need to be set here, so use a return instead of g_return_val_if_fail. Mon Jan 21 18:28:17 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update top_row. Remove extraneous print statements. 2002-01-21 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_popup, gtk_item_factory_popup_with_data): Document allowed values for ifactory. * gtk/gtkitemfactory.c (gtk_item_factory_delete_entry): Make it work for paths with underline accelerators. Fri Jan 18 16:31:21 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_size_allocate): only resize the window. Mon Jan 21 11:56:31 2002 Owen Taylor * gtk/gtkentry.c (gtk_entry_real_activate): Trap the case where there is no default widget and the entry is the focus widget, since this also causes infinite recursion. (#69158) Mon Jan 21 11:46:39 2002 Owen Taylor * gdk/gdk.c (gdk_init_check): Set the fallback program class here, rather than lazilygdk_get_program_class(), since we don't want -name to override it. (#69123, Ryan Lovett) Mon Jan 21 10:29:45 2002 Owen Taylor * gdk/gdk.c: Fix wrong types for command line arguments (#69124, Ryan Lovett) * gdk/gdk.c (gdk_arg_context_parse): Fix bug in parsing parsing '--arg VALUE'. * gdk/gdk.c: Remove unused variable gdk_error_trap_free_list. 2002-01-21 Havoc Pennington * gdk/gdkwindow.c (gdk_window_add_filter): mention that window arg can be NULL Sat Jan 19 20:49:41 2002 Kristian Rietveld * demos/gtk-demo/editable_cells.c: fix a load of open line ends (cell_edited): modified patch from German Poo Caaman~o to fix up old_text declaration and free the memory (do_editable_cells): unref the model after creating the treeview * demos/gtk-demo/list_store.c: fix a load of open line ends, (add_columns): set the sort column id, so we can sort * demos/gtk-demo/tree_store.c: fix a load of open line ends, (do_tree_store): unref the model after creating the treeview 2002-01-19 Havoc Pennington * gtk/gtkwindow.c: link to new X11 section in a lot of places when mentioning the window manager. * gtk/gtkwidget.c (gtk_widget_hide_on_delete): don't mention window manager since we're portable. Sat Jan 19 08:47:41 2002 Jeff Garzik * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name): Wrap case values in GPOINTER_TO_UINT(). Fixes build with gcc 3.x. * gtk/gtkmain.c: Include sys/types.h if G_OS_UNIX. Fixes build with gcc 3.x and -ansi. Fri Jan 18 23:01:37 2002 Owen Taylor * gtk/gtkrc.c (gtk_rc_parse_style): Fix problems when an engine declaration occurs in a reopened style, and g_free() of objects when errors occur. 2002-01-18 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_get_widget_by_action): Clarify documentation. (#69026) * gtk/gtkprogressbar.c (gtk_progress_bar_size_request): Fix missing initialization of adjustment. (#69025) 2002-01-17 Raja R Harinath Simplify Makefiles. * gdk/Makefile.am: Remove use of automake conditionals to pick library to build. * gtk/Makefile.am: Likewise. * gdk/Makefile.am (LDFLAGS): Use $(libdir), not @prefix@/lib. * gtk/Makefile.am (LDFLAGS): Likewise. Thu Jan 17 20:13:14 2002 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_redraw_tabs): Fix missing allocation.x/y offsets. (#68962, Jacob Berkman) * gtk/gtknotebook.c (gtk_notebook_size_allocate): Queue a redraw on the entire widget if we hide the last page or show the first. (Also #68962) 2002-01-17 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): change GTK_MOVEMENT_PARAGRAPHS to go to start/end of paragraph before it starts to go up/down paragraphs. This makes Ctrl+Up/Ctrl+Down work as in the keynav spec, though it makes the interpretation of GTK_MOVEMENT_PARAGRAPHS different from the interpretation of some of the other GTK_MOVEMENT_ thingies, maybe, as if that enum makes any sense anyhow. Thu Jan 17 16:34:55 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): For some reason, I was activating a row while just selecting it. Reported by andersca. (gtk_tree_view_size_request): add a validate_rows_handler to give us a rough width of the widget. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): Queue a resize here just in case. It's needed in over half the cases, and I don't want to do a diff to figure out exactly when it's needed. 2002-01-17 Matthias Clasen * gtk/gtkinputdialog.c, gtk/gtkcolorsel.c, gtk/gtkfilesel.c, gtk/gtkfontsel.c: Mark children as composite. (#66360) * gtk/gtkwidget.c (gtk_widget_push_composite_child): Explain composite children some more. (#66360) 2002-01-17 Havoc Pennington * gtk/gtktextlayout.c (_gtk_text_layout_get_line_xrange): new function (which I then decided not to use but I think it's needed to fix #68963 * gtk/gtktextview.c: add page_horizontally action signal and implement Ctrl+PgUp, Ctrl+PgDown based on patch from Padraig, hackily modified to avoid adding GTK_MOVEMENT_ API. Part of #53934 * gtk/gtkmarshalers.list: add NONE:INT,BOOL Thu Jan 17 17:02:38 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_real_unrealize): Call gtk_selection_remove_all() here, not in destroy/ finalize. (#66636, Sergey Vlasov) * gtk/gtkselection.c (gtk_selection_request): Fix reentrancy problem with multiple conversions. * gtk/gtkselection.c (gtk_selection_remove_all): Don't remove incrs, we don't need the widget for maintain the incr. * gtk/gtkselection.c (struct _GtkIncrInfo): Remove the widget field from here, we don't need it. Thu Jan 17 13:08:34 2002 Owen Taylor * gdk/x11/gdkmain-x11.c (gdk_error_trap_push): Move here, and save/restore the X error handler to allow people using GTK+ to set the X error handler to something custom without disturbing the operation of GDK. * gdk/linux-fb/gdkmain-fb.c (gdk_error_trap_push) * gdk/win32/gdkmain-win32.c (gdk_error_trap_pop): Add dummy implementations. * gdk/x11/gdkmain-x11.c gdk/x11/gdkevents-x11.c gdk/x11/gdkdnd-x11.c: Use gdk_error_trap_push()/pop() for all error trapping. * gdk/x11/gdkdnd-x11.c: Remove '#if 0' code. * gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Fix problem where we would add the results anyways, and then add it again if no error occurred, and problem where we could leave _gdk_error_warnings() unset. Wed Jan 16 20:28:38 2002 Owen Taylor * gtk/gtkfilesel.c: Fix "deleting" filename by adding another boolean parameter to file_selection_populate() - whether to clear the entry. Also, never fill in the entry when the user clicks on something in the directory list. (#6791, Reported by Jos Dehaes and many, many, many others.) 2002-01-16 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_scroll_pages): update cursor_y_pos with clamped delta rather than theoretical delta (#68788). Also, if we can't page up/down further then jump to top/bottom of the document. Wed Jan 16 19:33:41 2002 Owen Taylor * gtk/gtkfilesel.c (gtk_file_selection_map): Refresh the dialog on map. (#52877, inspired by request from Murray Cumming) Wed Jan 16 19:23:04 2002 Owen Taylor * gtk/gtkbindings.c (gtk_binding_entry_activate): Support "optional" bindings. If a binding signal has a boolean return value, and returns FALSE it is as if it didn't exist all. * gtk/gtkbindings.c (binding_compose_params): Switch over to GValue. * gtk/gtknotebook.[ch]: Make the select_page() and change_current_page() signals only take effect when the focus is on the tab area so that key presses in children pass up to the toplevel correctly. Wed Jan 16 12:16:37 2002 Owen Taylor * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Fix calculation error in the (shouldn't happen) case where option_menu->height < child_requisition.height. (Patch from Jacob Berkman, #66969) 2002-01-15 Matthias Clasen * gtk/gtkenums.h (GtkMatchType): Deprecate. (#68183) * gtk/gtkscale.h (gtk_scale_value_width): Remove useless compatibility macro. (#67730) Wed Jan 16 10:54:38 2002 Owen Taylor * configure.in: Fix typo in --help output. (Arnaud Charlet). Wed Jan 16 10:18:42 2002 Owen Taylor * gtk/stock-icons/Makefile.am (EXTRA_DIST): Add gtkstockpixbufs.h. * configure.in: Make TIFF, JPEG, PNG loaders mandatory unless you configure with --without-libtiff, etc. (#54045, Brian Cameron) 2002-01-16 Padraig O'Briain * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Avoid unexpected warning message when navigating menu (#68517) 2002-01-15 Jody Goldberg * gtk/gtklayout.c (gtk_layout_realize) : It is possible that a GtkLayout may have been scrolled _before_ it was realized. Tue Jan 15 18:10:24 2002 Owen Taylor * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): Stop the timer on destroy, or when we are notified that we are shadowed by a modal dialog. * gtk/gtkspinbutton.c: Remove explicit gtk_grab_add()/remove() - not needed any more. * gtk/gtkmain.c (gtk_grab_notify): Fix problem where notifications weren't sent out for the default grab group. * gtk/gtkmain.c (gtk_grab_notify): Fix notification of widgets that were getting events because they were part of the previous grab. Tue Jan 15 12:23:33 2002 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_mnemonic_activate_switch_page): focus the activated tab, not the page. (#53612) * gtk/gtknotebook.c (gtk_notebook_set_focus_child): Track the last focus descendant of the page. * gtk/gtknotebook.c (gtk_notebook_real_switch_page): If the focus was on the previous page, move it to the last focused widget / first element on the new page, if possible, or if not, to the notebook itself. (#68224, reported by Jonathan Blandford) * gtk/gtknotebook.c (focus_tabs_in): Don't focus tabs tabs aren't visible. (#65462, Damon Chaplin, fixed based on patch from Anders Carlsson) 2002-01-15 Vitaly Tishkov * gtk/gtkstyle.c a misprint in documentation for gtk_style_render_icon () is fixed Mon Jan 14 23:21:47 2002 Tim Janik * gtk/gtkmenuitem.c (gtk_menu_item_map): map event_window after mapping child, so we don't loose events. 2002-01-15 Sven Neumann * gtk/gtkaccellabel.h * gtk/gtkitemfactory.c: fixed documentation by syncing the parameter names used in headers and code. 2002-01-14 jacob berkman * gtk/gtkrc.c (gtk_rc_get_im_module_path): close a comment block Tue Jan 15 01:13:51 2002 Kristian Rietveld * gtk/gtktreemodelsort.c: fix a load of open line ends, (gtk_tree_model_sort_set_model): only free root level if it's !NULL 2002-01-14 Matthias Clasen * gtk/gtkoldeditable.c, gtk/gtkrc.c, gtk/gtkstyle.c: Documentation additions. * gtk/gtkmenu.c (gtk_menu_set_accel_path), gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path), gtk/gtkwidget.c (gtk_widget_add_accelerator): Typo and markup fixes. * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Document. * gtk/gtkaccelmap.c (gtk_accel_map_add_filter): Explain intended use. Mon Jan 14 17:14:13 2002 Owen Taylor * gdk/x11/gdkselection-x11.c (sanitize_utf8): Don't mangle sequences of consecutive \n or \r. Mon Jan 14 17:42:28 2002 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_stop_editing): allow cancel to happen. * gtk/gtktreeview.c (install_presize_handler): only install the handler if we're realized, #68056 Mon Jan 14 16:35:58 2002 Owen Taylor * gtk/gtkwindow.c (gtk_window_move_resize): Unset initial_pos_set after the first configure request. 2002-01-13 Jody Goldberg * gtk/gtktexttag.c (get_color_arg) : set_boxed will copy the color and will use a mem_chunk to do it. Avoid an unnecessary copy, a leak, and confusion. Sun Jan 13 23:23:22 2002 Owen Taylor * gtk/gtkwindow.c (gtk_window_compute_hints): Fix problem where widget->requisition was being used instead of gtk_widget_get_child_requisition (), causing geometry widgets with usizes to misbehave. 2002-01-14 Sven Neumann * gtk/gtkrc.c: g_getenv() returns a const string. 2002-01-14 Hasbullah Bin Pit * configure.in: Added ms at ALL_LINGUAS. * po/ms.po: Added Malay Translation. 2002-01-14 Matthias Clasen * gtk/gtkitemfactory.c: Documentation. 2002-01-13 Sven Neumann * gdk/gdkwindow.c: documentation cleanups. Sun Jan 13 01:15:45 2002 Kristian Rietveld * gtk/gtktreemodelsort.c: various cleanups, (get_child_iter_from_elt): removed, (gtk_tree_model_sort_elt_get_path): rewritten to be a lot cleaner and especially faster, (gtk_tree_model_convert_iter_to_child_iter): use gtk_tree_model_sort_elt_get_path Sat Jan 12 16:57:31 2002 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): revert Owen's change (using a strdupped string as object data), so the interactive search works again 2002-01-11 Havoc Pennington * gtk/gtklabel.c: put in more links to Pango markup format docs (gtk_label_set_justify): mention gtk_misc_set_alignment 2002-01-12 Tor Lillqvist Fixes contributed by Archaeopteryx Software: This is a first small part of their changes. Will commit more later. * gdk/win32/*.c: Add some more checks for failed GDI calls. If a call fails, don't use bogus values. gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): Plug memory leak: g_free() the AND and XOR bitmaps after use. (_gdk_cursor_destroy): If we are destroying the current Windows cursor, set the Windows cursor to none first. * gdk/win32/gdkgc-win32.c (predraw_set_foreground): Delete the old brush that was in the DC, like the win32-production branch does. * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_finalize): If the window has a cursor which is the current Windows cursor, before destroying it set the current Windows cursor to none. (gdk_window_set_cursor): Also here, if destroying the current Windows cursor, set the current Windows cursor to none first. (gdk_window_get_pointer): Revamp logic. 2002-01-10 jacob berkman * gtk/gtkwidget.c (gtk_widget_add_events): actually iterate through the list rather than infinitely loop 2002-01-08 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_set_style_recurse): Rename to reset_rc_styles_recurse(). (#68084) 2002-01-10 Vitaly Tishkov * gtk/gtkimage.c * gtk/gtkimcontext.c * gtk/gtktreemodel.c * gtk/gtktreemodelsort.c * gtk/gtkwindow.c fix docs Wed Jan 9 20:56:42 2002 Jonathan Blandford * gdk/x11/gdkkeys-x11.c (get_xkb): get the types as well as the symbols because we need them in MyEnhancedXkbTranslateKeyCode. 2002-01-10 Tor Lillqvist Apply the same fixes and improvements as to the gtk-1-3-win32-production branch: Bug fixes and cleanup of selection and DND functionality. Still doesn't work as well as the win32-production branch, though, but getting closer. After this, need to add Archaeopteryx Software's OLE2 DND support. * gdk/win32/gdkselection-win32.c (gdk_selection_owner_set, gdk_selection_send_notify, generate_selection_notify): Don't use SendMessage() to generate events for the same app, instead use gdk_event_put(). * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c * gdk/win32/gdkmain-win32.c * gdk/win32/gdkevents-win32.c: Thus, remove declaration, definition, initialisation and handling of gdk_selection_notify_msg, gdk_selection_request_msg and gdk_selection_clear_msg. * gdk/win32/gdkselection-win32.c (gdk_text_property_to_text_list, gdk_free_text_list, gdk_string_to_compound_text, gdk_free_compound_text): Implement trivially, witrh a text_list always having a single element, and a compound text always consisting of just a single (UTF-8!) string. Let's see how well this works. * gdk/win32/gdkselection-win32.c (gdk_selection_convert): Fix non-ASCII paste from the clipboard: Try getting the same formats from the Windows clipboard that gdk_property_change() puts there: CF_UNICODETEXT, UTF8_STRING or CF_TEXT+CF_LOCALE. * gdk/win32/gdkproperty-win32.c (gdk_property_change): When storing text on the clipboard, handle non-ASCII text correctly. The logic is as follows: If we have only ASCII characters, use CF_TEXT. Else, if we are on NT, use CF_UNICODETEXT. Else (we are on Win9x), if all the characters are present in the code page of some installed locale, use CF_TEXT and also set CF_LOCALE to that locale. Else (still on Win9x) store as RTF. We use a very simple RTF string, just the text, no fonts or other crap, with the non-ASCII characters as Unicode \uN keywords. Additionally, also store the UTF-8 string as such, under the format "UTF8_STRING", so that GDK can also paste from the Clipboard what it has copied there. (Thus no need to implement any RTF parser.) (find_common_locale): New function, implements the search for a locale for case 3 above. * gdk/win32/gdkglobals-win32.c: New global variables compound_text, text_uri_list, utf8_string, cf_rtf and cf_utf8_string. * gdk/win32/gdkim-win32.c (_gdk_ucs2_to_utf8): New function, converts from a wchar_t string to UTF-8. (_gdk_utf8_to_ucs2): Rename from _gdk_win32_nmbstowchar_ts. (_gdk_utf8_to_wcs): Rename from gdk_nmbstowchar_ts. * gdk/win32/gdkevents-win32.c (build_keypress_event): Use _gdk_ucs2_to_utf8(). * gdk/win32/gdkselection-win32.c: Remove some unnecessary logging. * gdk/win32/gdkdnd-win32.c: Plug memory leaks, the gdk_drag_context_ref() was called unnecessarily in a couple of places, meaning drag contexts were never freed. The same memory leaks seem to be present in gdk/linux-fb/gdkselection-fb.c, BTW. (gdk_drop_reply): For WIN32_DROPFILES drops, free the temporarily stored file list. * gdk/win32/gdkselection-win32.c: Clarify the use of the sel_prop_table. Now it is used only for storing the GDK_SELECTION "properties". The file names dropped with WM_DROPFILES -style DND is stored temporarily (between the drop and the target picking them up) in a separate place. Have a separate hash table to map selection atoms to owner windows. This used to be quite mixed up. (_gdk_dropfiles_store): New function, to store the dropped file list for the drop target to possibly fetch, and clear it afterwards, from gdk_drop_reply(). (gdk_selection_owner_get): Much simplified now. 2002-01-09 jacob berkman * gtk/gtklayout.c (gtk_layout_style_set): set the background of our bin window also (fixes #58957) Wed Jan 9 19:10:07 2002 Jonathan Blandford * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node): Now we test we can unselect nodes before selecting new ones. (gtk_tree_selection_real_select_node): be careful comparing booleans. Wed Jan 9 21:31:44 2002 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_sort): pass NULL to gtk_tree_model_rows_reordered and not an iter with user_data set to NULL (which is an invalid liststore iter, so iter_n_children failed, etc) 2002-01-09 Sven Neumann * tests/prop-editor.c: declared internal functions static. Wed Jan 9 11:13:12 2002 Owen Taylor * gtk/gtkmenuitem.c (_gtk_menu_item_refresh_accel_path): Fix problem with menus without accel groups, such as the menus for option menus. * gtk/gtkpaned.c (gtk_paned_expose): Only conditionalize drawing of handle on whether both children are visible, not the drawing of the other child!. (#68325, Diego Gonzalez) Wed Jan 9 10:20:16 2002 Owen Taylor * gdk/x11/gdkdrawable-x11.c gdk/x11/gdkgc-c11.c: Check for RENDER before trying to use it... XRenderFindFormat() prints warnings if called when extension isn't present. Wed Jan 9 15:20:40 2002 Tim Janik * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel path upon parent changes. Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important fix to force vadjustments at size_alocate time from Xavier Ordoquy . Wed Jan 9 11:23:39 2002 Tim Janik * gtk/gtklayout.c (gtk_layout_get_property): * gtk/gtkspinbutton.c (gtk_spin_button_get_property): * gtk/gtktreeview.c (gtk_tree_view_get_property): * gtk/gtkwidget.c (gtk_widget_get_property): * gtk/gtkfontsel.c (gtk_font_selection_get_property): * gtk/gtkrange.c (gtk_range_get_property): * gtk/gtkviewport.c (gtk_viewport_get_property): * gtk/gtkprogressbar.c (gtk_progress_bar_get_property): don't cast a possible NULL pointer. 2002-01-08 Mike Kestner * gtk/gtkcelleditable.h : Use G_TYPE_INSTANCE_GET_INTERFACE. * gtk/gtktreednd.h : ditto. * gtk/gtktreemodel.h : ditto. * gtk/gtktreesortable.h : ditto. * gtk/gtkwidget.h : Don't reference incomplete _GdkRectangle type. 2002-01-08 Matthias Clasen * gtk/gtkplug.c, gtk/gtksocket.c: Speak of window IDs rather than XIDs in the docs. * gtk/gtkclipboard.c (gtk_clipboard_clear): Fix docs. Tue Jan 8 18:39:23 2002 Jonathan Blandford * gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): wow! Am I a moron or what 0 < 1 is not equivalent to strcmp ("a", "b") Tue Jan 8 18:04:01 2002 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_set_icon_size): Handle TOGGLE/RADIOBUTTON as well. (#68201, Damon Chaplin.) * gtk/gtktoolbar.c (get_first_child): Fix stupid bug, just introduced. Tue Jan 8 15:53:28 2002 Owen Taylor * gtk/gtkdnd.c (gtk_drag_find_widget): Fix coordinate translations, once and for all. * gtk/gtktextbuffer.c (paste_from_buffer): Free the ClipboardRequest structure. (#66198, HideToshi Tajima) 2002-01-08 jacob berkman * gtk/gtklayout.c (gtk_layout_move_internal): queue a resize on the child rather than the layout. see bug #68263 Tue Jan 8 14:51:19 2002 Owen Taylor * gtk/gtkpaned.c (gtk_paned_expose): Don't draw the handle if we aren't showing both children. (#68135, Diego Gonzalez) Tue Jan 8 14:45:43 2002 Owen Taylor * gtk/gtkwidget.c (gtk_widget_add_events): Fix leak of result of gtk_container_get_children(). Tue Jan 8 14:42:19 2002 Owen Taylor * gtk/gtktoolbar.c: Fix leaks of results of gtk_container_get_children(). (#68199, Damon Chaplin) Tue Jan 8 14:19:43 2002 Owen Taylor * gtk/gtkcheckbutton.c (gtk_check_button_size_allocate): Fix problem where child->requisition was accessed directly instead of calling get_child_requisition() (#68199, Damon Chaplin) 2001-01-08 James Henstridge * gtk/gtkstyle.c: add trailing */ on doc comment. Mon Jan 7 22:19:32 2002 Owen Taylor * gdk/x11/gdkdrawable-x11.c (draw_with_pixmaps): Fix a problem where were the offset into the image was passed into convert_to_format() wrong. * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Call gdk_x11_drawable_update_picture_clip () before using the picture; allow update_picture_clip() to take a NULL gc to mean no clipping. 2002-01-07 Matthias Clasen * gtk/gtksocket.c (gtk_socket_get_id): Doc typo fix. (#68172) * gtk/gtktreemodel.c (gtk_tree_path_is_descendant): Fix docs. * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Document. * gtk/gtkwindow.c (gtk_window_remove_accel_group): Fix docs. * gtk/gtkrc.c (gtk_rc_get_style_by_paths), gtk/gtkwidget.c (gtk_widget_get_toplevel, gtk_widget_push_composite_child), gtk/gtkdialog.c (gtk_dialog_new_with_buttons, gtk_dialog_run): Keep gtk-doc from messing up the indentation of inline examples. * gtk/gtkmain.c, gtk/gtkrc.c: Consistently call g_getenv() instead of getenv(). * gtk/gtktreemodel.c, gtk/gtkaccelgroup.c, gtk/gtkclipboard.c, gtk/gtkdnd.c, gtk/gtkiconfactory.c, gtk/gtkrc.c, gtk/gtkstyle.c, gtk/gtkselection.c: Doc fixes. * gtk/gtkaccelmap.c (gtk_accel_map_add_filter, gtk_accel_map_foreach_unfiltered, gtk_accel_map_load_scanner): Document. 2002-01-07 Anders Carlsson * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Remove unused pixels and rowstride variables. (gtk_cell_renderer_pixbuf_get_size): Check for non-NULL width. Mon Jan 7 08:48:23 2002 Tim Janik * gtk/gtkdnd.c (gtk_drag_find_widget): don't forget to offset the pointer by x/y_offset into the new window when we found the drag destination. * gtk/gtkaccelmap.c (internal_change_entry): fix return code for simulation when the entry already contains the required accel key and mod. 2002-01-06 Matthias Clasen * docs/debugging.txt: Replace GTK_NO_CHECK_CASTS by G_DISABLE_CAST_CHECKS. * gtk/gtkaccelgroup.c (gtk_accel_group_from_accel_closure, gtk_accel_group_query, gtk_accel_group_find, gtk_accel_groups_from_object): Document. * gtk/gtkaccellabel.c (gtk_accel_label_set_accel_closure): Document. 2002-01-04 Hans Breuer * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c : need to cast image->mem away from void* to avoid 'error C2036: 'void *' : unknown size'. Doing pointer arithmetics on void pointers is a GCCism afaik. * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for _gdk_draw_pixbuf () * gdk/makefile.msc gdk/win32/makefile.msc gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image and take care of image->visual possibly NULL. * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(), _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth(). Again take care of image->visual possibly NULL. * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image() * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap instead of private field access * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt colormap setting to the gdk-X behaviour 2001-01-04 Matthias Clasen * gtk/gtkwidget.c: Documentation additions. 2001-01-04 Matthias Clasen * gtk/gtkobject.c (gtk_object_dispose): Fix a comment. * gtk/gtkwidget.c (gtk_widget_set_sensitive): tiny docs change 2002-01-04 Havoc Pennington * gtk/gtkwidget.c (gtk_widget_set_sensitive): tiny docs change Fri Jan 4 13:05:15 2002 Owen Taylor * gtk/gtkdnd.c (gtk_drag_find_widget): At least don't infinite loop if the widget and window heirarchies don't correspond. * gtk/gtkdnd.c (gtk_drag_find_widget): Handle changes in heirarchy in ::drag_motion, ::drag_drop callbacks by referencing child widget lists. (Patch from Tim) * gtk/gtkdnd.c (gtk_drag_find_widget): Fix a problem with widgets where window.x != widget->allocation.x Fri Jan 4 01:36:48 2002 Owen Taylor * gdk/x11/gdkdrawable-x11.c (convert_to_format): Optimize a little bit. (More for consistency than because it makes much of a difference.) Thu Jan 3 22:18:15 2002 Owen Taylor * gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h (_gdk_x11_have_render): Private function to tell if we have RENDER extension. * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return None if we don't have RENDER extension. * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't use Xft unless we have render extension. * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture): Handle missing render extension. * gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c gdk/gdkinternals.h: Add a private copy_to_image() virtual function to the GdkDrawable vtable that extends get_image() to allow copying onto existing images. Make the default implementation of get_image() use this so that backends don't have to implement both. Add private wrapper _gdk_drawable_copy_to_image(). * gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement copy_to_image() semantics, speed up by using ShmPixmaps and XCopyArea when possible, XFlush() after ungrabbing the server, generally redo the logic once again. * gdk/gdkinternals.h gdk/x11/gdkimage-x11.c _gdk_windowing_bits_per_depth(): Function to convert from depth to bits-per-pixel. (We assume only one bpp per depth - X requires this.) * gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB scratch image code into a generic _gdk_image_get_scratch() chunk of code that we can use other places we need scratch images. * gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h: Add _gdk_image_new_for_depth() as the backend to _gdk_image_new() to allowing creating images with a depth and no visual. * gdk/gdkpixbuf-drawable.c: Fix so that getting parts of images not at 0,0 actually works. * gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c: - Add a new GdkDrawableClass vfunc _draw_pixbuf, and _gdk_draw_pixbuf() [ will be made public later ], to allow backends to accelerate drawing pixbufs. - Move the implementation of gdk_pixbuf_render_to_drawable_alpha() to be the default implementation. - Update docs for gdk_pixbuf_render_to_drawable_alpha(). - Optimize the default implementation by using _gdk_image_copy_to_pixmap() and scratch shared images, and special casing the compositing. * gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf() with alpha using the RENDER extension. * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Optimize by _gdk_image_copy_to_pixmap() and scratch images. * tests/testrgb.c: Add test for speed of alpha composition, reduce the number of iterations since alpha composition can be a bit slow. * gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap): Private function to get a ShmPixmap for an image, if possible. 2002-01-04 Anders Carlsson * tests/testtreesort.c: Add my cool list of integers. Thu Dec 27 18:12:55 2001 Owen Taylor * gdk/x11/gdkproperty-x11.c (gdk_property_get): Fix problem where retrieved atoms weren't properly returned. 2002-01-03 Anders Carlsson * gtk/gtktextview.c (gtk_text_view_key_press_event): When tab is pressed and the text view isn't editable, move the focus instead. * gtk/gtkstyle.c (gtk_default_draw_focus): Free dash list if necessary. * gtk/gtkhsv.c (gtk_hsv_get_focus_gc): Free dash list. * gtk/gtkcolorsel.c (get_focus_gc): Free dash list. * gtk/gtkdnd.c (set_icon_stock_pixbuf): Don't unref the mask if it's NULL. * gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to _gtk_tree_view_queue_draw_node. (gtk_tree_view_row_has_child_toggled): Only redraw one node. * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): sort_column_id can be 0. * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node): Only redraw one the node being selected. * gtk/gtktreeprivate.h: Add _gtk_tree_view_queue_draw_node. Wed Jan 2 23:09:06 2002 Tim Janik * gtk/gtkcontainer.c (_gtk_container_queue_resize): don't ignore realized but visible && !mapped resize containers (which is possible with unset CHILD_VISIBLE now). 2002-01-02 jacob berkman * gtk/Makefile.am (LDFLAGS): automake still doesn't support libsomething_la_LDFLAGS, so fix the build again 2002-01-01 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_expose_event): propagate exposes to no window children not in the buffer window. (gtk_text_view_class_init): add move_focus bindings for Ctrl-Tab - is this the right way to do it? (gtk_text_view_focus): add focus method, just chains up for now, I'm not sure why the GtkContainer implementation doesn't work * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): fill in the text line for the child anchor segment * tests/testtext.c (do_add_focus_children): add another test example (to put focusable buttons into the widget) 2002-01-01 Havoc Pennington * docs/README.linux-fb: note that this file is obsolete * docs/Changes-2.0.txt, docs/Changes-1.2.txt: Add notes to these files that they should not be edited and look in the reference manual instead. Probably these files should just be replaced by the note, and their main contents deleted. * gtk/gtktextview.c: docs * gtk/gtktextmark.c: docs * gtk/gtktextchild.c: docs * gtk/gtktextbuffer.c: docs stuff * gtk/gtkclipboard.c (gtk_clipboard_get): fool with docs to maybe give people more leads in sorting out PRIMARY vs. CLIPBOARD 2002-01-01 Tor Lillqvist * demos/Makefile.am (test-inline-pixbufs.h): Append EXEEXT to ../gdk-pixbuf/gdk-pixbuf-csource. 2001-12-31 Tor Lillqvist * gdk/win32/gdkgc-win32.c (predraw_set_foreground): Improved error handling. (gdk_win32_hdc_get,gdk_win32_hdc_release): Silence gcc -Wall. * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image): Silence gcc -Wall. Use GDK_IS_PIXMAP_IMPL_WIN32 instead of GDK_IS_PIXMAP in one more place. * gdk/win32/gdkinput-win32.c (_gdk_input_other_event): Silence gcc -Wall. * gtk/Makefile.am (libgtk_win32_1_3_la_LDFLAGS): Add -lwsock32. 2002-01-01 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_get_default_attributes): doc fix 2002-01-01 Havoc Pennington * gtk/gtktextview.c (changed_handler): Replace call to gtk_widget_size_request() that expected to actually compute the request with a direct use of widget_class->size_request, so we get our size request right; fixes remaining part of #63065 reported by Matthias Clasen 2001-12-31 Havoc Pennington * tests/testtext.c (do_insert_and_scroll): remove backward_char since we no longer have bogus newline (dialog_response_callback): remove another backward_char horkage, reported by Matthias Clasen #63065 2001-12-31 Havoc Pennington * gtk/gtktextbtree.c (gtk_text_btree_node_view_check_consistency): fix an incorrect assertion that the "valid" flag is always correct in a node and add explanatory comment. This keeps me from reproducing #59101, but I'm remembering that 59101 was actually about incorrect pixel totals, so I'm not sure 59101 is actually fixed. May just have stopped happening due to some change in how C-k works. 2001-12-31 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_start_selection_drag): extend selection if shift is down, bug #50939 (gtk_text_view_button_press_event): add double/triple click selection to the current selection if shift is down 2001-12-31 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index): fix to use ensure_byte_offsets not ensure_char_offsets, patch from Padraig O'Briain bug #67356 2001-12-30 Havoc Pennington * gtk/gtkdialog.h (GtkDialogFlags): fix GtkDialogFlags to have the right values, reported by Jeff Franks 2001-12-30 Matthias Clasen * gtk/gtkwindow.c, gtk/gtkimcontextsimple.c: Minor documentation tweaks. 2001-12-28 Matthias Clasen * gdk/x11/gdkproperty-x11.c, gdk/x11/gdkselection-x11.c: Minor documentation tweaks. 2001-12-28 Tor Lillqvist * gdk/win32/gdkfont-win32.c: Use G_N_ELEMENTS(). (unicode_classify): Don't return -1 on encountering an unclassified character, but play it safe and return U_BASIC_LATIN. Thu Dec 27 16:05:30 2001 Owen Taylor * gtk/gtkarrow.c gtk/gtkimage.c gtkpixmap.c: Make interpretation of misc->xpad/ypad consistent with GtkLabel. Do directional flipping when interpreting misc->xalign/yalign. Fix off-by-one error for negative x,y. (#67472, reported by Mathieu Lacage) Thu Dec 27 15:45:41 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_style_internal): Remove optimization that was causing problems because we called gtk_widget_size_request() before we called gtk_widget_queue_resize() so RESIZE_NEEDED was not set. Optimization shouldn't mattter now that we are smart about needlessly size requesting or allocating widgets. (#67598, reported by Jacob Berkman) Thu Dec 27 15:38:20 2001 Owen Taylor * gtk/gtkmenu.c (gtk_menu_stop_navigating_submenu_cb): Call gdk_window_get_pointer() on menu->bin_window not menu->window, so we get the correct window for the menu item. (#65213, Guillermo S. Romero) Thu Dec 27 15:13:44 2001 Owen Taylor * gtk/gtkmenu.c (gtk_menu_set_title): Allow unsetting the title by setting to NULL. Move docs inline. Update the title if the tearoff window already exists. Code cleanup. (Fixes #65190, reported by Vitaly Tishkov.) Thu Dec 27 14:04:22 2001 Owen Taylor * gtk/gtksocket.c (gtk_socket_key_press_event): gtk/gtkplug.c (gtk_plug_key_press_event): Don't do special handling of key presses unless we are doing iter-app embedding. (Fixes #67590, Anders Carlsson) Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), (gtk_tree_model_sort_sort_level), (gtk_tree_model_sort_insert_value): fix a few places where I was confused between modelsort iters and other iters. This was really going to happen someday ;) Wed Dec 26 23:41:41 2001 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): ensure we are unprelighted before reordering * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): we need to break out of the for loop, not return (this fixed the 'selection freeze' bug). * gtk/gtktreemodelsort.c: more fixage and cleanups. It seems to be pretty stable now, though it still needs some more code cleanups. Wed Dec 26 12:32:31 2001 Owen Taylor * docs/Changes-2.0.txt: Document the fact that gtk_paned_set_handle_size() has been removed. * gtk/gtkpaned.h Remove gtk_paned_handle_size() compat macro, since it pointed to gtk_paned_set_handle_size(), which was removed. (#66760, Matt Wilson) Wed Dec 26 12:28:24 2001 Owen Taylor * gtk/gtkdnd.c (gtk_drag_highlight): Connect gtk_drag_hightlight_expose _after_, so it works with widgets that paint there entire background. (#66735) Wed Dec 26 12:17:06 2001 Owen Taylor * gtk/gtkplug.c (gtk_plug_size_allocate): Assign the allocation to widget->allocation. (Fixes #67290, Chris Phelps.) Wed Dec 26 11:49:01 2001 Owen Taylor (#67542, reported by Anders Carlsson) * gtk/gtkstyle.c (gtk_style_real_init_from_rc): Merge rc_style->font_desc with defaul style instead of replacing it. * gtk/gtkrc.c (gtk_rc_style_real_merge): Allow partial font descriptions in RC styles by calling pango_font_description_merge(). 2001-12-24 James Henstridge * gtk/gtkdialog.h (doc comment): s/// to make the doc valid with both SGML and XML. Sat Dec 22 12:38:03 2001 Owen Taylor * configure.in: 1.3.12, interface, binary age 0. * configure.in: Require new versions of Glib, Pango, ATK. * NEWS: Updated. * configure.in: Make explicit what libtool we are executing. (Tomas Ogren) * gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes. * gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix parameter names for docs. Sat Dec 22 22:35:29 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_realize) gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK. * gtk/gtkentry.c (gtk_entry_key_release) gtk/gtktextview.c (gtk_text_view_key_release_event): Pass key release events to the input method. * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Handle release of Control/Shift to end hex sequence. * modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): Handle key releases as well as presses. 2001-12-21 Matthias Clasen * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Trivial doc adjustment. * gtk/gtklabel.c (gtk_label_new_with_mnemonic), gtk/gtkbutton.c (gtk_button_new_with_mnemonic): More precise documentation about underscores and mnemonics. (#66380) * gtk/gtktextiter.c (gtk_text_iter_backward_word_starts): Fix cyclic reference in docs. * gtk/gtklabel.c (gtk_label_set_justify): Correct documentation of default value. (#65402) * gtk/gtkmain.c (gtk_set_locale, gtk_disable_set_locale): Markup fixes. 2001-12-20 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_realize): Don't call map here. Tue Dec 18 16:15:55 2001 Owen Taylor * gdk/gdkgc.h: Explicitely deprecate gdk_gc_set_font() (reported by Jeff Franks.) Tue Dec 18 16:07:28 2001 Owen Taylor * gdk/gdkkeys.h (struct _GdkKeymapClass): Fix prototype for direction_changed. (Reported by Jeff Franks.) 2001-12-18 Padraig O'Briain * gtk/gtktreeview.c (gtk_tree_view_get_expander_column): Fix typo (list->data becomes list->next) 2001-12-06 Havoc Pennington Add Unicode control char menu, based on patch from Dov. Bug #63495 * gtk/gtkentry.c (gtk_entry_commit_cb): share code via gtk_entry_enter_text (gtk_entry_enter_text): function to do "typing in text" (popup_targets_received): add the Unicode menu items * gtk/gtktextview.c (popup_targets_received): add missing mnemonic on Input Methods item, and add the unicode menu items. * gtk/gtktextutil.h, gtk/gtktextutil.c: private utilities to be used in GtkEntry and GtkTextView - may become public later. 2001-12-16 Kjartan Maraas * gtk/gtkprogressbar.c: Fix a typo. * gtk/gtkpaned.c: Fix a typo. 2001-12-15 Darin Adler Fix some warnings. * gdk/x11/gdkproperty-x11.c: (gdk_property_get): Fix wrong type in g_new -- bug if sizeof (GtkAtom) != sizeof (GtkAtom *). * gdk/x11/gdkwindow-x11.c: (create_moveresize_window): FALSE -> NULL * gtk/gtkaccellabel.c: (gtk_accel_label_refetch): Remove unused local. * gtk/gtklistitem.c: (gtk_list_item_expose): Remove unused local. * gtk/gtktextiter.c: (_gtk_text_iter_backward_indexable_segment): Restructure loop to get rid of uninitialized variable warning. Also gives a tiny efficiency gain. 2001-12-15 Murray Cumming * Fixed first arg type of GtkScale's "format_value" signal's function pointer. 2001-12-14 Vitaly Tishkov tvv@sparc.spb.su docs/reference/gtk/tmpl/gtkcelleditable.sgml gtkcelleditable -> GtkCellEditable docs/reference/gtk/tmpl/gtktreesortable.sgml gtktreesortable -> GtkTreeSortable 2001-12-13 Sebastian Wilhelmi * demos/testpixbuf-drawable.c, demos/testpixbuf-save.c, demos/testpixbuf-scale.c, demos/testpixbuf.c: Call g_object_ref and g_object_unref instead of gdk_pixbuf_ref and gdk_pixbuf_unref resp. Thu Dec 13 22:02:41 2001 Kristian Rietveld * gtk/gtktreeview.c (validate_visible_area): free path at the end 2001-12-13 Matthias Clasen * gtk/gtkdialog.c, gtk/gtkrc.c, gtk/gtkwidget.c: Markup fixes. Thu Dec 13 20:37:27 2001 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_button_press): do not try to find the clicked node in the tree when tree == NULL 2001-12-13 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_button_press): Compare event->state with the default mod mask. 2001-12-12 jacob berkman * gtk/gtk*.h (GTK_IS_*_CLASS): s/obj/klass/ where appropriate Wed Dec 12 17:22:45 2001 Owen Taylor * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): Reset the existing slave before removing it to give it a chance to commit and emit "preedit_changed" in case there was still a preedit string. 2001-12-12 Matthias Clasen * gtk/gtktextlayout.c: Typo fixes * gtk/gtkwindow.c (gtk_window_set_position): Typo fix. (#66746) * gtk/gtkwidget.c (gtk_widget_send_expose, gtk_widget_get_toplevel, gtk_widget_get_default_direction): Doc fixes. (#66727, #66737, #66744) * gtk/gtkstyle.h (GTK_STYLE_NUM_STYLECOLORS): Remove. (#66467) Wed Dec 12 16:43:10 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_unrealize): Remove validate_rows_timer in unrealize. Reported by Matthew Wilson. Wed Dec 12 16:18:26 2001 Owen Taylor * gtk/gtkmenu.c (gtk_menu_realize): Remove support for "prepainting" the menu before realizing other than via gtk_style_set_background() - this was broken when we added menu scroll support. * gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the window in the expose event -- fixes problem with border flashing during scrolling. Wed Dec 12 15:11:49 2001 Owen Taylor * gtk/gtksettings.c (gtk_settings_get_property): Support using names/nicks for the gdk_settings values for enum valued types. (#57678, reported by Anders Carlsson) Wed Dec 12 15:01:33 2001 Jonathan Blandford * gtk/gtknotebook.c (gtk_notebook_set_tab_label): keep in sync with insert_page_menu. Code duplication is bad. * gtk/gtklabel.c (gtk_label_mnemonic_activate): Whoops -- got the wrong fix yesterday. Wed Dec 12 14:27:30 2001 Owen Taylor * gtk/gtkmenubar.c (window_key_press_handler): Fix check for modifiers. 2001-12-12 James Henstridge * gtk/gtkmenu.c (gtk_menu_key_press): check GTK_MENU_ITEM (menu_item)->accel_path first when looking up the accel path. Tue Dec 11 19:18:21 2001 Owen Taylor * tests/testgtk.c (layout_expose_handler): Only draw for events on the bin window. Tue Dec 11 18:55:16 2001 Jonathan Blandford * gtk/gtklabel.c (gtk_label_mnemonic_activate): Small fix to let mnemonics work with notebooks. Tue Dec 11 15:25:06 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_size_allocate): Change bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view). Makes some flicker while scrolling go away. 2001-12-11 Michael Natterer * demos/testpixbuf-save.c: added new keyboard shortcut 'a' which adds alpha to the pixbuf; re-load the saved pixbuf and pixel-by-pixel compare it with the original one. Tue Dec 11 15:39:08 2001 Soeren Sandmann * ChangeLog: Fix wrong ChangeLog entry * gtk/gtkstyle.c (gtk_default_draw_shadow_gap): Fix drawing of top right corner 2001-12-10 jacob berkman * gdk/x11/gdkinput-xfree.c (_gdk_input_grab_pointer): * gdk/x11/gdkmain-x11.c (gdk_pointer_grab): (gdk_keyboard_grab): do not grab things if the nograb debug flag is set * gdk/gdkinternals.h: * gdk/gdk.c: add nograbs debug flag to disable grabs of the keyboard / mouse Mon Dec 10 19:42:29 2001 Jonathan Blandford * gtk/gtktreeview.c (validate_rows_handler): stupid bug where I didn't reset the timer. 2001-12-10 Matthias Clasen * gtk/gtkcontainer.c (gtk_container_child_type): Close comment. 2001-12-09 Matthias Clasen * gtk/gtkviewport.c: Add docs. Mon Dec 10 16:21:38 2001 Jonathan Blandford * gtk/gtkrbtree.c (_fixup_parity): New function to fixup parity. RBTree corruption bug-- 2001-12-10 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Return if edited_column is NULL, also grab focus before removing the cell_editable. Sun Dec 09 15:06:51 2001 George Lebl * gtk/gtkrange.c (gtk_range_calc_layout): check for 0 value on the denominator in the horizontal case just like we do in the vertical case (why I didn't notice that there were two cases the first time around is beyond me:). Also fix indentation in the vertical case. 2001-12-09 Anders Carlsson * gdk/x11/gdkevents-x11.c: Update xsettings name. * gtk/gtkdnd.c (gtk_drag_check_threshold): Use the gtk-dnd-drag-threshold GtkSetting. * gtk/gtksettings.c (gtk_settings_class_init): Add setting for dnd drag threshold. 2001-12-09 Matthias Clasen * gtk/gtkcontainer.c: Add docs. 2001-12-08 Matthias Clasen * gtk/gtkwidget.c: Doc markup fix. * gtk/gtktreeviewcolumn.c: Markup fixes. (#66447) * gtk/gtktreestore.c: Typo fixes. (#66445) * gtk/gtkaccelgroup.c: Misc doc markup. (#66425) * gtk/gtkclipboard.c (gtk_clipboard_get_owner): Fix reference to gtk_clipboard_set_with_owner(). (#66424) Sat Dec 8 16:12:10 2001 Christopher Blizzard * gdk/gdk.c (gdk_init_check): Fallback to setting the prgname to "" if someone doesn't pass in a valid argc. (Patch from Fabrice Bellet , #54127). Sat Dec 8 10:04:54 2001 Jonathan Blandford * gtk/gtkrbtree.c (_gtk_rbtree_debug_spew): Add debug spew to lots of places, so that people with crashy trees can just run their program with GTK_DEBUG=TREE. Sat Dec 8 20:57:24 2001 Kristian Rietveld * gtk/gtkliststore.c (gtk_list_store_remove): nuke the stamp++, per jrb's request 2001-12-08 Anders Carlsson * tests/testgtk.c (layout_expose_handler): Don't return TRUE since then the default GtkLayout expose handler won't be called. Fri Dec 7 23:42:50 2001 Jonathan Blandford * gtk/gtktreeview.c (validate_rows_handler): remove g_return_if_fail. * gtk/gtktreeview.c (validate_visible_area): Patch from Manish Singh to fix bug when rendering Tree with an empty model. Fri Dec 7 20:06:14 2001 Jonathan Blandford * gtk/gtktreeview.c (validate_visible_area): get logic right, #66249 * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): fix bug where removing a node ended up with a corrupt tree. Really really nasty bug. (_gtk_rbtree_debug_spew): new debug helper function (_fixup_validation): new inline function to clean up code readability a lot. Fri Dec 7 19:34:51 2001 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Close comment. 2001-12-07 Matthias Clasen * gtk/gtkstyle.h: Typo fixes. * gtk/gtkstyle.c, gtk/gtktoolbar.c: Add docs. * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Fix docs. Fri Dec 7 16:05:22 2001 Owen Taylor * modules/input/gtkimcontextxim.c: Display the XIM status callbacks with a popup window. (Patch from HideToshi Tajima, #50628, somewhat modified.) Fri Dec 7 12:07:15 2001 Tim Janik * gtk/Makefile.am: each source generation rule needs to use its own temporary file, to avoid clashes for parallel builds. fixed rules for gtkmarshalers.h and gtkmarshalers.c to use their own temp files. 2001-12-07 Havoc Pennington * gdk/x11/gdkcursor-x11.c (gdk_cursor_new): fix up my list of "cursors that are actually useful" in gdk_cursor_new() docs Thu Dec 6 23:09:21 2001 Owen Taylor * gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Fix errors in computing the size of the second child. Thu Dec 6 16:50:17 2001 Owen Taylor * gtk/gtkrange.c: Make button 1 clicks on the trough do pages, button 3 steps. (Patch from Hans Breuer #63735) 2001-12-06 Matthias Clasen * gtk/gtklabel.c: Fix docs. (#66383) * gtk/gtkbbox.c (gtk_button_box_set_child_secondary): Fix docs. (#66278, #66280) * gdk/gdkwindow.h (gdk_window_get_deskrelative_origin), gdk/gdkimage.h (gdk_image_get): Deprecate. (#66208) * gtk/gtkcolorsel.c (gtk_color_selection_set_update_policy): Don't emit a g_warning() about being deprecated. (#66208) * gtk/gtkaccellabel.c (gtk_accel_label_set_accel_widget): Add docs. * gtk/gtkcontainer.c: Doc fixes. * gtk/gtkliststore.c (gtk_list_store_clear): Add docs; misc doc fixes. * gtk/gtkstyle.c (gtk_style_attach): Add docs. 2001-12-05 Sven Neumann * gtk/gtkwidget.c (gtk_widget_reset_shapes): close comment. * gtk/queryimmodules.c: g_dir_read_name() returns const. Tue Dec 4 21:46:13 2001 HideToshi Tajima * gtk/gtktreeprivate.h: restore the else case of #ifdef __GNUC__ #66225 2001-12-04 Manish Singh * gtk/gtkmain.c * gtk/queryimmodules.c: g_module_symbol takes a gpointer *, not just a gpointer. * gtk/gtkwidget.c (gtk_widget_push_composite_child): minor cosmetic correction to docs. * demos/gtk-demo/item_factory.c: add GTK_WINDOW() cast 2001-12-04 Havoc Pennington * gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): remove g_assert_not_reached() that was bogus, since we demand-create the tag info. reported by Chris Phelps Jump through assorted hoops to fix bug from Chris Phelps where removing tags from the table resulted in btree trying to access tag->table * gtk/gtktextbuffer.c: set up mechanics of adding/removing ourselves to the tag table * gtk/gtktexttagtable.c (_gtk_text_tag_table_add_buffer) (_gtk_text_tag_table_remove_buffer): private cruft to let us notify buffer of disappearing tags * gtk/gtktexttag.h: remove BTreeNode typedef from this public header, put it in tagprivate * gtk/gtktextbtree.c (_gtk_text_btree_new): don't connect to tag_removed; it's emitted too late. (_gtk_text_btree_notify_will_remove_tag): rename tag_remove_cb to this Padding for ABI-compat expansion * gtk/gtktexttag.h (struct _GtkTextAttributes): pad this (struct _GtkTextAppearance): one pad in here too * gtk/gtktextlayout.h (struct _GtkTextLayoutClass): padding here * gtk/gtktextview.h (struct _GtkTextViewClass): more padding, since action signals etc. seem pretty likely * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): padding * gtk/gtktexttag.h (struct _GtkTextTagClass): padding * gtk/gtktexttagtable.h (struct _GtkTextTagTableClass): padding 2001-12-04 Matthias Clasen * gdk/gdkcolor.h (gdk_colormap_change): Deprecate. (#65851) * gdk/gdktypes.h (GdkKeyInfo): Remove. (#66025) * gtk/gtkwindow.c, gtk/gtkwidget.c: Add docs, markup fixes. Tue Dec 4 18:51:44 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.h: remove gtk_tree_view_column_cell_event, #62084. Tue Dec 4 18:38:35 2001 Jonathan Blandford * demos/gtk-demo/main.c: (create_tree): Minor fix. * docs/tree-column-sizing.txt: Update * gtk/gtkrbtree.[ch]: Massive work to support validation. * gtk/gtktreemodel.c: Doc fixes. * gtk/gtktreeview.c: Incremental reflow added. * gtk/gtktreeviewcolumn.c: ditto * gtk/gtktreeviewcolumn.h: ditto 2001-12-04 Havoc Pennington * gtk/gtktexttag.c (gtk_text_tag_set_property): add a warning for "invisible" property, #65999 2001-12-04 Matt Wilson * gtk/gtktreestore.c (gtk_tree_store_insert): fixed docs Tue Dec 4 12:16:31 2001 Owen Taylor * gtk/gtksettings.c (gtk_settings_set_property_value): Simplify, make more efficient and fix memory leak when turning quark into a string. (#66103, HideToshi Tajima) * gtk/gtkcolorsel.c: Ref and sink priv->tooltips in init() and unref priv->tooltips in destroy rather than calling gtk_object_destroy() which has no effect on memory management. (#66104, HideToshi Tajima) * gtk/gtkcolorsel.c (palette_set_color): Use g_object_set_data_full() so we free the when the object is freed. (Fixes memory leak, #66096, HideToshi Tajima) * gdk/gdkevents.c (gdk_synthesize_window_state): Use a full GdkEvent structure to avoid reads of uninitialized/ invalid memory in gdk_event_put() (#65877, patch from Hidetoshi Tajima) Tue Dec 4 11:06:54 2001 Owen Taylor * gtk/gtkmenuitem.c: Revert my last mistaken change - toggle-size-request doesn't take a requisition. * gtk/gtkmenuitem.c (gtk_menu_item_class_init): Fix reference to marshaler that no longer exists. Mon Dec 3 16:39:17 2001 Owen Taylor Patch from Bill Haneman (with many modifications) to make the focus color work on dark themes and to make the focus line width configurable. (#61079, #63074) * gtk/gtkwidget.c: Add style properties, ::focus-widget, ::focus-line-width, and ::focus-padding. * gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a state argument as well so we can use fg[STATE] to draw instead of always drawing with black. Cange paint_focus() to respect GtkWidget::focus-width and GtkWidget::focus-line-pattern. Fix continuity problem where the default 1-1 stipple had a blob in one corner and a gap in the other. Change the interpretation of x/y/width/height to be the bounding box of the focus rect instead of the rectangle passed to gdk_draw_rectangle. * gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width and ::focus-line-padding. * gtk/gtkentry.c: Handle :;focus-width property; cleanup and remove duplicated code; fix drawing of focus rectangle when interior-focus = FALSE. (#63072, #63073) * gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeviewcolumn.c: Basic fixups to make compile; Range and TreeViewColumn will need more extensive fixing. * gtk/gtkcolorsel.c: Honor focus line attributes when drawing the focus on the color swatches. (#63071) * gtk/gtkhsv.c: Honor focus line attributes when drawing the focus for the ring and triangle. * docs/widget_geometry.txt: Start at documenting how various widgets are drawn. * gtk/gtkbutton.c (_gtk_button_paint): Export _gtk_button_paint() librarywide, so we don't have duplicate a bunch of code in gtktogglebutton.c. * gtk/gtktogglebutton.c: Use _gtk_button_paint(). Mon Dec 3 21:04:13 2001 Jonathan Blandford * gtk/gtkmarshalers.list: remove VOID:BOXED,POINTER and NONE:POINTER. 2001-12-03 Alex Larsson * gtk/gtkaccellabel.c: * gtk/gtkarrow.c: * gtk/gtkcolorsel.c: * gtk/gtkcontainer.c: * gtk/gtklabel.c: * gtk/gtktextview.c: * gtk/gtktogglebutton.c: * gtk/gtktreeview.c: * gtk/gtkwindow.c: Return FALSE from expose handlers. Mon Dec 3 21:15:59 2001 Kristian Rietveld * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if we use pointers, we should free the previous pointer first (if it exists), before we set a new pointer. (#64726) * gtk/gtktreeprivate.h: get rid of cursor_drag * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check for cursor_drag (gtk_tree_view_bin_expose): don't directly return in the while loop (gtk_tree_view_class_init): indentend expanders by default (gtk_tree_view_header_focus): only give the button focus if it's clickable, visible and the column is reorderable (#65539) * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button): create and free cursor Mon Dec 3 10:23:07 2001 Owen Taylor * gtk/gtkcalendar.c (gtk_calendar_size_request): Fix some bugs with size requisition. (From Bill Haneman) * gtk/gtkcalendar.c: Draw headers and selection in base/text[SELECTED] instead of fg/bg[SELECTED]. * gtk/gtkcalendar.c: Miscellaneous cleanups to drawing code and formatting. 2001-12-03 Havoc Pennington * gtk/gtktextview.c (set_window_height): (set_window_width): Hmm, setter functions normally assign the new value to the object field. Reported by Chris Phelps. 2001-11-30 jacob berkman * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set the signal id to 0 after we disconnect from it 2001-11-30 Matthias Clasen * gdk/gdkdrawable.h (gdk_drawable_ref, gdk_drawable_unref), gdk/gdkcolor.h (gdk_colormap_ref, gdk_colormap_unref), gdk/gdkdnd.h (gdk_drag_context_ref, gdk_drag_context_unref), gdk/gdkgc.h (gdk_gc_ref, gdk_gc_unref): Deprecate. * gdk/gdkvisual.h: Use GDK_DISABLE_DEPRECATED, not GTK_DISABLE_DEPRECATED. * gdk/gdkcolor.c (gdk_colormap_ref, gdk_colormap_unref), gdk/gdkgc.c (gdk_gc_ref, gdk_gc_unref): Document. Fri Nov 30 16:37:01 2001 Owen Taylor * gtk/gtkcombo.c (gtk_combo_popup_list): Sanitize move/resize code, removing various bad, non-functional hacks. (Fixes #65048, reported by Damon Chaplin.) Fri Nov 30 16:12:21 2001 Owen Taylor * gdk/gdkpango.c: Patch from Hidetoshi Tajima to fix bad match error when target drawable is not the same depth as the root window. (#65841) * HACKING: Update. 2001-11-29 Matthias Clasen * gdk/gdkwindow.c: Typo fix. Thu Nov 29 21:35:56 2001 Kristian Rietveld * gtk/gtkmenu.c (gtk_menu_motion_notify): add checks for empty menu items to behave like insensitive items (#59456) * gtk/gtkmenuitem.c (gtk_real_menu_item_activate_item): select next item if the first item in the menu is a tear off item (#59456-2, suggestion by Matthias Clasen) * gtk/gtkmenushell.c (gtk_menu_shell_button_press), (gtk_menu_shell_button_release), (gtk_menu_shell_entry_notify), (gtk_menu_shell_leave_notify), (gtk_real_menu_shell_move_current), (gtk_real_menu_shell_activate_current): add check, so empty menu items behave like insensitive items (#59456) * gtk/gtkmenuitem.[ch]: add _gtk_menu_item_is_selectable to make the checks more readable ... * gtk/gtkmenushell.c (gtk_menu_shell_button_press), (gtk_menu_shell_button_release): causes the menu to dropdown if the caption is clicked again (#64977) 2001-11-29 Havoc Pennington * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): assertion here that we were at the end iterator was not correct; change code to move us to the end iterator. bug #65731 Wed Nov 28 20:05:44 2001 Owen Taylor * gtk/gtkaccellabel.c (gtk_accel_label_refetch): Remove improper use of g_locale_to_utf8() to convert from latin-1, and do it the easy way by building the string correctly in the first place. Wed Nov 28 19:34:15 2001 Owen Taylor * gdk/x11/gdkproperty-x11.c (gdk_property_change, gdk_property_get): Convert atoms to and from atoms for properties of type XA_ATOM. (#65555, patch from Hidetoshi Tajima) Wed Nov 28 18:37:04 2001 Owen Taylor * gtk/gtksocket.[ch] (gtk_socket_add_id): Rename 'id' parameter to avoid problems with Objective C. 2001-11-28 Matthias Clasen * gtk/gtkaccelmap.c: Typo fixes. (#65607) * gtk/gtkfixed.c (gtk_fixed_set_has_window, gtk_fixed_get_has_window): Fix docs. (#65505) * gtk/gtkwindow.c (gtk_window_set_mnemnonic_modifier): Document. Wed Nov 28 18:19:12 2001 Owen Taylor * gtk/gtkmenu.c (gtk_menu_set_tearoff_hints): Move accounting of menu->tearoff_scrollbar width to here and make sure we have the correct requisition. * gtk/gtkmenu.c (gtk_menu_position): Fix fixme by using gtk_window_move(). * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Force the requisition to be updated by calling gtk_widget_size_request() (#65440) * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_activate): queue resize before calling gtk_menu_set_tearoff_state(). Wed Nov 28 22:20:44 2001 Kristian Rietveld * demos/gtk-demo/editable_cells.c: fix typo * demos/gtk-demo/list_store.c (add_columns): remove call to gtk_tree_view_column_set_clickable which didn't make sense 2001-11-28 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_paint): put the warning explaining the validation error in front of the G_BREAKPOINT * gtk/gtkrange.c (gtk_range_adjustment_value_changed): call process updates with include_children = FALSE instead of TRUE, so we redraw the range only, not the whole darn window. Making GtkRange a NO_WINDOW widget had weirdly caused the text widget Trace/breakpoint trap bug to become much easier to trigger. Wed Nov 28 14:12:03 2001 Owen Taylor * gdk/Makefile.am (gdk_public_h_sources): Remove reference to gdkcursors.h. 2001-11-28 Matthias Clasen * gtk/gtkwindow.c (gtk_window_move): Add markup to docs. * gdk/gdkcursor.h: Directly include the contents of gdkcursors.h in the GdkCursorType enum. * gdk/gdkcursors.h: Deleted. * gdk/gdkkeysyms.h: Remove XFree86-specific keysyms, add header boilerplate. * gdk/Makefile.am: Remove the X-derived-headers rule. Tue Nov 27 20:17:55 2001 Owen Taylor * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_activate): Notify on the ::active property _here_, not in gtk_check_menu_item_set_active. Mon Nov 26 19:11:18 2001 Jonathan Blandford * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init): add 2 properties (PIXBUF_EXPANDER_OPEN and PIXBUF_EXPANDER_CLOSED) Sun Nov 25 21:19:02 2001 Owen Taylor * gdk/x11/gdkgeometry-x11.c: Add long, but horribly sketchy comment about what is going on in this file. * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix x/y problem. Sun Nov 25 18:59:19 2001 Owen Taylor * gtk/gtkoptionmenu.c (gtk_option_menu_calc_size): Calculate size based on the _child_ of the menu item, not the menuitem. (#65005, Damon Chaplin) * gtk/gtklistitem.c (gtk_list_item_new_with_label): Add some extra vertical padding to the label widget ... restores GTK+-1.2 spacing. (#65085, Damon Chaplin.) 2001-11-26 Tor Lillqvist * demos/pixbuf-demo.c * demos/gtk-demo/pixbufs.c: M_PI -> G_PI. * demos/gtk-demo/main.c (read_line): No flockfile() or getc_unlocked() on Win32. 2001-11-25 Tor Lillqvist * configure.in * acconfig.h: As we now use GDir, no need to check for dirent.h. Sun Nov 25 23:18:39 2001 Kristian Rietveld * gtk/gtktexttag.c (gtk_text_tag_set_property): free font_desc when finished (#65266) Sun Nov 25 23:16:29 2001 Kristian Rietveld * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): free data after we set the property. (#65264) Sun Nov 25 23:14:06 2001 Kristian Rietveld * gtk/gtkbutton.c: add destroy method so label_text gets freed if it has been allocated (#65268) Sat Nov 24 13:39:51 2001 Manish Singh * gdk/linux-fb/gdkdrawable-fb2.c * gdk/linux-fb/gdkpango-fb.c: update to latest Pango API * gdk/linux-fb/gdkwindow-fb.c: implement gdk_window_show_unraised * gdk/linux-fb/gdkfont-fb.c (gdk_font_load): plug memleak on set_family * gdk/linux-fb/gdkfbswitch.c: minor cleanups Sat Nov 24 22:05:27 2001 Kristian Rietveld * gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't deactivate menu when menu_item isn't sensitive (#61389) Sat Nov 24 15:35:26 2001 Kristian Rietveld * gtk/gtktreemodel.c (gtk_tree_model_foreach): free path before we return (in case of a failure here) Fri Nov 23 19:22:50 2001 Owen Taylor * gtk/gtknotebook.c: Handle events in windows other than widget->event_window properly. (#65079, reported by Damon Chaplin) * gdk/gdkevents.c (gdk_event_get_coords): Fix x/y bug. Fri Nov 23 18:57:46 2001 Owen Taylor * gtk/gtkmessagedialog.c (gtk_message_dialog_init): Align the image at the top. (#65020, request from Seth Nickell) Fri Nov 23 18:49:53 2001 Owen Taylor * gtk/{gtkclist,gtkctree.c} (draw_row): Remove some strange arithmetic that was resulting in rows being drawn too low. (#65001, reported by Damon Chaplin) Fri Nov 23 18:36:42 2001 Owen Taylor * gtk/gtkrange.c (gtk_range_button_press): Offset invalidated range correctly. * gtk/gtkclist.c (hadjustment_value_changed): Fix scrolling of title window. (#65001, reported by Damon Chaplin) * gtk/gtkcombo.c (gtk_combo_button_event_after): Replace horrible hack with use of ::event_after. Thu Nov 22 15:01:03 2001 Owen Taylor * Version 1.3.11 * configure.in (ATK_REQUIRED_VERSION): Require GLib-1.3.11, Pango-0.22, ATK-0.7. * tests/prop-editor.c (property_widget): Restore to working as well as it did before. * gtk/gtklistitem.h: Mark deprecated since it is an integral part of GtkList. * demos/gtk-demo/demo-common.h: New header file, for a common functions not important to the meat of the demos. * demos/gtk-demo/main.c (demo_ifind_file): Add a utility function to search for a file used by the demo. * demos/*.c: Use demo_find_file. 2001-11-23 Matthias Clasen * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag), gtk/gtkruler.c (gtk_ruler_get_metric): Actually commit typo fixes already mentioned in ChangeLog entry on 2001-11-14. * docs/reference/gtk/tmpl/drawing.sgml: Minor markup fixes. 2001-11-23 Hans Breuer * gdk/win32/gdkfont-win32.c (gdk_font_from_description) : reflect Pango API change * gtk/gtk.def : updated externals * gtk/gtkfixed.c (gtk_fixed_get_has_window) : use g_return_val_if_fail() to avoid 'function must return a value' * gtk/gtkrc.c : added spaces to fix small coding style issues * gtk/gtkwidget.c : ... and linebreaks. Also a static for 'static correctness' * gtk/makefile.msc.in : temporary(?) disable gtk because they only can be build on win32 after applying my patch Wed Nov 21 22:55:37 2001 Tim Janik * gtk/gtkbutton.c (gtk_button_map): raise event window afte children, in order for the input pnly window to stay *above* children. Wed Nov 21 22:44:27 2001 Tim Janik * tests/testtreeview.c: make hackery worse ;) by checking fundamental type walks againts G_TYPE_FUNDAMENTAL_MAX. * tests/prop-editor.c: disable type hackery. Wed Nov 21 17:41:39 2001 Owen Taylor * gdk/gdkimage.c (gdk_image_get): Fix problem with lost parameter. Wed Nov 21 17:01:25 2001 Owen Taylor * gtk/gtkcellrenderer.h gtk/gtktreemodel.h gtk/gtktreeprivate.h gtk/gtktreesortable.h: Remove trailing commas in enum declarations. Wed Nov 21 15:21:26 2001 Owen Taylor * configure.in (GTK_MICRO_VERSION): Version 1.3.11, interface, binary age 0. * NEWS: Updates * gtk/gtktreemodel.c gtk/gtkrc.c gtk/gtkentry.c: SGML fixes in docs. * gtk/gtkmain.h: Remove unused and misnamespaced get_gtk_win32_directory() prototype. * gdk/gdkimage.c (gdk_image_get): Fix parameter names to match header. * gdk/gdkwindow.h: Fix parameters to gdk_window_shape_combine_mask(), gdk_window_set_transient_for(), gdk_window_set_geometry_hints(), to match docs. * gdk/gdkevents.c (gdk_event_get_coords) gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_active) gtk/gtkdnd.c (gtk_drag_set_icon_stock): Fix parameter names in docs. * docs/faq/Makefile.am (FAQ_FILES): Add missing files. (#64961, Akira Tagoh) Wed Nov 21 11:41:29 2001 Owen Taylor * tests/testgtk.c (create_tooltips): Ref-sink the tooltips object. * gtk/gtktoolbar.c (gtk_toolbar_init): Ref-sink the tooltips object. * gtk/gtkfilesel.c (open_new_dir): Fix some constness warnings. * gtk/gtkaccelgroup.c: Rename gtk_accel_groups_from_acceleratable() back to gtk_accel_groups_from_object(), change @acceleratable parameter to gtk_accel_groups_activate() accordingly. * gtk/gtkaccelmap.c (gtk_accel_map_lookup_entry): Remove left-over comment about quark return. * gtk/gtkaccelmap.h: Fix spelling of gtk_accel_map_foreach_unfiltered(). * gtk/gtk-boxed.defs (GtkIconSource): added as a boxed type. (Patch from Matt Wilson) * gtk/gtkobject.c (gtk_object_finalize): Warn if a floating object is finalized. Tue Nov 20 21:25:08 2001 Tim Janik * applied patch from owen to get rid of accel map notifiers. changed things to fix reentrancy and API as discussed on gtk-devel. * gtk/gtkaccelgroup.[hc]: (gtk_accel_group_finalize): unregister this accel group from all accel map paths. (accel_closure_invalidate): handle invalidation of closures by disconnecting their accelerators. (quick_accel_add): move closure connection and changed notification into this function to reduce code duplication. don't emit change notification on closurers without accelerators. (quick_accel_remove): rewrite, do the exact opposite of quick_accel_add for a GtkAccelGroupEntry. (gtk_accel_group_connect): get rid of the accel_path_quark argument. (gtk_accel_group_connect_by_path): new function to add accelerators with an accel path. (gtk_accel_group_disconnect_closure): new function, disconnect a closure from of an accel group. (gtk_accel_group_disconnect): loop over all closure for a accel_ley, accel_mods pair and remove them. (_gtk_accel_group_reconnect): new function that basically does gtk_accel_group_disconnect_closure() and gtk_accel_group_connect_by_path() once an accel path changed. (gtk_accel_groups_disconnect_closure): remove this, there's gtk_accel_group_disconnect_closure(). * gtk/gtkaccelmap.[hc]: keep list of accel groups per entry now, nuke notifiers. (_gtk_accel_path_is_valid): make this non-static for gtkwidget.c and gtkaccelgroup.c assertions. (gtk_accel_map_add_notifer): removed this function. (gtk_accel_map_remove_notifer): same. (_gtk_accel_map_add_group): (_gtk_accel_map_remove_group): (un-)register accel groups, with accel paths for correct propagation. (gtk_accel_map_add_entry): return void. (gtk_accel_map_lookup): return gboolean instead of GQuark. * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): always set accel_path on widgets. * gtk/gtkwidget.[hc]: (accel_path_changed): got rid of this, changes are handled by accel maps internally now. (_gtk_widget_set_accel_path): get things to work without notifiers. (gtk_widget_list_accel_closures): list accel closures of a widget. * gtk/gtkwindow.[hc]: rename ::accels_changed, to ::keys_changed. 2001-11-20 Matthias Clasen * gtk/gtkcontainer.c (gtk_container_propagate_expose): Typo fix. Tue Nov 20 23:01:01 2001 Kristian Rietveld * gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path): replace gboolean free_last in the function parameters with gint depth. Changes to reflect new situation. * gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path_helper): replace gboolean free_last, with gint depth, add gint current_depth. Changes to reflect new situation. * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): changes to reflect new situation * gtk/gtktreemodel.c (gtk_tree_row_reference_free): ditto Tue Nov 20 12:37:10 2001 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_paint): Fix problem where notebook gap was double shifted by allocation.x/y * gtk/gtknotebook.c (gtk_notebook_unmap): Chain up to unmap children. Tue Nov 20 14:49:59 2001 Tim Janik * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): fix allocation to be relative to paned->allocation, now that this is a NO_WINDOW widget. * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): same here. * gtk/gtkaccellabel.c (gtk_accel_label_class_init): ::closure needs to be a boxed property. Mon Nov 19 17:34:40 2001 Owen Taylor * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): Use the widget's state when drawing the indicator, as in GtkCheckButton. This gives us color changes for un-prelighted checkbuttons. (#63308, Matt Wilson) Mon Nov 19 17:11:23 2001 Owen Taylor (Fixes related to #64428, Michael Meeks) * gtk/gtkplug.c (gtk_plug_set_is_child): Unmap the widget, so it gets mapped again properly when we add to a parent. * gtk/gtkplug.c (_gtk_plug_add_to_socket): Set plug->socket_window. * gtk/gtkplug.c (_gtk_plug_remove_from_socket): Set socket_window to NULL, not FALSE. * gtk/gtkplug.c (_gtk_plug_add_to_socket): Set socket->same_app to TRUE. (#64612) Mon Nov 19 15:50:41 2001 Owen Taylor * gtk/gtkfixed.[ch] docs/Changes-2.0.txt: Add gtk_fixed_set/get_has_window() to remove criticism about GTK_WIDGET_SET_FLAGS() hacks. 2001-11-19 Michael Natterer * gtk/gtknotebook.c: show notebook->event_window with gdk_window_show_unraised(), so it doesn't catch the events which should go to the tab widgets first. Mon Nov 19 15:30:51 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add a "resizable" property, to get rid of the GTK_TREE_VIEW_COLUMN_RESIZABLE sizing flag. (gtk_tree_view_column_set_resizable): New function to set resizable. (gtk_tree_view_column_set_resizable): getter. * tests/testtreecolumns.c (add_clicked): modify for above change. * Makefile.am (install-data-hook): remove old .pc files before installing the new one. We used to symlink this, and it will break old installs. 2001-11-19 Havoc Pennington * tests/testtext.c (fill_example_buffer): put in a test for negative indentation values Mon Nov 19 14:08:18 2001 Owen Taylor * gtk/gtklabel.c (gtk_label_init): Change default for justify to GTK_JUSTIFY_LEFT. Assuming that multiline labels are most often wrapped labels, this gives better compatibility with GTK+-1.2, where justification was ignored for wrapped labesl and is a more sensible default in any case. (#64489) * gtk/gtklabel.c (gtk_label_class_init): Fix default for wrap property to FALSE. 2001-11-19 jacob berkman * gtk/Makefile.am (gtk_extra_sources): add gtkmarshal.list Mon Nov 19 13:56:45 2001 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use RevertToParent, not RevertToNone. (#64613, Matthias Clasen) Mon Nov 19 12:28:02 2001 Owen Taylor * gtk/gtkframe.c (gtk_frame_class_init): label_xalign and label_yalign need to be float properties to correspond to GTK+-1.2, to gtk_frame_set_label_align, and to the types of the xalign and yalign properties of GtkMisc. (#63484, Vitaly Tishkov) Mon Nov 19 12:24:30 2001 Owen Taylor * gtk/gtksocket.h (struct _GtkSocketClass): Fix return of plug_added vfunc. (#64408, Jeff Franks) Mon Nov 19 12:07:20 2001 Owen Taylor * configure.in (deps): Undef HAVE_STDLIB_H before checking for jpeg, because jconfig.h has this in it too (%#$@!). Fix from Matthias Clasen, #64500. Mon Nov 19 11:30:03 2001 Owen Taylor * gdk/x11/gdkproperty-x11.c (get_atom_name): Fix a memory leak when retrieving atom names. (Michael Meeks, #64508) 2001-11-18 Alex Larsson * gdk/x11/gdkfont-x11.c (gdk_font_from_description): Update to new Pango API. Sun Nov 18 19:47:29 2001 Owen Taylor * gtk/gtkobject.h docs/Changes-2.0.txt: Rename the GTK_DESTROYED flag to GTK_IN_DESTRUCTION, remove the GTK_OBJECT_DESTROYED() check macro. * gtk/gtkbindings.c (gtk_bindings_activate): Remove instances of GTK_OBJECT_DESTROYED() that weren't needed any more. * gtk/gtkdialog.c: Exchange use of GTK_OBJECT_DESTROYED for a connection to ::destroy. Sun Nov 18 18:18:11 2001 Owen Taylor * gtk/gtkfixed.c: Make a NO_WINDOW widget, as it should have been since the beginning, but as special hack, allow clearing the NO_WINDOW flag to get a window widget. Sun Nov 18 22:01:36 Kristian Rietveld * gtk/gtktreestore.c: return TRUE when value changed, so row_changed is being emitted 2001-11-18 Hans Breuer * gtk/gdkaccelmap.c : make it compile with msvc: !HAVE_UNISTD_H; no label without op, even if it's a no-op. * gtk/gtk.def : * gtk/makefile.msc.in : reflect marshaler split, some clean-up * config.h.win32.in : remove definition of HAVE_DIRENT_H * gtk/gtkfilesel.c : due to GDir (new in glib) DIR isn't required anymore, replace it. * gtk/queryimmodules.c : DIR -> GDir replacement, also getcwd() -> g_get_current_dir() * gdk/win32/gdkgeometry-win32.c : adapt to refactored gdkgeometry-x11.c Even 'noisy laugh' scolling appears to work, though I still can't claim to have fully understood what it is supposed to do ... Sat Nov 17 21:07:46 2001 Owen Taylor * gtk/gtkenums.h: Include glib-object.h instead of gobject/gsignal.h * gdk/{gdkinternals.h,gdkwindow.c,gdkwindow.[ch], x11,{fb,win32,x11/gdkwindow-*.c}: Add a dummy GdkScreen argument to the window_at_pointer() field of GdkPointerHooks. (Patch from Erwann Chenede) * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Up to 6 pointers. 2001-11-17 Matt Wilson * gtk/gtkenums.h: must include glib-object.h only Sat Nov 17 19:26:20 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_key_press_event): Reprioritize key bindings in order of visibility - mnemonics, then accelerators, then send key to the focus widget, then bindings on the GtkWindow. * gtk/gtklayout.h docs/Changes-2.0.txt tests/testgtk.c: Removed the xoffset, yoffset fields of GtkLayout which were identically zero for compat with 1.2, but were no longer compatible with all uses of these fields in 1.2. * gtk/gtkwindow.c (gtk_window_set_default): Remove unused variable. Sat Nov 17 19:08:13 2001 Owen Taylor * tests/testtreeview.c (gtk_tree_model_types_get_type): We no longer need to create the signals here ... they come from the interface. * gtk/maketypes.awk: Use GType, not GtkType in output. * gtk/gtktypeutils.h: Mark virtually all of this file deprecated. * gtk/gtkcontainer.h: Deprecate gtk_container_foreach_full; the only use of this function is the GtkArg using GtkCallbackMarshal, since destroy notification is silly here. Sat Nov 17 18:26:45 2001 Owen Taylor * gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2; and deprecate it; put all marshalers we actually use into gtkmarshalers.list and use the _gtk_marshal_ prefix for these marshalers. 2001-11-17 Murray Cumming * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): The first parameters of the signals are now registered as GTK_TYPE_TEXT_TAG instead of G_TYPE_OBJECT. 2001-11-17 Tor Lillqvist * gtk-zip.sh.in: Build separate runtime and developer packages. * gtk/gtk.def: Reflect recent accelerator-related changes. Fri Nov 16 19:44:35 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_set_default): Move notification of "has_default" to here, so it is safe to call gtk_window_set_default() instead of gtk_widget_grab_default(). * gtk/gtkwindow.c (gtk_window_set_focus): Make it call gtk_widget_grab_focus(), which then calls _gtk_widget_internal_set_focus(). This makes gtk_window_set_focus() a safe way of both setting and unsetting the focus widget. * gtk/gtkwidget.c (gtk_widget_propagate_state): Use gtk_widget_get_toplevel(), instead of gtk_widget_ancestor to find the toplevel. * gtk/gtkwindow.h: Move gtk_window_set_focus/default from the "internal functions" section. 2001-11-16 jacob berkman * tests/testgtk.c (create_radio_buttons): add some no-indicator radio buttons * gtk/gtkradiobutton.c (gtk_radio_button_init): since we are initially active, also initially be depressed (gtk_radio_button_clicked): also update our depressed state Thu Nov 15 12:54:36 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_key_press_event): Propagate key press events not just to focus/window but also to intermediate widgets. * gtk/gtknotebook.c: Handle Ctrl-PageUp/Ctrl-PageDown to switch pages. (Needs some work on handling focus when switching pages.) Fri Nov 16 14:06:31 2001 Owen Taylor * gtk/gtknotebook.c: Fix child allocations to be relative to widget position and some drawing bugs. * gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem with reading uninitialized variable. Fri Nov 16 00:16:40 2001 Owen Taylor * gtk/{gtkmenuitem.[ch],gtkcheckmenuitem.c,gtkimagemenuitem.c, gtkradiomenuitem.c,gtktearoffmenuitem.c}: Make Menu items NO_WINDOW widgets. * gtk/gtk{h,v,}paned.[ch]: Make NO_WINDOW widgets, some cleanup. * gtk/gtkstyle.c (gtk_default_draw_handle): Don't assume we are drawing in a window when drawing the paned handle. 2001-11-16 Sven Neumann * demos/gtk-demo/appwindow.c * demos/gtk-demo/menus.c: reduce compiler warnings Thu Nov 15 19:47:09 2001 Owen Taylor * demos/gtk-demo/main.c (button_press_event_cb): Remove unused callback to make things compile with gtk_tree_view_path_at_pos_change(). Thu Nov 15 18:44:33 2001 Jonathan Blandford * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): maybe fix #64160 2001-11-15 Matthias Clasen * gtk/gtkwindow.c (gtk_window_new): Move '.' out of quote. (#64407) Thu Nov 15 16:24:55 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_bin_window): New function to get a GdkWindow to compare event->window to. * gtk/gtktreeview.c (gtk_tree_view_move_cursor_left_right): emit the signal for lateral motion too, #64361 * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): remove window arg as it is useless, #64137 Thu Nov 15 16:07:42 2001 Owen Taylor * gtk/gtknotebook.c: Some small drawing fixes for scroll arrows. Thu Nov 15 14:19:34 2001 Owen Taylor * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann) * gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann) * gtk/gtkcontainer.c (gtk_container_expose): Call gtk_container_forall() not _foreach() to propagate, since we need to propagate exposes to internal children as well. * gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events): Remove the restriction of only being able to call these on window widgets, since we have lots of NO_WINDOW widgets with windows now; for add events, recurse over the children of widget->window to find one owned by the widget. * gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only window to catch events. * gtk/gtktogglebutton.[ch]: Remove the code for switching between NO_WINDOW and WINDOW widgets based on the mode. * gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton. * gtk/gtkrange.[ch]: Make into a NO_WINDOW widget. * gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW change for range. * gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget. * docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes. Thu Nov 15 11:59:35 2001 Owen Taylor * gtk/gtkmessagedialog.c: Patch from Murray Cumming to add "message_type" and "buttons" CONSTRUCT properties. (#64069) * tests/testsocket.c: Expand tests to add a "local passive child" (Test case for #64428) 2001-11-14 jacob berkman * gtk/gtkgamma.c (button_clicked_callback): create the label with a mnemonic 2001-11-15 Sven Neumann * tests/testgtk.c: make it compile without warnings. 2001-11-14 Alex Larsson * gtk/gtklabel.c: Don't recalculate the layout on each gkt_label_ensure_layout () for wrapped labels. Wed Nov 14 17:40:23 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_expander_column): Return the currently selected column when we get the column, #64380 * gtk/gtkentry.c (gtk_cell_editable_key_press_event): Handle Esc to cancel CellRendererText editting, #63613 * gtk/gtkcellrenderertext.c: ditto * gtk/gtkcellrenderertext.h: formatting changes 2001-11-14 Matthias Clasen * gtk/gtkbutton.c (gtk_button_get_label): Rearrange docs (#64566) * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): Typo fix (#64474) * gtk/gtkruler.c (gtk_ruler_get_metric): Typo fix (#64470) * gtk/gtknotebook.c (gtk_notebook_prepend_page): Typo fix (#64467) * gtk/gtklabel.c: Documentation fixes (#64452) 2001-11-14 Daniel Egger * gdk-pixbuf/io-xpm.c: (xpm_skip_whitespaces): Remove unused static function. (xpm_skip_string): Dito. (xpm_extract_color): Declare const variable const to avoid warnings. * gtk/gtkfixed.c: (gtk_fixed_map): Remove unused static function. * gtk/gtkplug.c: #if 0'ed prototype for #if 0'ed code. * gtk/gtksocket.c: Change type of mask to g_message to %ld for a long. Wed Nov 14 15:14:48 2001 Owen Taylor * gtk/gtkcontainer.c (gtk_container_idle_sizer): Back out accidental commit of debugging timing code. 2001-11-14 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_move_cursor): fix Control-E so it doesn't move to a new line each time you press it * gtk/gtktextiter.c (gtk_text_iter_forward_to_line_end): fix return value, #62987 2001-11-14 Havoc Pennington * tests/testtextbuffer.c (main): bulk of the tests were commented out, oops. * gtk/gtktextiter.c (find_paragraph_delimiter_for_line): make this function work, should resolve #63426 (gtk_text_iter_ends_line): return TRUE for the end iterator * gtk/gtktextiter.h: put padding back in GtkTextIter, I thought of a couple things that might get cached in here. Tue Nov 13 21:00:59 2001 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_class_init): new "model" construct property for language bindings. * gtk/gtktreestore.c (gtk_tree_store_set_column_types): New function to let you set the column types of a GtkTreeStore for language bindings. * gtk/gtkliststore.c (gtk_list_store_set_column_types): ditto. 2001-11-13 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_add_child_in_window): docs including reference to bugzilla bug about how we should have a better way of positioning children * gtk/gtktextview.h (struct _GtkTextViewClass): add some padding * gtk/gtktextview.c (gtk_text_view_size_allocate): assign zero size to side rects if they don't exist, #63438 2001-11-13 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_key_press_event): fix to properly replace selection with Return or Tab * gtk/gtktextdisplay.c (gtk_text_layout_draw): fix broken code that didn't locate the end of the line correctly, should fix #63800 2001-11-13 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_size_request): add border width to requisition, request non-anchored children (gtk_text_view_size_allocate): handle border width, allocate non-anchored children (text_view_child_new_window): set the child as object data (gtk_text_view_move_child): allow children at negative coordinates, no reason why not (gtk_text_view_forall): make it copy the list of children before walking it, to avoid reentrancy issues (gtk_text_view_move_child): short-circuit if position is unchanged (changed_handler): only queue_resize if requisition has changed (gtk_text_view_init): don't redraw_on_allocate, since we can do a better job of invalidation ourselves * tests/testtext.c: add tests for the fixed-position children Tue Nov 13 19:51:43 2001 Tim Janik * gtk/gtkwindow.c (handle_accels_changed): protect idle handle with gdk threads macro. Mon Nov 12 23:08:37 2001 Tim Janik * gtk/maketypes.awk: fix type utils generation on unix. * gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator registry. * gtk/gtkaccelgroup.[hc]: major API/implementation revamp: removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default, gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry, gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove, gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object. introduced ::accel_changed signal for change notification, and gtk_accel_group_connect/disconnect to connect closures to accel groups. made gtk_accel_group_attach/detach and gtk_accel_group_activate private functions. deprecated gtk_accel_group_ref/unref. * gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention to accel group changed notification and basically operate on closures. removed gtk_accel_label_get_accel_object and gtk_accel_label_set_accel_object. introduced gtk_accel_label_set_accel_closure, and for convenience, gtk_accel_label_set_accel_widget. * gtk/gtkitemfactory.[hc]: removed accelerator propagation code which mostly moved into gtkaccelmap.[hc]. removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_* and gtk_item_factory_print_func. * gtk/gtkmain.c: call _gtk_accel_map_init(). * gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(), that associates an accelerator path with menu items, through which persistent accelerator settings on menu items are enabled. * gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator paths of menu item can be default constructed to allow installation of accelerators on menu items that don't come with an accelerator binding by default. * gtk/gtksettings.c: fix STRING type rc settings by special casing them appropriately in the parser. * gtk/gtksignal.[hc]: allow a class function offset of 0 for gtk_signal_newv(). * gtk/gtkwidget.[hc]: accelerator API revamp. removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal, gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and gtk_widget_(un)lock_accelerators. accelerators maintained through gtk_widget_add/remove_accelerator() are not runtime changable now, the correct sequence to setup a widget for runtime changable accelerators is now: gtk_accel_map_add_entry(accel_path, key, mods); _gtk_widget_set_accel_path(widget, accel_path, accel_group); * gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel group changes (as well as mnemonic changes) through the new signal ::accels_changed. Sat Nov 10 12:08:56 2001 Tim Janik * gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle GString->string conversions. Mon Nov 12 19:33:52 2001 Owen Taylor * gtk/gtkmessagedialog.c (gtk_message_dialog_new): Warn if GTK_DIALOG_NO_SEPARATOR is passed in and ignore it. 2001-11-12 Matthias Clasen * gtk/gtktreeview.c: Documentation fixes. (#64377) * gtk/gtktreestore.c: Documentation fixes. (#64376) 2001-11-11 Matthias Clasen * gtk/gtkiconfactory.c, gtk/gtktextbuffer.c, gtk/gtktreemodel.c, gtk/gtkwindow.c, gtk/gtknotebook.c, gtk/gtkradiobutton.c, gtk/gtktextiter.c, gtk/gtkdialog.c: Mass fixing of trivial doc bugs. (#63544, #57007, #64141, #63472, #57108, #60818, #61562) 2001-11-10 Hans Breuer * gdk/win32/gdkevents-win32.c (gdk_event_translate) : make sure we know what we are talking about when asked for MINMAXINFO. Also some cleaning for !HAVE_DIMM_H etc. 2001-11-10 Matthias Clasen * gtk/gtktreeviewcolumn.c: Fix docs for gtk_tree_view_column_set_sort_order. (#62647) * gtk/gtkcontainer.c: Fix docs for gtk_container_set_border_width. (#64139) * gtk/gtkcolorsel.c: Documentation fixes. 2001-11-10 Hans Breuer * gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms don't have strcasecmp() * gtk/gtktextview.c : to fix crashing on e.g. TextView::find need to remove the idle funcs in gtk_text_view_destroy (). To reduce code duplication wrap it in its own function and use it in gtk_text_view_unrealize () and gtk_text_view_destroy_layout () * gdk/win32/gdkdrawable-win32.c : implement the finalize method like the X11 version does, allow to set_colormap NULL * gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32:: set_colormap, also some adaption to X11 version : (gdk_window_hide) call _gdk_window_clear_update_area (gdk_window_reparent) call _gdk_window_init_position * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) : call gdk_window_resize() after all hints are set, because the window resizing process (WM_GETMINMAXINFO) takes all of them into account * gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean * gdk/win32/gdkvisual-win32.c : register GdkVisual with sizeof (GdkVisualPrivate) * gdk/gdk.def gtk/gtk.def : upated externals * gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc : from now on use make.msc from $(TOP)/glib/build/win32 * gtk/stock-icons/makefile.msc : add stock_missing_image 2001-11-08 Tor Lillqvist * README.win32: Add headers. Add section about ActiveIMM. * configure.in: Add --with-ie55 flag to specify the location of the "IE55 libs and headers" package downloadable from Microsoft, which contains, among other things, the Active IMM header dimm.h and UUID library uuid.lib. Use test -f instead of AC_CHECK_FILE. Require GLib 1.3.10. * config.h.win32.in: New version, produced by merging two configure-generated ones (for gcc and MSVC). Hopefully #defines the same flags that the previous, hand-written one, did. * gdk/Makefile.am * gdk/win32/Makefile.am: Handle the uuid library from the IE55 lib. * gdk/win32/gdkevents-win32.c: Conditionalize ActiveIMM stuff. Remove unused GdkIOClosure. * gdk/win32/surrogate-dimm.h: Remove, use real dimm.h instead (if available). * gdk/win32/libie55uuid.la: New file, handwritten libtool wrapper for uuid.lib. (Does it really have to be this hard to use an existing library with libtool? Probably I am missing something.) 2001-11-08 Darin Adler * gtk/gtklabel.c: (gtk_label_ensure_layout): Fix an obvious typo where it says LEFT instead of CENTER. 2001-11-07 Darin Adler * gtk/gtkdialog.c: (gtk_dialog_set_response_sensitive), (gtk_dialog_set_default_response): Add g_return_if_fail. Mon Nov 5 22:34:29 2001 Owen Taylor * gtk/gtktreednd.[ch] (struct _GtkTreeDragSourceIface): Add row_draggable() vfunc, and wrapper function. * gtk/gtktreednd.[ch] (struct _GtkTreeDragDestIface): Make row_drop_possible take a GtkSelectionData, rather than model/row pair. * gtk/gtktreestore.c gtk/gtkliststore.c: Update for new DND interfaces. * gtk/gtktreeview.[ch]: Remove the row_draggable_func location_dropable_func from gtk_tree_view_set_rows_drag_source/dest. and rename them to enable_model_drag_source/dest. * gtk/treeviewcolumn.c: Add DND of columns between rows. Still can't drop _to_ the left tree, but other places work. * gtk/gtktreeview.c (unset_reorderable): Unset the reorderable property if unset/enable_model_drag_source/dest are called manually. * gtk/gtktreestore.c (gtk_tree_store_row_drop_possible): Correct for change in depth count handling. * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): Pass in a expose area to gtk_tree_view_column_cell_render() 2001-11-06 Havoc Pennington * demos/gtk-demo/textview.c (easter_egg_callback): wacky easter egg Tue Nov 6 10:13:16 2001 Owen Taylor * gdk/x11/gdkgc-x11.c: Fix misplaced HAVE_XFT. 2001-11-05 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_paint): expose the child widgets in here (gtk_text_view_realize): set parent window of child widgets (gtk_text_view_size_request): use child req to decide whether to invalidate layout, not widget->requisition * gtk/gtktextdisplay.c (render_layout_line): set shaped_width_pixels for NULL shape objects, so that we properly draw the "missing pixbuf/widget" thing (render_layout_line): don't draw the widget here (gtk_text_layout_draw): pass out a list of widgets that need exposing * demos/gtk-demo/textview.c (insert_text): add demo of child widgets * gtk/gtktextlayout.c (add_child_attrs): remove debug spew * gtk/gtktextdisplay.c (render_layout_line): remove debug spew * gtk/gtktextview.c (gtk_text_view_update_child_allocation): add scroll offsets (gtk_text_view_value_changed): poke new X and Y into child allocations 2001-11-06 Tor Lillqvist * gtk/gtkmain.c (find_module): Do search GTK_BINARY_VERSION -specific directory on Windows, too (#63759). Mon Nov 5 12:46:44 2001 Owen Taylor * gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkprivate-x11.h gdk/x11/gdkwindow-x11.c: Redo Xft support to go directly to Picture objects instead of using XftDraw. This fixes the problem where we weren't able to properly destroy XftDraw objects before destroying the accompanying windows, and probably improves efficiency a bit too. (#50214) Mon Nov 5 10:01:49 2001 Owen Taylor * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Clamp max window width/height to 32767, not 32768 since we have to be able to deal with a dx/y of -32768 without getting a width of 65536 when guffaw scrolling. * gdk/x11/gdkgeometry-x11.c: Implement gdk_window_scroll() for the guffaw scrolling case, fixing some problems with copy-area case as well. Fix BadValue bug with moving windows by large amounts. * gdk/x11/gdkgeometry-x11.c (gdk_window_clip_changed): Update clip in window structue before calling gdk_window_invalidate_region since that trims new invalidations to the window's visible region. * gdk/x11/gdkwindow-x11.c (gdk_window_set_static_gravities): Really set the static window gravity on the children, not repeatedly on the window. * gtk/testgtk.c: Add a torture test for big windows and gdk_window_scroll(). Sun Nov 4 17:36:08 2001 Manish Singh * acconfig.h configure.in: sigsetjmp is macroized in some places, so use AC_TRY_LINK instead of AC_CHECK_FUNCS for the check. Sun Nov 4 19:16:23 2001 Owen Taylor * gdk/gdkcolor.c (gdk_color_parse): Implement gdk_color_parse() in terms of pango_color_parse(). * gdk/{linux-fb,win32,x11}/gdkcolor-*.c: Remove port-specific gdk_color_parse() implementations. Sun Nov 4 18:39:43 2001 Owen Taylor * gtk/gtksizegroup.c (gtk_size_group_set_mode): queue_resize_on_group with both the old and new mode, not just the new mode. (#60171, Nicolas Setton). Also, notify the "mode" property. Sun Nov 4 16:02:08 2001 Owen Taylor * gdk/gdkwindow.[ch]: Add a function gdk_window_invalidate_maybe_recurse() for use in "shallow invalidation" of a widget. (Windows belonging to the widget, but not to the widget's children) * gtk/gtkprivate.h gtk/gtkwidget.c gtk/gtksizegroup.c: Add private flags GTK_ALLOC_NEEDED, GTK_REQUEST_NEEDED. These flags are set up on ancestors up to the resize container on queue_resize. Size requests only actually take place if GTK_REQUEST_NEEDED, size allocations only take place if GTK_ALLOC_NEEDED or the size changed. * gtk/gtkcontainer.c gtk/gtkwidget.c: Remove container->resize_widgets and the RESIZE_NEEDED flag since the above flags are sufficient to figure out what needs to be resized/reallocated. Remove code manipulating container->resize_widget. * gtk/gtkwidget.[ch]: Add gtk_widget_set_redraw_on_alloc(); this allows widgets to turn off being automatically invalidated is when they are resized. * gtk/gtkwidget.[ch] (gtk_widget_size_allocate): Invalidation when a widget is resized or moved is "shallow" as described above - only the windows that need to be invalidated are invalidated. * gtk/gtkbox.c gtk/gtktable.c gtk/gtkalignment.c docs/Changes-2.0.txt: Make these widget's init functions call gtk_widget_set_redraw_on_allocate(widget,FALSE). * gtk/gtkwindow.c (gtk_window_configure_event): Call _gtk_container_queue_resize(), since we don't want redrawing. (Probably could be done for other calls to gtk_widget_queue_resize() in gtkwindow.c, but this is the most important one.) * gtk/gtkwindow.c (gtk_window_move_resize): Don't call gtk_widget_queue_draw() - size_allocate() handles that as appropriate. * gtk/gtkframe.c (gtk_frame_size_allocate): Invalidate instead of queue_clear() to avoid invalidating children. 2001-11-04 jacob berkman * gtk/gtkmain.c (find_module): don't free the module name until after we load the module Sat Nov 3 13:57:21 2001 Owen Taylor * gtk/gtkctree.c: Convert GTK_TYPE_CTREE_NODE to pointer derivation instead of boxed derivation. * gtk/gtkmarshal.list: Remove some now unused marshallers. 2001-11-04 Tor Lillqvist * gtk/gtkimmodule.c: Can't include gtkprivate.h (I added the include yesterday, without really thinking), as that defeats the working of correct_libdir_prefix() (it becomes a no-op.). Add comment mentioning that. Thanks to Hans Breuer for noticing. 2001-11-03 Daniel Elstner * gtk/gtkwindow.h (frame_event): Use GtkWindow* as first signal argument (was GtkWidget*). * gtk/gtkwindow.c (gtk_window_frame_event), gtk/gtkwindow-decorate.c (gtk_decorated_window_frame_event): Fixed argument types as above, removed GTK_WINDOW casts and added some GTK_WIDGET casts instead. 2001-11-03 Hans Breuer * gtk/gtkfilesel.c (gtk_file_selection_finalize) : chain finalize to parent class to get removed from the toplevel_list. Should fix 'random' crashes of #63474. * gtk/gtktreemodelsort.c : chain finalize() to parent class 2001-11-03 Tor Lillqvist * modules/input/Makefile.am: Use -no-undefined on Windows. Look for .dll or .so as appropriate as module suffix. * gtk-zip.sh.in: Use correct import library names. * gtk/gtk.def: Add a couple of missing entry points. (#63585) * gtk/gtkimmodule.c (correct_libdir_prefix): New function, used on Windows to turn build-time paths from a gtk.immodules distributed as part of a binary package into runtime ones in the end-user-chosen installation directory. (gtk_im_module_init): Use it for module path and domain directory. 2001-11-02 Tor Lillqvist * gtk/gtkrc.c (gtk_rc_make_default_dir): Fix typo: extraneous comma. Include gtkprivate.h for GTK_LIBDIR etc definitions on Windows. 2001-10-30 Tor Lillqvist * Makefile (install-data-hook): Use cp, not $(LN_S) on the .pc files. Configure on Win32 (running on Cygwin) thinks symlinks exist, but pkg-config is not necesarily a Cygwin program, and doesn't understand them. Fri Nov 2 16:45:17 2001 Jonathan Blandford * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Clean up height code a bit. I don't think it's completely correct yet, but it's getting there. Fri Nov 2 16:14:15 2001 Owen Taylor * gtk/gtkviewport.c (gtk_viewport_size_request): Remove random + 5 for width and height. If people want padding, they should add padding. (Note the +5 isn't padding that will always appear - it just appears in the case where the widget is allocated it's requisition.) (#51018, Janet Davis) Fri Nov 2 15:53:23 2001 Owen Taylor * gtk/gtkimcontext.h (struct _GtkIMContextClass): Pad the structure for future expansion. Fri Nov 2 15:30:34 2001 Owen Taylor Patch from HideToshi Tajima (#51922) * gtk/gtkimmulticontext.c: Proxy set_use_preedit(). * gtk/modules/input/gtkimcontextxim.[ch]: Implement set_use_preedit(). * gtk/modules/input/gtkimcontextxim.[ch]: If we have to destroy the input context because we change the client window or use_preedit, make sure we empty the preedit string. Fri Nov 2 14:55:53 2001 Owen Taylor * gtk/{gtkcolorseldialog.c,gtkfilesel.c,gtkfontsel.c, gtkgamma.c,gtkmessagedialog.c}: Go to the GUP proposed ordering of buttons with [OK] in the lower right hand corner. Patch from Gregory Merchan, #56331. Fri Nov 2 11:51:49 2001 Jonathan Blandford * gtk/gtklabel.c (gtk_label_select_region_index): remove extraneous gtk_label_clear_layout (label) 2001-11-02 Sebastian Wilhelmi * tests/makefile.msc, gtk/makefile.msc.in: Removed -DGTK_DISABLE_COMPAT_H. * docs/Changes-2.0.txt: s/GDK_DISABLE_COMPAT_H/GDK_DISABLE_DEPRECATED/ * gtk/gtkcompat.h.in, gdk/gdkcompat.h: Removed from CVS. Fri Nov 2 10:21:03 2001 Owen Taylor * examples/**/Makefile.am: Convert to use pkg-config rather than gtk-config. (#53375, Skip Montanaro) 2001-11-02 Matt Wilson * gtk/gtkdialog.c (find_child_by_response_id): remove totally broken unused, non-compiling, static function. Fri Nov 2 08:17:06 2001 Owen Taylor * gtk/gtkdialog.c (gtk_dialog_set_response_sensitive): Iterate through children of the action area, not of the vbox. (#58278, Sergey Kuzminov) 2001-11-01 Havoc Pennington * gtk/gtktext.c (gtk_text_set_position): handle -1 argument in order to remove a workaround in Nautilus that forced GTK_ENABLE_BROKEN * gtk/gtkwidget.c (gtk_widget_modify_style): fix typos in the docs Thu Nov 1 20:09:31 2001 Owen Taylor * gtk/gtkrange.c: Patch from George Lebl to fix division by zero for full scroll bars. (#62114) Thu Nov 1 19:56:40 2001 Owen Taylor * gtk/gtkmain.c (gtk_main_do_event): ref/unref around gtk_widget_event() if we are going to set a flag afterwards. (#63464) Thu Nov 1 19:44:48 2001 Owen Taylor * gtk/gtkiconfactory.c gtk/stock-icons/Makefile.am: Actually add the missing/broken image icon as the image for the "missing image" stock icon. Thu Nov 1 19:18:34 2001 Owen Taylor * demos/gtk-demo/stock_browser.c (do_stock_browser): Set a reasonable default height for the window. * demos/gtk-demo/stock_browser.c (id_to_macro): Fix bug where subsequent '-' weren't converted to '_'. (#59550, Matthias Clasen) * demos/gtk-demo/appwindow.c (menu_items): Don't right justify the Help menu - just include a comment on how to do it. (#63539, Marius Andreiana) * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): Don't list GTK_ICON_SIZE_INVALID. * demos/gtk-demo/stock_browser.c: Show the biggest available size, not a fixed size. (Often reported, including #63539, Marius Andreiana) Thu Nov 1 19:11:35 2001 Jonathan Blandford * gtk/gtkrbtree.c (gtk_rbtree_reorder_fixup): Fix reorder_fixup, #59583 * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): fix warning. Thu Nov 1 16:54:00 2001 Owen Taylor * gtk/gtktypeutils.h: Make GtkFunction return boolean, not gint. (Daniel Elstner). Thu Nov 1 16:20:56 2001 Owen Taylor * gtk/gtkimcontext.[ch]: Add: - A ::retrieve_surrounding signal that asks the widget for context around the insertion point. - A ::delete_surrounding signal that asks the widget to delete context aroudn the insertion point. - gtk_im_context_set_context() for widgets to set context around the insertion point in response to ::retrieve_context. - gtk_im_context_get_context() for context to get context around the insertion point * gtkmarshal.list: Add BOOL:INT,INT * gtk/gtkimmulticontext.c: Proxy the get_surrounding() / set_surrounding() methods, and the ::retrieve_surrounding / ::delete_surrounding signals. * gtk/gtkentry.c gtk/gtktreeview.c: Hook up to the GtkIMContext::retrieve_surrounding / ::delete_surrounding signals. Thu Nov 1 15:45:04 2001 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered): it's amazing how well things work sometimes, even when they're completely wrong. * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug where you could try to collapse a node w/o it having children. (gtk_tree_view_class_init): remove Shift L<->R as they already existed for expand/collapse. Thu Nov 1 12:21:31 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_focus_to_cursor): Fix crash found by Matt Wilson. Thu Nov 1 00:44:50 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_class_init): Support Shift, Control, and Shift|Control L<->R, #63475 Wed Oct 31 18:53:51 2001 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): fix infinite loop noticed by yosh. 2001-11-01 Michael Meeks * gtk/gtksocket.c (gtk_socket_unrealize): unset the GTK_REALIZED flag so we don't re-enter when we are destroyed from the plug side. Wed Oct 31 18:23:47 2001 Owen Taylor * gtk/gtkoptionmenu.c (gtk_option_menu_detacher): Add a "menu" property and notify on it. (#62798, Padraig O'Briain) * gtk/gtkselection.[ch] gtk/{gtkentry.c, gtkfilesel.c, gtkoldeditable.c, gtktextbuffer.c, gtktextview.c}: Fix set_text to take a gchar, not a guchar, and to have a len argument. Wed Oct 31 15:31:13 2001 Manish Singh * gtk/gtkstock.c: fix typo to make it compile Wed Oct 31 17:27:20 2001 Jonathan Blandford * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): if the widget is insensitive, draw the text insensitively, #63306 2001-10-31 Matthias Clasen * gtk/gtkstock.c: Add stock items for most stock icons. (#61757) Wed Oct 31 16:53:48 2001 Jonathan Blandford * gtk/gtktreednd.c (gtk_tree_set_row_drag_data): rename gtk_selection_data_set_tree_row, #60218 (gtk_tree_get_row_drag_data): rename gtk_selection_data_get_tree_row, #60218 * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): Actually get this right, after the third try, #63122. 2001-10-31 jacob berkman * gdk/gdkselection.h (GDK_TARGET_STRING): (GDK_SELECTION_TYPE_STRING): these should be 31, not 3. Hooray for Xatoms (and not using the XA_* macros)! Wed Oct 31 15:38:14 2001 Owen Taylor * gtk/gtkwindow.[ch] (gtk_window_get_focus): Add a gtk_window_get_focus() getter to determine the currently focused widget within the window. (#63145, request from Damian Ivereigh) Wed Oct 31 14:45:08 2001 Jonathan Blandford * gtk/gtkenums.h (enum): Add GTK_SELECTION_NONE enum, #61695 * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): Handle new GTK_SELECTION_NONE enum. (_gtk_tree_selection_internal_select_node): ditto * gtk/gtkcellrenderer.h (struct _GtkCellRendererClass): add constness. * gtk/gtkcellrenderertoggle.c: more yummy constness. * gtk/gtkclist.c (gtk_clist_set_selection_mode): g_return_if_fail if mode == GTK_SELECTION_NONE Wed Oct 31 14:05:17 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_class_init): Added a "cursor_changed" signal, #62850. 2001-10-31 Matt Wilson * gtk/gtktreedatalist.c (_gtk_tree_data_list_alloc): after allocating the treedatalist, zero it to make sure the values are cleared from any garbage that was in this chunk. 2001-10-31 Murray Cumming * gtk/cellrenderertext.h: "edited" default signal handler gchar* args are now const. gtk/cellrenderertoggle.h: "toggled" default signal handler gchar* arg is now const. Also changed other signal handlers for "edited" and "toggled" to have the same signature. Tue Oct 30 19:17:57 2001 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_sort_level): massize rewrite. Static models now totally work. I'm not 100% sure about row_inserted and row_changed, but I'll get those later. 2001-10-30 Sven Neumann * configure.in: use GLIB_AC_DIVERT_BEFORE_HELP() so we get proper output for configure --help. 2001-10-30 Havoc Pennington * gtk/gtktextview.c (changed_handler): Update the IM spot location here, if text was invalidated in the visible area, because the scroll offset doesn't normally change in that case, and the mark isn't set, just implicitly moved over as text is added/removed Mon Oct 29 19:18:35 2001 Jonathan Blandford * gtk/gtkseparatormenuitem.c: Code cleanup. (gtk_separator_menu_item_class_init): Fix bugs in this code. 2001-10-29 jacob berkman * gdk/Makefile.am (LDFLAGS): * gtk/Makefile.am (LDFLAGS): automake doesn't support conditionalized LDFLAGS, so put win32 flags in here Mon Oct 29 15:41:58 2001 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_sort_level): Darn. I can't believe this took this long to fix. Mon Oct 29 13:54:49 2001 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered): fix reordered signal. Mon Oct 29 12:27:51 2001 Owen Taylor * gtk/gtkfilesel.c (gtk_file_selection_rename_file): Grab the focus to the fileop entry for create dir / rename file. (#62838) Mon Oct 29 12:21:49 2001 Owen Taylor * configure.in: Don't use AC_CHECK_FILE to check for a file since it always spits warnings about cross compilation, use -f instead. It's not like we cross compile properly anyways. * configure.in (gtktargetlib): Move call to AC_PROG_CC to suppress autoconf warning. * acconfig.h: Add some missing #undefs from recent Win32 additions. Mon Oct 29 11:31:40 2001 Owen Taylor * m4macros/gtk-2.0.m4: Don't try to use pkg-config when we didn't find it. (#62944, Eric Lemings) * m4macros/gtk-2.0.m4: Fix problem with spaces around = sign in assignment. (#63209, Arkadiusz Miskiewicz) 2001-10-29 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_size_request): Calculate the buttons size request before using it. Fixes #61696. 2001-10-29 Tor Lillqvist * README.win32: Updates. * gtk-zip.sh.in: New file, used to build distribution package for Windows. * gdk/gdkglobals.c: Mark gdk_threads_mutex for DLL export when applicable with GDKVAR. * gdk/win32/libwntab32x.la: New file, hand-written wrapper for the Wintab library. * gdk/win32/gdkwin32.h * gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding X11 headers better, and to enable gdkwin32.h to be installed and included from applications, but not the *-win32.h headers. * gdk/win32/*.c: Corresponding small changes, simplifications of #includes. * gdk/win32/gdkregion-win32.c: Remove. * gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING. * gdk/win32/gdkfont-win32.c * gdk/win32/gdkgeometry-win32.c: Remove unused variables. * gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert GDK_NONE values into hash table. * gtk/gtk.def: Update. * gtk/gtkfilesel.c: Include (if available) for gethostname(). * gtk/gtkmain.c * gtk/gtkrc.c: (Win32) Save actual DLL name for later use in DLL entry function. Avoid hardcoded paths GTK_LIBDIR, GTK_SYSCONFDIR, GTK_DATA_PREFIX and GTK_LOCALEDIR, instead add functions that call g_win32_get_package_installation_subdirectory() with the actual DLL name saved above. Redefine above directory name macros to call these functions. Remove some ifdefs. * gtk/maketypes.awk: Output GTKTYPEBUILTINS_VAR (that marks variable for export on Win32) also to the _vars file. Changes for autoconfiscated build on Win32, and addition of Win32 backend to the related files: * configure.in: Like in GLib, set LT_CURRENT_MINUS_AGE for use when forming DLL name in some files. Set MS_LIB_AVAILABLE is lib.exe is available. Call AC_LIBTOOL_WIN32_DLL. Set PLATFORM_WIN32, OS_WIN32 and USE_WIN32 automake conditionals. Add win32 target, using pangowin32. Don't use the -export-symbols-regex option on Win32, we use .def files to list exported symbols. Check (for gethostname() in gtkfilesel.c). Enclose nested AC_CHECK_* macros in brackets to prevent premature m4 expansion. * acconfig.h: Add HAVE_WINTAB. * gdk/Makefile.am: Add libgdk-win32-1.3.la target and associated macros and rules. Use -no-undefined on Win32. Use gdk.def file. If MS_LIB_AVAILABLE, build MS import library. Install the import libraries. If HAVE_WINTAB, link with the Wintab library. * gdk/win32/Makefile.am: Actually enable building the win32 objects here, not just list all files in EXTRA_DIST. Link in the compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB, copy the Wintab library into the .libs directory. * gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the name of the GDK DLL when fetching the icon. Use the HMODULE saved in gdk_dll_hinstance by DllMain. * gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the build/win32/lt-compile-resource script. * gdk/win32/rc/gdk.rc.in * gtk/gtk-win32.rc.in: Use the DLL name that libtool would use. * gtk/Makefile.am: Add libgtk-win32-1.3.la target and associated macros and rules. Use -no-undefined on Win32. Use gtk-win32.def file. Install import libraries. 2001-10-29 Anders Carlsson * gtk/gtkiconfactory.c (get_default_icons): Fix build. 2001-10-28 Hans Breuer * gdk/gdk.c gdk/gdkevents.c gdk/win32/gdkcolor-win32.c gdk/win32/gdkdnd-win32.c gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c gdk/win32/gdkfont-win32.c gdk/win32/gdkgc-win32.c gdk/win32/gdkim-win32.c gdk/win32/gdkmain-win32.c gdk/win32/gdkprivate-win32.h gdk/win32/gdkproperty-win32.c gdk/win32/gdkselection-win32.c gdk/win32/gdkwin32.h gdk/win32/gdkwindow-win32.c gdk/win32/gdkwindow-win32.h : static correct-ness, underscore prefixing of library internal functions (applied the undisputed and the win32 part. Of the latter I'm probably the one who will change it back again, if Owen decides that the Gdk*Impl types should not be private to Gdk) * gdk/gdk.def : added the remaining exported functions 2001-10-28 Matthias Clasen * gtk/gtkcellrenderertoggle.c, gtk/gtkimcontextsimple.c, gtk/gtkimmulticontext.c, gtk/gtkimagemenuitem.c, gtk/gtkiconfactory.c, gtk/gtkwindow.c: Documentation updates. 2001-10-28 jacob berkman * gtk/gtkcolorsel.c (gtk_color_selection_class_init): do not call gtk_settings_get_default() here as that requires an X connection (which breaks doc building with no X connection) and is not multihead safe (gtk_color_selection_init): delay palette loading until realize time (gtk_color_selection_realize): load the palette, and initialize the global palette if it hasn't been already * gtk/gtkpreview.c (gtk_preview_class_init): don't initialize the visual/cmap fields of klass->info since they are gone (gtk_preview_get_visual): just return gdk_rgb_get_visual () (gtk_preview_get_cmap): just return gdk_rgb_get_colormap () (gtk_preview_realize): don't set VISUAL and COLORMAP attributes * gtk/gtkpreview.h (struct _GtkPreviewInfo): remove visual and cmap fields (gtk_preview_get_visual): (gtk_preview_get_cmap): mark as deprecated * docs/Changes-2.0.txt: add a little note about the GtkPreviewInfo changes Sun Oct 28 09:15:39 2001 Owen Taylor * gtk/gtkimcontext.h (struct _GtkIMContext): Fixed structure to have GObject not GtkObject as parent_instance. (Jeff Franks.) 2001-10-27 Matthias Clasen * gdk/x11/gdkinput.c: Typo fix. 2001-10-26 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_mark_set_handler): Call update_im_spot_location here explicitly (gtk_text_view_reset_im_context): don't update the spot location here 2001-10-27 Anders Carlsson * gtk/gtktreemodel.c (gtk_tree_model_get): Fix typo in docs. This fixes #62942. * gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): Clarify that we're returning a spin button in the _new function. This fixes #54097. Fri Oct 26 20:55:57 2001 Owen Taylor * gtk/gtkbutton.c: Revert changes to GTK_RUN_LAST. Unfortunately, people apparently erroneously connect to ::clicked for GtkToggleButton and expect they know what happened in the default signal handler instead of appropriately connecting to notification signal ::toggled. When the revolution comes, such people will be first against the wall. We'll just have to go back to the old less-reliable set-it-back hacks for handling model-view check buttons and radio buttons. :-(. 2001-10-27 Hans Breuer * gtk/gtkbbox.c gtk/gtkctree.c gtk/gtkhbbox.c gtk/gtkimmulticontext.c gtk/gtklabel.c gtk/gtkliststore.c gtk/gtkmenu.c gtk/gtkpaned.c gtk/gtkrc.c gtk/gtkscale.c gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextlayout.c gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextview.c gtk/gtktreestore.c gtk/gtkvbbox.c : to simplify parsing for exported functions: - made implementation signature static, when the local prototype already was - put the functions return value on it's own line - added as space between the function name and the opening bracket * gtk/gtk.def : added the remaining exported functions 2001-10-27 Anders Carlsson * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width): Add note about width having to be greater than 0. This fixes #55574. * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_start): Fix docs to say previous instead of next. (gtk_text_iter_backward_word_start): Likewise. This fixes bug #62980. * gtk/gtkcontainer.c (gtk_container_set_border_width): Mention that the valid width is in range 0-65535 pixels. Fixes bug #56754. * gtk/gtksizegroup.c (gtk_size_group_set_mode): Remove a dot in the documentation. Fixes bug #62632. * gdk/x11/gdkmain-x11.c: Replace int and guint with long and gulong in some places to make the code 64-bit clean. (_gdk_windowing_init_check): Replace gint with gulong. This patch was made by George Lebl and fixes bug #62113. * tests/testgtk.c (create_range_controls): Don't set a fixed height on the hscale widget. This fixes "bug" #55840. (create_window_states): Set up destroy signals so that all windows will be destroyed when one is. This fixes bug #58133. 2001-10-26 Anders Carlsson * gtk/gtktreeview.c: (gtk_tree_view_class_init): Create new "indent_expander" style property. (gtk_tree_view_get_arrow_xrange): Add a tree argument to the function since the xrange can change depending on where in the tree we are. (coords_are_over_arrow): Update function call to gtk_tree_view_get_arrow_xrange. (gtk_tree_view_draw_arrow): Likewise. (gtk_tree_view_real_expand_collapse_cursor_row): Call real_{expand|collapse}_row, so that we'll have an animation. Fri Oct 26 20:13:36 2001 Kristian Rietveld * tests/Makefile.am: fixed a small typo Fri Oct 26 18:27:11 2001 Kristian Rietveld * demos/gtk-demo/list_store.c (create_model): Anders Carlsson suggested to use G_N_ELEMENTS here 2001-10-26 Sven Neumann * gtk/gtkbutton.[ch] * gtk/gtkdnd.c: fixed inline comments * gtk/gtkgamma.c: gtk_entry_get_text() returns a const gchar. 2001-10-26 Hans Breuer * gdk-pixbuf/gdk_pixbuf.def : * gdk/gdk.def : * gtk/gtk.def : updated externals * gdk/win32/gdkpixmap-win32.c : removed duplicate of gdk_window_lookup implementation. It already was in gdk/win32/gdkwindow-win32.c * gdk/win32/gdkproperty-win32.c : made it compile again after GdkAtom API change * gtk/gtk/makefile.msc.in : updated Wed Oct 24 11:36:33 2001 Owen Taylor * configure.in (GTK_MICRO_VERSION): Version 1.3.10, require GLib 1.3.10. * NEWS: updates. Thu Oct 25 16:27:29 2001 Jonathan Blandford * gtk/gtkrbtree.c (_gtk_rbnode_rotate_left): Add support for invalid nodes. (_gtk_rbnode_rotate_right): Ditto. (_gtk_rbtree_node_mark_invalid): New function. (_gtk_rbtree_node_mark_valid): New function. * gtk/gtktreemodelsort.c (gtk_tree_model_sort_class_init): We're a GObject, not a GtkObject. (gtk_tree_model_sort_row_has_child_toggled): Rewrote to be more correct. (gtk_tree_model_sort_row_deleted): ditto. (gtk_tree_model_sort_{un,}ref_node): Fix. * gtk/gtktreeview.c: Protean incremental reflow support (commented out) * gtk/gtktreeview.h (GtkTreeViewSearchEqualFunc): change char *key to const char *key. * gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path_helper): Important 1 line fix to fix a lot of refcounting woes. 2001-10-25 Matt Wilson * gtk/gtktextview.c (gtk_text_view_destroy): call gtk_text_view_destroy_layout after gtk_text_view_set_buffer (which now invalidates) so that we remove our idle functions. (gtk_text_view_destroy_layout): remove the first_validate_idle as well. * gtk/gtktexttag.c (gtk_text_tag_class_init): the valid range for the 'indent' property is G_MININT to G_MAXINT. Don't use -G_MAXINT for the minimum of the 'rise' property, use G_MININT instead. 2001-10-24 Anders Carlsson * gtk/gtktreeview.c: (gtk_tree_view_real_expand_row): add an animate argument (gtk_tree_view_real_collapse_row): likewise (gtk_tree_view_button_press), (gtk_tree_view_button_release), (gtk_tree_view_collapse_all), (gtk_tree_view_expand_row), (gtk_tree_view_collapse_row): update functions that call real_{expand|collapse}_row to set the animate argument accordingly. 2001-10-24 Alex Larsson * gdk/linux-fb/gdkfont-fb.c: Update to new Pango APIs * gdk/linux-fb/gdkproperty-fb.c: Update to new GdkAtom APIs * gdk/linux-fb/gdkwindow-fb.c: Remove warnings Mon Oct 22 20:07:21 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_prepend): Fix docs, #62808 Wed Oct 24 22:54:07 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): treat s_path as a child path Wed Oct 24 20:29:47 2001 Kristian Rietveld * gtk/gtktreemodelsort.c: more changes in an attempt to get it right. It's not yet ready for general consumption. * tests/treestoretest.c: add a button and entry for the new iter_change function (iter_change): new function, to test the row_changed signal implementation of the GtkTreeModelSort * tests/testtreesort.c: cleanups, changes to test more features of the GtkTreeModelSort at once 2001-10-24 Havoc Pennington * gtk/gtktextbuffer.c (clipboard_clipboard_buffer_received): remove hack to strip off the bogus newline, since we killed the bogus newline; fixes #61779 2001-10-24 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_update_adjustments): don't create layout if we didn't have one (gtk_text_view_set_buffer): invalidate so we get the idle handlers as appropriate, avoids blanking the screen (gtk_text_view_invalidate): new function to do invalidation, containing old guts of invalidated_handler Wed Oct 24 10:29:47 2001 Owen Taylor * gtk/gtkalignment.c (gtk_alignment_class_init): Improve dreadful tooltips. Tue Oct 23 17:31:42 2001 Owen Taylor * gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c: Always set window->parent (except or the root window itself); if the window's parent is not a GdkWindow, or is a window of type GDK_WINDOW_FOREIGN, set window->parent to the root parent. * gdk/gdkwindow.c (gdk_window_get_toplevels): Don't include windows of type GDK_WINDOW_FOREIGN. 2001-10-24 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_backward_chars): if we move to the front of a segment, use the "slow" technique for moving backward, so we don't mess up the any_segment field in the iter. Fixes #57707 * tests/testtextbuffer.c: add code to detect #57707, to avoid regression 2001-10-23 Havoc Pennington * gtk/gtktextview.c (popup_targets_received): only sensitize Cut if selection contains some editable text, #60975 (gtk_text_view_scroll_to_iter): remove warning about scrolling prior to map; it should actually be OK to do so in many cases, it would be nice to warn about scrolling when many lines have height 0, but I don't know what to do about that. Perhaps move part of flush_scroll into this function? comment added to consider this. 2001-10-23 Havoc Pennington * gtk/gtktextview.c (changed_handler): Correctly keep the same text on the top of the screen, considering that the changed region may have overlapped the first paragraph. Should fix msw's "text widget scrolled to wrong place on map" bug, and probably some other scrolling cases as well. (gtk_text_view_set_scroll_adjustments): start adjustments at 0.0, instead of some random value * gtk/gtktextview.c (gtk_text_view_class_init): actually override grab_focus, so #59708 is really fixed 2001-10-24 Anders Carlsson * gtk/gtkentry.c: (append_action_signal): Use an image menu item here (popup_targets_received): Call append_action_signal with stock items * gtk/gtklabel.c: (append_action_signal): Use an image menu item here (gtk_label_do_popup): Call append_action_signal with stock items * gtk/gtktextview.c: (append_action_signal): Use an image menu item here (popup_targets_received): Call append_action_signal with stock items 2001-10-23 Havoc Pennington * gtk/gtktextview.c (changed_handler): queue a resize here; will temporarily slow down the widget a lot, until we figure out how to optimize to avoid full redraw everytime we queue a resize. 2001-10-23 Havoc Pennington * gtk/gtktextiter.c (test_log_attrs): handle case where offset == 0 and char_len == 0, bug #61729 2001-10-23 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_forward_cursor_positions): fix return value, #61714 (Vitaly Tishkov) (gtk_text_iter_backward_sentence_starts): ditto (gtk_text_iter_backward_word_starts): ditto (gtk_text_iter_forward_word_ends): ditto (gtk_text_iter_forward_sentence_ends): ditto (gtk_text_iter_backward_cursor_positions): ditto 2001-10-23 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_pixel): Apply fix from Dov Grobgeld, #61858 2001-10-23 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_update_im_spot_location): Update IM spot location at appropriate times, #50626 (Hidetoshi Tajima) 2001-10-23 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor on grab focus, unless it's caused by button click, #59708 Tue Oct 23 11:53:00 2001 Owen Taylor * gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS. * gtk/gtkfontsel.[ch]: Make gtk_font_selection_get_font() G_CONST_RETURN. (Murray Cumming) * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_preview_text): Make G_CONST_RETURN. * gtk/gtkfilesel.c (open_user_dir): Fix bug with freeing results of g_get_home_dir(). * gtk/gtkfilesel.c: Make filesel->fileop_file a duplicated copy. Storing the return from gtk_entry_get_text() is evil. * gtk/gtkcombo.c gtk/gtkcellrenderertext.c gtk/gtkbindings.c gtk/gtkfilesel.c gtk/gtkfontsel.c gtk/gtkimmodule.c gtk/gtkobject.c gtk/gtkoldeditable.c gtk/gtktreedatalist.c gtk/gtksignal.c: Add const. * gdk/x11/gdkkeys-x11.c (get_direction): Add missing const. * gtk/gtktreeview.c: Namespace object data keys to be safe, even if we are setting them on private widgets. * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Duplicate entry->text before setting it as object data. 2001-10-22 Havoc Pennington * gtk/gtktextbuffer.c (gtk_text_buffer_place_cursor): don't back up a char from the end iterator, fixes #61859 ("can't put cursor at the end of the buffer") * gtk/gtktextiter.c (gtk_text_iter_forward_to_line_end): fix this to work with delimiters other than newline. * tests/testtextbuffer.c: add some tests for get_chars_in_line, get_bytes_in_line * gtk/gtktextiter.c (gtk_text_iter_get_chars_in_line): fix for the last line, since the newline is no longer counted. (gtk_text_iter_get_bytes_in_line): ditto 2001-10-22 Havoc Pennington * gtk/gtktextbtree.c (_gtk_text_btree_insert): add assertion that #58290 would trigger if it reappeared, I think 2001-10-22 Havoc Pennington * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): add temporary code to dump btree contents on assertion failure described in #62656 * gtk/gtktextbtree.c (ensure_end_iter_segment): add some assertions that we're getting the right end iter segment * gtk/gtktextiter.c (_gtk_text_iter_forward_indexable_segment): verify that we aren't on the end iterator after moving forward one segment - fixes return value in an obscure case. Also, some trivial code cleanup/rearranging. 2001-10-22 Havoc Pennington * gtk/gtktextlayout.h: add a #error unless you define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so people don't use this accidentally * gtk/gtktext*.c: #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API as appropriate. 2001-10-22 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_get_border_window_size): fix #62365 2001-10-22 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_get_window_type): fix #62436 2001-10-22 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_set_border_window_size): Fix #62366 Mon Oct 22 11:47:47 2001 Owen Taylor * gtk/gtklabel.c: Add cursor-position, selection-bound properties. (#62148, reported by Padraig O'Briain) * gtk/gtkentry.c (gtk_entry_class_init): Rename text_position to cursor_position. (1.3.x addition, text_position is an awful name.) Make cursor_position read-only to avoid sticky questions of interaction with selection_bound. (#62636, reported by Padraig O'Briain) Mon Oct 22 16:25:12 2001 Owen Taylor Fixing popup menus to have "Paste" sensitized correctly. Original patches from Damian Ivereigh, much mangled. * gtk/gtkselection.c: Add functions gtk_selection_data_get_targets(), gtk_selection_data_targets_include_text(). (#60854) * gtk/gtkclipboard.c: Add a simple do-it-all non-async "check if the clipboard has text" function gtk_clipboard_wait_is_text_available. (#60854) * gtk/gtkentry.c: Only enable the paste item if the clipboard contains text. (#60973) * gtk/gtktextview.c: Only enable the paste item if the clipboard contains text. (#60975) 2001-10-22 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_class_init): rip out "height_lines" and "width_columns" properties, it doesn't make sense to set the size request on a text view really. #62103 Mon Oct 22 15:17:05 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_iter_depth): Realized g_node_depth is broken, and that it's not worth being consistent with it. 2001-10-22 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_set_line): Clarify behavior in docs, #61777 (gtk_text_iter_forward_search) (gtk_text_iter_backward_search): change the two boolean args to a flags field, so we can extend to add case insensitive, regexp searches later. #61852 Mon Oct 22 15:07:17 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_iter_depth): update docs to reflect reality, #62810 Mon Oct 22 14:08:26 2001 Jonathan Blandford * demos/gtk-demo/appwindow.c: Remove handle_box from App demo. * gtk/gtktreeview.c (size_allocate): Move to a different drawing system. Instead of having a window the size of the tree, we have a window the size of widget->allocation, and simply draw with the offset. (coords_are_over_arrow): ditto. Move to window coordinates. (do_prelight): ditto (do_unprelight): ditto * gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered): Minor fix from Kristian Rietveld to fix unsorted case. 2001-10-22 jacob berkman * gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to a PIXMAP cell (fixes crash when using PIXTEXT cells) Sat Oct 20 18:58:25 2001 Owen Taylor * gtk/gtkentry.h: Deprecate gtk_entry_set_editable. (#58768, Vitaly Tishkov) * gtk/gtkobject.h: Deprecate with abandon. (#61942, Vitaly Tishkov, Matthias Clasen) * gtk/gtksignal.h: Deprecate everything. * gtk/gtkmain.h (GTK_PRIORITY_INTERNAL): Deprecate all GTK_PRIORITY_* defines other than GKT_PRIORITY_RESIZE> (#61942, Matthias Clasen) * gtk/gtkstyle.h: Deprecate gtk_draw_*. (#61140, Havoc Pennington) * gtk/gtkitemfactory.h: Deprecate compat functions for GtkMenuFactory code. (#62071) * gdk/gdkdrawable.h: Deprecate gdk_draw_string, gdk_draw_text,gdk_draw_text_wc. (#62071) Mon Oct 22 10:12:08 2001 Owen Taylor * gdk/gdk.c docs/Changes-2.0.txt (gdk_threads_init): Don't call g_thread_init(), we don't want to link to -lgthread if we don't have to. Mon Oct 22 08:51:02 2001 Owen Taylor * gdk/gdk.[ch] (gdk_threads_init) docs/Changes-2.0.txt: Add a function, gdk_threads_init() that must be explicitely called to enable the GDK thread mutex. 2001-10-22 Jakub Steiner * gtk/stock-icons/stock_stop.png: no body parts Sun Oct 21 23:27:00 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_translate_coordinates): Fix problem with g_return_if_fail return value. * gdk/x11/gdkproperty-x11.c docs/Changes-2.0.txt: Move over the virtual atom code from the gdk-multihead branch, removing the per-display part. Virtualizing atoms needs to be done now to prevent compat breakage in direct Xlib accessing code in the future. (#62208) * gdk/x11/gdkx.h: gdk/gdk/x11/gdkproperty-x11.c: Export gdk_x11_xatom_to_atom, gdk_x11_atom_to_xatom(). * gdk/gdktypes.h docs/Changes-2.0.txt: Make GdkAtom an opaque pointer type so the compiler catches attempts to mingle it with X atoms. * gdk/x11/{gdkdnd-x11.c,gdkevents-x11.c,gdkglobals-x11.c, gdkkeys-x11.c, gdkmain-x11.c, gdkprivate-x11.c, gdkproperty-x11.c, gdkselection-x11.c, gdkwindow-x11.c} gtk/{gtkclist.c,gtkctree.c,gtkdnd.c,gtkplug.c,gtksocket.c} tests/testdnd.c,tests/testselection.c: Fix up for above atom changes. * gdk/gdkselection.h (GDK_SELECTION_CLIPBOARD): Add, since we now have the ability to add custom predefines. * gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}: Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls to gtk_clipboard_get(). * gdk/win32/gdkproperty-win32.c: Add CLIPBOARD, fix up for GdkAtom => pointer change. * gdk/linux-fb/gdkproperty-fb.c: Fix handling of predefined atoms, fix for GdkAtom => pointer change. Mon Oct 22 00:26:46 2001 Kristian Rietveld * gtk/gtkspinbutton.c: remove ARROW_SIZE constant, use new function spin_button_get_arrow_size() instead. * gtk/gtkstyle.c (gtk_default_draw_arrow): actual size of arrow was hardcoded, it's now variable. Fixes bug #50200 Sat Oct 20 18:16:04 2001 Manish Singh * gtk/gtktreeview.c (gtk_treeview_get_property): PROP_MODEL and PROP_EXPANDER_COLUMN can be NULL, so don't do a object cast check for those Sat Oct 20 19:38:16 2001 Owen Taylor * demos/*.c demos/gdk-pixbuf/*.c: Eliminate gtk_signal_* in favor of g_signal_*, gtk_object_* in favor of g_object_*. Fri Oct 19 18:35:22 2001 Manish Singh * gtk/{gtkentry.c,gtktextview.c}: since GtkIMContext derives directly from GObject now, we have to use the g_object_* functions, not gtk_object_*. Fri Oct 19 22:46:54 2001 Kristian Rietveld * gtk/gtktreemodelsort.[ch]: we probably have rows_reordered nailed down now (this code is not yet ready for general consumption) Fri Oct 19 13:44:51 2001 Manish Singh * gtk/gtktreeview.c (gtk_treeview_scroll_to_cell): correct docs for use_align Fri Oct 19 15:34:06 2001 Owen Taylor * gtk/gtk.h gtk/Makefile.am: Export GtkIMContextSimple publically. (#61862) Fri Oct 19 15:08:30 2001 Owen Taylor * gtk/{gtkimcontext.c,gtkimcontextsimple.c,gtkimmulticontext.c} modules/input/{gtkimcontextxim.c,imcyrillic-translit.c,iminuktitut.c, imipa.c,imthai-broken.c,imviqr.c}: Make GtkIMContext derive from GObject, not GtkObject. (#62621) Fri Oct 19 12:49:12 2001 Owen Taylor * tests/testsocket.c: Remove now useless include of unistd.h, fix wrong argument gtk_socket_steal. (Hans Breuer, #58541) Fri Oct 19 12:24:32 2001 Owen Taylor * gdk/linux-fb/gdkfont-fb.c: Fix up for change to Pango font API. #61933. (Untested, even for compilation.) Fri Oct 19 11:24:58 2001 Owen Taylor * gtk/gtkmain.[ch] (gtk_disable_setlocale): Actually export gtk_disable_setlocale(). (Caught by Sven Neumann) 2001-10-18 Havoc Pennington * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_lookup): fix compilation 2001-10-18 Havoc Pennington * gtk/gtkbutton.c (gtk_button_class_init): Change button signals to GTK_RUN_LAST, #50239 2001-10-18 HideToshi Tajima * gtk/gtkimmodule.c (match_locale): Support "*" for all locales with least priority when to select default im module, #58201 2001-10-18 Matthias Clasen * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): Fix docs. (#61976) * gtk/gtkplug.c (gtk_plug_get_id) : Fix docs. (#62144) * gtk/gtkliststore.c: Fix docs. (#61672, #61675) * gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h, gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c, gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c, gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c: Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup and gkd_pixmap_foreign_new to the gdk frontend api. (#62063) * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063) * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Don't restrict the width of the spinbutton entry field to 10 digits. (#58681) Thu Oct 18 14:58:14 2001 Jonathan Blandford * tests/testtreeflow.c: new test program for the tree. Thu Oct 18 14:22:10 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_remove): fix small bug reported by (Oleg Maiboroda), #62600 2001-10-18 Michael Meeks * gtk/gtkentry.c (gtk_entry_set_property), (gtk_entry_get_property): impl 'text' (gtk_entry_class_init): add the 'text' prop. (gtk_entry_insert_text): notify 'text' changed. (gtk_entry_delete_text): ditto. 2001-10-17 Matthias Clasen * gtk/gtkdnd.c, gtk/gtkclipboard.c, gdk/x11/gdkmain-x11.c: Documentation updates. Wed Oct 17 15:17:20 2001 Owen Taylor * gtk/gtkentry.c (gtk_entry_real_insert_text): Fix mistake in truncating length of text to MAX_SIZE. (Found by Padraig O'Briain, #62055) Tue Oct 16 17:04:44 2001 Owen Taylor * gtk/gtkwidget.c: Rename ACTIVATE_MNEMONIC enum to MNEMONIC_ACTIVATE; signal was changed a long time ago. * gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale): Fix wrong return statement. (Reported by HideToshi Tajima and others.) * gtk/gtklabel.h (struct _GtkLabelClass): Remove left over select_all vfunc. Tue Oct 16 15:50:03 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_translate_coordinates): Add a utility function to translate coordinates relative to one widget's allocation to coordinates relative to another widget's allocation. * gtk/gtkradiobutton.c: Add a special ->focus() implementation that: - only accepts external focus if there is no active member of the group or the button is active. - makes arrow keys move the active button as well as the focus - make tab tab out directly. This makes a radio button group act as a single focus location. (#53577). * gtk/gtkcontainer.c (gtk_container_focus): Remove prefiltering - it was only a small optimization that didn't matter and made things more complicated. * gtk/gtkcontainer.c (gtk_container_focus_tab): Get rid of custom sorter for FOCUS_TAB as we did for the other focus directions, sort by center of widgets, not upper-left corner. (Shouldn't matter in general.) * gtk/gtkcontainer.c: Restructure code to remove duplicate code from the different types of focusing: encapsulate sorting the widgets for the focus direction into one routine (gtk_container_focus_sort()) and then share the work of moving the focus between the different focus directions. * gtk/gtkcontainer.c: Fix bug where arrow navigation might not work correctly with focus chains containing non-immediate children. Sorting was being done using allocation coordinates for each widget in the focus chain, and if there were intermediate window-widgets, these allocations would not be in the same coordinate system. Tue Oct 16 15:12:26 2001 Jonathan Blandford * gtk/gtkoptionmenu.c (gtk_option_menu_mnemonic_activate): add a mnemonic_activate function to option menu. 2001-10-15 Murray Cumming * gtk/gtkinputdialog.c, gtk/gtktoolbar.c, gtk/gtkwidget.c: Corrected the type names used in some calls to g_signal_new(). Sat Oct 13 07:09:30 2001 Tim Janik * gtk/gtkbindings.c (gtk_binding_set_add_path): to compare pattern specs, use g_pattern_spec_equal() instead of direct field accesses. upon compressing two equal paths of the same type, the resulting priority has to be the maximum. * gtk/gtkenums.h (enum): take GTK_PATH_PRIO_MASK out of the GtkPathPriorityType enum and make it a macro. 2001-10-12 Matthias Clasen * gtk/gtkwidget.c: Fix some doc comments. Fri Oct 12 11:39:20 2001 Joshua N Pritikin * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): Fix to work on empty models. 2001-10-11 Matthias Clasen * gtk/gtkcolorsel.c, gtk/gtkwidget.c, gtk/gtktreeview.c: Remove stale gdk backend includes. 2001-10-10 Michael Meeks * gtk/gtkcombo.c (gtk_combo_class_init): add enable_empty and value_in_list properties. (gtk_combo_set_value_in_list): notify change. (gtk_combo_set_property, gtk_combo_get_property): impl. prop. 2001-10-11 James Henstridge * configure.in: add AS=CC and ASFLAGS=CFLAGS substitutions so that gtk+ can be built with automake 1.5 while not breaking things for automake 1.4. Wed Oct 10 12:48:38 2001 Owen Taylor * gtk/gtkmain.c (gtk_init_check): Call setlocale (LC_ALL, ""). (#60606) * gtk/gtkmain.c (gtk_disable_setlocale): Add function to disable calling setlocale (LC_ALL, ""). * gtk/gtkmain.c (gtk_set_locale): Indicate in the docs that this function is not typically useful. * gdk/x11/{gdkim-x11.c,gdkmain-x11.c,gdkprivate-x11.h}: Automatically initialize GDK for the current locale on gdk_init(). Don't reset locale to C when XSupportsLocale() fails. * gdk/linux-fb/gdkim-fb.c (gdk_set_locale): Remove useless checks for UTF-8 locale breakage that mattered only for X. * examples/calendar/calendar.c tests/{testgtk.c,testtext.c,testcalendar.c}: Remove calls to gtk_set_locale(). * gtk/gtkiconfactory.c gtk/gtkitemfactory.c: gdk_pixbuf_new_from_stream => gdk_pixbuf_new_from_inline. Wed Oct 10 21:13:46 2001 Kristian Rietveld * gtk/gtktreemodel.[ch]: added gtk_tree_model_get_iter_from_string(). Fixes bug #61904 Wed Oct 10 01:19:04 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_iter_is_selected): new function, #61923 (gtk_tree_selection_path_is_selected): Ditto Tue Oct 9 17:40:24 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_finalize): We're a gobject, not a GtkObject. Thanks andersca. * gtk/gtkliststore.c (gtk_list_store_finalize): ditto Tue Oct 9 14:50:51 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_model_sort_column_changed): fix broken code. 2001-10-08 Matthias Clasen * gtk/gtkselection.c: s/succesfully/successfully/g 2001-10-08 Havoc Pennington * demos/gtk-demo/stock_browser.c: remove unused enum * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node): pass the current selection state of the node in to the user selection func 2001-10-06 Matthias Clasen * gdk/x11/gdkx.h (GDK_CURSOR_XCURSOR): Replace reference to non-existent function gdk_x11_cursor_get_xid by gdk_x11_cursor_get_xcursor. Fri Oct 5 20:50:00 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_iter_has_child): improve warning. * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): ref and unref nodes, #okay61676 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_sort): we listen to the property; no need to clear the other columns. Also, we go to 'unsorted' if the model supports it. 2001-10-05 Sven Neumann * demos/testpixbuf-save.c * demos/testpixbuf-scale.c: simple tests for the new PNG tEXt chunk feature. Fri Oct 5 19:06:07 2001 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_leave_notify): should destroy the search dialog * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): added check to prevent creation of a search dialog if there's already one around * gtk/gtktreeview.c: Define GTK_TREE_VIEW_SEARCH_DIALOG_KEY, and use it instead of "search-dialog" (when getting/setting the search dialog widget). 2001-10-05 Jakub Steiner * gtk/stock-icons/stock_broken_image.png: broken images icon 2001-10-04 Havoc Pennington Fix #56586 * gtk/gtksettings.c (gtk_settings_class_init): move the F10 accelerator setting here... * gtk/gtkmenubar.c (gtk_menu_bar_class_init): ...from over here, because we try to use it when a menu bar hasn't necessarily been initialized. 2001-10-03 Havoc Pennington * tests/testtextbuffer.c (logical_motion_tests): fix test case, it previously verified incorrect behavior Fixes for #61565 * gtk/gtktextiter.c (gtk_text_iter_set_line): don't return lines off the end (_gtk_text_btree_get_iter_at_line_char): don't return lines off the end (_gtk_text_btree_get_iter_at_line_byte): don't return lines off the end (gtk_text_iter_forward_lines): if on the last line, move to end of it * gtk/gtktextbtree.c (_gtk_text_btree_last_could_contain_tag): don't return a line off the end Wed Oct 3 23:47:25 Kristian Rietveld * gtk/gtkeditable.[ch]: move insert_text and delete_text virtual functions to do_insert_text and do_delete_text, add signals insert_text, delete_text and changed * gtk/gtkentry.[ch]: remove signals insert_text, delete_text and changed. Updates to match new situation. * gtk/gtkspinbutton.c: updates to match new situation * gtk/gtkoldeditable.h: remove signals changed, insert_text and delete_text * gtk/gtkoldeditable.c: updates to match new situation * gtk/gtktext.c: updates to match new situation Fixes bug #59803 2001-10-03 Havoc Pennington * gtk/gtktextiter.c (test_log_attrs): allow testing the end position * gtk/gtktextbuffer.c (compute_log_attrs): update for pango changes * tests/testtextbuffer.c (logical_motion_tests): updates 2001-10-03 jacob berkman * gtk/gtkwidget.c (gtk_widget_style_get_property): * gtk/gtkstyle.c (_gtk_style_peek_property_value): * gtk/gtksettings.c (apply_queued_setting): * gtk/gtkmain.c (gtk_init_check): * gtk/gtkcontainer.c (gtk_container_child_get_property): s/retrive/retrieve/ Wed Oct 3 20:29:29 2001 Kristian Rietveld * gtk/gtktreemodelsort.[ch]: preparation for surgery * tests/testtreesort.c: ditto 2001-10-02 Havoc Pennington Throughout: assorted docs * gdk/gdkwindow.h: deprecate gdk_window_set_hints(), it's broken, gdk_window_set_geometry_hints() should be used instead. * gdk/gdkimage.h: deprecate gdk_image_ref, gdk_image_unref, and document them * gdk/x11/gdkx.h: remove gdk_get_client_window() since it doesn't seem to exist in any .c files * gdk/x11/gdkcolor-x11.c (gdk_colormap_query_color): docs, g_return_if_fail (pixel < colormap->size). Wed Oct 3 10:42:54 2001 Owen Taylor * gtk/gtkdnd.c (gtk_drag_dest_find_target): Allow NULL for @target_list to mean, use gtk_drag_dest_get_target_list (widget). * gtk/gtkdnd.c (gtk_drag_finish): Fix problem where drop could hang when calling gtk_drag_finish with success == FALSE and del == TRUE. * gtk/gtkdnd.c (gtk_drag_dest_drop): Fix problem where drops without a matching target found would propagate to the parent widget rather than being rejected. * gtk/gtktextview.c (gtk_text_view_drag_data_received): Use text_view->dnd_mark instead of mark name to be consistent with the rest of the code. * gtk/gtktextview.c (gtk_text_view_drag_motion): Make pendantically correct for a drop-only-in-some-places widget. (Check whether you can insert in drag_drop, not just in drag_motion ... matters in theory, and for Motif drag and drop in practice.) * gtk/gtkentry.c (gtk_entry_drag_drop): Patch from Damian Ivereigh to not allow drops on non-editable entries. (#61124) * gtk/gtkentry.c (gtk_entry_motion_notify): Don't allow text to be moved from a non-editable entry. 2001-10-03 James Henstridge * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width): s/width/fixed_width/ in order to get things to compile. Wed Oct 3 00:37:09 2001 Jonathan Blandford * gtk/gtkcelleditable.c: docs * gtk/gtktreemodel.h: more docs. 2001-10-02 Havoc Pennington * gdk/x11/gdkwindow-x11.c: docs * tests/testtextbuffer.c (logical_motion_tests): add sentence boundary tests Tue Oct 2 20:18:32 2001 Kristian Rietveld * demos/gtk-demo/Makefile.am: add editable_cells.c, list_store.c and tree_store.c * demos/gtk-demo/appwindow.c: remove tearoff item from File menu, put menubar and toolbar in handle boxes. * demos/gtk-demo/genincude.pl: various changes to support trees * demos/gtk-demo/main.c: various changes to support trees * demos/gtk-demo/stock_browser.c: changed name of demo to Stock Item and Icon Browser, so geninclude.pl doesn't see it as child * demos/gtk-demo/editable_cells.c: new file/demo * demos/gtk-demo/list_store.c: new file/demo * demos/gtk-demo/tree_store.c: new file/demo Mon Oct 1 16:05:44 2001 Owen Taylor * gtk/gtkrc.c gtk/gtksettings.c: g_string_printfa => g_string_append_printf. Mon Oct 1 16:08:23 2001 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_class_init): add a finalize and destroy handler. * gtk/gtktreestore.c (gtk_list_store_class_init): ditto, #59963 * gtk/gtktreeview.h (struct _GtkTreeViewClass): Add 'start_editing' flag to select_cursor_row. Bug spotted by Manish Singh . 2001-10-01 Matthias Clasen * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): replace g_scanner_add/remove_symbol by g_scanner_scope_add/remove_symbol. * gtk/gtkrc.c (gtk_rc_parse_any): here as well. Mon Oct 1 14:07:02 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_size_allocate): change scroll_to_cell delayed code to happen in size_allocate. * gtk/gtkstyle.c (gtk_default_draw_expander): change prelight/normal arrow drawing. * gtk/gtktreedatalist.c: Change compare func to use g_utf8_collate * gtk/gtktreestore.c: refactor. Sun Sep 30 22:15:52 2001 Manish Singh * gtk/gtkcheckbutton.c (gtk_check_button_size_allocate): Applied patch from Soeren Sandmann . Vertically centers the child in relation to the to indicator height. Sun Sep 30 15:11:59 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_remove): Make ITERS_PERSIST correct Sun Sep 30 07:01:42 2001 CEST * gtk/gtkcellrenderertext.c: I reverted back to old "weight" property code using g_param_spec_int and changed from g_value_get_enum to g_value_get_int instead. Probably a better way to fix the problem :-) Sun Sep 30 05:31:32 2001 CEST Mikael Hermansson * gtk/gtkcellrenderertext.c changed "weight" property type from g_param_spec_int to g_param_spec_enum. Sat Sep 29 12:25:26 2001 Manish Singh * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): typo fix: s/Wether/Whether/ in reorderable property description Thu Sep 27 16:46:36 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): only start editing when you select with a keyboard. (gtk_tree_view_button_press_event): much more graceful now. * gtk/gtkstyle.c: Draw togglebutton better. 2001-09-26 Havoc Pennington * demos/gtk-demo/dialog.c (interactive_dialog_clicked): add demo of passing non-stock label in to gtk_dialog_new_with_buttons * gtk/gtktextview.c (cursor_blinks): disable cursor blink when debugging updates * gtk/gtktextiter.h: comment about how GtkTextIter struct contents are private * gtk/gtkbutton.c (gtk_button_new_from_stock): if stock ID doesn't exist, fall back to mnemonic label, not plain label, bug #61184 Wed Sep 26 19:48:01 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_set_valist): Stop being stupid and emitting the signal every time. * gtk/gtkliststore.c (gtk_list_store_set_valist): ditto Wed Sep 26 16:35:59 2001 Owen Taylor Patch from Mark McLoughlin (#61233) * contrib/gdk-pixbuf-xlib/Makefile.am: install gdk-pixbuf-xlib-2.0.pc. Wed Sep 26 16:15:25 2001 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_set_tab_label): Fix problem where menmonic wasn't removed properly when setting a label when there already is a label. Also, handle setting the tab label back to the same value. (#61160, #61161) * gtk/gtkentry.c (paste_received): Patch from Damian Ivereigh to replace selection if there is one. (#61121) 2001-09-25 Darin Adler * tests/.cvsignore: Ignore new test program. 2001-09-25 Havoc Pennington * gtk/gtktextview.c: fix for #50317 2001-09-25 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_key_press_event): use gtk_text_iter_can_insert * gtk/gtktextbuffer.c: use gtk_text_iter_can_insert * gtk/gtktextiter.c (find_line_log_attrs): fixes, #57611, #57613 (gtk_text_iter_can_insert): new function to fix #60282, should also fix msw's "can paste into empty buffer" bug. * gtk/gtktexttag.c (gtk_text_tag_event): change type check for "event object," #59091 * gtk/gtktextbtree.c: indentation fixes * gtk/gtktextiter.c (find_by_log_attrs): fixes Tue Sep 25 12:41:17 2001 Owen Taylor * configure.in: Version 1.3.9, interface age 0, binary age 0. * configure.in: Require GLib-1.39, Pango 0.20, Atk 0.5. * NEWS: Updates. Mon Sep 24 11:59:09 2001 Owen Taylor * gtk/gtkstyle.[ch] (_gtk_draw_insertion_cursor): Shared function for drawing cursors between gtkentry/gtklabel/gtktextview. Should this be public? It has a bit of an odd interface, but custom editing widgets probably should be using it. Function will draw with wider width for taller cursors, and draws a little indicator arrow to indicate directoin for split cursors. * gtk/gtktextview.c: Add a "cursor_color" property. * gtk/gtktextdisplay.[ch]: Add a cursor_gc parameter to gtk_text_layout_draw(). * gtk/gtkentry.c gtk/gtklabel.c gtk/gtktextdisplay.c: Use _gtk_draw_insertion_cursor(). Tue Sep 25 11:22:23 2001 Owen Taylor * gtk/gtkcellrenderertext.c gtk/gtktexttag.c: Restore the behavior where you could turn family_set (etc) back on and get back the values you had before. * demos/gtk-demo/stock_browser.c (id_to_macro): Use g_string_ascii_up() rather than looping through the string ourself. Tue Sep 25 15:32:44 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_renderer): Removed (gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0, 1.0); Fixes 61012. * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Fixed #61012 Patch from Detlef Reichl 2001-09-25 Havoc Pennington * tests/testtextbuffer.c (line_separator_tests): Add tests for line separators, addresses bug #57428 Tue Sep 25 12:34:42 2001 Jonathan Blandford * gtk/gtkentry.c: Make a GtkCellEditable (get_widget_window_size): Change to let it honor size_allocate when a CellEditable. * gtk/gtktreeview.c: M-x clean-line-ends. Lots of focus and editable changes. (gtk_tree_view_set_cursor): Now you can set the cursor horizontally, as well as start editing. * gtk/gtkstyle.c (gtk_default_draw_check): changing toggle drawing code to look more like the other check buttons. * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size): Change the way we calculate cell size. * gtk/gtkmarshal.list (VOID:STRING,STRING): new marshaller. * demos/gtk-demo/sizegroup.c: Add mnemonics. * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): Fix docs. Fix logic. * gtk/gtkcellrenderertext.c: Change to be editable. * gtk/gtkcellrenderertoggle.c: Change to be activatable. * test/testtreesort.c: Fix misspelling * test/testreecolumns.c: Add mnemonics. * test/testreeedit.c: New test program. 2001-09-25 Havoc Pennington * gtk/gtkwindow.c: Put notes in gtk_window_set_has_frame(), etc. docs about how these are not going to do what you want for the X/win32 ports. Futile attempt to avoid a FAQ... 2001-09-24 James Henstridge * gtk/gtkmarshal.list (VOID): add marshal function types. * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than GTK_TYPE_POINTER. (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes with no-op copy/free functions. * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for GtkCTreeNode get_type function. 2001-09-24 Havoc Pennington * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c, gtktextlayout.c: Get rid of the newline-that-could-not-be-deleted; buffers may now be zero-length. Much easier to fix than expected, once I figured out the right way to do it. However, there are various subtle bugs introduced by this that will have to get sorted out. Please use bugzilla. Mon Sep 24 15:09:08 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_move_resize): Don't wait for a response back from the window manager if our size hasn't changed since we won't get a response back from the window manager; there was code in there to do this, but it was in the wrong place so if the hints change and the size didn't we'd expect a response. Also, optimize the position-only-changed case by running the resize queue immediately, and clean up some comments for the changes. Mon Sep 24 12:48:25 2001 Owen Taylor * gtk/gtknotebook.h: Add a compat macro that got lost. * gtk/gtktreestore.c: Doc fixes. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference leak for windows that receive events after being destroyed. (#60863, Joshua N. Pritikin) * gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize rather than gtk_container_queue_resize(). * gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix gtk_container_queue_resize, gtk_container_queue_resize_widgets, gtk_container_child_composite_name. (#60217.) 2001-09-22 Hans Breuer * gtk/gtkmenu.h : fix compat macros for gtk_menu_ Sat Sep 22 16:50:34 2001 Kristian Rietveld * gtk/gtktexttag.c (gtk_text_tag_set_property): (case PROP_WEIGHT): weight value should be an int Sat Sep 22 15:17:41 2001 Kristian Rietveld * gtk/gtkmenu.c (gtk_menu_select_item): move most code to gtk_menu_scroll_item_visible(). Only call gtk_menu_scroll_item_visible() if the menu widget has been realized. Fixes bug #55310. 2001-09-21 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_key_press_event): don't pass key press to IM context if cursor isn't in an editable location; bug #58425, patch from Hidetoshi Tajima 2001-09-21 Havoc Pennington Bug #60862 * gtk/gtktextbtree.c (gtk_text_btree_node_destroy): (_gtk_text_btree_unref): fix up mark memory management * gtk/gtktextmark.c (mark_segment_delete_func): ditto 2001-09-20 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): don't try to handle alignment here, because it's done by PangoLayout after we set the layout width. Fix from Dov. 2001-09-21 Hans Breuer * gdk/gdk.def : * gtk/gtk.def : updated externals * gtk/gtkmain.h : define get_gtk_win32_directoty () * gtk/gtkmain.c (find_module) : don't use module_name after freeing it. Also handle that Win32 pathes cann't be hard-coded * gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various module, themes etc directory calculations * gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates >16 bit right. The size limit within Win9x appears _not_ to be 32767 but slightly smaller ... * gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid >16 bit clipping. Added dummy body for gdk_window_set_icon_list () * gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle () * gdk/win32/gdkevents-win32.c : some tweaking to get better expose handling. I'm not sure if it is better now, but at least not worse * gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup * gdk/win32/gdkwin32.h : reflect recent API restrictions 2001-09-21 Matt Wilson * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set radio_menu_item->group to NULL after removing it from the list, as it is no longer in the group. (#60869) * gtk/gtkradiobutton.c (gtk_radio_button_destroy): likewise 2001-09-20 Havoc Pennington * configure.in (PANGO_REQUIRED_VERSION) (ATK_REQUIRED_VERSION): add variables and checks for specific versions of dependencies. Previously we didn't verify the Pango or ATk versions. 2001-09-09 Havoc Pennington * gtk/gtktextiter.c: fool with indentation (gtk_text_iter_in_range): add g_return_if_fail Thu Sep 20 17:45:54 2001 Joshua N Pritikin * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): Fix ref count on new tag to be 1. Update doc. (#60836) Thu Sep 20 16:20:47 2001 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_allocate_images): Remove unnecessary call to gdk_image_new_bitmap(). (#59094, reported by by Sven Neumann) Thu Sep 20 15:31:35 2001 Owen Taylor * gtk/gtkcalendar.c (gtk_calendar_init): Use the current day, as well as the current month and year. (#59047, reported by Vitaly Tishkov) Thu Sep 20 15:10:30 2001 Owen Taylor * gtk/gtkdialog.c (gtk_dialog_init): Automatically set set dialogs to GTK_WIN_POS_CENTER_ON_PARENT. (#60554) Thu Sep 20 18:00:56 2001 Kristian Rietveld * tests/testgtk.c (struct OptionMenuItem): get rid of it, (build_option_menu): add func argument, connect ::changed signal to option menu instead of connecting the ::activate signal to the menu items, (toplevel): get rid of RADIOMENUTOGGLED macro, (list_toggle_sel_mode), (clist_toggle_sel_mode), (ctree_toggle_line_style), (ctree_toggle_expander_style), (ctree_toggle_justify), (ctree_toggle_sel_mode), (progressbar_toggle_orientation), (progressbar_toggle_bar_style): use gtk_option_menu_get_history() instead of RADIOMENUTOGGLED, (notebook_type_changed): merged standard_notebook(), notabs_notebook(), scrollable_notebook() and borderless_notebook() into notebook_type_changed() (create_list), (create_ctree), (create_notebook), (create_progress_bar): changed OptionMenuItem arrays into gchar * arrays. Removed "Extended" item where used. Fixes bug #59885 2001-09-20 Sven Neumann * configure.in * gdk/Makefile.am * gtk/Makefile.am * gtk/gtkselection.c * gtk/gtktreeview.c * gtk/gtkwindow.c: removed remaining traces of nanox GDK backend. Thu Sep 20 11:19:42 2001 Owen Taylor * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): Add a missing pango_layout_iter_free (). Thu Sep 20 11:03:51 2001 Owen Taylor * gtk/gtkobject.c gtk/gtklist.c gtk/gtkplug.c gtk/gtksocket.c gtk/gtktreemodelsort.c gtk/gtktreeview.c: Small warning cleanups. * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_get_group): Change the function definition so we don't accidentally rely on the compat #define from gtk_radio_menu_item_group. (#60782, Jeff Franks) Thu Sep 20 16:51:02 2001 Kristian Rietveld * gtk/gtkwindow.c (gtk_window_get_frame_dimensions): returned incorrect values for top, right and bottom due to cut-and-paste bug. Pointed out by Vitaly Tishkov, fixes bug #59008 Wed Sep 19 17:59:27 2001 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set _NET_WM_PID and WM_CLIENT_MACHINE properties on each window, not just on the client leader. (#58463) Wed Sep 19 17:28:47 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_new): Add missing cast. * gtk/gtkmenuitem.[ch] gtk/gtkmenushell.c: Underscore prefix non-public _gtk_menu_item_set_placement. * gtk/gtktooltips.h: Deprecate gtk_tooltips_set_delay(). Wed Sep 19 16:16:38 2001 Owen Taylor * gdk/win32/gdkcolor-win32.c gdk/x11/gdkcolor-x11.c gdk/linux-fb/gdkcolor-fb.c: Fix propagated (flags && GDK_COLOR_WRITEABLE) typo. (#59723) Wed Sep 19 16:12:16 2001 Owen Taylor * gdk/gdkpixbuf-render.c: Allow -1 for width/height to mean "width/height of pixbuf" (Patch from Matthias Clasen, #59723) Wed Sep 19 16:01:27 2001 Owen Taylor Patch from Frank Belew #59037 for Solaris compilation. * gtk/maketypes.awk: Change syntax slightly for a call to sub(), apparently making awk on Solaris happier. * gtk/gtktreeview.c: Remove C++ comments. Wed Sep 19 15:46:29 2001 Owen Taylor * gtk/gtkwindow.c: Add xgettext:no-c-format comment to to handle '99% of the time. (#60473, reported by Christian Rose) * gtk/gtkwidget.h: Remove prototype for gtk_widget_get_usize() which no longer exists. (#60379, reported by Vitaly Tishkov) Wed Sep 19 11:06:24 2001 Tim Janik * Released 1.3.8. * gdk/Makefile.am: kill EXTRA_DIST clearing. Wed Sep 19 02:50:40 2001 Tim Janik * demos/Makefile.am ($(testpixbuf_OBJECTS)): don't use BUILT_SOURCES as its broken in automake 1.4, add explicit object rule to generate this. * gdk-pixbuf/Makefile.am: fix maintainer and normal cleanfiles. get rid of uneccessary stamps, group stuff more logically, and build sources due to object rules. fix srcdir!=builddir. Tue Sep 18 20:47:16 2001 Owen Taylor * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Fix incorrect parameter to compute_double_length (#58680, patch from Matthias Clasen) Fixes for compilation with Forte cc. (#59734, Derek Rafter) * gtk/gtkwindow.h gtk/gtksizegroup.h: Remove extra ;. * gdk/gdktypes.h (GdkModifierType): Write 1u << 31 for GDK_RELEASE_MASK to avoid warnings with Forte. * gtk/gtktexttag.c gtk/gtkcellrendertext.c: Add some missing break; statements. 2001-09-18 Alex Larsson * gtk/gtkcheckbutton.c: * gtk/gtkradiobutton.c: Don't draw with GTK_STATE_ACTIVE. * gtk/gtkclist.c: * gtk/gtkctree.c: Draw lines between rows with base_gc[GTK_STATE_NORMAL]. * gtk/gtktextdisplay.c: Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and unfocused with base_gc [GTK_STATE_ACTIVE]. * gtk/gtkentry.c: Add select all menu-item. Default cursor color is red. Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and unfocused with base_gc [GTK_STATE_ACTIVE]. * gtk/gtklabel.[ch]: Add keynav + menu to selectable lables. Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and unfocused with base_gc [GTK_STATE_ACTIVE]. * gtk/gtkfilesel.c: Add drag and drop support. * gtk/gtkstyle.c: (This was checked in earlier) New default values for text/base SELECTED and ACTIVE Tue Sep 18 23:51:49 2001 Tim Janik * configure.in: up version to 1.3.8, interface age 0, binary age 0, depend on glib 1.3.8. * NEWS: 1.3.8 updates. Tue Sep 18 18:46:54 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_start_editing): centralize all the editing code * gtk/gtkcelleditable.c: Got rid of stop_editing, as there was no reason to call it beyond emiting the two signals. * gtk/gtkentry.c (gtk_entry_class_init): add "has_frame" property to GtkEntry. Wed Sep 12 11:21:14 2001 Owen Taylor * gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch] gtk/gtktextview.c tests/testgtk.c: Fix up for changes to PangoFontDescription. * gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c gtk/gtkspinbutton.c: Fix up for change to PangoMetrics structure. * gtk/gtkfontsel.c: Fix up for new Pango font listing API. * gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace direct access to style->font. Deprecate gtk_style_ref/unref. * gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c: Remove gtk_style_ref/unref with g_object_ref/unref. * gtk/gtkcalendar.c: Remove leftover macros accessing style->font. * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused variable. * gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of style->font. Tue Sep 18 13:51:35 2001 Jonathan Blandford * gtk/gtkcellrenderer.h (enum): Get rid of broken "can_edit" and "can_activate" properties in favor of GTK_CELL_RENDERER_MODE_INERT, GTK_CELL_RENDERER_MODE_ACTIVATABLE, and GTK_CELL_RENDERER_MODE_EDITABLE Tue Sep 18 12:12:43 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_put): Add put for use with editable widgets. This function is private, and should only be used by GtkTreeView. 2001-09-18 Matt Wilson * docs/Makefile.am (EXTRA_DIST): don't use += before = * docs/faq/Makefile.am (EXTRA_DIST): likewise * docs/tutorial/Makefile.am (EXTRA_DIST): likewise * gdk/Makefile.am (MAINTAINERCLEANFILES): likewise (EXTRA_HEADERS): likewise * gtk/Makefile.am (MAINTAINERCLEANFILES): likewise (EXTRA_HEADERS): likewise (EXTRA_DIST): likewise (CLEANFILES): likewise * gtk/stock-icons/Makefile.am (CLEANFILES): likewise * tests/Makefile.am (EXTRA_DIST): likewise * Makefile.am (install-data-local): changed to use install-data-hook, which runs after install-pkgconfigDATA, so that the pkgconfigdir will have been created and populated first. Mon Sep 17 17:39:52 2001 Jonathan Blandford * gtk/gtkcelleditable.[ch]: Add editable interface. This should be the last big GtkTreeView API change. * gtk/gtkcellrenderer.[ch]: Get rid of the "event" vfunc, and replace with "activate" and "start_editing". Also, added a "can_activate" and "can_edit" property. * gtk/gtktreeviewcolumn.c: modify to use above. 2001-09-16 Alexander Larsson * gtk/gtkoptionmenu.c: Handle scroll wheel events. Fri Sep 14 22:31:25 2001 Matthias Clasen * demos/gtk-demo/main.c (setup_default_icon): Use a shaped icon instead of one with ugly white background. Fri Sep 14 22:26:01 2001 Matthias Clasen * demos/gtk-demo/stock_browser.c (id_to_macro): make the uppercasing work. (#59550) 2001-09-14 Jakub Steiner * gtk/stock-icons/dialog_error.png: * gtk/stock-icons/dialog_question.png: more road signs 2001-09-13 Jakub Steiner * gtk/stock-icons/dialog_question.png: * gtk/stock-icons/dialog_warning.png: anders and jonathan seem to like a road sign. Wed Sep 12 19:01:05 2001 Jonathan Blandford * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Rename interface signals to make them more clear. Also, change ::range_changed to ::row_changed. * gtk/gtktreemodel.c: Adjust to interface change * gtk/gtktreemodel.h: ditto * gtk/gtktreemodelsort.c: ditto * gtk/gtktreestore.c: ditto * gtk/gtkliststore.c: ditto * gtk/gtktreeview.c: ditto * tests/testtreecolumns.c: ditto * gtk/gtkmarshal.list: Actually remove a marshaller! 2001-09-12 Padraig O'Briain * gtk/gtktextview.c Add support for Ctrl+Up/Down arrow to move cursor to beginning of previous/next paragraph. If within a paragraph cursor moves to beginning of that paragraph. 2001-09-12 Jakub Steiner * gtk/stock-icons/dialog_question.png: replacing the shaky question mark with a sans-serif one. * gtk/stock-icons/stock_top.png, stock_bottom.png, stock_first.png, stock_last.png: using the new style arrows * gtk/stock-icons/stock_font.png: simple one to replace the ugly colors. * gtk/stock-icons/stock_refresh.png: anti-aliased and changed color. * gtk/stock-icons/stock_zoom*: anti-aliased * gtk/stock-icons/dialog_error.png, dialog_warning.png: confused '-' with a '_', removed the wrong files Sat Sep 8 16:19:02 2001 Owen Taylor * gtk/gtkmain.c: Implement a search path for GTK+ modules. * configure.in gtk/gtkrc.c gtk/Makefile.am: Look for modules in gtk-2.0//major.minor.(micro-binary_age) rather than in gtk-2.0/major.minor.micro//. This works better for a search path for modules. * gtk+-2.0.pc.in gtk+-2.0-uninstalled.pc.in: Add gtk_binary_version variable holding major.minor.(micro-binary_age). * modules/input/Makefile.am (moduledir): Fix installation directory to match change in lookup location. * gtk/gtkmain.c (gtk_init_check): Remove OS/2 code for dll suffixes. Needs to be handled in g_module_build_path(). * gtk/gtkrc.c gtk/queryimmodules.c: Use g_build_filename() where appropriate. Tue Sep 11 13:59:12 2001 Owen Taylor * gtk/gtkrc.c (insert_rc_property): Fixed reversed comparison causing RC properties not to work. 2001-09-11 Jakub Steiner * gtk/stock-icons/dialog-error.png: less drastic * gtk/stock-icons/dialog-warning.png: no body parts. (I hope "STOP" is international enough. * gtk/stock-icons/stock_dnd*.png: get rid of the cursor * gtk/stock-icons/stock_menu_properties.png: 16x16 version Mon Sep 10 21:26:24 2001 Joshua N Pritikin * gtk/gtktextview.c (gtk_text_view_set_buffer): Make (add|remove)_selection_clipboard symmetric. (bug #59836) * gtk/gtktreeview.c (gtk_tree_view_unref_and_check_selection_tree): Avoid SEGV for empty tree. (bug #60243) Mon Sep 10 20:47:22 2001 Tim Janik * tests/testgtk.c (create_idle_test): slight fix for g_object_set() not usable for nesting anymore. * gtk/gtkhandlebox.c (gtk_handle_box_class_init): * gtk/gtkframe.c (gtk_frame_class_init): deprecate ::shadow properties, supply ::shadow_type properties instead as most other widgets do. 2001-09-10 Alex Larsson * demos/gtk-demo/stock_browser.c: * gdk/gdkcolor.c: * gdk/gdkfont.c: * gdk/gdkcursor.c: * gdk/gdkevents.c: * gdk/gdkrectangle.c: * gtk/gtktypeutils.c: Update to use the new g_boxed_type_register_static API. 2001-09-10 Padraig O'Briain * gtk/gtktreestore.c: Fix looping in gtk_tree_store_init() waiting for zero random int. Mon Sep 10 16:55:49 2001 Tim Janik * gtk/gtkalignment.c (gtk_alignment_init): fix xscale and yscale behaviour which havoc broke. they have to default to 1.0 for expand behaviour. * gtk/gtkwindow.c (gtk_window_get_property): don't cast NULL objects. 2001-09-10 Padraig O'Briain * gtk/gtkstyle.c (_gtk_style_peek_property_value) Amend previous change to avoid runtime error in g_param_spec_ref() Mon Sep 10 06:58:56 2001 Owen Taylor * gtk/gtkrc.c (insert_rc_property): Fix blank line in the wrong place. Mon Sep 10 06:50:39 2001 Owen Taylor * gtk/gtkstyle.c (_gtk_style_peek_property_value): Don't do a lookup immediately after creating style->property_cache, since bsearch crashes on zero length for Solaris. (Found by Padraig O'Briain.) 2001-09-09 Alexander Larsson   * gtk/gtkwidget.c (_gtk_widget_peek_colormap): Really return NULL if not set. (gtk_widget_init): Remove unused varaible. 2001-09-09 Alexander Larsson   * configure.in: Remove gdk/nanox/Makefile from AC_OUTPUT(), since it is no longer in cvs. 2001-09-08 Havoc Pennington * gtk/gtkaccelgroup.c: add docs to functions that I can imagine people might want to use 2001-09-08 Havoc Pennington * gtk/gtkalignment.c (gtk_alignment_class_init): default xscale/yscale to 0.0, not 0.5, 0.5 isn't useful * tests/testtextbuffer.c: fix usage of gtk_text_iter_spew * gtk/gtktextiter.c: fix docs (gtk_text_iter_spew): get rid of this * gtk/gtklayout.c: docs * gtk/gtkbutton.c (gtk_button_construct_child): add an alignment to center image and label together, instead of having image on left and label centered, patch/suggestion from Jacob * gtk/gtkdialog.c: docs Sat Sep 8 14:19:49 2001 Jonathan Blandford * gtk/gtkliststore.c: Write documentation * gtk/gtktreestore.c: Write documentation Sat Sep 8 13:53:09 2001 Owen Taylor * gtk/gtkrc.[ch] gtk/gtkstyle.[ch]: Replace uses of GBSearchArray with GArray and bsearch(), to remove dependency on a still evolving interface that we want to keep private to glib/gobject. 2001-09-08 Havoc Pennington * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_add_attribute): docs fixes * gtk/gtktable.c (gtk_table_get_col_spacing): docs fixes * gtk/gtkspinbutton.c (gtk_spin_button_get_increments): docs fixes * gtk/gtksocket.c (gtk_socket_steal): docs fixes * gtk/gtkscrolledwindow.h: docs fixes * gtk/gtkimage.c (gtk_image_new): docs fixes Sat Sep 8 01:49:22 2001 Owen Taylor * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check): Prevent a false alarm constness warning with a cast. * gdk/x11/gdkx.h: Undefine GDK_ROOT_PARENT before redefining it for the inside-gdk case. Sat Sep 8 01:44:18 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_dirty): remove g_print. * gtk/gtktreeview.c (gtk_tree_view_set_model): unref model when we change models, #59899 2001-09-07 Havoc Pennington * gtk/gtkmain.c: move some docs inline 2001-09-07 Havoc Pennington * gtk/gtk.h: tsk tsk, jrb broke the build Fri Sep 7 20:45:29 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_{start,end}): Removed 'fill' attribute. It was silly b/c that was a property of the cell renderer, anyway. (gtk_tree_view_column_render): Actually render the packed renderers. * doc/tree-column-sizing.txt: initial devel documentation. * gtk/gtktreeview.c (gtk_tree_view_expand_all): Fix bug. * gtk/gtkcellrenderertextpixbuf.[ch]: removed. * tests/testtreefocus.c: fix up to reflect above changes. * tests/testtreeview.c: ditto * demos/gtk-demo/stock_browser.c: ditto 2001-09-07 Alex Larsson * gdk/linux-fb/gdkcolor-fb.c: Removed unused function. * gdk/linux-fb/gdkdrawable-fb2.c * gdk/linux-fb/gdkfont-fb.c: Use PangoLanguage functions. * gdk/linux-fb/gdkinput.c: * gdk/linux-fb/gdkselection-fb.c: Fix const warnings. * gdk/linux-fb/gdkwindow-fb.c: Fix warning. Implement gdk_window_set_icon_list() and gdk_window_get_frame_extents(). (No icon support yet though.) * gtk/gtkwindow.c (gtk_window_get_position): If window->frame is set get the extents of it instead. Fri Sep 7 18:50:59 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_get_default_colormap): Make the default default colormap the GdkRGB colormap, not the system colormap. * gtk/gtkinvisible.c (gtk_invisible_init) gtk/gtkwindow.c (gtk_window_init): Set the current colormap, as returned by _gtk_widget_peek_colormap() on the widget. * gtk/gtkwidget.[ch]: Export _gtk_widget_peek_colormap to GTK+. Make it return %NULL instead of the default colormap if no colormap has explicitely been pushed. * gtk/gtkwidget.c (gtk_widget_get_colormap): Check for colormaps on ancestral widgets before defaulting the the system default colormap. * docs/Changes-2.0.txt: explain colormap changes. 2001-09-07 Havoc Pennington * gtk/gtktextiter.c: add some lame code to handle G_MININT, fixes #57424 Fri Sep 7 18:17:47 2001 Owen Taylor * gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm, make gdk_set_use_xshm a noop. Remove --no-xshm command line option. If we aren't autodetecting properly, we need to fix the problem, or at least make it an environment variable setting, to avoid problems with propagating to embedded children, plugins, etc. * gdk/gdkcolor.h: Deprecate gdk_colormap_get_system_size(). * gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h (gdk_pixbuf_render_pixmap_and_mask_for_colormap): New function to render a pixmap and mask for a particular colormap. * gtk/gtkwindow.c (get_pixmap_and_mask): Change to use gdk_pixbuf_render_pixmap_and_mask_for_colormap () instead of internal implementation of the same. 2001-09-07 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_get_lines): remove some debug code that seems to have caused a breakpoint in valid cases * gtk/gtktextbtree.c (_gtk_text_btree_add_view): set the prev pointer on the first view when adding the second view, fixes crash when closing gtk-demo text test with active selection * gtk/gtktextbuffer.c (gtk_text_buffer_remove_selection_clipboard): don't leave dead clipboards in the list of clipboards - probably fixes #59836 Fri Sep 7 11:51:44 2001 Owen Taylor Make gdkx.h the only installed header from gdk/x11. All structures in gdk/x11 are opaque. * gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h: Don't install gdk{drawable,pixmap,window}-x11.h. * gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c: Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11, GdkVisualClass into C files. * gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static. * gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c, gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c} Add public functions to replace previously exported direct structure access. gdk_x11_colormap_get_{xdisplay,xcolormap} gdk_x11_cursor_get_{xdisplay,xcursor}, gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual, gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage}, gdk_x11_gc_get_{xdisplay,ximage} * gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo, GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals. Fix a number of variables and functions that were exported "accidentally" from GDK. * gdk/**.[ch]: gdk => _gdk for gdk_visual_init, gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit, gdk_input_exit, gdk_windowing_exit, gdk_event_func, gdk_event_data, gdk_event_notify, gdk_queued_events, gdk_queued_tail, gdk_event_new, gdk_events_queue, gdk_events_unqueue, gdk_event_queue_find_first, gdk_event_queue_remove_link, gdk_event_queue_append, gdk_event_button_generate, gdk_debug_flags, gdk_default_filters, gdk_parent_root. * gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c, gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}: gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks, gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window, gdk_use_xshm, gdk_input_ignore_core. * gdk/x11/xsettings-common.h (xsettings_list_insert): Add #defines to namespace functions into the private _gdk_ namespace. * gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window () to replace gdk_parent_root exported variable. Adjust and deprecate GDK_ROOT_PARENT(). * demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix GDK_ROOT_PARENT usage, remove includes of port-specific headers. * gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for _gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core, gdk_input_devices, _gdk_input_windows, gdk_init_input_core. * gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c} docs/Changes-2.0.txt: Remove gdk_wm_protocols, gdk_wm_delete_window functions, gdk_wm_take_focus, use gdk_atom_intern() instead. * gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h} gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h} gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h} gtk/gtkselection.c Unexport gdk_selection_property, just use gdk_atom_intern ("GDK_SELECTION"). * gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}: Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type, GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate, GdkVisualprivate, gdk_x11_gc_flush. Make a number of public exports of variables into functions to increase encapsulation. * gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer, move to gdkinternals.h. Add gdk_device_get_core_pointer (). * gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code, gdk_error_warnings. * gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h} docs/Changes-2.0.txt: s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen() s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow() Add gdk_x11_get_default_xdisplay(). * gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class, Don't export gdk_progclass, move --class command line option and handling to common portion of GDK. Miscellaneous fixes: * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix g_return_val_if_fail that should have been g_return_if_fail. * gdk/gdkinternals.h gdk/gdkprivate.h: Move gdk_synthesize_window_state() to the semi-public gdkprivate.h. * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded X11 dependency. * gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO: Remove unused gdk_key_repeat_disable/restore. * linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def: Remove unused gdk_null_window_warnings variable. * gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox; it can be retrieved from the repository; it is too far from functional to be worth having people check out; it would be easier to start from scratch, I suspect. * gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID(). * gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: Fix some accidentally global variables and unused global variables. * gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: Fix some accidentally global variables and unused global variables. Add some space for future expansion to multihead. * gdk/gdkdrawable.h: Add four reserved function pointers for future expansion of GdkDrawableClass. * gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer where we can put a GdkScreen * later. 2001-09-07 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_flush_scroll): update adjustments after validating destination yrange; fixes #53918 (This may cause other issues, but I hope it won't) 2001-09-05 Havoc Pennington * gtk/gtktextbtree.c (_gtk_text_btree_delete): when merging end line into start line, update the character counts in parent nodes; caused a bug when end and start line had different parent nodes. 2001-08-30 Havoc Pennington * gtk/gtktexttag.c (_gtk_text_attributes_fill_from_tags): add assertion that tag is in a table Fri Sep 7 12:48:56 2001 Matthias Clasen * gdk/x11/gdkkeys-x11.c (get_direction): Don't call g_strcasecmp on NULL strings. (#59058) 2001-09-06 Alex Larsson * gtk/gtkbin.c: * gtk/gtkfontsel.c: * gtk/gtkspinbutton.c: * gtk/gtktipsquery.c: Use GtkType/GType instead of uint. Tue Sep 4 18:13:43 2001 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_init): fix initial val for sort column. * gtk/gtktreestore.c (gtk_list_store_init): ditto * gtk/gtktreesortable.c: add docs. Tue Sep 4 09:37:19 2001 Owen Taylor * Version 1.3.7 * configure.in docs/Makefile.am docs/gtk-config.1.in: Remove docs for gtk-config * modules/input/Makefile.am (install-data-local): Don't run gtk-query-immodules if DESTDIR is set. * NEWS: Various additions. Tue Sep 4 03:12:25 2001 Tim Janik * NEWS: updates for 1.3.7 release. Mon Sep 3 18:03:56 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func): handle default sort feature * gtk/gtktreesortable.c (gtk_tree_sortable_set_default_sort_func): new function to handle default sort. (gtk_tree_sortable_has_default_sort_func): check if default sort is set. * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func): handle default sort feature Sun Sep 2 20:32:36 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion, #59731 Sun Sep 2 17:38:42 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from vishnu@pobox.com (Joshua N Pritikin) to emit signal at the correct time, #59727 * gtk/gtkbutton.c (gtk_button_update_state): Get depressed correctly. Sun Sep 2 21:41:21 2001 Owen Taylor * gdk/x11/gdkkeys-x11.c (update_keymaps): Set current serial so that we don't eternally update the keymap after we get a change notification. * gtk/gtkmenuitem.c (gtk_menu_item_set_right_justified): Fix incorrect cast. Sun Sep 2 23:27:16 2001 Kristian Rietveld * gtk/gtktreemodelsort.[ch]: much changes in an attempt to make it working. It mostly works now, although there're still a few issues to be worked out. * tests/testtreesort.c (main): changes to have a better test application for the GtkTreeModelSort. Sun Sep 2 23:19:07 2001 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_search_iter): code cleaup, fix for bug #59222. * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): add gpointer search_data argument to function definition and prototype, to match GtkTreeViewSearchEqualFunc typedef. Sat Sep 1 21:57:27 2001 Kristian Rietveld * gtk/gtkrbtree.c (_gtk_rbtree_reorder): add warnings per jrb's request. Fri Aug 31 20:01:23 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_search_iter): pass in user data. * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy search_data. Wed Aug 29 20:40:58 2001 Owen Taylor * gtk/gtktextbuffer.[ch] (gtk_text_buffer_add/remove_selection_clipboard): Instead of always mirroring the selection to a single PRIMARY selection, allow it to be mirrored to any number of clipboards. * gtk/gtktextbuffer.[ch] (gtk_text_buffer_paste_primary): Remove, just use gtk_text_buffer_paste_clipboard with the appropriate clipboard. * gtk/gtktextbuffer.[ch] (gtk_text_buffer_cut/copy/paste_clipboard): Add a GtkClipboard argument, and for paste_clipboard, the @override_location argument from @paste_primary. * gtk/gtktextview.c: Adapt to above change. 2001-08-30 Havoc Pennington * gtk/gtktextview.c (invalidated_handler): put validate idle at resize - 2 just for flexibility 2001-08-30 Havoc Pennington * gtk/gtktextdisplay.c (render_layout_line): handle NULL shaped object from the empty-child-anchor case by drawing a little box. * gtk/gtktextlayout.c (add_child_attrs): Still set shape attribute if the child anchor has no anchored widgets - fixes #59328. Also, remove bizarre deletion of preedit string that seems to have gotten in here somehow. 2001-08-30 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): apply fix to #58420 from Hidetoshi Tajima and Matthias Clasen Wed Aug 29 17:28:04 2001 Jonathan Blandford * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): change color when the GtkTreeView loses focus. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): ditto. * gtk/gtkstyle.c (gtk_default_draw_flat_box): ditto 2001-08-28 Havoc Pennington * gtk/gtkwindow.c (gtk_window_set_icon_list): fix g_object_notify 2001-08-28 Havoc Pennington * demos/gtk-demo/main.c (setup_default_icon): add default icon * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): warning fix (gtk_radio_button_new_with_label): warning fix * gtk/gtkdnd.c: used some random GtkImage private structs, update to reflect GtkImage changes * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): don't check whether the hint is supported, just always set the icon. A task list might want to use it even if the WM doesn't, and the WM may change over time. Also, XDeleteProperty() if list == NULL. * gtk/gtkwindow.c (gtk_window_set_icon_list) (gtk_window_get_icon_list) (gtk_window_set_icon) (gtk_window_get_icon) (gtk_window_set_default_icon_list) (gtk_window_get_default_icon_list): new functions * gtk/gtk-boxed.defs (GtkIconSet): add GtkIconSet * gtk/gtkimage.c: Implement property support, bug #59408 * gtk/gtkcontainer.c (gtk_container_add): make the warning message on reparent-without-removing-first a bit more helpful. Let's just destroy this FAQ. Tue Aug 28 21:37:11 2001 Matthias Clasen * demos/gtk-demo/appwindow.c (do_appwindow): Use g_signal_connect_object instead of gtk_signal_connect, to avoid warnings at destruction time. (#58161) Tue Aug 28 21:00:44 2001 Matthias Clasen * gtk/gtkprogressbar.c (gtk_progress_bar_set_text): Move the setting of use_text_format to the end of the function. (#56447) Tue Aug 28 20:06:07 2001 Matthias Clasen * demos/testpixbuf.c (update_timeout): Use gdk_pixbuf_loader_get_pixbuf only in response to an area_prepared signal. 2001-08-28 Alex Larsson * gtk/gtkwidget.c (gtk_widget_class_init): Make unrealize GTK_RUN_LAST. Mon Aug 27 22:00:41 2001 Manish Singh * gtk/gtkradiobutton.c: fix silly cut'n'paste error, with_label and with_mnemonic should create radio buttons, not check buttons Mon Aug 27 15:28:56 2001 Jonathan Blandford * tests/testtreefocus.c (main): Fix to use GtkSelectionMode. * tests/treestoretest.c (make_window): ditto * demos/gtk-demo/main.c (create_tree): ditto * demos/gtk-demo/stock_browser.c (do_stock_browser): ditto. Mon Aug 27 15:18:14 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): Use the GTK selection types rather than GtkTreeSelectionMode. * docs/Changes-2.0: Add comment about selection change. Mon Aug 27 14:21:30 2001 Jonathan Blandford * gtk/gtkenums.h (GtkSelectionMode): deprecate GTK_SELECTION_EXTENDED. * gtk/gtkclist.c: Remove old GTK_SELECTION_MULTIPLE behavior. Make GTK_SELECTION_EXTENDED be GTK_SELECTION_MULTIPLE. * gtk/gtkctree.c: ditto * gtk/gtklist.c: ditto * gtk/gtktree.c: ditto Mon Aug 27 14:18:12 2001 Owen Taylor * gtk/gtkmenubar.h (gtk_menu_bar_prepend): Fix a cuple of typos in compat macros. (#59624, Skip Montaro) Sun Aug 26 20:00:00 2001 Owen Taylor * configure.in acinclude.m4: Use autoconf 2.13/2.50 compat macro. (patch from ERDI Gergo , #58920) * gtk/gtkmenuitem.c (gtk_menu_item_set_right_justified): Change interface to be a standard setter from gtk_menu_item_right_justify. (gtk_menu_item_get_right_justified): a getter to go with the setter * gtk/gtkmenuitem.h: Add a deprecated compat macro for gtk_menu_item_right_justify. * demos/gtk-demo/menus.c tests/testgtk.c: Switch to gtk_menu_item_set_right_justified. 2001-08-27 Jens Finke * gtk+.spec.in: Updated to match gpp requirements, reworked the files section to make it work with 1.3.x releases. 2001-08-26 Alexander Larsson * gtk/gtkbutton.[ch]: Add properties for labels, mnemonics and stock items. Added C accessor functions for the properties. Removed deprecated button->child. * gtk/gtkradiobutton.c: * gtk/gtktogglebutton.c: Update to use the functions in GtkButton. * gtk/gtkcheckbutton.c: Update to use the functions in GtkButton. Changed size allocation of child. Now only gets as much space as it requests. * gtk/gtkclist.c: Don't use GtkButton->child * gtk/gtklabel.c: Fixed typo in docs 2001-08-26 Alexander Larsson * tests/testgtk.c: * tests/Makefile.am: Ressurect the properties test. I don't care if it is inferior, I just want to test my property code. 2001-08-25 Chema Celorio * gtk/gtktable.c (gtk_table_set_child_property): pass ->nrows to gtk_table_resize as the first argument for CHILD_PROP_RIGHT_ATTACH and CHILD_PROP_LEFT_ATTACH v.s. using ->ncols 2001-08-24 Havoc Pennington * gtk/gtkcompat.h: remove gtk_menu_* compat defines; these are already in gtkmenu.h, and the copies here were broken. Also, change GTK_DISABLE_COMPAT_H to GTK_DISABLE_DEPRECATED * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_image): special-case bitmaps to allow no colormap (bitmap1): implement no-colormap bitmap-getting (bitmap1a): implement no-colormap bitmap-getting to pixbuf with alpha (rgb8): indentation (rgb1a, rgb1): change the way we read the data out of the image, old way didn't seem to work quite right. I'm pretty sure a lot of the rgbconvert code is still broken. * gtk/gtkwindow.c (gtk_window_move_resize): move hints comparison above position constraint (I really intended to do this before, don't know what's up with that) (gtk_XParseGeometry): shut up gcc * gdk/gdkpixbuf-drawable.c (rgb1a): fix bug where "x1" was used and "0" should have been. remove the attempted 4-bytes-at-once optimization, it was totally broken. Sat Aug 25 19:02:39 2001 Owen Taylor * gtk/gtkbutton.[ch] gtk/gtktogglebutton.c: Add optional movement on push to buttons (based on patch from Soeren Sandmann, #54720) - Add child_displacement_x/y style properties to control how far the child moves when the button is depressed. - Add non-exported function _gtk_button_set_depressed to clean up the handling of the in/out shadow and separate it frmo widget->state. - Lots of code cleanup and simplification of state handling for GtkButton/GtkToggleButton. * tests/testgtkrc: Set the x/y displacement to 1 to provide a test of button movement. testgtk + testgtkrc == test ugly GTK+, as always. Fri Aug 24 23:09:05 2001 Owen Taylor * gtk/gtkimage.[ch] docs/Changes-2.0.txt: Break compatibility and make gtk_image_new() take no arguments. The compiler will catch it, and it is vastly more useful than having gtk_image_new() be a deprecated alias for gtk_image_new_from_image(). * gtk/gtkmenu.c (gtk_menu_set_property): Apply patch to add tearoff-title property (#51319, Lee Mallabone) Fri Aug 24 22:12:32 2001 Owen Taylor * gtk/gtkmenuitem.[ch]: Remove unused and useless function gtk_menu_item_configure(). (#58925) Fri Aug 24 16:03:45 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): Add "use_align" to give people the option to just make a cell visible. * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): fix bug where we were scrolling past the end of the tree. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_start): rename gtk_tree_view_column_pack_start_cell_renderer to gtk_tree_view_column_pack_start. Same for pack_end, and clear. Fri Aug 24 12:02:08 2001 Owen Taylor * gtk/gtktextbuffer.c (gtk_text_buffer_new): Remove a stray g_object_ref() left over from gtk_object_ref/sink. (Pointed out by Josh Pritikin.) Thu Aug 23 19:33:54 2001 Owen Taylor * gtk/gtkcontainer.[ch]: Rename gtk_container_children() to gtk_container_get_children. Added deprecated compatibility macro. (Suggested by Vitaly Tishkov, #59051) * gtk/gtktoolbar.c gtkdialog.c: Fix gtk_container_children() calls. Thu Aug 23 19:10:01 2001 Owen Taylor * gtk/gtkmenubar.h (gtk_menu_bar_insert): Deprecate gtk_menu_bar_append/prepend/insert, forgot to do this when we deprecated gtk_menu_append/prepend/insert. * gtk/gtkmenu.h (gtk_menu_insert): Add casts to deprecated compat macros. * gtk/gtkmenu.c: Fix problem with static gtk_menu_insert() being renamed by compat macro. * gtk/gtkfontsel.h: Deprecated gtk_font_selection_get_font(), gtk_font_selection_dialog_get_font(). (Suggested by Vitaly Tishkov, #59383) Thu Aug 23 18:23:31 2001 Owen Taylor * gtk/gtktexttag.c (gtk_text_tag_table_get_size): Rename from gtk_text_tag_table_size(). (#59366) Thu Aug 23 20:01:41 2001 Kristian Rietveld * gtk/gtktreemodelsort.[ch], gtk/gtktreesortable.[ch], gtk/gtktreestore.[ch], gtk/gtktreeviewcolumn.[ch], gtk/gtkliststore.[ch]: use GtkSortType instead of GtkTreeSortOrder. (#59173). Thu Aug 23 16:26:47 2001 Tim Janik * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): * gtk/gtktextmark.c (gtk_text_mark_finalize): chain parent class handlers, pointed out by Joshua N Pritikin . Wed Aug 22 19:15:39 2001 Owen Taylor [ Patch from Sebastian Wilhelmi, 52790 ] * gtk/gtkversion.h.in gtk/gtk.h: New file replacing gtkcompat.h * gdk/gdkcompat.h gdk/gdk*.h gtk/gtkcompat.h.in gtk/gtk*.h: Move compatibility macros from g[dt]kcompat.h to within #ifndef G[DT]K_DISABLE_DEPRECATED in each file. * gdk/gdk-pixbuf-csource.c: Fix up include of gtkcompat.h. * demos/Makefile.am demos/gtk-demo/Makefile.am docs/reference/gdk-pixbuf/Makefile.am modules/input/Makefile.am tests/Makefile.am: Remove references to -G[DT]K_DISABLE_DEPRECATED. * demos/{pixbuf-demo.c,testpixbuf-drawable.c,testpixbuf-save.c, testpixbuf.c}: Fix usages of deprecated functions. Wed Aug 22 19:03:27 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_model): clean up selection when changing models. Wed Aug 22 18:25:46 2001 Jonathan Blandford * gtk/gtktreeview.c: Fix selection. I think it's all dandy now. We check the current event for modifiers rather than try to trap all presses. 2001-08-22 Anders Carlsson * gtk/gtkliststore.h (GTK_LIST_STORE_CLASS): Fix a small typo. It's LIST_STORE, not LISTSTORE. Tue Aug 21 12:43:29 2001 Owen Taylor * gtk/gtk.h: Remove commented out gtkpacker reference. 2001-08-21 Matthias Clasen * configure.in (all_loaders): Add tga loader, patch by Nicola Girardi. (#56067) Tue Aug 21 02:57:13 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_button_press): Fix up selection a little. More needs to be done tomorrow. Tue Aug 21 00:45:55 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row == NULL. (gtk_tree_view_destroy): Fix bug reported by Kristian Rietveld to change destroy order. Mon Aug 20 11:39:44 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_class_init): Use correct marshaller. Sun Aug 19 03:22:59 2001 Jonathan Blandford * gtk/gtkliststore.c: Fix up warnings, #58928. * gtk/gtktreeselection.h: Change signal prototype, #58647 * gtk/gtktreeview.c (_gdk_tree_view_find_node): Make more robust, #59221. * gtk/gtkstyle.c: Actually prelight arrow, #50981 2001-08-18 Hans Breuer * gdk/gdk.def : updated externals * gdk/win32/gdkselection-win32.c : returning TRUE with gdk_selection_set is required to get (at least) visible in entry fields. Some selections are really handled now - even on win32 - but copying via middle mouse button into a different app needs to wait ... * gdk/win32/gdkdnd-win32.c : implemented inter-app drag&drop mostly by stealling code from gdkdnd-fb.c. Thanks to who ever wrote it! * gdk/win32/gdkevents-win32.c : some tweaking to get better expose handling. I'm not sure if it is better now, but at least not worse * gdk/win32/gdkgeometry-win32.c : replaced every call to MoveWindow with SetWindowPos () which allows more fine-tuning backing-store wise * gdk/win32/gdkwindow-win32.c : allow unraised gdk_window_show (). Also changed move/resize to be more like the X version. * gtk/gtk.def : updated externals 2001-08-19 Sven Neumann * gtk/gtktooltips.c * tests/testtreesort.c * tests/treestoretest.c: inserted some casts to get rid of compiler warnings. Sun Aug 19 01:44:44 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_{start,end}_cell_renderer): sink cell. * gtk/gtktreeview.c (gtk_tree_view_insert_column): sink column. (_gtk_tree_view_find_node): If *node is NULL, *tree should be NULL too. * demos/gtk-demo/stock_browser.c (do_stock_browser): don't unref column/renderers. * tests/testtreecolumns.c: ditto * tests/testtreefocus.c: ditto * tests/testtreesort.c: ditto * tests/testtreeview.c: ditto * tests/treestoretest.c: ditto Sat Aug 18 04:34:31 2001 Jonathan Blandford * gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): 2 new signals; is_expander/is_expanded. * gtk/gtlcellrendererpixbuf.c: Allow other expanded and closed pixbufs. * gtk/gtktreeview.c: set above properties. Sat Aug 18 23:01:33 2001 Owen Taylor * gtk/gtkwidget.h: Really remove set_default_style(). * docs/Changes-2.0.txt: added a note about gtk_widget_push/pop/set_default_style. 2001-08-18 Havoc Pennington * gtk/gtkwindow.c (gtk_window_move_resize): constrain position on hints_changed in addition to the other cases. (gtk_window_move_resize): include last position from configure notify in debug spew 2001-08-18 James Henstridge * gtk/gtkaccelgroup.c (gtk_accel_group_object_destroy): use the second argument to the weak ref notify, cleaning up some uglyness. (gtk_accel_group_attach): remove and add the weak notifier when changing the accel groups slist. (gtk_accel_group_detach): same here. 2001-08-17 Darin Adler * gtk/gtktreeview.c: (gtk_tree_view_search_equal_func): Add missing parameters to utf8 functions to make it compile. Fri Aug 17 19:30:14 2001 Jonathan Blandford * gtk/gtktreeprivate.h: * gtk/gtktreeview.c: (gtk_tree_view_class_init), (gtk_tree_view_init), (gtk_tree_view_set_property), (gtk_tree_view_get_property), (gtk_tree_view_destroy), (gtk_tree_view_key_press), (gtk_tree_view_leave_notify), (gtk_tree_view_focus_out), (gtk_tree_view_set_model), (gtk_tree_view_set_destroy_count_func), (gtk_tree_view_set_enable_search), (gtk_tree_view_get_enable_search), (gtk_tree_view_get_search_column), (gtk_tree_view_set_search_column), (gtk_tree_view_get_search_equal_func), (gtk_tree_view_set_search_equal_func), (gtk_tree_view_search_dialog_destroy), (gtk_tree_view_search_position_func), (gtk_tree_view_interactive_search), (gtk_tree_view_search_delete_event), (gtk_tree_view_search_button_press_event), (gtk_tree_view_search_key_press_event), (gtk_tree_view_search_move), (gtk_tree_view_search_equal_func), (gtk_tree_view_search_iter), (gtk_tree_view_search_init): * gtk/gtktreeview.h: Add heavily modified patch from Kristian Rietveld to handle interactive searching. Fri Aug 17 17:30:34 2001 Tim Janik * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): const correct string parameter. * gtk/gtkoptionmenu.c (gtk_option_menu_set_menu): connect to GtkMenuShell::selection_done, now that we have it, instead of ::deactivate so we're not tearing the menu apart and notify the user prematurely. Thu Aug 16 05:22:01 2001 Tim Janik * gtk/gtkwindow.c (gtk_window_move_resize): if we actually move our window, clear window->need_default_position to avoid infinite loops. some comment fixups and GTK_RESIZE_IMMEDIATE fixups. Wed Aug 15 12:36:55 2001 Tim Janik * gtk/gtktreeview.c (gtk_tree_view_set_model): move all model setup code into this place. get rid of GTK_TREE_VIEW_MODEL_SETUP usage. (gtk_tree_view_set_property): don't cast possible NULL objects. (gtk_tree_view_destroy): reset the model to NULL. * gtk/gtktreeselection.c (gtk_tree_selection_finalize): chain parent_class handler. 2001-08-17 Matthias Clasen * gtk/demos/gtk-demo/*: Remove all uses of deprecated functions. 2001-08-17 Anders Carlsson * gtk/gtkstyle.c (create_expander_affine): Divide with floating point numbers so that the result will be floating point. 2001-08-16 Matthias Clasen * tests/testgtk.c (create_handle_box): (create_toolbar): Replace gtk_window_set_policy calls by gtk_window_set_resizable. 2001-08-16 Jakub Steiner * gtk/stock-icons/dialog_info.png: new style bulb * gtk/stock-icons/dialog_error.png: maybe a little drastic ;) * gtk/stock-icons/dialog_warning.png: need a hand? * gtk/stock-icons/stock_add.png, stock_remove.png: I hope the aa border gets chopped off ok * gtk/stock-icons/stock_colorselector.png: using the new hand * gtk/stock-icons/stock_dnd_multiple.png: I'm not totally sure what this one is for, but the old icon was butt ugly. * gtk/stock-icons/stock*_insert_image.png: not sure if it belongs here * gtk/stock-icons/stock*_insert_object.png: " * gtk/stock-icons/stock_index.png: using new hand icon * gtk/stock-icons/stock*_new.png: the document template being used elsewhere too * gtk/stock-icons/stock*_print*.png: new print and print preview icons (panel/menu) * gtk/stock-icons/stock*_save*.png, stock*_revert.png: new save/revert icons based on Tuomas' floppy image. * gtk/stock-icons/stock*_search*.png: search and s'n'r icons for panel/menu * gtk/stock-icons/stock*_stop.png: replacing the old 'x' button * gtk/stock-icons/stock*_trash.png: based on Tuomas' trash icon * gtk/stock-icons/stock*_undelete.png: " * gtk/stock-icons/stock_preferences.png: I have a version with a document base if the sliders are no good. * gtk/stock-icons/stock_properties.png: properties * gtk/stock-icons/stock*_copy.png, stock*_cut.png, stock*_paste.png: Tuomas' (tigert@ximian.com) clipboard icons * gtk/stock-icons/stock_{up,down,left,right}_arrow.png: tigert's new arrows * gtk/stock-icons/stock*_{undo,redo}.png: tigert's undo/redo icons. * gtk/stock-icons/stock_open.png: shaded open icon by Tuomas. we should make it a little bigger IMHO 2001-08-16 Sven Neumann * gtk/gtkbox.c (gtk_box_class_init): removed unused widget_class. 2001-08-15 Padraig O'Briain * gtk/gtkcellrenderertext.c: Avoid warning when specifying NULL for "attributes" property 2001-08-15 Matthias Clasen * docs/debugging.txt: Add a warning about --enable-debug=no, some editorial changes. 2001-08-13 Matthias Clasen * gtk/docs/debugging.txt, gdk/gdk.c, gdk/gdkinternals.h, gdk/x11/gdkmain-x11.c, gtk/gtkdebug.h, gtk/gtkmain.c: Update debugging info, remove unused debug flags. (#58330) Mon Aug 13 13:17:32 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_select_all): (gtk_tree_selection_select_all): Remove strict checking for rows. 2001-08-13 Matthias Clasen * gtk/gtktooltips.c (gtk_tooltips_set_tip, gtk_tooltips_draw_tips): Don't remove the tooltip window when the tip text changes. (#15891) Sun Aug 12 12:02:09 2001 Owen Taylor * gtk/Makefile.am ($(srcdir)/gtkmarshal.c): Remove extra $(srcdir). Sun Aug 12 10:39:12 2001 Owen Taylor * Makefile.am (EXTRA_DIST): Fix problem with trying to dist files from intl/, which is no longer there. 2001-08-11 Hans Breuer * gtk/gtkalignment.c, gtk/gtkarrow.c, gtk/gtkaspectframe.c, gtk/gtkcellrenderer.c, gtk/gtkcellrenderertext.c, gtk/gtkcombo.c, gtk/gtkcurve.c, gtk/gtkfontsel.c, gtk/gtklayout.c, gtk/gtkmisc.c, gtk/gtkpacker.c, gtk/gtkprogress.c, gtk/gtkruler.c,, gtk/gtksettings.c, gtk/gtkspinbutton.c, gtk/gtktexttag.c : coalescing property notifies * gtk/gtkclist.c, gtk/gtktipsquery.c, gtk/gtktexttag.c, gtk/gtkwidget.c : added G_SIGNAL_TYPE_STATIC_SCOPE to all GDK_TYPE_EVENT signals * gtk/gtkalignment.c : removed 'direct allocation bug', which Tim discovered while reading the patch Sat Aug 11 14:32:14 2001 Owen Taylor * gtk/gtkwidget.h (gtk_widget_set_default_visual): Add some compat macros for push/pop/set_visual that were supposed to be added a long time ago, but got dropped. Fri Aug 10 16:55:53 2001 Tim Janik * gtk/gtkwindow.c (gtk_window_set_policy): coalesce multiple property notifies. 2001-08-07 Havoc Pennington * gtk/gtkfilesel.c (open_ref_dir): fix a typo. * gtk/gtkplug.c (gtk_plug_init): remove setting of auto_shrink; some fixage is needed here, but nothing simple. Owen understands it. ;-) * gtk/gtkwindow.h, gtk/gtkwindow.c: Rework code and API for window sizing and positioning. Also, fix bug in compute_geometry_hints (width/height confusion for setting min size). (gtk_window_move): new function (gtk_window_resize): new function (gtk_window_get_size): new function (gtk_window_get_position): new function (gtk_window_parse_geometry): new function * gtk/gtkwidget.c (gtk_widget_set_size_request): new function (gtk_widget_get_size_request): new function (gtk_widget_get_usize): delete, that was a short-lived function ;-) (gtk_widget_set_usize): deprecate (gtk_widget_set_uposition): deprecate, make it a trivial gtk_window_move() wrapper (gtk_widget_class_init): remove x/y/width/height properties, add width_request height_request * demos/*: update to avoid deprecated functions * gtk/gtklayout.c: add x/y child properties * gtk/gtkfixed.c: add x/y child properties, and get rid of uses of "gint16" * tests/testgtk.c (create_window_sizing): lots of tweaks to window sizing test * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ensure that configure events on toplevel windows are always in root window coordinates, following ICCCM spec that all synthetic events are in root window coords already, while real events are in parent window coords. Previously the code assumed that coords of 0,0 were parent window coords, which was really broken. * gtk/gtkcontainer.c (gtk_container_get_focus_chain): fix warning * gdk/gdkwindow.h (GdkWindowHints): add GDK_HINT_USER_POS and GDK_HINT_USER_SIZE so we can set USSize and USPosition hints in gtk_window_parse_geometry() * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): support new USER_POS USER_SIZE hints 2001-08-09 Matthias Clasen * tests/prop-editor.c (properties_from_type): Use g_object_class_list_properties to get the param specs for a given type. (#58609) 2001-08-09 Matthias Clasen * gtk/gtkstyle.c (gtk_style_real_unrealize): Don't forget to free the text_aa parts. (#57549) 2001-08-09 Matthias Clasen * gdk/gdkgc.c (gdk_gc_set_rgb_bg_color): Set the background color, not the foreground color. (#57621) 2001-08-09 Alexander Larsson * gdk/win32/gdkfont-win32.c: Update to the new pango win32 api. 2001-08-08 HideToshi Tajima * gtk/gtkclipboard.c (request_text_received_func): ask apps for COMPOUND_TEXT instead of TEXT * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): correctly interpret the return value of g_string_to_compound_text() (#55152) 2001-08-08 Matthias Clasen * gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Don't fail if iter is NULL. (#58347) 2001-08-07 Matthias Clasen * gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix some off-by-one issues, fixing selection of line-ends. (#50323) 2001-08-07 Matthias Clasen * gtk/gtkhsv.c (gtk_hsv_map, gtk_hsv_unmap): Reinstate these functions in order to make mouse operation work again in the color wheel. (#58604) 2001-08-07 James Henstridge * gtk/gtkaccellabel.c (gtk_accel_label_set_accel_object): refetch the accelerator when the accel object is changed. Fixes bug #58628. 2001-08-06 HideToshi Tajima * modules/input/gtkimcontextxim.c (mb_to_utf8), xim_text_to_utf8): Skip g_convert when to_codeset and from_codeset are both 'UTF-8' (gnome bugzilla #58202) 2001-08-06 Havoc Pennington * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): The whole GDK_IS_WINDOW() branch of this was a bit screwed up, because it was expecting a GdkWindow, not a GdkWindowImplX11. Also, we were getting the window rect in screen coords and the screen rect in window coords then intersecting them; instead, get window rect in window coords. Finally, there were codepaths that resulted in a stuck server grab (when the window was fully onscreen, or on gdk_image_new() failure); make the server ungrab thing a bit more robust/consistent. 2001-08-06 Sven Neumann * gdk/gdkpango.c (gdk_pango_context_destroy): check if info->colormap != NULL before unref'ing it. It might have been set to NULL using gdk_pango_context_set_colormap(). Sun Aug 5 11:24:27 2001 Owen Taylor * gtk/gtkcolorsel.c (gtk_color_selection_set_current_alpha): Fix conversion from float to int so that we don't get skew in the int => float => int roundtrip. (#58120, reported by Vitaly Tishkov). Also fix problem where if no alpha was set, the returned alpha from (say) set_current_alpha() was returned as 1, not 65535. Sun Aug 5 09:48:08 2001 Owen Taylor * gtk/gtklist.c (gtk_list_clear_items): Fix problem with selecting a new focus child. * gtk/gtklist.c (gtk_list_clear_items): Clear list->undo/list_focus_child after unparenting child, since unparenting the child can result in list->last_focus_child being set. (#58024) * Makefile.am (SUBDIRS): Add target specific pc files to DISTCLEANFILES. * gtk/Makefile.am: add @GTK_DEBUG_FLAGS@ (58327, Matthias Clasen) Sat Aug 4 19:28:21 2001 Owen Taylor * tests/testgtk.c: Patch from Hans (with various modifications), to add the ability to use testgtk as a rough-and-ready benchmark. Try, 'testgtk --bench all:5' (if you want decent numbers, run without a window manager) 2001-08-04 Alexander Larsson * gdk/win32/gdkinput.c: Add #ifdef HAVE_WINTAB around wintab.h include. * gtk/gtk.def: Removed marshals that have been moved to glib. Commented out plug and socket. They didn't compile for me on win32. 2001-08-04 Hans Breuer * gtk/stocks-icons/makefile.msc : new file * gtk/makefile.msc.in : use it * gtk/gtkstyle.c : not all platforms do provide M_PI and friends, but luckily there is G_PI * gtk/gtk.def : updated * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP windows WS_POPUP, but only those without a parent. This fixes the mis-alignment between the selectable (temp, input only) window and the window text of GtkLabel. (gdk_window_show) : respect private->state when actually showing the window. (gdk_window_set_transient_for) : Implementation from Wolfgang Sourdeau ported to 2.0 and added some error handling. Should fix #50586. * gdk/win32/gdkevents-win32.c : beautify log output 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): Need to show the image after adding it to the GtkImageMenuItem. This used to work without in testgtk because of the gtk_widget_show_all() at the end of the function. (Closes #54978). Tue Jul 31 22:59:33 2001 Tim Janik * gtk/gtknotebook.c (gtk_notebook_get_child_property): (gtk_notebook_set_child_property): fix finding of child's page, since we have to validly deal with labels and menus here as well. (gtk_notebook_get_child_property): fix warning. (gtk_notebook_class_init): property tab_pack is of type GTK_TYPE_PACK_TYPE (enum) not boolean. (gtk_notebook_find_child): don't always warn, we might be looking for a label or menu child. (gtk_notebook_map): fix mapping of panel. * gtk/gtkwidget.c (gtk_widget_set_child_visible): always constrain widget's mapped state, regardless of the value being set equals old settings, since things like REALIZED(parent) or MAPPED(parent) may have changed since the old value was set. make it an error to invoke this function on a toplevel widget. 2001-07-31 Darin Adler * gdk/gdkprivate.h: * gdk/x11/gdkx.h: Put all mentions of GdkFont inside #ifndef GDK_DISABLE_DEPRECATED. * demos/gtk-demo/menus.c: (do_menus): Cast to G_OBJECT, not GTK_OBJECT. Tue Jul 31 15:34:57 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_remove_column): Whoops. Stupid scoping error pointed out by matthiasc@poet.de. 2001-07-31 Sven Neumann * demos/gtk-demo/appwindow.c * demos/gtk-demo/item_factory.c * tests/testgtk.c: gtk_accel_group_attach() takes a GObject. Mon Jul 30 10:49:16 PDT 2001 Suresh Chandrasekharan * gtk/gtksignal.h (gtk_signal_handler_pending): corrected the wrong argument order for g_signal_has_handler_pending. Sun Jul 29 17:14:01 2001 Tim Janik * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): use g_file_test() instead of long deprecated g_scanner_stat_mode(). 2001-07-29 Hans Breuer * gdk/makefile.msc : build in the backend dir after auto-generating files * gdk/win32/gdkfont-win32.c (gdk_font_load) : reimplement with code from win32-production-branch. * gdk/win32/gdkwindow-win32.c : set the private->destroyed flag before calling DestroyWindow, which indirectly calls gdk_window_destroy_notify () (performance patch merged from win32-production-branch) * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_segments): Use PatBlt() instead of LineTo() when possible (solid single-pixel pen, R2_COPYPEN rop). It is claimed to be much faster. Fri Jul 27 11:31:15 2001 Jonathan Blandford * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property): add an "attributes" property to the text renderer for ATK. 2001-07-26 Alex Larsson * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Initialize image->bits_per_pixel from the drawable, not from the root window. * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_get_depth): Fix cast. argument is an IMPL already. 2001-07-15 James Henstridge * gtk/gtkwindow.c (gtk_window_add_accel_group): cast to GObject. (gtk_window_remove_accel_group): same here. (gtk_window_key_press_event): same here. * gtk/gtkwidget.c (gtk_widget_add_accelerator): cast to GObject. (gtk_widget_remove_accelerator): same here. (gtk_widget_remove_accelerators): same here. * gtk/gtkplug.c (gtk_plug_accel_entries_changed): same here. * gtk/gtkmenushell.c (gtk_menu_shell_key_press): cast to GObject instead of GtkObject. * gtk/gtkmenu.c (gtk_menu_key_press): update since GtkAccelGroup now takes GObjects. * gtk/gtkitemfactory.c (gtk_item_factory_propagate_accelerator): pass a GObject to gtk_accel_group_entries_from_object. (gtk_item_factory_create_item): s/accel_widget/accel_object/ * gtk/gtk-boxed.defs: remove GtkAccelGroup boxed def. * gtk/gtkaccellabel.c: convert to handle GObject accel objects. * gtk/gtkaccellabel.h: fix header to reflect that arbitrary GObjects can have accelerators set now. Add compatibility defines. * gtk/gtkmarshal.list: add missing marshallers. * gtk/gtkaccelgroup.[ch]: convert to a GObject, and allow setting accelerators on plain GObjects. gtk_accel_group_object_destroy has been converted into a weak reference, and gtk_accel_group_delete_entries is now a destroy notify for that piece of data. 2001-07-23 Ron Steinke * gdk/gdkdraw.c: Added a check on the colormap depth to gdk_drawable_set_colormap() * gdk/x11/gdkimage-x11.c: combination of Matthias Clasen's patch to fix colorsel and my patch to fix gdk_drawable_get_image() for pixmaps without visuals (more specifically, bitmaps) * gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it doesn't set a colormap with the wrong depth 2001-07-22 Anders Carlsson * gtk/gtktreeview.c (gtk_tree_view_class_init): Replace the expander_height and expander_width properties with a single property, expander_size. (gtk_tree_view_init): Set the tab_offset to expander_size plus some padding. (gtk_tree_view_unrealize): Remove the expand/collapse timeout if it exists. (coords_are_over_arrow): Fix a small bug. (gtk_tree_view_motion_draw_column_motion_arrow): Use expander_size. (gtk_tree_view_draw_focus): Use "treeview" instead of "add-mode" as detail when drawing the focus. (gtk_tree_view_bin_expose): Use "treeview-drop-indicator" instead of "add-mode" as detail when drawing the focus. (gtk_tree_view_deleted): If we have a node currently being expanded or collapsed, remove the timeout and set the node to NULL. (gtk_tree_view_queue_draw_arrow): New function that just redraws the arrow of a node. (gtk_tree_view_draw_arrow): Use expander_size instead of expander_width/expander_height, also pass a different expander_style to gtk_paint_expander depending on the state of the node being drawn. (expand_collapse_timeout): New function for expanding or collapsing a node depending on the previous state. (gtk_tree_view_real_expand_row): Add timeout and set correct state for node being expanded. (gtk_tree_view_real_collapse_row): Add timeout and set correct state for node being collapsed. * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add information about the node currently being expanded or collapsed, and also a timeout id. * gtk/gtkstyle.h (struct _GtkStyleClass): Replace is_open with expander_style for draw_expander. * gtk/gtkstyle.c (gtk_draw_expander): Replace is_open with expander_style. (create_expander_affine): New function for creating an expander affine. (apply_affine_on_point): New function for applying an affine to a point. (gtk_default_draw_expander): Modified to take expander_style instead of is_open, and to draw the rectangle rotated differently depending on the expander style. (gtk_paint_expander): Replace is_open with expander_style. * gtk/gtkrbtree.h: Add expander states to GtkRBNodeColor. * gtk/gtkenums.h: Add expander style enum. 2001-07-21 Jonas Borgström * gtk/gtktreemodel.c (gtk_tree_model_foreach): Check the return value from gtk_tree_model_get_iter, the model might be empty. 2001-07-20 Hans Breuer * gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to gdk/gdkinput.c like the other backends * gdk/win32/gdkinput-win32.h : * gdk/win32/gdkinput.c : * gdk/win32/gdkvisual-win32.c : * gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and GdkVisual GObjectification. UNTESTED for pen-devices because I simply have none. * gdk/gdk.def : * gtk/gtk.def : updated externals * gtk/gtkiconfactory.c : * gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL) before passing &error to functions to avoid strange crashes * gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static * gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail * gtk/makefile.msc.in : updated Thu Jul 19 15:35:32 2001 Owen Taylor * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): Add property support. (#51858) Thu Jul 19 14:56:33 2001 Owen Taylor * gtk/gtkaccellabel.c (gtk_accel_label_class_init) * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): Use Shift/Ctrl instead of Shft/Ctl. (#53807) Thu Jul 19 11:41:00 2001 Owen Taylor * gtk/gtkcolorsel.c: Add propery support (roughly based on patch from Lee Mallabone, #51014) * gtk/gtkcolorsel.h: Mark gtk_color_selection_set_update_policy as deprecated, since we already g_warning() on it. Thu Jul 19 14:24:34 2001 Owen Taylor * gtk/gtkentry.c (gtk_entry_set_positions): Fix typo that sometimes caused selection not to work properly. * gtk/gtkentry.c (gtk_entry_grab_focus): Select text in entry when tabbing in. (#57743) * gtk/gtkentry.c (gtk_entry_motion_notify): If the user drags up above or down below the entry, move to the end or the beginning of the entry. (Suggestion from Jay Cox, #50940) * gtk/gtkentry.c (gtk_entry_move_cursor): If we have a current selection, then when moving by chars or words, move to the end of the selection rather than from entry->current_pos. (Suggestion from Jay Cox, #50942) Thu Jul 19 12:14:28 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_set_decorated): Actualy set window->decorated. (Patch from Hidetoshi Tajima, #55846) Sat Jul 7 02:50:14 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_parent): Enforce the widget/child realization/mapping invariants. * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions gtk_widget_[get/set]_child_visible() to control whether visible children of a mapped window are mapped. * docs/widget_system.txt: Updated for changes in container contract, and addition of GTK_CHILD_VISIBLE. * gtk/gtkcontainer.c: Add generic map()/unmap() functions that work for almost all containers. * gtk/gtknotebook.c gtk/gtkpacker.c: Use gtk_widget_set_child_visible() where necessary. * gtk/*.c: Remove excess map(), unmap(), and realization/mapping invariant enforcing code from many containers. Wed Jul 18 19:51:45 2001 Owen Taylor * gtk/gtktextview.c (gtk_text_view_set_attributes_from_style): Get the foreground color from 'text', nor 'fg'. (#57568) Wed Jul 18 19:28:46 2001 Owen Taylor * gtk/*.c: Patch from Matthias Clasen to remove remove all instances of g_return_if_fail (foo != NULL); that are immediately before a g_return_if_fail (GTK_IS_FOO (foo)); since the second check catches the NULL anyways. Wed Jul 18 18:23:05 2001 Owen Taylor * gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c gtktreeview.c: Fix idles and timeouts to be properly surrounded by GDK_THREADS_ENTER()/LEAVE() pairs. * gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER() pairs. (Problem found by M. Meeks) 2001-07-18 Darin Adler * gtk/gtkiconfactory.c: (gtk_icon_size_register): Reorder code so that we don't get a g_warning message every time we register a new icon size. * gdk/x11/gdkcolor-x11.c: (gdk_colormap_alloc1): Fix warning by using pixel variable of the correct type. Fri Jul 13 15:33:32 2001 Owen Taylor * gdk/gdkwindow.[ch]: Add a function gdk_window_get_internal_paint_info(), so that using X functions on a GdkWindow is possible, if a little hairy. * gdk/gdkgc.c (gdk_gc_offset): Add a function to offset the clip and ts_origin of a GC, so that external parties can offset/restore a GC, when using gdk_window_get_internal_paint_info(). 2001-07-17 Darin Adler * .cvsignore: Ignore the sgml directory made by gtkdoc. * demos/pixbuf-demo.c: (main): Use gtk_window_set_resizable instead of the deprecated gtk_window_set_policy. * demos/testpixbuf-scale.c: Add missing include. * gdk/gdkkeys.c: (gdk_keymap_class_init): Remove empty finalize function to get rid of warning and some code too. * gdk/x11/gdkfont-x11.c: (gdk_font_charset_for_locale): Add missing const. * gdk/x11/gdkmain-x11.c: (_gdk_windowing_init_check): Remove unused local. * gdk/x11/gdkpango-x11.c: (gdk_pango_context_get): Add missing const. * gdk/x11/gdkselection-x11.c: (gdk_text_property_to_utf8_list), (gdk_utf8_to_compound_text): Add missing const. * gtk/gtkimage.c: (gtk_image_expose): Remove unused local. * gtk/gtkmenubar.c: (gtk_menu_bar_hierarchy_changed): Add missing cast and get rid of an unnecessary one. * gtk/gtksettings.c: (gtk_settings_notify): Remove unused local. * gtk/gtkstatusbar.c: (gtk_statusbar_size_allocate): Remove unused local. * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_build_level): Remove unused local. * modules/input/gtkimcontextxim.c: (gtk_im_context_xim_new): Add missing const. * tests/testsocket.c: (add_child): Add cast so the printf format doesn't make us implicitly depend on what integer type gtk_socket_get_id returns. * tests/testtextbuffer.c: Add missing const. * tests/testtreefocus.c: (main): Remove unused local. * tests/treestoretest.c: (iter_remove): Remove unused local. (uppercase_value): Remove unused function. (make_window): Add statement to quiet the compiler's uninitialized variable warning. Sat Jul 14 12:47:35 2001 Tim Janik * gtk/gtkrange.c: (second_timeout): (initial_timeout): (update_timeout): add GDK_THREADS_ENTER/GDK_THREADS_LEAVE. (gtk_range_calc_layout): compute the new layout based on an adjustment->value being passed in as argument. (gtk_range_button_press): for button2 slider warps, first recalc the layout, then adjust the value. also, use update_slider_position() for adjusting the value, so we keep pixel quantisation at which we usually operate (upon motion or button releases). the reason for this is that, we can't change the adjustment upon button2 presses to a non quantised value and upon button2 release re-quantise the value since that'd alter the value even if we didn't get any motion events (causing unexpected scroll area warps upon release and/or slider pixel-jitter). (gtk_range_motion_notify): update the slider position from queried coordinates, not event coordinates. Fri Jul 13 09:47:52 2001 Tim Janik * gtk/gtkstyle.c (gtk_default_draw_focus): fix line style resetting, the default gc values are: width=0, CapBut, JoinMiter. 2001-07-13 Anders Carlsson * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Take into account the xpad and ypad when calculating the width and the height of the pixbuf cel. Thu Jul 12 18:29:40 2001 Owen Taylor * gtk/gtkradiomenuitem.[ch] (gtk_radio_menu_item_group): Rename to gtk_radio_menu_item_get_group(), add deprecated alias. (#57044) * gtk/gtkfilesel.c: Indentation fix. Thu Jul 12 17:33:00 2001 Owen Taylor * gtk/gtkbbox.h gtk/gtkcompat.h: Patch from Mathias Hasselmann to fix warnings in compat macros. (#56773) * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Fix stupid wrong cast added in last patch. Thu Jul 12 16:51:34 2001 Owen Taylor * gtk/gtkwidget.c: Replace a couple of inappropriate calls to GTK_WIDGET_HAS_FOCUS() with gtk_widget_is_focus(). (#57067) Thu Jul 12 14:06:19 2001 Owen Taylor * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Add missing cast. * gtk/gtkcontainer.c (gtk_container_get_focus_chain): Fix NULL/FALSE return value confusion. * gtk/gtkrange.c (coord_to_value): Fix division-by-zero problem when scrollbar completely fills range. (Patch from Matthias Clasen, #57047) Thu Jul 12 13:53:28 2001 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly clean up when handling events for move-resize emulation. (Problem traced down by Matthias Clasen, #57271) Thu Jul 12 13:43:27 2001 Owen Taylor * gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c gtk/gtkctree.c gtk/gtkcurve.c gtk/gtkentry.c gtk/gtkfontsel.c gtk/gtkhandlebox.c gtk/gtkimcontextsimple.c gtk/gtkmain.c gtk/gtkmenu.c gtk/gtkmenuitem.c gtk/gtkoptionmenu.c gtk/gtkpixmap.c gtk/gtkselection.c gtk/gtktextdisplay.c gtk/gtktextview.c gtk/gtktooltips.c gtk/gtkwidget.c gtk/gtkwindow.c: Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ] 2001-07-09 Peter Williams * gtk/Makefile.am ($(srcdir)/stamp-gtk.defs): Add a cd $(srcdir) for when srcdir != builddir Mon Jul 9 12:50:51 2001 Jonathan Blandford * gtk/gtktreemodel.c: remove gtk_tree_model_get_first in favor of gtk_tree_model_get_iter_root. * gtk/gtkliststore.c: Add a bunch of g_return statements. (gtk_list_store_iter_n_children): Fix up. * gtk/gtktreestore.c: Add a bunch of g_return statements. Fri Jul 6 15:38:33 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_class_init): G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to restore some workingness. * gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix handle of window type for input-only windows. Thu Jul 5 21:53:46 2001 Owen Taylor * gtk/gtkbbox.[ch] gtk/gtkbox.[ch] gtk/gtk[hv]bbox.c: Patch from Gregory Merchan to add gtk_button_box_set_secondary(), which separates the child into a separate group from the normal buttons. (#56331) * gtk/gtkdialog.c: Make help buttons secondary by default. * gtk/gtkbbox.c: Added a child property "secondary". * gtk/testgtk.c: Turn on the help button for the color selector to check that it properly appears as secondary. Mon Jul 2 01:09:37 2001 Owen Taylor * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk: Add gdk_set_pointer_hooks() to allow pointer-querying to be hooked by an event record/playback system like GERD. (#56914) Thu Jul 5 08:57:07 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_reset_rc_style): Pass in the right value of initial_emission to gtk_widget_set_style_internal (#57091) Wed Jul 4 23:17:04 2001 Owen Taylor * gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Make compile. * gtk/gtkwidget.c (gtk_widget_reset_rc_style): Fix problem with calling gtk_widget_set_style_internal() with the old style, not the new style. (#56989) Wed Jul 4 22:35:40 2001 Owen Taylor * gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c gtk/gtkwidget.c: Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)), not GTK_WIDGET_GET_ANCESTOR ... see http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html. Indicate the best practice in the docs for gtk_widget_get_toplevel(). * gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(), so GtkPlug can give the correct signals when transforming from a child to a toplevel. * gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle reparentation correctly. * gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed): Propagate the previous_toplevel argument down properly. * gtk/gtklabel.c (gtk_label_finalize): Fix unrefing of wrong atr list. * gtk/gtkplug.[ch]: Add an "embedded" signal. * gtk/gtksocket.[ch]: Add "child_added", "child_removed" signals. * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add functions gtk_plug_get_id(), gtk_socket_get_id(), to avoid the user having to worry about realization, and gdkx.h. * tests/testsocket.c: Extend to try out the new signals and gtk_plug/socket_get_id(). * gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix setting of underline attributes. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore DestroyNotify events from SubstructureNotifyMask * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Switch GDK_WINDOW_TYPE (window) as needed. * gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up, allow creation of toplevel windows as children of foreign windows. * gtk/gtkplug.c: Remove hacks involving changing private fields of GdkWindow. * gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make exactly the same signals and notification be emitted for local embedding as for inter-process embedding. 2001-07-04 James Henstridge * gtk/gtkliststore.h: add missing gtk_list_store_newv prototype. Mon Jul 2 16:53:25 2001 Owen Taylor * gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For XEMBED embedding add a _XEMBED_INFO property to the client with version number and a "mapped" flags. Use the mapped flag instead of the racy MapRequestEvent * gtk/gtksocket.c: Clean up the gtk_socket_steal() code to reliably set things (when the child is a passive embedder participating in the XEMBED protocol) intead of just being a hack for embedding non-participating programs. Fix various bugs and race conditions. * gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding work by simply making the GtkSocket the gtk parent of the GtkPlug. Set a flag in this case and make the GtkPlug work like a normal container by overriding methods such as check_resize and "chaining past" GtkWindow to GtkBin. * gtk/gtkentry.c (gtk_entry_real_activate) gtk/gtkmain.c (gtk_propagate_event): Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW). * gtk/gtkwidget.c (gtk_widget_get_toplevel, gtk_widget_get_ancestor): Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) might not give the expected result and recommend an alternative. * tests/testsocket.c tests/testsocket_child.c tests/testsocket_common.c tests/Makefile.am: Extended to test different type of adding plugs to sockets (local,active,passive), and to test mapping/unmapping the plug. * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't mark the window as destroyed until after we called _gdk_windowing_window_destroy(). (_gdk_windowing_window_destroy() may use GDK functions on the window.) * gdk/x11/gdkinput.c: Remove the check for finalization - devices can be finalized under some circumnstances. * gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix small problem with GDK_TYPE_DEVICE. 2001-07-02 Havoc Pennington * gdk/x11/gdkwindow-x11.c (gdk_wmspec_change_state): fix to use constants not atoms. 2001-07-02 James Henstridge * gtk/gtktextview.c (gtk_text_view_class_init): same here for PANGO_TYPE_TAB_ARRAY. * gtk/gtktexttag.c (gtk_text_tag_class_init): same here, but also for PANGO_TYPE_TAB_ARRAY. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): s/GTK_TYPE_PANGO_FONT_DESCRIPTION/PANGO_TYPE_FONT_DESCRIPTION/ * gtk/gtk-boxed.defs: move all the boxed definitions to the top of the file. Remove Pango types from defs -- they are now defined in libpango. Mon Jul 2 06:35:10 2001 Tim Janik * gdk/gdkkeys.c (gdk_keymap_class_init): s/signal_newc/signal_new/ * gtk/gtkobject.c (gtk_object_destroy): invoke g_object_run_dispose(). * gtk/gtkwindow.c: * gtk/gtkwidget.c: * gtk/gtkobject.c: * gtk/gtklist.c: s/shutdown/dispose/ for the GObject method. Sat Jun 30 20:44:48 2001 Owen Taylor * gtk/gtktypeutils.c (gtk_type_class): Remove change check for GTK_TYPE_OBJECT derivation to G_TYPE_OBJECTS - it's Tim-approved to use this for arbitary objects. * gtk/gtkwindow.c gtk/gtkcontainer.[ch]: underscore prefix gtk_container_dequeue_resize_handler(). * gtk/gtkwidget.[ch]: Add a previous_toplevel argument to the hierarachy_changed signal, since you otherwise have to always keep that around. * gtk/gtkmenubar.c gtk/gtklabel.c gtk/gtksocket.c: Adapt for extra argument to hierarchy_changed. Tue Jun 26 19:39:03 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL for style to mean "revert to default style" * gtk/gtkwidget.[ch] (gtk_widget_set_rc_style, gtk_widget_restore_default_style): Make this functions deprecated aliases for gtk_widget_set_style (widget, NULL). * gtk/gtkwidget.[ch]: Remove: gtk_widget_set_default_style () gtk_widget_push_style () gtk_widget_pop_style () These functions interact are overriden by RC files, and thus virtually useless, and complicated. Fri Jun 22 18:49:48 2001 Owen Taylor * gtk/gtkrc.c: Add a GtkRcContext structure to hold most of the previous global variables in gtkrc.c. This is in preparation for multi-head, since each screen can have different GtkSettings and RC information. * gtk/gtkrc.[ch]: * gtk/gtkrc.h (struct _GtkRcStyleClass): Add a GtkSettings parameter to GtkRcStyle::parse. * gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c: Add two new settings gtk-theme-name, gtk-key-theme-name, for RC files that are loaded by name after reading the default RC files. * gtk/gtkrc.c: Allow priorities for styles, as wll as bindings. * gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME, and use it by default for RC files loaded via gtk-theme-name, gtk-key-theme-name. * gtk/gtkiconfactory.c (gtk_icon_source_set_filename) gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string) tests/testgtkrc: Require pathnames to be absolute. * gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for the source when parsing, since the operation of looking up a pixmap from an RC file depends on the parsing context. * gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically reset RC styles on all widgets when files are reparsed. * tests/testgtk.c (create_rc_file) gtk/gtkwindow.c (gtk_window_read_rcfiles): Simplify, now that gtk_rc_reparse_all() resets styles on all widgets itself. * gtk/gtkmain.c (gtk_get_default_language): Fix broken return value. * gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove GtkSettings argument. * gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from gtk_settings_get_global(). * gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings() to get the appropriate GtkSettings for a widget. (For now, just gets the default GtkSetttings.) * gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings changes. * gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow getting a style for a path without actually having a widget. (Allows using a style for a subpart of a widget, for example.) * gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing the RC files to be reloaded for just one GtkSettings (not sure how useful this really is.) * gtk/gtkrc.h: Deprecate gtk_rc_add_widget_name/widget_class/class_style 2001-06-30 Alex Larsson * gdk/linux-fb/gdkinput-none.c: * gdk/linux-fb/gdkinput.c: * gdk/linux-fb/gdkinputprivate.h: Convert GdkDevice to a GObject. * linux-fb/gdkprivate-fb.h: * linux-fb/gdkvisual-fb.c: Convert GdkVisual to a GObject. 2001-06-29 Alex Larsson * gdk/gdkvisual.h: * gdk/gdkcolor.c: * gdk/x11/gdkx.h: * gdk/x11/gdkvisual-x11.c: Convert GdkVisual to a GObject. * gdk/gdkinput.h: * gdk/gdkevents.c: * gdk/x11/gdkinputprivate.h: * gdk/x11/gdkinput-gxi.c: * gdk/x11/gdkinput-none.c: * gdk/x11/gdkinput-x11.c: * gdk/x11/gdkinput-xfree.c: * gdk/x11/gdkinput.c: Convert GdkDevice to a GObject. Fri Jun 29 22:13:28 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types to just plain new, fixing the number of columns, and column types at creation time. * gtk/gtkliststore.c (gtk_list_store_new): ditto. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_fixed_height_from_font): FIX the height to a specific font. * gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness. * tests/*c: change to work with new store models. 2001-06-29 Havoc Pennington * Throughout: fixes to compile with G_DISABLE_COMPAT (s/g_signal_connectc/g_signal_connect/, s/g_signal_newc/g_signal_new/, s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/) Fri Jun 29 03:14:16 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): add path argument to selection callbacks. Fri Jun 29 00:13:34 2001 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_model_foreach): New function to walk through a model in a depth first manner, with the option to break out. Fri Jun 8 18:52:10 2001 Jonathan Blandford * gtk/gtktreeview.[hc]: Patch Thomas Broyer from . Expander arrows are now attached to a specific column and follow it when draged, rather than a location in the view. "expander_column" property and drawing functions changed accordingly. Fixes bug #55942. (gtk_tree_view_{set,get}_expander_column): Now works with a GtkTreeViewColumn* instead of int. Thu Jun 28 22:53:18 2001 Owen Taylor * gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init(). 2001-06-28 Havoc Pennington * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved image data to the screen, using a server grab to avoid race conditions. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove check for NULL return from gtk_image_new_from_stock(), it never returns NULL. (gtk_item_factory_create_item): fix bug where we parsed the stock ID as an inline pixbuf * gtk/gtktext.c (gtk_text_key_press): numeric keypad support * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad support (should be using binding set here) * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad support (should be using binding set here) * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad support * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): keypad * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support * gtk/gtkcolorsel.c (palette_activate): keypad support (of course, should be binding-setted) * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes * gtk/gtkcalendar.c: numeric keypad fixes * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad support * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop screwup * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): clip the render area to the drawable's clip region in advance, so we don't get data from the server that we don't need. * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): check return value of gdk_pixbuf_get_from_drawable(), fall back to bilevel alpha if we can't get the pixbuf to composite against. * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap * gdk/gdkimage.c (gdk_image_get_colormap): add gdk_image_set_colormap, gdk_image_get_colormap * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to take a region of the image, instead of converting the entire image. * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help keybinding signal. Add default bindings for it. Add default handler for show_help that shows the tooltip for the widget. * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and "close" keybinding signal, remove key press handler. * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this, it's not our usual practice to leave a deprecated function around with a runtime warning, plus we don't want it to appear in docs, plus if we make them yellow no one will want to change them anyhow. Thu Jun 28 23:53:31 2001 Tim Janik * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() -> GTK_WIDGET_REALIZE() for resize queueing. * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() -> GTK_WIDGET_REALIZE() for post event delivery destruction upon GDK_DESTROY. * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to sompensate for former (pre-2.0) connect_after() facility. (gtk_widget_send_expose): (gtk_widget_event): assert the widget is realized, since event delivery to non-realized widgets is essentially a bug. event handlers should be able to unconditionally rely on widget->window (unless they emit events on their own which can trigger widget destruction). (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED() logic. event delivery happens as follows: a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled. b) if !was_handled in (a) and the widget is still realized, emit event- specific signal (RUN_LAST handler). returns was_handled. c) emission of GtkWidget::event-after for notification if the widget is still realized (regardless of was_handled from previous stages, no class handler). no return value. d) was_handled gets passed on to caller, to determine further propagation. if the widget got unrealized meanwhile, was_handled is returned as TRUE. * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and gdk_event_get_coords(). Thu Jun 28 17:18:41 2001 Tim Janik * configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface age 0, binary age 0. depend on glib 1.3.7. * gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack. * gtk/gtkmenubar.c: same here. * gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival. * gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage. * gtk/gtkentry.c (gtk_entry_focus_in): same here. * gtk/gtkmenubar.c (add_to_window): likewise. * gtk/gtktextbtree.c: and here... * gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing. * gtk/gtktoolbar.c (gtk_toolbar_init): once more. * gtk/gtktreemodel.c (connect_ref_callbacks): and another time. * gtk/gtktreeviewcolumn.c: (_gtk_tree_view_column_set_tree_view): yet again. * demos/gtk-demo/images.c (progressive_timeout): demonstrate signal connections without g_signal_connect_data(). * demos/gtk-demo/stock_browser.c (do_stock_browser): second demo of the matter. * demos/testpixbuf.c (main): running out of equality phrases for the ChangeLog, but had to adapt connections here as well. * demos/testanimation.c (progressive_timeout): and for the fun of it, tackled this the same way. * tests/testtext.c (create_view): ok, it's becoming a pain at this point, but had enough enery for one more fix. * tests/testtreecolumns.c (main): stand up man, do your work! * tests/testtreeview.c (set_columns_type): ok, this is the last file i fix, either that's been all of it or CVS gtk is broken yet again. 2001-06-29 James Henstridge The following changes correspond to bug #56812 * gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type code for GdkDevice. * gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for GdkCursor. 2001-06-19 Havoc Pennington * gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function for mapping a window without fooling with stacking order, but updating the "withdrawn" flag * gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event filtering as soon as possible, moving move resize and wmspec_check handling after the event filter. Make default filter apply to all events, not just those with no GdkWindow wrapped around the X window. Fix a FIXME about how the window could be a pixmap using RTTI; this of course assumes GDK_IS_WINDOW() is optimized. Also, be robust against events not on a known GdkWindow. * gdk/x11/gdkmain-x11.c (gdk_x11_grab_server, gdk_x11_ungrab_server): export reference-counted server grabs, so other people can grab server over a GDK function that also does so. Wed Jun 27 19:40:31 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_start_cell_renderer): New function to reflect that you can (hypothetically) pack cell renderers into a column. (gtk_tree_view_column_pack_end_cell_renderer): ditto. (gtk_tree_view_column_cell_is_visible): Move more functionality to the column. (gtk_tree_view_column_cell_can_focus): Move more functionality to the column. * gtk/gtktreeview.c: Move to use new column-packing code. (gtk_tree_view_real_expand_row): remove totally braindead code. (gtk_tree_view_real_collapse_row): ditto. 2001-06-27 Kjartan Maraas * gtk/gtktreeviewcolumn.c: Fix a typo. 2001-06-26 Joel Becker * gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line at the end of the file 2001-06-26 Havoc Pennington * gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification 2001-06-26 Havoc Pennington * gtk/gtkwindow.c (gtk_window_class_init): add "resizable" property Tue Jun 26 12:59:28 2001 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix stupid missing statement * gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New private function for ATK. It notifies you of how many _visible_ children are deleted when a node is deleted. Should be used by atk only. Tue Jun 26 11:06:34 2001 Owen Taylor * gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c: Use new pango_context_get_metrics() to fix problems with font lists in descriptions. (#56184, reported by Jonas Borgström) Tue Jun 26 10:04:30 2001 Tim Janik * gtk/gtkiconfactory.c: * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up item factory so inlined pixbufs actually work. 2001-06-25 Havoc Pennington * gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c: s/RESIZEABLE/RESIZABLE/ * gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/ 2001-06-25 Alexander Larsson * configure.in: Added --enable-fbmanager. This is some experimental code that lets several GtkFB apps coordinate their access to the framebuffer. * acconfig.h: Added ENABLE_FB_MANAGER. * gdk/linux-fb/Makefile.am: Added gdkfbmanager and gdkfbswitch. * gdk/linux-fb/gdkkeyboard-fb.c: * gdk/linux-fb/gdkmouse-fb.c: * gdk/linux-fb/gdkprivate-fb.h: Split device init and open so that they can be opened and closed while switched away. * gdk/linux-fb/gdkmain-fb.c: Add the basic manager communication. * gdk/linux-fb/gdkrender-fb.c: Don't update to the shadow fb if we're blocked by the fb manager. Sun Jun 24 22:15:16 2001 Owen Taylor * docs/Changes-2.0.txt: Add note about child property changes. Sun Jun 24 21:34:32 2001 Owen Taylor * gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32) * gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem with un'reffing wrong list reported by Jeff Franks. * gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix. * gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND for the default icon. Remove inline XPM. * gtk/gtkstock.h gtk/gtkiconfactory.c: Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new is used for GTK_STOCK_DND, but it is a bit too small.) * gtk/stock-icons/stock_dnd_multiple.png gtk/stock-icons/Makefile.am: New stock icon moved from gnome-libs. * gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return TRUE when starting a drag. In other cases, we are just observing. (#52995) * gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add function to set the icon for a drag from a GdkPixbuf or stock ID. * gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): Likewise, for drag sources. * gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon. (Now should be done using the stock system.) Sun Jun 24 12:06:47 2001 Owen Taylor * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): Removed - didn't work and not particularly useful anyways if it did. Sun Jun 24 11:29:35 2001 Owen Taylor * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error introduced last night that was making things decidedly not work. * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters so that we have getter/setter pairing everywhere it makes sense. (#55767) * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.: Rename gtk_radio_button_group to gtk_radio_button_get_group, add a deprecated compat macro. (#55516) * gtk/gtklabel.[ch]: Add functions gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(), gtk_label_set_label(), which mirror the property API for GtkLabel. Make gtk_label_get_attributes() only reflect the attributes set by gtk_label_set_attributes. * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename from gtk_notebook_set_page(). Sat Jun 23 18:02:46 2001 Owen Taylor * configure.in: Fix tests for XShm.h. * gdk/x11/gdkimage-x11.c: Cleanup error handling in gdk_image_new() by use of goto, properly use g_object_unref(). Sat Jun 23 22:03:20 2001 Tim Janik * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image) calls, as GdkImage is an object. these should be g_obejct_unref() instead but that won't work because of the g_error() statement in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/ to spot these places. Sat Jun 23 10:27:53 2001 Owen Taylor * modules/input/gtkimcontextxim.c: Fixup some problems with text length handling in error cases. * gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder a bit to make test actually warn on attempt to allocation a negative size. (#56101, Matthias Clasen) Fri Jun 22 14:06:08 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug noticed by Brian Cameron. (gtk_tree_view_real_expand_row): Fix bug noticed by Brian Cameron. 2001-06-22 Hans Breuer * gdk/gdk.def : updated externals * gdk/win32/gdkdrawable-win32.c : corrected some casts in GDK_NOTEs * gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets to translate coordinates to the internal > 16 bit system Try to handle WM_WINDOWPOSCHANGED to get better performance for when moving/resizing * gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default () and gdk_keymap_get_direction (). The latter is untested for the RTL case * gtk/gtk.def : updated externals * gtk/gtkmain.c : gtk_get_default_language () should reurn the result from pango_language_from_string (), not an already freed pointer * gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be binary (-kb) to be useable on windoze 2001-06-21 Alexander Larsson * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): Update to new PangoLanguage changes. * gtk/gtkwindow-decorate.c: * gtk/gtkwindow.[ch]: Added setting argument to gtk_window_set_has_frame () Thu Jun 21 13:42:01 2001 Owen Taylor * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle the case without XKB properly. * gtk/gtkrc.c (gtk_rc_set_default_files): Remove unused gtk_rc_auto_parse variable. * gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt: Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no longer needed with GdkPixbuf. * gtk/gtkrc.c (_gtk_rc_init): Make private. Fri Jun 15 16:26:12 2001 Owen Taylor * gtk/gtkentry.h: Mark deprecated functions with GTK_DISABLE_DEPRECATED. Mon Jun 11 18:15:16 2001 Owen Taylor * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype. * gtk/gtk[hv]scale.c: Include math.h, stdlib.h * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch] gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextdisplay.c gtk/gtktextiter.[ch] gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt to recent changes in Pango. * tests/testgtk.c: Set language tags with gtk_label_set_markup() to test whether the basic engine honors them. Thu Jun 21 02:13:40 2001 Tim Janik * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and gtk_container_child_get_property(). Wed Jun 20 19:19:15 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up (gtk_tree_view_move_cursor_page_up_down): implement. Wed Jun 20 05:32:05 2001 Tim Janik * gtk/gtkspinbutton.c: make maximum digits compile time configurable via MAX_DIGITS and up to 20. 5 was just ridiculously small. don't use automatic fixed size buffer for printf-ing floats, doubles can expand to really _huge_ strings, use g_strdup_printf() instead. Wed Jun 20 04:28:24 2001 Tim Janik * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a construct property in 1.2 and still needs to be. * gtk/gtkwidget.c: "composite_child" is not a settable property. Tue Jun 19 19:13:19 2001 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_clear): * gtk/gtktreestore.c (gtk_tree_store_clear): New functions to clear a model. Mon Jun 18 02:00:49 2001 Tim Janik * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS. * gtk/Makefile.am: * gtk/gtk.h: disabled GtkPacker compilation. * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these. * gtk/gtknotebook.c: * gtk/gtktable.c: * gtk/gtkbox.c: ported this over to child properties. * gtk/gtksettings.c: fetch class properties via g_object_class_list_properties(). * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the child arg interface. use gobjectnotifyqueue.c for child property notification. * gtk/gtkwidget.[hc]: provide necessary means for container child properties, i.e. ::child_notify signal, gtk_widget_freeze_child_notify(), gtk_widget_child_notify(), gtk_widget_thaw_child_notify(). * tests/testgtk.c: removed inferior property handling code, for property editing, a generic module should be used, and GLE coincidentally fullfills that purpose. * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc needs to be adapted to g_object_class_list_properties() before this builds again. Mon Jun 18 20:06:10 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to test if a node is expanded. Mon Jun 18 19:41:38 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug where collapsing a selected row would result in the cursor/anchor getting screwed up. Fri Jun 15 18:53:48 2001 Jonathan Blandford * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename gtk_tree_sortable_sort_column_id_set_func. It's much shorter now. * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!! Now I can really reorder/sort all Store widgets. treesorttest seems to just work now. * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops. testtreesort worked through a big coincidence all this time. * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty code. * tests/testtreecolumns.c: Big 'ol warning at the top letting people know that this code should never ever ever be copied. 2001-06-15 Jonas Borgström * gtk/gtkwindow.h: Fixed a small typo, it should be GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS on line 134. 2001-06-14 Havoc Pennington Docs fixups, and: * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with GTK_DISABLE_DEPRECATED Thu Jun 14 19:21:27 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops. Forgot this a couple months ago. Now GtkTreeStore sort of sorts. I'll finish it off tonight, though it basically works now when it's a list. Also, I have a sinking feeling neither GtkTreeStore or GtkListStore actually resort when adding a new item. I'll look into it. 2001-06-14 Havoc Pennington * demos/gtk-demo/main.c (load_file): fix bug identified by warnings I just added to gtktextbuffer 2001-06-14 Havoc Pennington * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo * gtk/gtktextbtree.c: don't leak node data all over the place. * demos/gtk-demo/main.c (main): create fontify tags for the right buffer * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs to mention tags in the same table can't have the same name, suggested by Skip Montanaro 2001-06-11 Havoc Pennington * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning for trying to add two tags with same name to the tag table * demos/gtk-demo/main.c (main): fix colors ;-) `Fri Jun 8 17:56:52 2001 Owen Taylor * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct that allows grouping together multiple windows so that grabs within that set of windows only affect those windows. * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify" signal for notification when a widget becomes shadowed by a grab or is no longer shadowed by a grab. * gtk/gtkwidget.c (gtk_widget_propagate_state) gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow insenstive widgets to maintain a grab. 2001-06-14 Alexander Larsson * docs/README.linux-fb: Add some example config files that can be used with the URW fonts. * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): Set up the color ramps for DirectColor mode. 2001-06-11 Havoc Pennington * Release 1.3.6 2001-06-13 Alexander Larsson * gdk/linux-fb/gdkwindow-fb.c: Unify shaped window code and make it repaint the area that used to be part of the shape, but isn't anymore. 2001-06-11 Havoc Pennington * NEWS: Updates * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6 * gtk/Makefile.am: glib_genmarshal already contains top_builddir 2001-06-13 Alexander Larsson * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status): Don't pass on GDK_ACTION_DEFAULT. The Xdnd code passes zero instead, so do we. 2001-06-13 Alexander Larsson * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy): Deep copy dash_list too. (_gdk_fb_gc_new): Set default cap_style before setting values. 2001-06-12 Alexander Larsson * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default, gdk_keymap_get_direction): New functions. Tue Jun 12 12:41:27 2001 Jonathan Blandford * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify gtk_tree_model_get_flags by adding a second flag for atk. * gtk/gtktreemodel.c: make cursor behavior interact better with mouse presses. Mon Jun 11 12:43:08 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_class_init): changed expand_row/collapse_row to be 2 signals each -- test_expand_row and row_expanded as well as test_collapse_row and row_collapsed. 2001-06-10 Anders Carlsson * demos/gtk-demo/stock_browser.c (do_stock_browser): Update signal name to be changed instead of selection_changed. 2001-06-08 Havoc Pennington * gtk/gtkentry.c (gtk_entry_class_init): add read-only "scroll_offset" property for notification when the layout offsets may have changed (gtk_entry_adjust_scroll): add notify for scroll_offset (gtk_entry_layout_index_to_text_index): function to compensate for preedit string when doing coordinate stuff on the entry's layout (gtk_entry_text_index_to_layout_index): inverse function (gtk_entry_get_layout_offsets): hook to get current position of the layout (gtk_entry_get_layout): hook to get the layout itself. * gtk/gtklabel.c (gtk_label_get_layout): new function Fri Jun 8 19:49:29 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New keybinding. (gtk_tree_view_focus): Fix merge conflict. Fri Jun 8 18:41:30 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to clean up cursor handling. 2001-06-08 Havoc Pennington * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this function * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added this function 2001-06-08 Alex Larsson * gtk/gtkcompat.h.in: Added compat macros for all old GTK_TYPE_GDK_xxx types. Fixes bug #52892 2001-06-08 Havoc Pennington * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as parent still 2001-06-08 Havoc Pennington * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez, don't call g_list funcs on GSList * gtk/gtkwidget.c (gtk_widget_child_focus): replaces gtk_container_focus(), since some widgets have focusable locations which are not other widgets. These widgets should not have to be containers just to manage the focus. For example, GtkHSV is currently a container for no good reason. Also, this cleans up the "if (is_container && is_sensitive && is_drawable) container_focus ()" mess in widget implementations. * gtk/gtkcontainer.c (gtk_container_focus): deprecate this function, and have it just call gtk_widget_child_focus(). * gtk/gtkhsv.c: derive from widget not container Throughout: fix to reflect GtkContainer::focus change Fri Jun 8 12:38:49 2001 Jonathan Blandford * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of range. Fix bug #55921 * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug (#55920). Fri Jun 8 12:03:07 2001 Owen Taylor * gdk/gdkkeys.[ch]: Add a direction-changed signal, and gdk_keymap_get_current_direction(). * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track the current locked group, use it to set the keymap direction. * gtk/gtksettings.c: Add a new gtk-split-cursor setting to determine whether we draw a split cursor or use a jumping cursor based on the current direction. * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]: Obey the split cursor setting. Fri Jun 8 11:57:50 2001 Owen Taylor * gtk/gtkimmulticontext.c (activate_cb): Only activate when toggling on, not when toggling off... (#55906) Wed Jun 6 10:37:07 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_double_buffered): s/gdk_window_begin_paint/gdk_window_begin_paint_region/ in docs. (#55812, Vitaly Tishkov) 2001-06-08 Anders Carlsson * demos/gtk-demo/main.c (create_tree): Changed signal name from selection_changed to changed in signal connection to GtkTreeSelection, also used g_signal_connectc since GtkTreeSelection is now a GObject. Thu Jun 7 18:25:42 2001 Jonathan Blandford * gtk/gtktreeselection.c: Now it's a GObject instead of a GtkObject. The GtkTreeSelection::selection_changed signal is now the GtkTreeSelection::changed signal. * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection object. * tests/gtktree*.c: Modified to deal with new GtkTreeSelection object. 2001-06-07 Havoc Pennington * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again 2001-06-07 Havoc Pennington * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal (not tested yet because with absolute path to srcdir I can't build atk, but it was broken anyway so this may help) 2001-06-07 Havoc Pennington * configure.in: output m4macros/Makefile Wed Jun 6 21:59:16 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow buttons. Fixes #55460 reported by matthiasc@poet.de. Wed Jun 6 21:18:54 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize expansion/collapsing so it only happens in one place. (gtk_tree_view_real_expand_row): ditto. 2001-06-07 Havoc Pennington * tests/Makefile.am: add missing -I flag * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc. * configure.in: use pkg-config to see if GModule is supported; fix to properly turn on included loaders when GModule isn't supported; don't use AC_CHECK_LIB when libs are not installed yet * autogen.sh: add support for AUTOGEN_SUBDIR_MODE * Makefile.am (SUBDIRS): add m4macros subdir * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in dependencies also. Wed Jun 6 19:31:11 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug reported by "Padraig O'Briain" . Wed Jun 6 20:01:38 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_real_expand_collapse_cursor_row): Handle key bindings to expand and collapse rows. (gtk_tree_view_real_select_cursor_parent): New key binding. (gtk_tree_view_real_toggle_cursor_row): New key binding. * gtk/gtkmarshal.list: new marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN) 2001-06-06 Havoc Pennington * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page Down to move visually rather than logically, since it confuses people. Add -/+ and Ctrl--/+ bindings for logical movement. 2001-06-06 Alex Larsson * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check): Fix up error messages. Wed Jun 6 10:34:42 2001 Owen Taylor * gtk/gtktooltips.h: Include gtkwidget.h (#55798, Karl Nelson) * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is a valid latin-1 character. (Marc Lehmann, #35467) * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. (Marc Lehmann, #35467) 2001-06-05 Alex Larsson * demos/gtk-demo/appwindow.c (do_appwindow): Don't swap the order of the args to gtk_widget_destroyed. * tests/testgtk.c (destroy_properties): Don't crash when the properties window is destroyed. * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock): Use with_mnemonics to handle the case of stock items with underscores in them. 2001-06-05 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_order): rename from gtk_text_iter_reorder 2001-06-05 Havoc Pennington * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function 2001-06-05 Havoc Pennington * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value to the range that was set * gtk/gtkrange.c: add value_changed signal, primarily intended for use with GtkScale (gtk_range_set_increments): new function (gtk_range_set_range): new function with weird name (gtk_range_set_value): new function (gtk_range_get_value): new function * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename from gtk_spin_button_get_value_as_float(). Compat #define added for get_value_as_float. * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function Tue Jun 5 14:57:18 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573 Mon Jun 4 12:41:25 2001 Owen Taylor * gtk/gtkwidget.h: Deprecate gtk_widget_set(). * tests/testgtk.c (create_tooltips): Remove usage of gtk_widget_set(). 2001-06-05 Havoc Pennington * gtk/gtkcolorsel.c: Use new mnemonic convenience functions Applying patch from Jeff Franks, with function docs added. * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic): remove call to set_mnemonic_widget, change docs a bit. * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic): new function * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic): new function * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new function (gtk_radio_button_new_with_mnemonic_from_widget): new function * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic): new function * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new function * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on auto-selection of mnemonic widget. Mon Jun 4 15:05:24 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width): Fix segfault found by Vitaly Tishkov . (gtk_tree_view_column_set_min_width): ditto. Tue Jun 5 11:04:06 2001 Owen Taylor * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks) Mon Jun 4 12:50:11 2001 Owen Taylor * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing gtk_clist_thaw(). 2001-06-04 Havoc Pennington * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore r eleases for buttons 6, 7 2001-06-04 Havoc Pennington * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug #55562 2001-06-04 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_size_request): handle case where text_view->layout == NULL by assuming its size is 0, i.e. same as if we haven't done any reflow. Reported by Hidetoshi Tajima #55448 2001-06-04 Havoc Pennington * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6 and 7 for scroll left/right, from Thomas Broyer 2001-05-10 Havoc Pennington * gtk/gtksettings.c (gtk_settings_get_property): Handle case where we need to parse the xsetting as if it were an RC file string. * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial value of palette from settings, not from static variable * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to xsettings translation table * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because hardcoding the toolbar style conflicts with new customizable toolbar style philosophy (gtk_toolbar_class_init): add settings for default toolbar style; these are used unless the app specifically forces a toolbar style * gtk/gtksettings.c (settings_install_property_parser): only return at the start if we warn and parser == NULL * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the palette changed handler so we don't notify dead color selections * gtk/gtkstyle.c (gtk_default_draw_shadow): handle xthickness/ythickness of 0 or 1 properly (gtk_default_draw_resize_grip): clear the background behind the resize grips, and align to bottom right if we square the area to be drawn. * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on statusbar label to 1, so it doesn't make toplevels resize oddly (gtk_statusbar_size_request): add grip size to request (gtk_statusbar_size_allocate): hack so the hbox still works with the grip size in the request * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix bug where showing all on a toplevel makes the toolbar button text appear despite the toolbar mode * gtk/gtkmenubar.c: add internal padding style property * gtk/gtktoolbar.c: Add internal padding style property; add shadow type style property * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget state; and put Container::border_width outside the frame * gtk/gtktextview.c: don't draw focus rectangle if we're in interior focus mode, we just use blinking cursor 2001-06-04 Havoc Pennington * configure.in: Make gdk-pixbuf have same version number as GTK 2001-06-04 Havoc Pennington * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on digits greater than 6. If there actually are limits (which there likely aren't), should clamp to them not warn. (gtk_spin_button_new_with_range): don't take log of 0 (gtk_spin_button_size_request): use digits to compute size request, rather than step increment. * tests/testgtk.c (create_spins): test larger values of digits * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected font on map not expose, so we don't get weirdness during scrolling 2001-06-04 Havoc Pennington * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from Sam Solon, bug #54577, update value even if not drawable. 2001-06-04 Havoc Pennington * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to SCROLL_LEFT, reported by Thomas Broyer. 2001-06-04 Havoc Pennington * gtk/gtkrange.c (gtk_range_adjustment_value_changed): Process updates immediately, to prevent funny lag effect when scrolling, at some mild potential efficiency cost. 2001-06-04 Havoc Pennington * gtk/gtkrange.c (gtk_range_button_press): on middle click, center slider on the click. 2001-06-03 Havoc Pennington * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case hscale/vscale details, so we can use it for scrollbar as well. * tests/testgtk.c (reformat_value): honor digits from GtkScale * gtk/gtkenums.h (GtkTroughType): Remove this enum (GtkScrollType): add START and END from GtkTroughType * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using its x/y arguments * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h, gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c, gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h, gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c, gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses. Notable changes in the process: - stepper_size style property is the height for vertical ranges, width for horizontal; the other dimension matches the trough size - add ability to do NeXT-style steppers (and several other styles that don't make any sense) - added min_slider_length, fixed_slider_length properties to GtkScrollbar - cleaned some private (or at least useless) functions out of gtkscale.h - moved bindings to GtkScale from subclasses, even arrow keys, since blind users don't know scale orientation. - change move_slider action signal to use new GtkScrollType, remove GtkTroughType argument - digits rounds the values a range will input to the given number of decimals, but will not try to force adjustment values set by other controllers. That is, we no longer modify adjustment->value inside a value_changed handler. - added getters for GtkScale setters - middle-click begins a slider drag Fri Jun 1 18:54:47 2001 Jonathan Blandford * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at getting the focus code to work. (gtk_tree_view_class_init): Add a bunch of keybindings. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func): s/GtkCellDataFunc/GtkTreeCellDataFunc. (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead of "properties_changed" to help justify the death of the latter signal. (-: * tests/testtreefocus.c (main): Let some columns be focussable to test focus better. 2001-06-01 Havoc Pennington * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode * gtk/gtktextview.c (gtk_text_view_commit_handler): don't overwrite in overwrite mode if we already deleted the selection and replaced it with new text. * gtk/gtklabel.c (gtk_label_select_region_index): if you set the selection to an empty range, clear the clipboard if we owned it. (gtk_label_set_selectable): give up selection if we become unselectable. (gtk_label_state_changed): override state changed to unselect text when insensitive (get_text_callback): add paranoia check that indexes aren't outside of label->text (gtk_label_select_region): make -1 for start_offset mean "end of label," for consistency with GtkEditable * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor GTK_DIALOG_NO_SEPARATOR flag Fri Jun 1 11:47:11 2001 Owen Taylor * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix notifications on non-existant "enable_arrow_keys". (#53753, Skip Montanaro) Fri Jun 1 11:31:55 2001 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add GDK_TYPE_RECTANGLE. * gtk/gtkwidget.c (gtk_widget_class_init): Fix type of allocation argument be GDK_TYPE_RECTANGLE. Thu May 31 12:43:57 2001 Owen Taylor * gtk/gtkoptionmenu.c: Account for the fact that the border width is _outside_ the window. (Fixes #54585, bug found by Bastien Nocera.) Wed May 30 15:56:30 2001 Owen Taylor * gtk/gtksettings.c (gtk_settings_get_property): Validate value from GDK settings against parameter spec. * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments to temporary values and use g_value_transform(), since thinking that GValue was going to be easy or efficient to use was, of course, a mistake. * gtk/gtksettings.c: Add cursor blink setting. * gdk/x11/gdkevents-x11.c: Add cursor blink X settings. * gtk/gtkentry.c: Add cursor blinking. * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use cursor blink global settings. * gtk/gtkentry.c (gtk_entry_button_press): Add notification for :text_position in places where it is missing. Tue May 29 18:17:11 2001 Owen Taylor * autogen.sh (have_libtool): Fix GNU sedism (#55430) Tue May 29 17:40:29 2001 Owen Taylor * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG, not pkg-config. (#51032) * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST (fixes #51952, James Henstridge) 2001-05-27 Alexander Larsson * gtk/gtkstock.h (GTK_STOCK_GO_UP): Rename to the more correct gtk-go-up. * gtk/stock-icons/stock_menu_sort_ascending.png: Added new file. * gtk/stock-icons/stock_menu_sort_descending.png: Changed to show descending instead of ascending. * gtk/gtkiconfactory.c: Added menu size icon to sort ascending. * gtk/stock-icons/Makefile.am: Added stock_menu_sort_ascending.png. * gtk/gtkseparatormenuitem.c: Use correct typenames. Sun May 20 20:07:35 2001 Tim Janik * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a gulong as in GSignal. Fri May 25 19:04:17 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all instances of GtkCellRenderer in code (all but dnd icon code). Virtualized in GtkTreeViewColumn. Now I need to move focus in there, and I can do multiple Cells per column. * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug when model was unreffed prior to removing the row reference. 2001-05-25 Havoc Pennington * gtk/gtkiconfactory.c: fix so that default icons are created if you call gtk_stock_list_ids() * demos/gtk-demo/stock_browser.c (create_model): sort stock items in list 2001-05-25 Havoc Pennington * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon set can render without falling back to missing image icon * gtk/gtktextview.c (gtk_text_view_size_request): request full size of text, instead of random values * gtk/gtktreeview.c (gtk_tree_view_size_request): request full size of tree view, instead of random values * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback image in an appropriate size * gtk/gtkstock.h: Rename the stock items including _BUTTON_, etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/ Throughout: fix GTK_STOCK_BUTTON_ instances * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h, gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am: Add a bunch of new stock items/icons * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func): new function, convenience for inserting columns with a data func * gtk/gtkiconfactory.c: keep a list of all existing icon factories (_gtk_icon_factory_list_ids): use list of all factories to generate a list of all known IDs * gtk/gtkstock.c (gtk_stock_list_ids): replace gtk_stock_list_items() with a function that returns all IDs known including those for GtkIconFactory. 2001-05-25 Hans Breuer * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually work -> check boxes and radio buttons are drawn now, even on win9x. Improved line settings a bit, still no clue how to get really dotted lines on win9x, on NT it's PS_ALTERNATE. * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for GDK_HINT_MIN_SIZE as well * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST * gtk/gtk.def : updated * gtk/gtktreeprivate.h : change column_drop_func to be a function pointer not a function pointer pointer * tests/testdnd.c : include for putenv prototype * tests/testsocket.c : made it compile on win32 again * tests/makefile.msc : one more test-app uses prop-editor.obj 2001-05-22 Havoc Pennington * gtk/gtkbin.c (gtk_bin_get_child): New function Wed May 23 20:07:53 2001 Owen Taylor * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys to ignore when doing compose processing. 2001-05-22 Joe Shaw * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): Simplify as suggested by Havoc. Just get the last iter and work backward to the tag instead of getting a line and working back from there. Fixes passing in an invalid offset to iter_init_from_byte_offset(). Tue May 22 16:25:27 2001 Jonathan Blandford * gtk/gtktreeview*.h: * gtk/gtkcell*.h: * gtk/gtk*store.h: Added patch from Jeff Franks to add GET_CLASS macros to all objects. Tue May 22 15:13:52 2001 Jonathan Blandford * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_fixed_size): Evil function to deal with very large (TM) amounts of text. May be moved to GtkCellRenderer in the future, though I'm not sure it wants to be this accessible. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): More sanity brought to this class. I like it. * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test case. Kids, don't try this at home. * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new convenience function. * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs. 2001-05-21 Alexander Larsson * gtk/gtkfontsel.c: Added properties. Based on patch by Lee Mallabone. * gtk/gtkruler.c: * gtk/gtkhruler.c: * gtk/gtkvruler.c: * gtk/gtktext.c: * gtk/gtktextview.c: Converted GtkArg to GParam. Based on patches by John Margaglione. * tests/Makefile.am: * tests/testtext.c: Add a property editor to testtext. Mon May 21 11:29:21 2001 Owen Taylor * gtk/gtk{h,v,}paned.c: Only show the separator if * configure.in: Fixed reversed conditional causing all image libraries to be linked in. 2001-05-21 Joe Shaw * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion that top_y needs to be >= 0. 2001-05-11 Havoc Pennington * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and losing connection to the X server. Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft CFLAGS to avoid duplicate libraries. * gdk/Makefile.am (LDFLAGS): Remove extra -lm. * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES to include gobject. 2001-05-18 Alexander Larsson * gtk/gtkspinbutton.c: Convert GtkArgs to GParams. Based on patch by John Margaglione. Also do size request reasonable for MAXDOUBLE. Previously it printed the limits to a buffer and overran it. Instead do it using log10() and limit the width to 10 digits. * gtk/gtkwidget.c (gtk_widget_get_property): Correctly handle setting the parent property to NULL. Fri May 18 15:26:26 2001 Owen Taylor * gtk/gtktextview.c (gtk_text_view_style_set): Reset style attributes even if the widget isn't realized. * demos/gtk-demo/main.c: Use a slightly smaller font. Fri May 18 14:25:20 2001 Owen Taylor * gtk/gtkcontainer.c: Remove reallocate-redraws property. This is something that only a widget writer would ever want to change. * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for gtk_signal_emit_by_name(). * gtk/gtkviewport.c: Fix some warnings. * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility allowing the requisitions of multiple widgets to be grouped together. * tests/testgtk.c: Add GtkSizeGroup test * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo. * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some warnings. * configure.in: Switch to using AM_GLIB_GNU_GETTEXT. 2001-04-28 Martin Baulig * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon() to gtk_image_menu_item_set_icon() and made it work if there's already an image. (gtk_image_menu_item_new): This function doesn't take any arguments anymore. (gtk_image_menu_item_new_with_label): New function. Thu May 17 16:20:04 2001 Jonathan Blandford * demos/gtk-demo/main.c (fontify): It's the worlds ugliest highlighting code!!!! The result is okay so long as you don't try to stress it. It also highlights a bug in the TextView so it's in an unproportional font right now until it's fixed. *demos/gtk-demo/*.c: Clean up code a bit to make it ugly-parser(TM) friendly. (-: 2001-05-17 Joe Shaw * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions that x_offset and y_offset must be >= 0. Clip the cursor being drawn if it is only partially onscreen. Thu May 17 17:10:13 2001 Owen Taylor * gtk/gtkentry.c: Make logical motion and deletion by graphemes, not by characters. * gtk/gtkentry.c: Handle "trailing" returns from Pango when they are not zero or one; that is, when graphemes of multiple characters are involved. * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary FIXME. 2001-05-17 Alexander Larsson * gtk/gtkbbox.c: Add properties, based on patch by Lee Mallabone. * gtk/gtknotebook.c: * gtk/gtktoolbar.c: Convert from GtkArg to GParam, based on patch by John Margaglione. * gtk/gtkhscale.c: * gtk/gtkvscale.c: * gtk/gtkhscrollbar.c: * gtk/gtkvscrollbar.c: * gtk/gtkrange.c: Move adjustment property to GtkRange. * gtk/gtklabel.c: Setup mnemonics on property changes * gtk/gtkwidget.c (gtk_widget_get_property): GdkExtensionMode is an enum, not a flag. Set it with g_value_set_enum (). * tests/prop-editor.c: Better propery editor. * tests/testgtk.c: Add new property test. Pass zero to the property editor to get properties from all derived types. Sun May 13 12:01:12 2001 Owen Taylor * autogen.sh (have_automake): Require libtool-1.4, automake-1.4p1. * acinclude.m4: Remove libtool macros. * gdk-pixbuf/Makefile.am: Add dependencies to loade modules. * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la for libgdk. * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la libgdk.la for libgtk. * modules/input/Makefile.am: Make modules have full dependencies. Wed May 16 14:06:01 2001 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug #54699 where paths weren't being checked for correctness. Tue May 15 20:13:24 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties in any order you wan, whether or not the column is added to the tree, or the tree is realized. Yay! * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_setup_sort_column_id_callback): handle sorting columns a lot saner * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable): new function to actually set wether or not a column is reorderable. * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things if we have 'em. * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view): Fix nasty bug where we were showing the button just before realizing it. As a result, the parent window was tree_view->window instead of tree_view->priv->header_window. * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property to let you easily reorder a list or tree. 2001-05-15 Alexander Larsson * gtk/gtkpacker.c: Apply patch from John Margaglione that converts from args to properties. Tue May 15 10:11:59 2001 Owen Taylor * gtk/gtkpreview.c: Apply patch from John Margaglione converting from args to properties. (#51957) * gtk/gtkscale.c (gtk_scale_class_init): Move install property calls to after ->set_property call. Mon May 14 14:56:21 2001 Owen Taylor * tests/prop-editor.c: Block against redundant changes. * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set properties. Sun May 13 18:40:04 2001 Owen Taylor * gdk/gdkpixmap.h: Remove creative formatting. Thu May 10 19:22:28 2001 Owen Taylor * gtk/gtktogglebutton.c: Patch from John Margaglione converting to property API. (#51669) * gtk/gtkscale.c: Patch from John Margaglione converting to property API. (#51891) * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting to property API. (#50985) Fri May 11 20:13:44 2001 Tim Janik * gtk/gtkmain.c (gtk_main_do_event): remember widget's double buffering state across expose event, so we still call end_paint(). 2001-05-11 Alexander Larsson * gtk/gtkhsv.c (paint_triangle): Expose the ring in the triangle at the correct place when exposing just a part of the triangle. * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change): Return FALSE, or window focusing will not work. 2001-05-11 Havoc Pennington * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug #54144 * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes bug #54330 Fri May 11 02:53:57 2001 Tim Janik * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't propagate exposes to NULL child. * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard against not having one of the scrollbars. * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, we don't keep a mnemonic window if we have no mnemonic installed. Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST it has the _important_ side effect of initializing a class. 2001-05-10 Alexander Larsson * gdk/linux-fb/gdkprivate-fb.h: Make sure you can compile out the implementation/wrapper assert macros. * gdk/linux-fb/gdkdrawable-fb2.c: Check implementation/wrappers, initialize type for pixmap dummys. * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Hide the cursor if reading from the screen. * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic): Fix sign bug in tiling code. * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area): Handle background pixmaps. Wed May 9 15:27:22 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New function to let user control where columns are dragged. * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if Escape is pressed. Wed May 9 09:08:44 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_class_init): New "columns_changed" signal. (gtk_tree_view_motion_draw_column_motion_arrow): Change column motion code to draw arrows to the side if indicator is outside the widget. (gtk_tree_view_map_expanded_rows): Implement. 2001-05-07 Alexander Larsson * demos/testpixbuf-save.c: * demos/testpixbuf-drawable.c: Include gdkfb.h on linux-fb. 2001-05-07 Alexander Larsson * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at): New function for getting toplevel window at position. (gdk_drag_find_window): Use get_toplevel_window () instead of gdk_window_get_pointer(). (gdk_drag_status): Use correct context for getting window. * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name): g_strdup the atom name. * gdk/linux-fb/gdkwindow-fb.c: Costmetic fix. * gtk/gtkdnd.c (gtk_drag_source_handle_event): Add code for changing cursor on linux-fb backend (same as win32). 2001-05-07 Federico Mena Quintero * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being present before doing anything with it. Patch from Håvard Kvålen . Fixes Ximian bugzilla #2492 (OK, the bug report was not for the development branch of GTK+, but it applies anyways). 2001-05-04 Havoc Pennington * configure.in: fix some shell typos * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix * gtk/gtkimage.c: handle animations * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request border_width * 2, not just border_width * gtk/gtkscale.c: add "format_value" signal to allow people to override the way values are drawn. (gtk_scale_get_value_size): fix width/height mistake, and compute size from actual displayed text, not from made-up text. * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in signal registration * tests/testtext.c: Add "Remove all tags" menu item for testing * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement * demos/gtk-demo/main.c (main): add hack so we can find modules without installing gtk * demos/gtk-demo/textview.c (insert_text): demo font scaling * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling factor) (gtk_cell_renderer_text_set_property): remove some bogus g_object_notify * gtk/gtktexttag.c: add "scale" property which is a font scaling factor * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute to layout * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from gtk_text_iter_is_first 2001-01-06 Hans Breuer * gdk/gdk.def : updated exports * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise gdk won't compile anymore * gdk/win32/gdkevents-win32.c : initialize ret_val when processing GDK_FILTER functions, initialize event.key->hardware_keycode. Improved gdk_flush () to not only do pending drawing operations but also process all currently pending events. This should make the behaviour more similar to the X11 version. * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background option needs to be set even if there is no GDK_GC_BACKGROUND. (gdk_win32_hdc_get) : use predraw_set_background () independent of value_mask. This allows to draw dashed lines leaving the original background intact. * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data after processing, because we can't reuse it as the X11 version does. * gtk/gtk.def : updated exports * gtk/makefile.msc.in : added ATK, removed all test apps. (I would like to get rid of this file again, and use straight makefile.msc again, as the other Gtk+ subdirs do) * test/makefile.msc (new file) : build the test apps here 2001-05-05 ERDI Gergo * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek strike-through setting (gdk_draw_layout_line_with_colors): Render strike-through Sat May 5 10:06:24 2001 Owen Taylor * Release 1.3.5 * configure.in (GTK_MICRO_VERSION): Up to 1.3.5 * NEWS: Updated * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor Makefile breakage. Sat May 5 09:18:30 2001 Owen Taylor * demos/gtk-demo/images.c (progressive_timeout): Fix typo in filename. * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment out FIXME warning; just too annoying. 2001-05-04 Alex Larsson * gdk/linux-fb/gdkcolor-fb.c: Better error messages. * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new): Initialize abs_x and abs_y. * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic): Correct handling of stipple offset. * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): Treat directcolor framebuffers as truecolor. Thu May 3 14:13:49 2001 Owen Taylor * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add dependency on Atk for accessibility support. * configure.in **/Makefile.am: Major reworking of substituted variables for CFLAGS/LIBS to make a lot more sane and keep the the compile/link lines a bit shorter. * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff. Thu May 3 08:10:54 2001 Owen Taylor * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also, use _gtk_boolean_handled_accumulator. Thu May 3 07:00:09 2001 Owen Taylor * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza to fix things so clicking inside selection leaves cursor at point where clicked. (#50324) * gtk/gtksettings.c (gtk_settings_class_init): Restore sane value for default double click time. * tests/testtext.c (test_init): Really path to input modules. 2001-05-03 Sven Neumann * demos/testpixbuf-save.c: include target-specific headers as done in testpixbuf-drawable.c Wed May 2 20:36:38 2001 Owen Taylor * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce new_text_length appropriately when we run into the size limit for the entry. (#53445, reported by Jeff Franks) * tests/testgtk.c (create_entry): Remove most of the property toggle buttons. Replace with a "Props" button that brings up a property editor. * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am: Split the property editor code out for reuse, improve. Wed May 2 17:26:22 2001 Owen Taylor * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always trap errors around calls to XSetInputFocus since we have no way of knowing reliably whether we are viewable or not. (#53947) Tue May 1 09:21:23 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column): fix bug in dropping columns. Moving columns now basically works modula some fine tuning. Tue May 1 19:09:21 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add autoscroll support. It mostly works, but could use some fine tuning. * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column): Actually move the column. Mon Apr 30 20:29:27 2001 Owen Taylor * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c: New default theme! A slighly improved version of the 2.0 Raleigh theme, with Windows-esque focus/drawing default. (GtkWidget::interior_focus defaults to TRUE.) * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base. 2001-04-30 Havoc Pennington * tests/testtext.c (line_numbers_expose): fix to work with gtk_paint_layout change Mon Apr 30 19:18:07 2001 Owen Taylor * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter use_text to gtk_paint_label() to deal with style->bg[] vs style->text[]. * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal with GtkWidget::interior_focus = TRUE better. * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border, ::default_outside_border for more flexibility. * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove G_VALUE_NO_COPY_CONTENTS, to correspond with the recent change that had to be made with g_object_get. Sun Apr 29 20:13:40 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function. (gtk_tree_view_move_column_after): Clean up interface. Sun Apr 29 03:02:02 2001 Tim Janik * gtk/gtkpacker.h: * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h to gtkenum.h. * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not handled in switch). * gtk/Makefile.am: (gtk.defs): generate enum portions with glib-mkenums. (gtktypebuiltins_evals.c): generate this with glib-mkenums. got rid of makeenums.pl and makeenums.awk in distributed tarballs. * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning addition. * docs/Changes-2.0.txt: keep a note on signal handlers now not getting emitted during the emission they were connected within. 2001-04-28 Havoc Pennington * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip 2001-04-24 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): (gtk_text_layout_move_iter_to_next_line): fix these two for invisible text, lots of other stuff still hosed. * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook): new function, replaces the get/set palette stuff. This function is intended for use by libgnomeui which should set the hook to a thing which sets the palette in GConf, and we need the GConf-to-xsettings proxy which will result in the change being propagated back to the GTK app. * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning about unusable signals that it may be because the signal has parameters. * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the style, otherwise gtkrc.c won't know to create a new GtkStyle for it. (gtk_widget_modify_color_component): call gtk_widget_modify_style() so the rc style will get copied. (gtk_widget_modify_font): ditto * gtk/gtkrc.c: make a couple variables static * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide help button by default, since it does nothing * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool around with UI * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify so we can have tooltips * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we can have tooltips * gdk/gdkimage.h: mark gdk_image_new_bitmap with GDK_ENABLE_BROKEN, because its memory behavior is completely hosed. * gtk/gtknotebook.c: remove key press handler, replace with binding set, add numeric keypad support * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in addition to plain Delete * gtk/gtktextview.c (gtk_text_view_key_press_event): accept GDK_KP_Enter in addition to GDK_Return * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to activate on entry instead of key press (gtk_font_selection_on_clist_key_press): get rid of this signal handler, not needed with new font sel. * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a no-longer-needed emit_stop_by_name(), just return TRUE * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings cruft, this widget is no longer focusable. * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c, gtk/gtkhscale.c: Get rid of trough_keys virtual function, add move_slider action signal, add binding set for vscale/hscale, in the process support numeric keypad * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; make GDK_Return and GDK_KP_Enter activate the entry via binding set, instead of hardcoded. Fri Apr 27 20:27:21 2001 Jonathan Blandford * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the code. Some documentation added. 2001-04-27 Havoc Pennington * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip line/para separators (gtk_entry_create_layout): set single paragraph mode on the layout * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much spacing between the image and label; instead, inside a button box the button will get extra space that will go there, but if people configure button box for 0 chubbiness, then there's no spacing. * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding and min/max size style properties, so people can tune their chubbiness. * tests/testgtk.c (make_toolbar): remove calls to removed toolbar functions * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size, space_style, and button_relief into style properties, remove functions for setting them * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop it back down * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed types from gtk_widget_style_get * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace with a style property. * gdk/x11/gdkevents-x11.c: namespace the settings * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars. * gtk/gtksettings.c (gtk_settings_class_init): remove code with side effects from inside g_assert(), so that G_DISABLE_ASSERT can be used. Also, translate doc strings for settings. Also, namespace the double-click-time property. Also, remove bell properties crap. 2001-04-27 Sven Neumann * Makefile.am: before creating links, check if pkg-config files exist for the default target. Otherwise link to the pkg-config files that got installed with this build. Thu Apr 26 19:11:46 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column dragging code. Revealed some (potential) GdkWindow bugs. * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add _gdk_window_init_position to the end of reparent to fix the case of reparenting when new_x != old_x and new_y != old_y. Thu Apr 26 10:54:50 2001 Owen Taylor * gtk/gtkentry.c (strstr_len): Fix optimization that was correct for the use here, but completely incorrect in general. Thu Apr 26 10:40:41 2001 Owen Taylor * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size() until patch adding gtk_window_set_size() is recommitted. * **Makefile.am configure.in gdk/x11/gdkim-11.c gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c gtk/gtkrc.c: Remove all traces of -DX_LOCALE support. (#10784) Wed Apr 25 12:16:36 2001 Owen Taylor * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for window == NULL in a number of cases. * tests/testdnd.c: Set module path for gdk-pixbuf. Thu Apr 19 16:11:07 2001 Owen Taylor * gtk/Makefile.am xembed.h: File containing #defines for XEMBED protocol. * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: - Change protocol from old plug/socket specific protocol to XEMBED draft - Various fixes to work with GTK+-2.0 Still quite a bit of work to do here to handle initiation from the socket side (as specified by XEMBED), to handle the more advanced features of XEMBED, and to figure out a good way to handle same-app embedding with less overhead than using full XEMBED. Wed Apr 18 16:04:28 2001 Owen Taylor * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep track of whether the toplevel has the focus; only send focus-in events to the focus widget when the window actually has the focus. 2001-04-25 Havoc Pennington * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint were still in the header 2001-04-24 Alexander Larsson * gtk/gtkclist.[ch]: * gtk/gtkctree.c: When there is a row highlighted for D'n'D it must alse be painted hightlighted on exposes. Otherwise exposes from the icon being dragged will mess up the hightlight. * gtk/gtkfontsel.c: Don't recenter selected font when exposing the font family clist. This means you can now actually scroll the font family list. * gtk/gtknotebook.c: Fix focus movement on scrolling tabs that are placed on the left and right. 2001-04-21 Havoc Pennington * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height empty/invisible lines. * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset) (gtk_text_iter_set_visible_line_index): new functions to set indexes excluding invisible text * gtk/gtktextlayout.c (line_display_iter_to_index): get visible index * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index) (gtk_text_iter_get_visible_line_offset): new functions to get indexes excluding invisible text * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a bunch of extra padding that served no purpose * gtk/gtkdialog.c: Make all the spacings configurable via style properties, for chubbiness configuration in themes * tests/testtext.c: fix path to the immodules. Mon Apr 23 18:57:03 2001 Jonathan Blandford * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that got munched by #endif. * gtk/Makefile.am (gtk_plug_c_sources): add missing '\' * gtk/gtktreeview.c: Refactored code to clean up a number of events. * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return values to make consistent with other functions. Spotted by Jeff Franks . * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal declaration spotted by Jeff Franks . 2001-04-23 Sven Neumann * gtk/Makefile.am * gtk/gtkplug.c * gtk/gtksocket.c: on request of Owen, reverted my last change and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets 2001-04-23 Sven Neumann * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+ compile for non-X11 targets again 2001-04-20 Alexander Larsson * gtk/gtkcolorsel.[ch]: API Change. Take GdkColor arguments instead of gdouble *. Leave the old gtk_color_selection_set_color for compatibility, but marked deprecated. Do correct rounding when converting RGB <-> HSV. * gtk/gtkcolorseldialog.c: * tests/testgtk.c: Use new GtkColorSelection API. * gtk/gtkhsv.c: Fix problem selecting colors in triangle when Hue is 330. Fix some black dots around the HSB triangle. * gtk/gtkfilesel.c: return FALSE from the focus_in_event handler to fix focus problems. 2001-04-18 Havoc Pennington * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding set, so keybindings are configurable (gtk_window_activate_default): Change to activate the focus widget instead if there's a focus widget, to be consistent with the behavior that previously existed in key_press_event 2001-04-18 Havoc Pennington * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201 2001-04-18 Havoc Pennington Close bug #50615: * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw the layout * gtk/gtktext.c: Use base/text instead of bg/fg throughout * gtk/gtkentry.c: Use base/text instead of bg/fg throughout * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default to blue for base, in addition to bg 2001-04-18 Havoc Pennington * tests/testgtk.c (create_image): allow shrinking the image window to test that we clip to allocation. * gtk/gtkimage.c (gtk_image_expose): clip to allocation, #9845 * gtk/gtkenums.h: move GtkWrapMode in here, #50472 Wed Apr 18 14:23:14 2001 Owen Taylor * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing mode on shm segments to 0600. We'll see who complains. * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call _gdk_windowing_window_destroy() AFTER recursing through children. * tests/Makefile.am (noinst_PROGRAMS): Build testsocket, testsocket_child on X. * tests/testsocket[_child].c: Fix uses of gtk_window_get_default_accel_group(). [ Merge patch from Ramiro Estrugo from gtk-1-2 ] * gdk/gdkimage.c: (gdk_image_get): Deal with the possibility that XGetImage() might return NULL. Allocate the GdkImagePrivate structure only after XGetImage() succeeds in order not to dereference a NULL ximage pointer. This prevents a core dump when XGetImage() fails - which is unlikely, but can happen due to race conditions accessing the geometries of drawables. An x error will still be triggered, but the gdk image wrapper at least wont seg fault. 2001-04-18 Havoc Pennington * gtk/gtkimage.c: fix to properly queue resizes when the image is set * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste if the insertion point isn't editable * demos/gtk-demo/images.c: Added a GtkImage demo * demos/gtk-demo/drawingarea.c: drawing area demo * demos/gtk-demo/menus.c (create_menu): cleanups Wed Apr 18 12:15:52 2001 Owen Taylor * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h gdk/x11/gdkevents-x11.c: Introduce an extra child of toplevel windows that serves to hold the focus to avoid events being delivered to embedded windows. * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce some extra variables to clean up code and reduce the number of casts. * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use guint for 1 bit bit fields, not gboolean. Wed Apr 18 10:04:23 2001 Owen Taylor * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE, not TRUE. (Fixes #52925) Tue Apr 17 18:05:34 2001 Owen Taylor * Released 1.3.4 * NEWS: Updated * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not use GTK_TYPE_ENUM. Tue Apr 17 13:47:12 2001 Owen Taylor * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter names to compatibility #defines so docs work. * gtk/gtkenums.h: Remove GtkMenuFactoryType * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups. * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS * tests/testgtkrc: No magenta cursors, please. * README.in INSTALL.in HACKING README.cvs-commits: Updated. * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType. Mon Apr 16 14:38:41 2001 Owen Taylor * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer grabs, since they are no longer necessary. * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926 by signal_connect() and call gtk_button_pressed() rather than signal_connect_after(). * tests/testgtk.c: Restore radio menu items to combos since they'll look OK with Raleigh, and it is easier than finishing the process of removing them that was started earlier. 2001-04-16 Hans Breuer * gdk/gdk.def : * gtk/gtk.def : added all exports required to link PyGtk 0.7.1 * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type () we are interested in the functions return value not the function address * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk 2001-04-14 Hans Breuer * gdk/gdk.def : * gdk/makefile.msc : updated * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is "fill with tile" do so with new helper function gdk_win32_draw_tiles (the testgtk::text backgound pixmap is drawn again) Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect Win32 Pango change * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get Not sure if the returned settings have the right unit, because I couldn't find any docs for the X version ... * gtk/gtk.def : * gtk/makefile.msc.in : updated Thu Apr 12 17:41:17 2001 Owen Taylor * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some wording problems. (Compared to version from Johannes Stezenbach to check correctness.) Thu Apr 12 21:04:26 2001 Tim Janik * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get this to compile. 2001-04-12 Anders Carlsson * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos, not pixbufpos. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo. * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad are unsigned insts, therefore use g_value_set_uint. (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint. Sun Apr 8 05:36:06 2001 Jonathan Blandford * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme. * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to GTK_TYPE_STRING. * gtk/gtktreeview.c: New functions to allow initial column dragging work. * gtk/gtktreeviewcolumn.c: Initial column dragging support. * tests/testtreefocus.c: give dave some love. * tests/testtreesort.c: Modify test to check really long samples. 2001-04-11 Alexander Larsson * gtk-2.0.m4: Pass pkg-config options before the other args so it works even if POSIXLY_CORRECT is set. Mon Apr 9 19:02:07 2001 Tim Janik * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary 0, interface 0). 2001-04-04 Denis Oliver Kropp * gtk/gtkcalendar.c (gtk_calendar_button_press): check for action_func != NULL 2001-04-04 Sven Neumann * tests/testgtk.c (test_init): corrected path to gtk.immodules Wed Apr 4 09:18:18 2001 Tim Janik * Released Gtk+-1.3.3. Wed Apr 4 07:42:23 2001 Tim Janik * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST. Wed Apr 4 04:13:18 2001 Tim Janik * gtk/stock-icons/Makefile.am: stay in builddir and read/write files to/from source dir. (if we don't stay in builddir, we can't reach make-inline-pixbuf. * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl deps. * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface ages 0). Tue Apr 3 15:04:45 2001 Jonathan Blandford * gtk/gtktreemodelsort.h: removed set_sort_column, as it was moved to the GtkTreeSortable interface. * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Make more efficient (fixes #50262). Tue Apr 3 13:55:37 2001 Owen Taylor * NEWS: Updated. * configure.in: Remove support for uninstalled glib. * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as so as not to stop emission. * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0 is no longer supported. * Makefile.am gtk/Makefile.am tests/*: Moved all tests into tests, change build order to build modules before gtk/. * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation to here. Tue Apr 3 13:52:57 2001 Tim Janik * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items() and gtk_item_factory_dump_rc() GtkPatternSpec argument to GPatternSpec. this is actually unlikely to cause breakage in third-party apps since except for gle, pretty much ever caller passes NULL here. * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API. * *.c: use g_pattern_*() API. * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates. * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled directions aren't passed in. * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion functionality to be usable from gtkstyle.c as well, give precedence for conversion to user-supplied parsers. s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/; * gtk/gtkstyle.c (_gtk_style_peek_property_value): use _gtk_settings_parse_convert() for rcporperty value conversion. 2001-04-03 Alexander Larsson * gdk/linux-fb/gdkevents-fb.c: Add empty gdk_setting_get(). Tue Apr 3 05:09:07 2001 Tim Janik * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate variable names. * gtk/makeenums.pl: touch this so enum files get remade. Mon Apr 2 19:36:57 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_init): Bug fix to make trees work again when not sorted. * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row" and "expand_row" signal, closing bug 52578. * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal support. * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal support. Mon Apr 2 18:18:07 2001 Owen Taylor * gdk/gdkevents.h: Add GdkEventSetting event for notification of changes to system settings, gdk_setting_get() to retrieve a single system setting. * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting to the draft XSETTINGS mechanism. * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of XSETTINGS. * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification of GDK settings changes to the GtkSettings object. * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the double-click-timeout property to GDK. * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]: Define GDK boxed types here. * gdk/Makefile.am gdk/makeenums.pl: Generate source files gdk/gdkenumtypes.[ch] for enum definitions. * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_* * gtk/gtk-boxed.defs: Comment out GDK types * gtk/gtktypeutils.h: Remove GDK types * gtk/Makefile.am: No longer scan GDK headers for enumerataions Mon Apr 2 16:41:08 2001 Owen Taylor * Applied patch from Ron Steinke to add signal accumulators so that signals with the convention 'TRUE return means handled' stop emission on a TRUE return. * gtk/gtkmain.[ch]: Add private accumulator _gtk_boolean_handled_accumulator, used throughout GTK+. * gtk/gtkspinbutton.c: Add accumulator for ::output. * gtk/gtktipsquery.c: Add accumulator for ::widget_selected * gtk/gtkwidget.c: Add accumulators for event signals, ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator for ::mnemonic-activate. * gtk/gtkwindow.c: Add accumulator for ::frame_event Mon Apr 2 16:24:21 2001 Owen Taylor * gtk/gtkwidget.c: Add missing include. Mon Apr 2 16:56:15 2001 Jonathan Blandford * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new marshaller. * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change "changed" signal to "range_changed". * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where removing a tree from one model would remove all trees from that model. * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range changed signal instead. Mon Apr 2 16:13:58 2001 Owen Taylor * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid chaining up to parent impl, since we have a INPUT_ONLY window. * gtk/gtkentry.[ch]: Add a cursor_color property to set the foreground color for the cursor. Mon Apr 2 15:06:13 2001 Owen Taylor * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference param spec when caching property values, since we unref it later when we free the style. * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free values since they are retrieved with G_VALUE_NO_COPY_CONTENTS. Mon Apr 2 10:47:57 2001 Owen Taylor * gtk/gtkwidget.c (gtk_widget_class_init): Fix G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE stupidity. Mon Apr 2 00:51:11 2001 Owen Taylor [ First pass at adding style properties. Still needs some definite fine-tuning. ] * gtk/gtkbutton.c: Add ::default_spacing style property. * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size, ::indicator_spacing style properties. * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing style properties. * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property rather than a normal property. * gtk/gtkwidget.c: Add an ::interior_focus style property to draw focus inside buttons, in the Windows/Java Metal/etc. style. * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c: Honor ::interior_focus. * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is TRUE. * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c: Add ::slider_width, ::trough_border, ::stepper_size, ::stepper_spacing style properties. * gtk/gtkscale.[ch] Add ::slider-length style property. 2001-04-02 Alexander Larsson * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some warnings that were spewed on startup. * gtk/gtkwindow-decorate.c: gtk_window_reposition -> _gtk_window_reposition Sun Apr 1 21:37:22 2001 Owen Taylor * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs: Add boxed type for GtkRequistion. Use it for ::size-request. * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs: Add a new GtkBorder structure useful for geometry properties for widgets. Add corresponding GTK_TYPE_BORDER. * gtk/gtkwidget.c (gtk_widget_class_install_style_property): Support automatic parser selection like gtk_settings_install_property_parser(). * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export functionality for use by gtk_widget_class_install_style_property. Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION. Sun Apr 1 20:48:59 2001 Owen Taylor * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char g_param_spec_unichar(). Sun Apr 1 23:41:37 2001 Tim Janik * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non _NET window managers. * gtk/gtkmenufactory.[hc]: cvs removed those files now. Sun Apr 1 08:00:13 2001 Tim Janik * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that bad needs to be nuked, not just deprecated. * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use gtk_widget_popup(). * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g; * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated widget. * docs/Changes-2.0.txt: updates. Sun Apr 1 01:02:54 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed): for (i = 0; i < 100; i ++) g_print ("I will confirm it compile before committing\n"); Sun Apr 1 00:52:06 2001 Jonathan Blandford * gtk/gtktreestore.c: Initial work on implementing the GtkTreeSortable interface. Basicaly a big cut'n'paste job. Sun Apr 1 03:28:14 2001 Tim Janik * gtk/gtkwidget.c: fixed a bunch of notifications, added reference counts around emissions where the widget is used afterwards. added freeze/thaws around multiple properties being notified. (_gtk_widget_get_aux_info): cleanups. * gtk/gtksettings.c (gtk_settings_install_property): provide default parsing functions for gdkcolor, enums and flags. * gtk/gtkwindow.[hc]: partially reverted patch from havoc, applied by owen. backed out gtk_window_get_location(), gtk_window_set_location(), gtk_window_get_size() and gtk_window_set_size(), these have to be sorted out wrg x/y/width/height/default_with/default_height properties. kept a flag in GtkWindowGeometryInfo to handle user resetting default sizes. cleaned up ZVT comments. bunch of assorted bug fixes, notification fixes. (_gtk_window_reposition): make this a really internal function. * gtk/testgtk.c: fixups. 2001-03-31 Hans Breuer * config.h.win32.in : disable USE_MMX for msvc build cause the assembler doesn't fit and is out of my scope. Disable USE_GMODULE for msvc build as wel. The right way to share binaries on win32 would be to use libtiff.dll etc. To reduce installation hassles IMO it's better to include all fileformats builtin to gdk-pixbuf * gdk-pixbuf/makefile.msc : new file * gdk/gdk.def : updated * gdk/win32/gdkevents-win32.c : don't erase the background if .no_bg is set. It improves the scrolling (e.g. of testgtk main buttons * gdk/win32/gdkgeometry-win32.c : added comment about the above * gdk/win32/gdkwindow-win32.c : added three new functions like the X version. Only one is implemented, because the other two "gdk_window_begin_(resize|move)_drag" got no docs and appear to be default behaviour on win32 anyway ... * gtk/gtk.def : updated * gtk/makefile.msc.in : update for new files, use glib-genmarshal from where it was built and add an additional rule to automagically build gtkmarshal.[hc] * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries before array access for the current entry isn't finished * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) : use g_return_val_if_fail * gtk/testgtk.c (window_controls) : don't use the *wrong* size for the static array, but let the compiler calculate it. It makes me wonder if gcc isn't capable to catch bugs like this ... 2001-03-31 James Henstridge * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic constant "-1" in the aux info structure. 2001-03-30 Alexander Larsson * gtk/gtkbutton.c (gtk_button_get_property): * gtk/gtklabel.c: Remove leaks. * gtk/gtkcontainer.c: * gtk/gtkhscale.c: * gtk/gtkhscrollbar.c: * gtk/gtklayout.c: * gtk/gtkmisc.c: * gtk/gtkprogress.c: * gtk/gtkprogressbar.c: * gtk/gtkrange.c: * gtk/gtktable.c: * gtk/gtkviewport.c: * gtk/gtkvscale.c: * gtk/gtkvscrollbar.c: * gtk/gtkwidget.c: Property patches, based on patches from John Margaglione and Lee Mallabone. Thu Mar 29 21:20:38 2001 Mike Kestner * gtk/gtkspinbutton.c : added value_changed signal which proxies for the adjustment. Cleaned redundant preconditions (spin != NULL). Added inline API function docs. (gtk_spin_button_new_with_range): New convenience constructor. (gtk_spin_button_set_increments): New adjustment helper. (gtk_spin_button_set_range): New adjustment helper. * gtk/testgtk.c : added test of the new convenince constructor and value_changed signals. Thu Mar 29 20:20:38 2001 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we listen to the reorder signal. Wed Mar 28 20:30:26 2001 Owen Taylor * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function to get the aux info structure fo the widget. * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use above function. [ Patch from Havoc Pennington ] * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function to get the size of the window manager frame, basically the same code that gdk_window_get_root_origin() had (gdk_window_get_root_origin): use gdk_window_get_frame_extents() * gtk/gtkwindow.c (gtk_window_set_default_size): use gdk_window_resize() if the window is realized and resizeable * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix typo so that setting gravity works * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use allocation if auto_shrink is on, even if the default size has not changed. * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus g_return_if_fail Thu Mar 29 16:29:12 2001 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive reordering/sorting work. Now pretty much works. * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make reorder mostly work. Still need to get the parity correct. * gtk/gtktreeviewcolumn.c: Listen for "model" property changed signal, so I can listen for the sort_column_changed signal so I can change my "sort_indicator" property. Cool. Wed Mar 28 00:03:10 2001 Owen Taylor [ Patch from Havoc Pennington, hp@redhat.com ] * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c: Add functions gdk_window_begin_resize_drag/begin_move_drag to start resizing or moving a toplevel window. This is done either using the _NET_WM_MOVERESIZE protocol, or, if that isn't present, by emulation. * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag to export the above to GTK+-land. * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func. * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size): Move this function into gdkwindow, since we need it when implementing fallback resizing. * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints. Fix typo when setting gravity. * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip): Add an optional (but on by default) resize grip for resizing the parent window. 01-03-29 Alexander Larsson * gtk/gtktooltips.c (gtk_tooltips_event_handler): Don't return TRUE from the event handler, that blocks all event signals on the tooltip widget. Now you can press buttons in toolbars again. Wed Mar 28 19:20:43 2001 Owen Taylor * gtk/testtext.c (create_buffer): Add missing NULL on valist. * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix c-n-p problem with INCONSISTENT property. [ Patch from Havoc Pennington ] * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup hook. * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup signal as a hook for extending the default popup menu * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): use radio menu items for the input method menuitems * gtk/gtkimcontextsimple.c (check_hex): do better validation of inserted unicode from Ctrl-Shift-hex input method * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8 validatation here, already done at GtkTextBuffer level. * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add popup_menu run action signal and Shift+F10 and Menu keybindings. * gtk/gtkentry.c: implement a default handler for popup_menu * gtk/gtktextview.c: implement a default handler for popup_menu * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is from a key event * gtk/gtklabel.c: remove "trailer" cruft Wed Mar 28 17:27:12 2001 Jonathan Blandford * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to handle reordering of trees. Seems to mostly work w/ the exception of the parity flag. * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered" signal. Wed Mar 28 21:12:37 2001 Tim Janik * gtk/gtkwidget.h: c++ fixes. Sun Mar 25 15:51:28 2001 Owen Taylor * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized memory. Tue Mar 27 22:36:07 2001 Owen Taylor * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from Nils Barth fixing event return values. (#51041) * gtk/gtkwidget.c: Fix some return values for default functions. * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix return values for trough_keys functions. * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return value for add_accelerator (shoudl have been a void return.) * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h: Fix return type of EVENT. * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT signal return a boolean. Tue Mar 27 22:07:44 2001 Jonathan Blandford * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to reordered signal. * tests/testtreesort.c (main): fix spelling. Tue Mar 27 20:55:29 2001 Jonathan Blandford * gtk/gtkliststore.c: More work on implementing sortable interface. Mon Mar 26 15:48:45 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't reference the widgets in the resulting list. (#11821) This makes this consistent with gtk_container_children. * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two uses of gtk_window_list_toplevels. Mon Mar 26 15:26:17 2001 Owen Taylor * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add a virtual function to set whether the IM context should use the preedit string. (#51922) Mon Mar 26 14:42:59 2001 Owen Taylor * gdk/gdkpango.h: Remove stale FIXME comment. 2001-03-26 Alexander Larsson * gtk/gtkfilesel.c (gtk_file_selection_get_filename): Fixed bug that returned NULL if a filename was selected. 2001-03-24 Havoc Pennington * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message to contain the word "theme" 2001-03-24 Havoc Pennington * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much slower but finer-grained (gtk_hsv_focus): get initial focus on the ring or triangle according to tab direction * gtk/testgtk.c (main): get rid of weird sleep(1) on exit 2001-03-23 Havoc Pennington * gtk/gtkhsv.c: make this somewhat key-navigable * gtk/gtkfontsel.c: mnemonics * gtk/gtkgamma.c: mnemonics * gtk/gtkcolorsel.c: add mnemonics to labels 2001-03-22 Havoc Pennington Applied big patch from Seth Lytle to fix event handler return values, slightly modified. * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if handled. (gtk_calendar_key_press): return TRUE for GDK_space triggers select_day * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled (gtk_clist_button_release): return TRUE if handled * gtk/gtkcolorsel.c (mouse_release): (palette_activate): (palette_press): (palette_new): (mouse_press): (get_screen_color): fixed return type (void to gboolean), return TRUE, added GTK_SIGNAL_FUNC cast * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type (void to gboolean), and return TRUE (gtk_combo_button_release): changed return value to TRUE after gtk_grab_add on combo->popwin * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a collapse or expand * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for button/motion * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button press/release and motion that trigger act * gtk/gtkentry.c (gtk_entry_button_release): return TRUE * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE for GDK_Return * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly (gtk_list_button_release): return TRUE if selection * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on press * gtk/gtkmenushell.c (gtk_menu_shell_button_press): (gtk_menu_shell_button_release): chain parent_menu_shell retval * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if nothing triggered (gtk_notebook_button_release): return TRUE if we do anything * gtk/gtkspinbutton.c (gtk_spin_button_button_press): (gtk_spin_button_button_release): return TRUE or chained retval * gtk/gtktext.c (gtk_text_button_press): (gtk_text_button_release): return TRUE (gtk_text_key_press): remove redundant retval code * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button and sensitive (gtk_tree_item_subtree_button_click): changed type to gint, and return TRUE if sensitive * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies return TRUE 2001-03-23 Havoc Pennington * gtk/testgtk.c: fix warnings * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value * gtk/gtktextview.c: fix warnings * gtk/gtktext.c (find_cursor_at_line): fix warning * gtk/gtkselection.c (gtk_selection_notify): fix warning * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature of this function * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): fix warning * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning * gtk/gtkfontsel.c: fix warning * gtk/gtkcolorsel.c: fix warnings 2001-03-23 Havoc Pennington * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone * gtk/gtkbox.c: Apply property patch from Lee Mallabone * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone, and deprecated gtk_check_menu_item_set_show_toggle(). * gtk/gtkbutton.c: Apply property patch from Lee Mallabone * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone * gtk/gtkframe.c: Apply property patch from Lee Mallabone 2001-03-23 Havoc Pennington * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up some docs Fri Mar 23 16:13:43 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace this. * gtk/gtktreestore.c (gtk_tree_store_set_value): change from set_cell to set_value * gtk/gtkliststore.c (gtk_list_store_set_value): change from set_cell to set_value Thu Mar 22 19:27:34 2001 Jonathan Blandford * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): fix braino. * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable support. * gtk/gtktreeview.c: Addition of initial sortable support. * gtk/gtktreestore.c: Addition of initial sortable support. * gtk/gtkliststore.c: Addition of initial sortable support. * gtk/gtkmarshal.list: yet another marshaller. * gtk/gtktreedatallist.[ch]: shared code between the store models for handling sorting headers. 2001-03-22 Havoc Pennington * gtk/gtkcontainer.c (gtk_container_set_focus_chain): (gtk_container_unset_focus_chain): Add ability to override the focus chain for a container explicitly Thu Mar 22 13:01:44 2001 Tim Janik * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling, added PROP_MNEMONIC_WIDGET. * gtk/gtkwindow.c (gtk_window_activate_mnemonic): (gtk_window_remove_mnemonic): (gtk_window_add_mnemonic): fixed assertions. (gtk_window_activate_mnemonic): constrain modifier checks to those permitted by gtk_accelerator_get_default_mod_mask(). got rid of gtk_window_get_default_accel_group(). * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non activatable widgets either by focussing or a warning. added a signal accumulator to ::activate_mnemonic which stops the emission once a handler returned TRUE. 2001-03-22 Havoc Pennington * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in the stock item label * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs * gtk/gtkstock.c (builtin_items): add mnemonics where missing * demos/gtk-demo/*.c: Add mnemonics all over the place * gtk/gtklabel.h: mark parse_uline deprecated 2001-03-21 Alexander Larsson * gtk/gtkitemfactory.[ch]: Add support for stock and normal imagemenuitems. * gtk/testgtk.c: Add some tests for mnemonics, stock toolbars, stock and image menuitems in itemfactory and gdk_window_scroll. 2001-03-21 Alexander Larsson * gtk/gtkbutton.[ch]: * gtk/gtkdialog.c: Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and removed accel_group argument. Renamed gtk_button_new_accel() to gtk_button_new_with_mnemonic() and removed accel_group argument. * gtk/gtkcheckbutton.[ch]: New function gtk_check_button_new_with_mnemonic(). * gtk/gtkentry.c: Override activate_mnemonic and just grab focus. * gtk/gtkitemfactory.c: Don't add menu uline accel group, instead use mnemonics support. * gtk/gtklabel.[ch]: New support for mnemonics. * gtk/gtkmarshal.list: Needed BOOLEAN:BOOLEAN for activate_mnemonic. * gtk/gtkmenu.[c]: * gtkmenushell.c: Use mnemonics instead of accel groups for uline support in menu items. Removed gtk_menu_get_uline_accel_group() and gtk_menu_ensure_uline_accel_group(). * gtk/gtkmenuitem.c: Override activate_mnemonic to handle switching between menu items if there are collisions. * gtk/gtknotebook.c: Connect to activate_mnemonic on the tab_label, so that activating it switches to that notebook page. * gtk/gtkwidget.[ch]: Add activate_mnemonic signal. New function gtk_widget_activate_mnemonic() to emit it. Default implementation does activate/grab_focus. * gtk/gtkwindow.[ch]: Add support for mnemonics in windows. New functions: gtk_window_add_mnemonic, gtk_window_remove_mnemonic, gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier * gtk/testgtk.c: Update to function name changes. 2001-03-21 Alexander Larsson * gtk/gtkimagemenuitem.[c]: Add gtk_image_menu_item_new_from_stock() Tue Mar 20 15:00:43 2001 Jonathan Blandford * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): Fix buglet in meeting. 2001-03-19 Havoc Pennington * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and add a bunch of accessor functions. This is because we have reasonable expectations of extending what fields it contains in the future. * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source changes * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new GtkIconSource Mon Mar 19 15:53:36 2001 Owen Taylor * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly handle __ in paths, quote " and \n in gtk_item_factory_dump_items(). * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch] gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch] gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c: Change float to double everywhere with the exception of 0<->1.0 alignment and GtkCurve. 2001-03-19 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c * gdk/win32/gdkimage-win32.c: Use correct casts in debugging output. * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include gdkwin32.h. 2001-03-18 Tor Lillqvist * gdk/win32/gdkevents-win32.c (print_window_state): New function. print_event_state, print_event): Use preprocessor macro to make code more compact. Print also GDK_WINDOW_STATE events. (synthesize_crossing_events): Remove the old #ifdeffed-out code. * gtk/gtk.def * gtk/makefile.mingw.in: Update. * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32, to catch also Cygwin. Sun Mar 18 01:15:30 2001 Tim Janik * gtk/gtkspinbutton.[hc]: added rc-style argument GtkSpinButton::shadow_type. removed spin_button->shadow_type, gtk_spin_button_set_shadow_type() and ARG_SHADOW_TYPE as it doesn' make much sense to try to override rc-style settings. * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused). * gtk/gtkwidget.c: quark cleanups. * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file scanner with appropriate configuration, renamed GtkRcStyleClass.clone to create_rc_style() (we don't do cloning in standard OO sense). added per rc style properties. * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style property values and for caching those. some cleanups. * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS. * gtk/gtksettings.[hc]: new file for global rc-file properties (at least currently, should get extended to support X properties and other communication mechanisms). * gtk/gtkwidget.[hc]: added style property support: (gtk_widget_class_install_style_property_parser): install style property pspec with parser function for rc-file values other than LONG, DOUBLE or STRING. (gtk_widget_class_install_style_property): same as above without parser (parsers are going to be needed quite infrequently). (gtk_widget_style_get_property): retrive style property value. (gtk_widget_style_get_valist): same as above with varargs support, has NOCOPY semantics. (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist(). Fri Mar 16 18:24:53 2001 Jonathan Blandford * demos/gtk-demo/main.c (row_activated_cb): modified to use "row_activated" signal. * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the stupidity. Lets actually pass in the row with this signal... Fri Mar 16 18:01:17 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal. * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much everything into the ::destroy function, and freed a lot more. 2001-03-16 Havoc Pennington * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint instead of gint16, to avoid overflow issues, since sizes > 16-bit are now allowed. 2001-03-16 Havoc Pennington * Applied patch from Nils Barth (bug # 51041) to replace "gint" with "gboolean" and 0/1 with TRUE/FALSE in various places. 2001-03-15 Havoc Pennington * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs for properties to set on the tag. * gtk/testtext.c: fixups to reflect create_tag change * gtk/gtktexttag.c (gtk_text_tag_set_property): background/foreground stipple are objects, not boxed. * demos/gtk-demo/textview.c: intellihancing Fri Mar 16 11:38:42 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some braindeadness spotted by Jamie Strachan . 2001-03-16 Alexander Larsson * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose): Fix sign error with queued region translations. 2001-03-15 HideToshi Tajima * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location): * gtk/gtkentry.c (update_im_cursor_location): * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location): * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename set_cursor_pos to set_cursor_location in GtkInputContext class Thu Mar 15 18:22:44 2001 Jonathan Blandford * gtk/gtkcellrenderer.h: Changed prototype to allow for getting the location of the cell relative to its area. * gtk/gtkcell*: modified for above change * gtk/gtktreeview.c: modified for above change. Wed Mar 14 13:58:32 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model. (gtk_tree_view_finalize): actually unref the model. Thanks to Jamie Strachan for noticing this error. 2001-03-14 Havoc Pennington * gtk/gtkdata.h, gtk/gtkdata.c: Delete. * gtk/gtk.h: remove gtkdata.h * gtk/Makefile.am: remove gtkdata * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy" not "disconnect" on the adjustments. * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not GtkData * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject not GtkData * configure.in: handle case where X render exists, but Pango lacks Xft support. 2001-03-15 Alexander Larsson * gtk/gtktoolbar.[ch]: New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock to add stock items to toolbars. * gtk/Makefile.am: Remove ../gdk/gdkim.h from gdk_headers. 2001-03-15 Sven Neumann * gdk/gdkim.h: removed * gdk/gdkprivate.h * gdk/x11/gdkim-x11.c: do not include gdkim.h 2001-03-14 HideToshi Tajima * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos): * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos): * gtk/gtkimcontext.h (struct _GtkIMContextClass): add set_cursor_pos() virtual method * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init): (gtk_im_context_xim_set_cursor_pos): add implementation for set_cursor_pos() method * gtk/gtkentry.c (recompute_idle_func): set current cursor position to input methods Mon Mar 12 21:02:08 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus code a lot. * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use g_mem_chunk. (_gtk_tree_data_list_alloc): use g_mem_chunk. (_gtk_tree_data_list_node_to_value): Fix to switch on G_TYPE_FUNDAMENTAL. (_gtk_tree_data_list_value_to_node): Fix to switch on G_TYPE_FUNDAMENTAL. (_gtk_tree_data_list_node_copy): Fix to switch on G_TYPE_FUNDAMENTAL. 2001-03-12 Havoc Pennington * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione to convert to new property API. Also, change default_width and default_height get_property to return 0 as the flag value for "unset"; -1 is not a valid value for these fields. 2001-03-12 Havoc Pennington * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an enum with registration for icon sizes, instead of strings. * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, gtkwidget.c: Fix to reflect GtkIconSize 2001-03-12 Alexander Larsson Make GtkFB compile and link. * gdk/linux-fb/gdkdrawable-fb2.c: window->mapped to GDK_WINDOW_IS_MAPPED(). * gdk/linux-fb/gdkwindow-fb.c: window->mapped to GDK_WINDOW_IS_MAPPED(). Added gdk_window_shape_combine_region. Added assorted placeholders for unimplemented new GdkWindow API calls. 2001-03-12 Alexander Larsson * gtk/gtkfilesel.c: Add more test when converting filenames from/to utf-8. Don't allow entering text in the filename entry which isn't allowed in a filename. Just beep instead. 2001-03-12 Alexander Larsson * gtk/gtkclist.c: Scroll using gdk_window_scroll(). Don't wait for exposes. Move the column headers in an order that makes them flash less. 2001-03-10 Hans Breuer * gdk/gdk.def : updated * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due to offseting the clip_mask at the right place * gdk/win32/gdkwindow-win32.c : don't create background brushes for all the gdkClasses, especially not for the input_only case. Otherwise flickering wont be avoidable, because we don't get WM_ERASEBKGND message for these windows. * gdk/win32/gdkevents-win32.c : initialize event->expose.region and fixed massive redraw problems apparently triggered by Alexanders recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling but it seems to work quite well :-) * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose prototype Sat Mar 10 12:15:31 2001 Jonathan Blandford * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo. (gtk_list_store_set_cell): Fix a stupid typo. Fri Mar 9 20:36:21 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make select_all not work if you're in SINGLE mode (it doesn't make that much sense, anyway.) * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value): handle types more sanely. (_gtk_tree_data_list_value_to_node): handle types more sanely. (_gtk_tree_data_list_node_copy): handle types more sanely. * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with GValue better. Converts the type as well. * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with GValue better. Converts the type as well. Wed Mar 7 20:47:41 2001 Owen Taylor * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch] gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code. * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove gdk_im/gdk_ic. 2001-03-09 Hans Breuer * gdk/gdk.def : updated * gdk/win32/gdkevents-win32.c : don't ask input_only windows for their palette * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped removing * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped removing and implemented Havoc's GdkWindow state functions; stick/unstick only as no-op, cause I don't know how to emulate on win32 ... * gtk/gtk.def : updated * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail () * gtk/gtktypeutils.c : #include * gtk/gtkwindow.h : declare gtk_window_set_decorated () Fri Mar 9 09:31:55 2001 Tim Janik * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object, not a boxed. 2001-03-09 Alexander Larsson * docs/Changes-2.0.txt: Document expose event->region change and that gtk_widget_event doesn't allow passing expose events. * gdk/gdkevents.h: Add region to expose event. * gdk/gdkevents.c: Handle event->region in gdk_event_copy() and gdk_event_free(). * gdk/gdkwindow.c (gdk_window_process_updates_internal): Generate expose_event->region when creating expose events. * gdk/x11/gdkevents-x11.c: Generate expose events with regions when translating X events. * gtk/gtkcontainer.[ch]: Default expose handler that propagates expose events to NO_WINDOW children. New function gtk_container_propagate_expose() * gtk/gtkwidget.[ch]: Moved gtk_widget_event implementation to gtk_widget_event_internal. gtk_widget_event calls gtk_widget_event_internal but doesn't allow expose events. New function gtk_widget_send_expose() to send expose events. New function gtk_widget_region_intersect() to calculate window/region intersections. * gtk/gtkmain.c (gtk_main_do_event): Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect(). Use gtk_widget_send_expose() to send expose events. * gtk/gtkbin.c: * gtk/gtkbox.c: * gtk/gtkfixed.c: * gtk/gtkimagemenuitem.c: * gtk/gtklist.c: * gtk/gtkpacker.c: * gtk/gtktable.c: * gtk/gtktree.c: Remove expose handler, using the default container implementation instead. * gtk/gtkbutton.c: * gtk/gtkcheckbutton.c: * gtk/gtkeventbox.c: * gtk/gtkfixed.c: * gtk/gtkhandlebox.c: * gtk/gtklayout.c: * gtk/gtklistitem.c: * gtk/gtkmenu.c: * gtk/gtkmenubar.c: * gtk/gtkmenuitem.c: * gtk/gtknotebook.c: * gtk/gtkoptionmenu.c: * gtk/gtkpaned.c: * gtk/gtkscrolledwindow.c: * gtk/gtktogglebutton.c: * gtk/gtktoolbar.c: * gtk/gtktreeitem.c: * gtk/gtkviewport.c: Chain expose handler to parent class handler. Use gtk_container_propagate_expose() to propagate exposes. * gtk/gtkclist.c (check_exposures): * gtk/gtktext.c (process_exposes): Use gtk_widget_send_expose instead of gtk_widget_event. Thu Mar 8 19:40:28 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function. Thu Mar 8 19:18:27 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually unref the nodes. Fixes bug #50058. * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change "::ref_iter" to "::ref_node". (gtk_tree_model_unref_node): change "::unref_iter" to "::unref_node". Fixes bug #50064. Thu Mar 8 17:40:09 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add support for invisible cells. (gtk_tree_view_bin_expose): ditto Thu Mar 8 16:36:00 2001 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite on gobjects. * tests/testtreefocus.c (main): New test file. * tests/testtreeview.c: update to latest glib changes. * tests/testtreecolumns.c: update to latest glib changes. Thu Mar 8 18:13:20 2001 Tim Janik * gtk/testgtk.c: re-enabled event watcher emission hooks. Thu Mar 8 16:51:21 2001 Tim Janik * *.c: added accumulator data argument to g_signal_newc() functions. * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): * gtk/gtktreeview.c (gtk_tree_view_setup_model): * gtk/treestoretest.c (make_window): s/g_signal_connect/g_signal_connectc/. * gtk/gtktextbuffer.c: completed signal arg fixups, they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag. Thu Mar 8 00:02:30 2001 Owen Taylor * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make G_CONST_RETURN. * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a ::hierarchy-changed signal when a widget changes from anchored to unanchored or vice versa. (anchored means gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.) Use a private flag to keep track of this efficiently. 2001-03-07 Havoc Pennington * gtk/testgtk.c (create_spins): uglify so that size request gets tested. * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size request on values for upper/lower, completes #6152 Wed Mar 7 20:07:22 2001 Owen Taylor * Makefile.am: Remove gtk-config-2.0 again. (Grrrr, pkg-config. And stops make loops.) Thu Mar 8 00:18:29 2001 Tim Janik * gtk/gtksignal.[hc]: removed old emission hook API. * docs/Changes-2.0.txt: fixed sections. * gtk/gtktextbuffer.c: signal arg fixups. 2001-03-07 Havoc Pennington * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the validation and the redraw which is higher priority than the validation. 2001-03-07 Havoc Pennington * gtk/gtkentry.c (gtk_entry_get_property): remove trailer (gtk_entry_set_property): remove trailer * gtk/gtkentry.c (gtk_entry_set_width_chars): (gtk_entry_get_width_chars): new functions, to set size request to a given number of characters * gtk/testgtk.c (create_dialog): beef up the dialog test slightly * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function (gtk_dialog_get_has_separator): new function (run_delete_handler): fix to not emit "response" signal because we already did in the delete event handler installed at dialog creation time. * gtk/gtkdialog.h: add a has_separator property, add GTK_DIALOG_NO_SEPARATOR flag 2001-03-07 Havoc Pennington * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns off decorations for a window. * demos/gtk-demo/button_box.c (create_bbox): adapt to button box changes * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function to get location of PangoLayout inside the label, closes #51198 * gtk/testgtk.c (create_bbox): fix up button box usage * gtk/testcalendar.c (create_calendar): fix up button box usage * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage * gtk/gtkhbbox.h: deprecations * gtk/gtkvbbox.h: deprecations * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to emulate deprecated gtk_button_box_get_spacing * gtk/gtkbbox.h: deprecate some useless functions, remove entirely the "set global default" functions (struct _GtkButtonBox): remove "spacing" field, use the one from GtkBox base class * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to render the icon, return the missing image icon. * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing image icon if the load fails. * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use when no image is found; should be the Netscape "missing image" icon eventually but for now is a random image * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the role for the session manager * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG Wed Mar 7 13:24:57 2001 Tim Janik * gtk/*.c: marshaller fixes. * gtk/gtkmarshal.list: extreme cleanup. * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface param spec for now. * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed() where appliable. * gtk/gtktypeutils.[hc]: updates to GLib API changes. special cased autogenerated boxed types from gtktypebuiltins_ids.c which are not reference counted: GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray, PangoFontDescription, GtkTreeIter and GtkTreePath. Thu Mar 1 03:58:56 2001 Tim Janik * gtk/gtktreeselection.h: * gtk/gtktreemodel.c: * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/* file should be included directly, and gobject/gmarshal.h as well as gtk/gtkmarshal.h even can't be included directly. * Makefile.am: grr, install gtk-config-2.0. * gtk/testgtk.c: * gtk/simple.c: * gtk/gtkmenu.c: * gtk/gtkitemfactory.c: use g_object_connect() instead of passing "*signal*::*" args to gtk_widget_set(). * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL. * gtk/*.c: removed trailer arg from property setters and getters. macro fixups. 2001-03-07 Alexander Larsson * gtk/gtklabel.c (set_markup): Removed warning Tue Mar 6 19:59:12 2001 Jonathan Blandford * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible field to allow you to hide cell renderers. * gtk/gtkcellrenderer.c: Add support for invisible cells. * gtk/gtktreeview.c: Add support for invisible cells. Tue Mar 6 17:25:07 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked): Add "clicked" signal back to columns. * ChangeLog: remove conflict markers. Tue Mar 6 10:45:45 2001 Owen Taylor * gtk/gtkbutton.c: Add animation of activation by, on activate, pressing the button, and adding a timeout that releases the button after 250ms or on key release and emits ::clicked. (#51501) * gtk/gtkdialog.c: Bit of a hack - for buttons in the action area, we connect to ::clicked instead of ::activate so the dialog stays up through the animation. Mon Mar 5 16:38:15 2001 Owen Taylor * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only check the ignore_enter flag for the menu shell that the item is actually a child of, not for attached submenus. (#51536) Tue Feb 27 02:16:14 2001 Owen Taylor * gtk/gtkmain.c (gtk_propagate_event): Only do special special key-press grab handling for widgets within GtkWindows. Otherwise, fall through to normal case. This prevents key events being sent twice to GtkInvisible widgets, which can cause all sorts of mischief. Fri Feb 2 13:20:12 2001 Owen Taylor * gtk/gtkmain.c (gtk_propagate_event): When a grab widget is in effect, give the grab widget a first crack at KEY_PRESS/RELEASE events. (#424) 2001-03-06 James Henstridge * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure offset for the window_state_event to point at window_state_event rather than no_expose_event. Mon Mar 5 19:10:15 2001 Jonathan Blandford * gtk/gtkimmodule.h: fix busted /* comment */ Mon Mar 5 15:07:05 2001 Jonathan Blandford * gtk/gtktreeview.c: Apply patch from John Margaglione to add object properties. Mon Mar 5 14:55:19 2001 Jonathan Blandford * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to add object properties. * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone to add object properties. * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add object properties. * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to add object properties. * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add object properties. Mon Mar 5 14:38:54 2001 Jonathan Blandford * gtk/gtktreemodel.c: renamed "child_toggled" to "has_child_toggled". * gtk/gtktreeview.c: Handle removing columns better. Updated to handle new signal name. * gtk/gtktreestore.c: Updated to handle new signal name. * gtk/gtklisttore.c: Updated to handle new signal name. * gtk/gtktreemodelsort.c: Updated to handle new signal name. 2001-03-05 Alexander Larsson * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window. 2001-03-05 Michael Natterer * gtk/gtklabel.c: Made the "parent_class" pointer static. The pixbuf-engine coincidentially also failed to make one of it's parent_class pointers static, causing overwriting of GtkLabel's parent_class pointer in pixbuf_style_class_init(). (Will commit the fix to the pixbuf-engine too). 2001-03-05 Alexander Larsson * gdk/gdkwindow.h: Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow. New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and gdk_window_set_icon_list for net wmspec functionality. * gdk/x11/gdkwindow-x11.c: Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints. Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and gdk_window_set_icon_list. Added gdk_wmspec_change_state helper function and used it in the code. Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name. * gtk/gtkdialog.c (gtk_dialog_init): Set GDK_WINDOW_TYPE_HINT_DIALOG. * gtk/gtkhandlebox.c (gtk_handle_box_realize): Set GDK_WINDOW_TYPE_HINT_TOOLBAR. * gtk/gtkwindow.c: new function gtk_window_set_type_hint. On realize, set type hint and modal hint. * gtk/gtkwindow.h: Added type_hint field and gtk_window_set_type_hint. 2001-03-05 Alexander Larsson * gtk/gtklabel.[ch]: Convert from GtkArg to GParam (originally based on patch from Lee Mallabone). New function gtk_label_get_accel_keyval () to get the underline accelerator of the label. Setting the label pattern overrides other attributes. Mon Mar 5 14:51:10 MET 2001 Sven Neumann * gtk/gtkrc.c: fixed compiler warnings by inserting some consts. Added missing initializers to gtk_rc_style_init(). Sun Mar 04 07:30:03 2001 CET Mikael Hermansson * gtk/gtktextview.c: fixed bug #51097 about setting gtk_text_view_set_border_window_size() if the widget is already realized. Sat Mar 3 16:59:16 2001 Owen Taylor * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc comment. Won't do to have duplicated doc comments between the platform subdirs. Sat Mar 3 16:26:33 2001 Owen Taylor * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c: Detectable auto-repeat - make a repeating key generate press/press/press/release instead of press/release pairs. If we have Xkb and XkbSetDectableAutoRepeat supports that, we do it that way. Otherwise, when we get a release event, we check ahead with XPending to see if the next key is a KeyPress with the same keycode and timestamp. (Not 100% reliable, but pretty close.) Tue Feb 27 02:16:14 2001 Owen Taylor * gtk/gtkmain.c (gtk_propagate_event): Only do special special key-press grab handling for widgets within GtkWindows. Otherwise, fall through to normal case. This prevents key events being sent twice to GtkInvisible widgets, which can cause all sorts of mischief. Fri Feb 2 13:20:12 2001 Owen Taylor * gtk/gtkmain.c (gtk_propagate_event): When a grab widget is in effect, give the grab widget a first crack at KEY_PRESS/RELEASE events. (#424) Sat Mar 3 15:39:49 2001 Owen Taylor * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking to extend the selection. (Roughly based on patch from Jay Cox, #50939) * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking to properly handle previous GDK_BUTTON_PRESS. (Patch from Jay Cox, #50938) * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the '\0' back along with the deleted text. (#51148) Mon Jan 22 14:31:29 2001 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift the group when extracting it from the X keyboard event. * modules/input/Makefile.am modules/input/imipa.c: Simple module for entering IPA. (Do we need a gtk-stupid-input-tricks CVS module?) Sat Mar 3 13:32:47 2001 Owen Taylor * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious const. * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path. * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there is no focus widget for the dialog currently, grab the focus as well as the default. * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get the action area's children to iterate through, not the dialog's children. Sat Mar 3 13:21:27 2001 Owen Taylor * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c: Add plug-socket tests. (Won't work worth a darn until I commit the rest of the plug-socket changes, but no reason these can't go into CVS now.) 2001-03-02 Havoc Pennington * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use _gdk_region_get_xrectangles() * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function * gtk/testgtk.c (create_shapes): add test for shape_combine_region * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new function, contributed by Ron Steinke * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename gdk_net_wm_supports * gdk/gdkregion-generic.c (gdk_region_get_rectangles): New function, contributed by Ron Steinke * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, used to line up the text in the entry when using the entry for editable sheet cell hacks * gtk/testgtk.c (create_entry): test the activate_default setting on GtkEntry * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to cause the entry to activate the default button for a dialog when activated (gtk_entry_get_activates_default): new function Wed Feb 28 19:10:43 2001 Owen Taylor * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok Hwang to move call to sync_selection() up a few lines to before the row list is modified, to fix crash when removing rows in the undo_selection list. (Test case provided by Daniel Elstner: http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html) Fri Feb 23 15:06:48 2001 Owen Taylor * gtk/gtktree.c (gtk_tree_class_init): Do the setting of tree->root_tree in parent_set rather than _map(), fixing #50892 in a bit better manner. Thu Feb 22 17:07:58 2001 Owen Taylor * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934) Tue Feb 2 11:22:33 2001 Jody Goldberg * gtk/gtkstyle.c : Remove duplicate fwd decl for gtk_default_draw_shadow. ue Feb 20 11:40:58 2001 Owen Taylor * gdk/gdkimage.c (gdk_image_new): Remove excess warning, make warnings more verbose, treat a error in shmat as permanent, and don't try again. (#51163, Ed Randall.) Mon Feb 19 20:15:28 2001 Owen Taylor * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial delay for the first click before starting to scroll. (based on #51026, gtk-enf-990512-0.patch, Eric Fisher) * gtk/gtktext.c: GtkText should have I-beam cursor. (based on gtk-enf-990513-1.patch, Eric Fisher.) Mon Feb 19 16:42:19 2001 Owen Taylor * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny cleanup to remove some references to unused ->xoffset, ->yoffset. Mon Feb 19 14:20:36 2001 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect mask. (#51039, fix from Martin Maierhofer) Fri Feb 16 20:09:42 2001 Owen Taylor * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings for unshifted + and shifted = for non-us keyboards. Make + and - work as well as KP_Plus, KP_Minus for recursive open/close. (#2682, René Seindal) Fri Feb 16 18:50:59 2001 Owen Taylor * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset the active menu item before deactivating the menu, so gtk_menu_popdown doesn't change the history. (#50964) Fri Feb 16 15:55:22 2001 Owen Taylor * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): draw lines with text_gc rather than black_gc. (Patch from Vlad Harchev , #50926) Thu Mar 1 19:50:56 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button): Move handling of buttons fully in gtktreeviewcolumn. This code is less interrelated then it was, but it still requires the GtkTreeView to map it. * test/testtreecolumn.c: Now I can add a column to one view, remove it, add it to the another view, remove it, then re-add it to the first. Nifty. Thu Mar 1 13:14:27 GMT 2001 Tony Gale * docs/tutorial/gtk-tut.sgml: Minor corrections Wed Feb 28 16:36:46 2001 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize GtkRowReference. 2001-02-28 Havoc Pennington * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and draw_default (gtk_widget_draw_focus): remove this function; we could instead make it just gtk_widget_draw(), but in most cases I think the result would be broken user code, so think it's better to have that code not compile and get fixed (gtk_widget_draw_default): ditto * gtk/gtkwidget.c: Add default handlers for focus_in_event and focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when widgets lose/get the default, instead of calling draw_default * docs/Changes-2.0.txt: note about all this Then fixed every widget in GTK, I won't list all the filenames. Tue Feb 27 19:32:53 2001 Jonathan Blandford * gtk/gtktreemodel.c (deleted_callback): Proxy out to _gtk_tree_row_reference_deleted. (inserted_callback): Proxy out to _gtk_tree_row_reference_inserted. (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to get around signal emission ordering problem. * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all): fix to work with SINGLE (_gtk_tree_selection_internal_select_node): Major sanitization on selections. SINGLE now seems to work. * tests/Makefile.am: add testtreecolumn.c: * tests/testtreecolumn.c: New test. Mostly points out selection bugs currently, but will test columns later. * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty selection bug. I hate touching this code -- it's scary. 2001-02-26 Havoc Pennington * gtk/testgtk.c: test the window state stuff * gtk/gtkwindow.c (gtk_window_present): new function, makes a window come to the user's attention as if it were just created (gtk_window_iconify): new function (gtk_window_deiconify): new function (gtk_window_stick): new function (gtk_window_unstick): new function (gtk_window_maximize): new function (gtk_window_unmaximize): new function * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE * gdk/x11/gdkevents-x11.c: create window state events when appropriate (gdk_wmspec_supported): new function * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle iconification before showing the window (gdk_window_deiconify): new function (gdk_window_stick): new function (gdk_window_unstick): new function (gdk_window_maximize): new function (gdk_window_unmaximize): new function * gdk/gdkwindow.c: store the window state in the window; change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of window->mapped. (gdk_window_get_state): return the current window state * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE (gdk_event_get_state): handle GDK_WINDOW_STATE (gdk_synthesize_window_state): function to create the window state events * gdk/gdkevents.h (struct _GdkEventWindowState): new type of event, for changes to "window state" such as maximized, sticky, etc. * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function, focuses a window * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, finds out if we support a given WM spec hint Tue Feb 27 13:37:38 GMT 2001 Tony Gale * docs/faq/gtk-faq.sgml: New question re memory leaks. 2001-02-25 Hans Breuer * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef cause we want to loose those prototypes only in the latter case * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to GdkPixmapImplWin32 because it itsn't derived from it. Use the impl member variable instead * gtk/gtk.def : updated * gtk/gtklist.c : * gtk/gtkmenus.c : include for memset () * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION for everthing built here, but for gtk-x.x.dll only. This solves problem of indifferent gtk type definitions Sat Feb 24 20:11:39 2001 Jonathan Blandford * gtk/gtkclipboard.h: actually put /* */ around #endif comment. Fri Feb 23 17:50:13 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the column that is exposed. (_gtk_tree_view_update_size): Changed name from set_size, and changed function to do more work, and not force people calling it to figure out the size. Simplifies a lot of code elsewhere. 2001-02-23 Alexander Larsson * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): return solid masks for xpms that have no transparent color. This makes the ..._create_from_xpm... API backwards compatible. 2001-02-23 Tor Lillqvist * README.win32: Update. Mention the gtk-1-3-win32-production branch. * gdk/win32/bdfcursor.c: New file. A program that generates xcursors.h. Thanks to Stefan Ondrejicka. * gdk/win32/xcursors.h: New file, contains the X cursor font in a compact format. * gdk/win32/Makefile.am (EXTRA_DIST): Add new files. * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New function, uses xcursors.h. (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate cursor from inline data instead of using LoadCursor() to generate it from a resource. * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up event, must check the Windows message for mouse button state, as the GDK event state might not have been built if it is undelivered. Remove one goto. * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call SetCursor() if the current cursor as returned by GetCursor() is the window's previous cursor. The ChildWindowFromPoint() test apparently didn't work correctly. * gdk/win32/rc/*.cur: Remove. * gdk/win32/rc/gdk.rc.in: Remove cursors. * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too. * gtk/makefile.{mingw,msc}.in: Updates. Wed Feb 21 20:56:50 2001 Jonathan Blandford * gtk/gtktreemodel.h: add functions for signal emission. * gtk/gtktreestore.c: move to use above functions instead of g_signal_emit. * gtk/gtkliststore.c: ditto Wed Feb 21 15:41:34 2001 Jonathan Blandford * gtk/gtktreestore.c: removed signals. Moved to inherit from GObject instead of GtkObject. * gtk/gtkliststore.c: ditto. * gtk/gtktreemodelsort.c: ditto. * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to GtkTreeModelIface, instead of in each model. 2001-02-21 Havoc Pennington * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor): unbreak this function * gtk/gtkentry.c: apply patch from Lee Mallabone to add object properties * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object properties * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object properties * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to mean unset the max length Wed Feb 21 14:23:05 2001 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func): Changed name to be set_cell_data_func to make it clear what the functino does. Close bug #51069. Tue Feb 20 16:49:00 2001 Jonathan Blandford * gtk/testgtk.c (main): Remove turning on of profiling malloc, have memory actually freed. Keeps box running longer. 2001-02-21 Alexander Larsson * gtk/gtkseparatormenuitem.[ch]: Added new menu separator item. The drawing and size handling is still done in GtkMenuItem, but the API is a bit more sane. * gtk/Makefile.am: Add gtkseparatormenuitem.[ch]. * gtk/gtk.h: Add gtkseparatormenuitem.h. * gtk/gtkentry.c: * gtk/gtkmenufactory.c: * gtk/gtktextview.c: Use the new API for menu separators. * demos/gtk-demo/menus.c (create_menu): Add some GtkSeparatorMenuItem demo code. 2001-02-20 Havoc Pennington * gtk/gtkaspectframe.c: Convert to new property API, patch from Lee Mallabone * gtk/gtkarrow.c: Convert to new property API, patch from Lee Mallabone Tue Feb 20 14:26:41 2001 Jonathan Blandford * tests/testtreeview.c (toggled_callback): fix to reflect change in GtkTreeModelStore. Tue Feb 20 12:16:12 2001 Jonathan Blandford * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New function to create an icon set from a pixbuf. 2001-02-20 Alexander Larsson * gtk/gtkcellrenderertext.[ch]: Add a "markup" property. * gtk/treestoretest.c: Use the markup property, remove some leftover stuff from GtkTreeModelMapping. 2001-02-20 Alexander Larsson * gtk/gtklabel.c (gtk_label_set_selectable): Queue a redraw if the selectable setting was changed. 2001-02-20 Alexander Larsson * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy): Actually copy the whole gc, not just the public parts. * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): GDK_WINDOW_TEMP are not toplevel. Fixes selectable labels. 2001-02-19 Havoc Pennington * gdk/gdkwindow.c: docs * gdk/gdkrgb.c: docs * gdk/gdkregion-generic.c: docs * gdk/gdkgc.c (gdk_gc_set_values): docs * gdk/gdkdraw.c: docs * gdk/gdkdrawable.h: deprecate drawable get/set data Mon Feb 19 20:37:35 2001 Jonathan Blandford * demos/gtk-demo/dialog.c: Add simple new demo. 2001-02-19 Havoc Pennington * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add insert_child_anchor signal, bug #50245 * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change from create_child_anchor, so the anchor is passed in * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function (_gtk_widget_segment_new): have the child anchor object passed in, instead of creating it. * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename to gtk_text_buffer_get_modified 2001-02-19 Havoc Pennington * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone changed GLib without fixing GTK * gtk/gtkrange.h: Rename all the stupid implementation detail functions to have an underscore in front. Most of them should probably just go away, but for starters don't export them. Bug #50482 2001-02-19 Havoc Pennington * gdk/gdkcolor.h: test was backward, so deprecated functions were excluded by default * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out, clean up the old code a bit * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw inconsistent state * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): draw inconsistent state * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent (create_menu): add inconsistent test * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent): new function (gtk_check_menu_item_get_inconsistent): new function (gtk_real_check_menu_item_draw_indicator): draw the inconsistent state (using etched in for now) * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): draw inconsistent state * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new function, used when the user has selected a range of stuff in different states (gtk_toggle_button_get_inconsistent): accessor for that (gtk_toggle_button_paint): draw inconsistent state (etched in? don't know what else to do) 2001-02-19 Hans Breuer * gtk/gtk.def : updated exported symbols * gtk/makefile.msc.in : updated * gtk/gtkstyle.c (gtk_style_realize) : gets called without a colormap, when invoked from testgtk::entry. I'm not sure where the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap)); avoids immediate crashing ... * gtk/gtkmain.c (check_setugid) : totally disabled on win32; any objections ? * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra 0 parameter. At least msvc doesn't like macros with var args. I simply removed the extra 0, was it a feature or a typo ? * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) : removed the extra indirection from the GtkTreeViewColumnFunc parameter, because the value assignment to the internal struct wasn't working. I'm not absolutely sure. The problem could have been resolved by changing the "func" declartion in the struct, but was the pointer to the function pointer intended ? * gtk+/gtk/gtktreedatalist.c : include gboxed.h * gdk/gdk.def : updated exported symbols * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) : only use SetDIBitsToDevice if there is a palette at the drawable and the image is GDK_VISUAL_PSEUDO_COLOR * gdk/win32/gdkkeys-win32.c : msvc still has no ... * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */ * gdk/*/makefile.msc : updated 2001-02-19 Havoc Pennington * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H, GDK_DISABLE_DEPRECATED (we need to merge those two #defines) * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke (gdk_key_repeat_restore): nuke * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it (gdk_init_check): no atexit func * gdk/gdkrgb.h: mark some stuff deprecated * gdk/gdkcolor.h: mark some stuff deprecated * gdk/gdk.h: deprecated gdk_exit, gdk_input_* * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED 2001-02-16 Havoc Pennington * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual scroll steps. * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll steps, and add Ctrl-arrow shortcuts for paging visually as with HScale, since Page Up and Page Down move logically. * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP, GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll steps (gtk_range_scroll): handle the visual steps * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down scroll steps * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll steps, not the logical ones. * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps (scroll_vertical): handle up/down steps 2001-02-19 Alexander Larsson * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap): Copy data and free data with free(). * gdk-pixbuf/gdk-pixbuf.c: * gdk-pixbuf/io-jpeg.c: * gdk-pixbuf/io-png.c: Use g_try_malloc/g_free instead malloc/free. * gdk-pixbuf/test-gdk-pixbuf.c: Must... initialize... gobject... * gdk-pixbuf/pixops/timescale.c: * gtk/gtkcalendar.c: Use g_malloc instead of malloc. 2001-02-19 Alexander Larsson * gtk/testgtkrc: Comment out property assignments, these don't work yet. 2001-02-17 Havoc Pennington * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a bit. 2001-02-17 Havoc Pennington * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with shadowed variables that had broken size request in some cases, leading to bogus tooltips (#50996) 2001-02-06 Jon K Hellan Implement fast browsing of tooltips, bug #50619 * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay and last_popdown * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay, use_sticky_delay and last_popdown. (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record time of popdown. (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget is NULL. (gtk_tooltips_recently_shown): New static function. Return true if < sticky_delay has elapsed since last popdown. (gtk_tooltips_event_handler): Display window after sticky_delay (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed since last popdown. 2001-02-17 Havoc Pennington * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void) instead of (). #6394 * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add G_CONST_RETURN, make it return by reference, #50473 Sat Feb 17 06:47:27 2001 Tim Janik * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the generated ENTER_NOTIFY event with 0, otherwise not explicitely setup fields contain garbage (e.g. subwindow, breaking gdk_drawable_ref() upon event copy). (gtk_menu_stop_navigating_submenu_cb): same here. * gtk/gtklist.c (gtk_list_vertical_timeout): * gtk/gtklist.c (gtk_list_horizontal_timeout): * gtk/gtkclist.c (vertical_timeout): * gtk/gtkclist.c (horizontal_timeout): change direct assignment default-zero-intialization for unions to memset(,0,), as unions are not fully default-zero-initialized by compilers (GdkEvent x = { 0, }; has to become GdkEvent x; memset (&x, 0, sizeof (x)); ) * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch g_closure_sink() warning. * gtk/gtktreemodel.c (gtk_tree_model_get_valist): * gtk/gtktreestore.c (gtk_tree_store_set_valist): * gtk/gtkliststore.c (gtk_list_store_set_valist): fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls. Fri Feb 16 17:49:59 2001 Jonathan Blandford * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed gtk_*_store_get, and moved to GtkTreeModel. * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added. * gtk/Makefile.am: remove gtktreemodelmapping.[ch] * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you set the func. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data): freeze/thaw notify between setting all the properties for a cell. * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h 2001-02-15 Havoc Pennington * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert the X coordinates so they're with respect to the line, rather than with respect to the layout. * gtk/gtkalignment.c: Convert to new property API, patch from Lee Mallabone * gtk/testgtk.c (create_range_controls): add vscale tests, and inverted test * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix #50806 * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN * gtk/gtktextiter.h (gtk_text_iter_is_last): rename gtk_text_iter_is_end * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter): rename gtk_text_buffer_get_end_iter * gtk/testgtk.c (create_labels): Add test for selectable * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw the selection stuff. This code is kind of broken since it doesn't use the theme engine. * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): fix infinite loop and y offset problem (gdk_draw_layout_line_with_colors): fix foreground color handling * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag that makes the label selectable. * gtk/gtklabel.c (gtk_label_style_set): recreate the label's layout when the style is set, since fonts etc. could have changed. Fri Feb 16 14:22:05 2001 Jonathan Blandford * gtk/Makefile.am: Removed gtktreemodelsimple.[ch] * gtk/gtktreemodelsimple.[ch]: removed. 2001-02-16 Alexander Larsson * gtk/gtktreemodelmapping.[ch]: New files. Implement GtkTreeModelMapping. * gtk/Makefile.am: Add gtktreemodelmapping.[ch]. * gtk/gtk.h: Add gtktreemodelmapping.h * gtk/treestoretest.c: Test the GtkTreeModelMapping Tue Feb 13 13:16:09 2001 Jonathan Blandford * demos/gtk-demo/panes.c (create_pane_options): If we're going to have a demo, we might as well pass in real values. Thanks to clahey for pointing this out. 2001-02-14 Havoc Pennington * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add "static" to a private function (gtk_image_menu_item_class_init): remove destroy handler, add "image" object property 2001-02-13 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Add a shortcut if the window and the current clip_region doesn't overlap. This is needed when there are a lot of windows in a window. The layout test in testgtk is a good test. * gdk/linux-fb/gdkwindow-fb.c: Whitespace fix. 2001-02-13 Sven Neumann * demos/testanimation.c: replaced deprecated gtk_drawing_area_size 2001-02-13 Alexander Larsson * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide): Don't reference last_cursor if it is null. Fixes crash when rotating the screen before having moved the mouse. * gdk/linux-fb/gdkcc-fb.c: Zapp! * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw when using 90 or 270 degrees rotation. 2001-02-12 Havoc Pennington * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where it always set the foreground, even if we were only using a stipple. (gdk_draw_layout_line_with_colors): new function, allow override colors (gdk_draw_layout_with_colors): new function, allow override colors (gdk_pango_layout_line_get_clip_region): function to get the clip region for a logical text range (gdk_pango_layout_get_clip_region): get the clip region for a logical text range * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(), (gdk_colormap_new): fix call to gdk_colormap_sync() so it has the right number of arguments. * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency): enhance the function to check that node data corresponds to a view still belonging to the tree. * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the GtkTreePath (gtk_tree_view_inserted): ditto (gtk_tree_view_child_toggled): ditto * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to simplify this code. * gtk/gtkcellrenderertext.c (get_layout): fix leak of a PangoAttrList * demos/gtk-demo/main.c (load_file): Fix leak of a GString * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle size in the size request (gtk_menu_bar_size_allocate): consider toggle size here * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item that displays a widget in the toggle slot * gtk/testgtk.c: test GtkImageMenuItem * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size request and allocation * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16 * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_toggle_size_request): ditto Mon Feb 12 23:43:30 2001 Owen Taylor * gtk/Makefile.am (gdk_headers): Remove gdkcc.h reference. * configure.in gtk/gtkmain.c: Add checks for setuid/setgid, and refuse to initialize GTK+ if they fail. Mon Feb 12 15:02:07 2001 Owen Taylor * configure.in: Add check for gtk-doc version. Thu Feb 8 17:18:26 2001 Owen Taylor * gtk/gtklabel.c (gtk_label_size_request): Fix bug where the xpad/ypad was only being used on one side! 2001-02-11 Tor Lillqvist * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New function, copied from X11 version. * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate DestroyCursor failures. The reason for the problem (despite the inconsistent messages from GetLastError()) was that DestroyCursor() cannot be called while a cursor is set in a window. Set the new cursor first and then destroy the old one. Thanks to jpe@archaeopteryx.com. * gdk/win32/gdkcc-win32.c: Remove. * gdk/win32/Makefile.am: Remove from here, too. * gdk/gdk.def * gdk/makefile.mingw.in: Update. Godbye GdkColorContext. * gtk/gtk.def * gtk/makefile.mingw.in: Updates. 2001-02-08 Havoc Pennington * gtk/gtkbin.c (gtk_bin_add): better error message if you try to add a widget to a bin that already has a child. * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512 * docs/Changes-2.0.txt: note that GdkColorContext is gone. * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c * gdk/gdk.h: remove gdkcc.h * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using GdkPixbuf, since the previous implementation was GdkColorContext dependent. * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap Thu Feb 8 19:00:00 2001 Jonathan Blandford * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to a sane value! 2001-02-08 Havoc Pennington * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not lighten them. 2001-02-08 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove validation idle * demos/gtk-demo/main.c (create_tree): adjust to changes in text cell renderer * demos/pixbuf-demo.c (timeout): remove deprecated gtk_widget_draw * demos/testpixbuf-save.c (main): remove deprecated gtk_drawing_area_size * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate buttons even if the model isn't setup. gtk_tree_view_check_dirty() at the start of the allocation. (gtk_tree_view_check_dirty): handle column->button == NULL, handle unsetup or NULL model. * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the even/odd/sorted cells in the tree view. * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all): bugfixes * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row backgrounds with draw_flat_box using different detail for even/odd rows. * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each row, so we can draw the alternating colors thing * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a property from a synonym property, notify for the synonym. Also, nuke the background_gdk_set and foreground_gdk_set synonyms (gtk_text_tag_get_property): Always return the font, even if all its fields aren't set * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't store the attr list; it leaves us with no way to change attributes in _render according to the render flags, and no way to implement get_property. Instead store all the specific text attributes. Separate whether an attribute is enabled from its value. Sync all properties with GtkTextTag, make them all consistent, etc. * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so renderers can highlight the sort row/column * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use accessor functions to get values; this has the side effect of showing up which accessor functions were missing. Added those. * gtk/gtktreeviewcolumn.h: Replace set_justification with set_alignment, to be consistent with GtkLabel, GtkMisc * gtk/gtktreeviewcolumn.c: Added code to display sort indicator arrow. * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h * gtk/gtktreesortable.h: updates in here 2001-02-07 Sven Neumann * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to pango dimensions after painting the background. We used to draw gigantic flat boxes here. Mon Feb 5 22:05:57 2001 Owen Taylor * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax error introduced with earlier commit) (pointed out by Ollie Lho) Mon Feb 5 12:25:06 2001 Owen Taylor * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove, which are no longer necessary. Mon Feb 5 13:22:54 GMT 2001 Tony Gale * docs/faq/gtk-faq.sgml: s/MISK/MISC/ 2001-02-04 Tor Lillqvist * gdk/gdk.def * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy): Provide dummy implementations. Sun Feb 4 07:55:17 2001 Tim Janik * gtk/gtksignal.h: removed gtk_signal_init() compat define. * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument GTypeDebugFlags debug_flags and pass it on to g_type_init (); deprecated this function. * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as argument. Sun Feb 4 07:45:45 2001 Tim Janik * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS. 2001-02-03 Havoc Pennington * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by Mikael Hermansson with patch from Mikael (if there was a toggle start one after the first character in the range, this function was broken). Bug #50380 Sat Feb 3 11:28:03 2001 Owen Taylor * configure.in: Remove confusing comment about X11. Fri Feb 2 19:21:23 2001 Owen Taylor * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional regions with HAVE_SHAPE_EXT. (#50511, Eric Ding) Fri Feb 2 18:31:54 2001 Owen Taylor * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since it breaks things on BSD. If you want to compile GTK+ with -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE when configuring, since GTK+ simply can't be "pure ANSI" in the header files it uses. (#8170, Greg Hudson) 2001-02-02 Havoc Pennington * gtk/gtkwindow.c: docs * gtk/gtkwidget.c: docs (gtk_widget_set_colormap): add a reference to the colormap (gtk_widget_get_default_colormap): add a reference to the colormap * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs * gtk/gtktextiter.c: docs * gtk/gtkmain.c (gtk_propagate_event): docs * gtk/gtkpaned.c (gtk_paned_get_position): docs (gtk_paned_set_position): docs * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial sort interface, no implementation yet. * demos/testpixbuf.c (new_testrgb_window): replace gtk_drawing_area_size() with gtk_widget_set_usize() * demos/testpixbuf-drawable.c (main): ditto * gtk/testgtk.c: remove use of GtkStatusbarMsg * gtk/gtktextbuffer.c: docs * gtk/gtkstock.c: docs * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs * gtk/gtkimage.c: add some docs in here (gtk_image_size_request): change name of gtk_widget_render_stock_icon (gtk_image_get_icon_set): don't dup returned string (gtk_image_get_icon_set): don't dup returned string * gtk/gtkwidget.c (gtk_widget_render_icon): rename from gtk_widget_render_stock_icon(), more consistent with gtkstyle.h and gtkiconfactory.h functions * gtk/gtkiconfactory.c: add some docs in here * gtk/gtkmain.c (gtk_get_default_language): document (gtk_get_current_event): document (gtk_get_current_event_state): document (gtk_get_event_widget): document * gtk/gtkentry.c (gtk_entry_set_invisible_char): document * gtk/gtkcontainer.c: Add some documentation (gtk_container_add): give a more explanatory warning on adding an already-parented widget, this is kind of a FAQ and also a common typo that's easier to debug with a nice warning * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_active): remove, I was on crack adding this, it's useless (gtk_cell_renderer_toggle_set_active): remove (gtk_cell_renderer_toggle_get_radio): add * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow the NULL cell renderer, that doesn't make any sense to me. * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo code should never use deprecated features. * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo code should never use deprecated features. * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear, gtk_widget_queue_clear_area deprecated * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw deprecated * gtk/gtklabel.h: mark gtk_label_get() deprecated * gtk/gtkimage.h: mark the legacy GtkImage functions that took a GdkImage deprecated, replaced by new consistently-named functions * gtk/gtkmain.h: Mark gtk_exit() deprecated * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string deprecated * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, so it won't appear in docs and confuse people. * gtk/gtkprogressbar.h: Mark all the old methods deprecated * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast macros deprecated. (can't mark the type itself deprecated, since GtkProgressBar is not deprecated and we need the type decl to use GtkProgressBar) * gtk/gtkpixmap.h: Mark deprecated * gtk/gtkoldeditable.h: Mark deprecated * gtk/gtklist.h: Mark deprecated * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used for anything anymore. * gtk/gtkctree.h: Mark deprecated * gtk/gtkclist.h: Mark deprecated * gtk/gtkpreview.h: Mark deprecated * gtk/gtkpacker.h: Mark deprecated * gtk/gtktipsquery.h: Mark deprecated * gtk/gtkinputdialog.h: Add comment that it will move out of GTK * gtk/gtkvruler.h: Add comment that it will move out of GTK * gtk/gtkhruler.h: Add comment that it will move out of GTK * gtk/gtkruler.h: Add comment that it will move out of GTK * gtk/gtkgamma.h: Add comment that it will move out of GTK * gtk/gtkcurve.h: Add comment that it will move out of GTK Fri Feb 2 17:16:09 2001 Owen Taylor * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make gdk_colormap_sync private since it was never exported in a header file. * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in colormap->colors[] for StaticGray, StaticColor colormaps. * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp was being used as if it was image->bits_per_pixel. * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel for the image in the GdkImage structure since it isn't reconstructable, and we need it to handle packed types * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making the assumption that on Win32 image->bits_per_pixel == image->depth, always. * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel. * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative warning message if no converter can be found. Fri Feb 2 15:09:51 2001 Owen Taylor * gtk/fnmatch.c (FOLD): Fix problem with passing signed chars to isupper() / tolower(). (#567) * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT to clear up 64-bit warnings. (#567) Fri Feb 2 12:26:50 2001 Owen Taylor * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of a bunch of g_strdup_printf("%s%s") in favor of g_strconcat(). * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix), since some people set $(libdir) separately. (#1290, David Kaelbling) Thu Feb 1 18:25:46 2001 Owen Taylor * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not defined, define MAXPATHLEN to 2048. (The Hurd doesn't have MAXPATHLEN, but the code here depends on a fixed value.) (#4524) Wed Jan 31 22:01:04 2001 Owen Taylor * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g) Wed Jan 31 21:20:39 2001 Owen Taylor * gtk/gtkctree.c (real_tree_move): If the node being moved isn't viewable there is no way that moving the node will cause the focus row to become not viewable, so omit check on the visibility of new_sibling, which is irrelevant. (Fixes #8002, David Helder) Wed Jan 31 20:38:17 2001 Owen Taylor * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current selection before inserting new text. Wed Jan 31 18:49:33 2001 Owen Taylor * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb): Make the sensitivity of the reparented child track that of the original parent menu item. (#34218, David Hodson) * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle the case where the current item is destroyed properly. * gtk/gtkoptionmenu.c: Some additional code cleanups and fix some edge cases with child-less menuitems. Wed Jan 31 17:16:13 2001 Owen Taylor * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return key pop down window. (#12074, Jon K Hellan) Wed Jan 31 16:21:42 2001 Owen Taylor * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) The solution here isn't perfect - you get an extraneous emission of "toggle", which could conceivably confuse an app, but better than the current situation. LXR search seems to indicate that no apps in GNOME CVS connect to "toggle". Wed Jan 31 15:46:13 2001 Owen Taylor * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from gtk_public_h_sources to directly here to avoid warning when building srcdir != builddir. (#9656) Tue Jan 30 19:49:02 2001 Owen Taylor * gtk/gtkrange.c: Patch from Kipp Hickman to make the event handlers in gtkrange.c return the proper values (TRUE == handled) (#10316). This is just the tip of the iceberg, but gtkrange.c is the most common place where the propagation is problematical, and also a place where it is almost certainly safe to change this in the stable branch. (You don't want right click popups on a range control or anything...) Tue Jan 30 18:57:59 2001 Owen Taylor * gtk/gtktext.c (clear_focus_area): We need to clear the focus area on focus out, even if a background pixmap isn't set. (#13941) Tue Jan 30 18:24:10 2001 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham to deal with setting the shape properly when scrolling arrows are turned on, but not visible because there is sufficient space. (#13432) Tue Jan 30 16:39:25 2001 Owen Taylor * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu items with submenus, destroy the item along with the submenu. (#7841, Brian Masney(?)) Also, handle paths of the form '/abcd...' properly. * gtk/testgtk.c (menu_items): Add a dummy branch that we delete later. Tue Jan 30 15:51:25 2001 Owen Taylor * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where the focus widget sometimes wasn't drawn with the default if there was no default widget. * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors, unreference pixmaps. * gtk/gtkstyle.c (gtk_style_realize): Reference colormap for some extra safety. Mon Jan 29 19:00:01 2001 Owen Taylor * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting the text of a cell to the old pointer value better, by copying the new text before freeing the old text. Some code cleanup. (#8079, Karl Nelson) Mon Jan 29 16:50:19 2001 Owen Taylor * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text() gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN. Mon Jan 29 15:22:51 2001 Owen Taylor * gtk/gtkmenu.c (gtk_menu_remove): When removing an item from a menu, check to see if it matches menu->old_active_menu_item, and if so, unref and clear old_active_menu_item (Patch from Pavel Cisler) * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset menu_shell->active_menu_item, if it is the child being removed. (Patch based on that of Gene Ragan, #50337) 2001-01-31 Alexander Larsson * gdk/linux-fb/gdkselection-fb.c: * gdk/linux-fb/gdkcolor-fb.c: * gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkfont-fb.c: * gdk/linux-fb/gdkim-fb.c: * gdk/linux-fb/gdkinput.c: * gdk/linux-fb/gdkkeyboard-fb.c: * gdk/linux-fb/gdkmain-fb.c: * gdk/linux-fb/gdkrender-fb.c: A bunch of whitespace cleanup. 2001-01-30 Havoc Pennington * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in #ifdef GTK_ENABLE_BROKEN. * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define GTK_ENABLE_BROKEN just before including the broken headers. * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the deprecated types registered. * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN, we have to test the broken stuff. * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN 2001-01-30 Havoc Pennington * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in here where prev pointer was set to the wrong thing * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function (gtk_tree_path_is_descendant): new function * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return cached length (gtk_list_store_get_iter): don't modify iter if we can't get the path. * gtk/gtkliststore.h (struct _GtkListStore): cache the length * gtk/gtktreednd.h: add virtual function row_drop_possible() to GtkTreeDragDest * gtk/gtktreestore.c (copy_node_data): fix varargs type error that was causing segfault * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next pointer to NULL * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter on returning FALSE (gtk_list_store_iter_children): ditto (gtk_list_store_iter_nth_child): ditto (gtk_list_store_iter_nth_child): ditto (gtk_list_store_iter_parent): ditto * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail on iter->user_data != NULL instead of silently accepting it. (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless we are returning TRUE. (gtk_tree_store_iter_children): ditto (gtk_tree_store_iter_nth_child): ditto (gtk_tree_store_iter_parent): ditto (gtk_tree_store_insert): remove handling of parent->user_data == NULL, replace with parent == NULL * gtk/gtktreemodel.c (inserted_callback): put some fixes in here, and a comment explaining things * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest interface support to GtkTreeStore. * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return FALSE if no prev, fix * gtk/gtktreeview.c (set_source_row): use a row reference (set_dest_row): use a row reference Sat Jan 27 15:52:02 2001 Jonathan Blandford * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix stupid typo pointed out by Kristian Rietveld . (gtk_tree_selection_select_iter): The same as above. 2001-01-26 Havoc Pennington * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference which holds a handle to a specific row (particular set of values in the model, i.e. pointer-identity row). * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c: use GtkTreeRowReference for anchor, cursor, and drag_dest_row. Still need to use it for the src/dest row saved on the drag context. 2001-01-26 Havoc Pennington * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to not offset by TREE_VIEW_HEADER_HEIGHT (gtk_tree_view_tree_to_widget_coords): fix to not offset by TREE_VIEW_HEADER_HEIGHT * configure.in (included_loaders): for me, --with-included-loaders generates the error "the specified loader yes does not exist", i.e. the arg defaults to "yes", so change test for value "" to test for value "yes", and include all loaders in that case. * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly handle TREE_VIEW_VERTICAL_SEPARATOR (gtk_tree_view_bin_expose): fix to consider the row offset as pointing halfway into vertical separator. (gtk_tree_view_draw_node_focus_rect): ditto * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add --gtk-debug=updates, which causes gdk_window_set_debug_updates (TRUE) to be called. * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a debug mode where the invalid region is colored in on invalidate, so you can see the flicker and know whether your redraw code is doing a good job. * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in tree window coordinates (clip rect is in tree window coords) * gtk/Makefile.am: add gtktreednd.[hc] * gtk/gtkliststore.c: implement gtktreednd interfaces. * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support drag-and-drop data operations on a model (so we can set up tree drag-and-drop automatically) * gtk/testgtk.c: Add a window to change sensitivity in the GtkLabel test; add a way to change the entry frame in GtkEntry test * gtk/gtkentry.c (gtk_entry_set_has_frame): (gtk_entry_get_has_frame): new functions to remove the frame around an entry (gtk_entry_size_request): shrink requisition if no frame (gtk_entry_draw_focus): don't draw frame if no frame * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for checks inside a cell renderer (gtk_default_draw_option): ditto for options * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove children from the alignment, not the button (gtk_tree_view_column_init): ref/sink the column, to emulate GObject refcounting. * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): Use theme functions to draw the toggles * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and GdkPangoAttrEmbossed to use in rendering insensitive text * gdk/gdkpango.c (gdk_draw_layout_line): render new properties * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity using new GDK features 2001-01-24 Alexander Larsson * gtk/gtkimage.c: Splitted gtk_image_clear into gtk_image_clear() and gtk_image_reset(). Call gtk_image_clear() in ::destroy to avoid leaks. * gtk/gtklabel.c (set_markup): Don't leak text. * gtk/gtktextlayout.c: Always free display->shaped_objects. * gtk/testgtk.c (create_clist): Don't leak custom style. 2001-01-23 Alexander Larsson * gtk/gtkcolorsel.c (grab_color_at_mouse): Don't leak image. Simplify using gdk_colormap_query_color(). (gtk_color_selection_init): Don't leak dropper_pixmap and mask. * linux-fb/gdkcolor-fb.c: Implemented gdk_colormap_query_color. 2001-01-23 Alexander Larsson * linux-fb/gdkcursor-fb.c: Don't leak built-in cursors. * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon): Don't leak tmp_points. * linux-fb/gdkfont-fb.c (gdk_font_from_description): Don't modify desc. Don't leak font if the PangoFont isn't found. * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize): Free dash_list. * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key): Don't leak string. 2001-01-20 Havoc Pennington * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to me, matches Pango 2001-01-22 Havoc Pennington * demos/testanimation.c: fix to reflect gdk-pixbuf changes * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: Remove, move back to gdk-pixbuf * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents to all the word functions * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return before doing anything on NULL layout or if we don't have the focus * gtk/testtext.c (fill_example_buffer): "justification" * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute to be called "justification" not "justify" * demos/gtk-demo/textview.c (create_tags): "justification" * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping 2001-01-22 Alexander Larsson * gdk/gdkwindow.c (gdk_window_invalidate_region): Don't leak visible_region. Use visible_region instead of region. * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): Don't do extra gdk_drawable_ref(). This is not X. (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure gdk_fb_focused_window is ref:ed. (gdk_fb_window_send_crossing_events): Watch out for destroyed windows. 2001-01-22 Alexander Larsson * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize): Don't leak the PangoFontDescriptor. Sun Jan 21 09:58:00 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail when not realized. (gtk_tree_view_scroll_to_cell): Make work when not realized. (gtk_tree_view_realize): add scroll_to support (gtk_tree_view_finalize): add a finalize method. Populate. (gtk_tree_view_insert_column): ref and sink the column. (gtk_tree_view_append_column): ref and sink the column. (gtk_tree_view_queue_draw_node): New function to handle redrawing individual nodes. Should make the code much more efficient, if actually used. 2001-01-19 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): byte_offset variable was being used to mean both "offset into layout" and "offset into buffer line" which was no longer true with addition of preedit string; fix 2001-01-19 Havoc Pennington * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this function * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget): implement * gtk/gtktreeview.c (gtk_tree_view_move_to): rename scroll_to_cell, matches TextView scroll functions better (gtk_tree_view_tree_to_widget_coords): new function (gtk_tree_view_widget_to_tree_coords): new function (gtk_tree_view_get_visible_rect): new function (gtk_tree_view_get_path_at_pos): accept negative coordinates (gtk_tree_view_draw_node_focus_rect): new function moved from draw_focus, also, use width of bin_window as width of the focus rect (gtk_tree_view_expand_row): fix bug where it didn't recognize already-expanded rows (gtk_tree_view_get_cell_rect): new function (gtk_tree_view_get_path_at_pos): return the click position relative to the passed-in cell (gtk_tree_view_set_expander_column): new function * configure.in: remove gtk-config-2.0 chmod * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups, and properly handle drags with targets we don't understand (gtk_text_view_drag_end): don't stop scrolling, the source isn't scrolling anyway (gtk_text_view_drag_drop): stop scrolling here though, and set the mark invisible * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public function (gtk_drag_dest_get_target_list): new function (gtk_drag_dest_set_target_list): new function * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields related to drag-and-drop 2001-01-19 Alexander Larsson * gdk/linux-fb/gdkprivate-fb.h: Define EMULATE_GDKFONT. Add extra pango_font stuff to GfkFontPrivate. * gdk/linux-fb/gdkdrawable-fb2.c: * gdk/linux-fb/gdkfont-fb.c: If EMULATE_GDKFONT defined, implement a slow lame GdkFont emulation using PangoFont. 2001-01-17 Havoc Pennington * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for all the non-deprecated set_foo functions. Added missing object properties, and added g_object_notify() to setters. Wrote docs. 2001-01-18 Tor Lillqvist * gtk/gtkmain.c * gtk/gtkrc.c: (Win32) Use the new g_win32_get_package_installation_(sub)directory() functions. * config.h.win32.in: New file. * config.h.win32: Removed. * configure.in: Output config.h.win32. * Makefile.am: Add it to EXTRA_DIST. * gtk/gtk.def: Update. Wed Jan 17 16:22:54 2001 Owen Taylor * gtk/gtklabel.c (gtk_label_size_request): Set the attributes onto the PangoLayout even if they are newly created from label->pattern. Tue Jan 9 11:20:48 2001 Owen Taylor * gdk/x11/gdkdnd-x11.c: Remove unused variable. * gtk/gtkdnd.c: Encapsulate storing and retrieving info structures in functions. Fixes bug where gtk_dataset_* was accidentally still being used in one place, causing every dest side event to be treated independently. * gtk/gtkdnd.c: Remove last vestages of handling ::draw (fixes warning) * gtk/gtkentry.[ch]: Add drag and drop support. * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add new function gtk_check_drag_threshhold() for checking to check if (dx,dy) has exceeded the threshhold for starting a drag and use it everywhere. Mon Jan 8 11:58:05 2001 Owen Taylor * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir}, add -I{includedir}/gtk-2.0. * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c gdk/gdk-pixbuf.h: Doc fixups. * gtk/gtkobject.h: Remove trailing , from enum 2001-01-17 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc): Doh! Mixed up x and y. * gdk/linux-fb/gdkglobals-fb.c: Removed gdk_fb_pointer_grab_window_events, added _gdk_fb_pointer_grab_owner_events and _gdk_fb_keyboard_grab_owner_events. * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab): Set all button mask if GDK_BUTTON_MOTION_MASK set. Send crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events. (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events Send crossing events after ungrab finished. (gdk_keyboard_grab): Set ..._owner_events (type_masks): Move out of function. (gdk_fb_other_event_window, gdk_fb_pointer_event_window, gdk_fb_keyboard_event_window): New functions, return the window an event should be targeted at. Handles grabs and event propagation. Can return NULL. (gdk_event_make): Remove event_mask checking. Now always returns an event. * gdk/linux-fb/gdkkeyboard-fb.c: * gdk/linux-fb/gdkproperty-fb.c: * gdk/linux-fb/gdkselection-fb.c: Use new event_window/gdk_event_make() behaviour. * gdk/linux-fb/gdkmouse-fb.c: Use new event_window/gdk_event_make() behaviour. Only send motion events if in the same window. If grabbed, use cursor from window if sibling of grabbed window, and cursor from grabbed window otherwise. * gdk/linux-fb/gdkprivate-fb.h: Update gdk_fb_window_send_crossing_events, gdk_event_make and grab varaible declarations. Add gdk_fb_*_event_window(). * gdk/linux-fb/gdkwindow-fb.c: Use new event_window/gdk_event_make() behaviour. Keep correct track of focus window. (gdk_window_set_events): Set all specific button motion masks if GDK_BUTTON_MOTION_MASK set. * gtk/gtkdnd.c (gtk_drag_update): Free info->last_event if gdk_drag_motion returned FALSE. 2001-01-16 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide): Eliminate redraws when input-only windows are shown or hidden. Thanks to jpe@archaeopteryx.com. Tue Jan 16 13:13:13 GMT 2001 Tony Gale * docs/faq/gtk-faq.sgml: FAQ update: - Update to bugzilla - Add GTK+ and security/SUID/SGID - Add DnD question 2001-01-16 Alexander Larsson * gdk/linux-fb/gdkdnd-fb.c: Some cleanups. 2001-01-15 Havoc Pennington * tests/testtreeview.c: add test stuff for CellRendererToggle * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this accessor * gtk/gtkcellrenderertoggle.c: distinguish different event types, only toggle on button press (would do release like GtkButton, but we'd need implicit grab code for treeview cells) 2001-01-16 Tor Lillqvist * gdk/win32/gdkvisual-win32.c: Include for getenv(). * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap. * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls to g_{locale,filename}_{to,from}_utf8 to match current API. * gtk/makefile.msc.in (gtk_OBJECTS) * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate. * gtk/gtk.def: Update. 2001-01-15 Tor Lillqvist * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New implementaion that more closely mimics the events that an X server would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons with nested preview widgets, for instance, more responsive when you move the mouse quickly into them. (find_window_for_pointer_event): Make it actually compile. (gdk_event_translate): Set send_event to the value of InSendMessage (). This doesn't really mean the same as X11's send_event flag, but is close enough, says jpe@archaeopteryx.com 2001-01-15 Alexander Larsson * gdk/linux-fb/gdkdnd-fb.c: Implemented drag and drop. Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664 when it tries to free and then copy the same event (info->last_event). I am not sure about why this happens, but will continue looking. 2001-01-15 Alexander Larsson * gdk/linux-fb/gdkwindow-fb.c: Use gdk_window_invalidate_rect instead of gdk_window_invalidate_rect_clear to minimise flashing. When hiding windows you need to clear the root window though. 2001-01-15 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c: For optization, add an full_shapes argument to gdk_fb_clip_region. If this is false, only the cliprects of the shapes are used. * gdk/linux-fb/gdkprivate-fb.h: Export gdk_fb_window_peek_shape. Add full_shapes to gdk_fb_clip_region. * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize): When moving a window, don't clear everything under the it, just the root window. Makes stuff faster and flash less. (gdk_window_get_pointer): Correctly handle offseted shapes, due to USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct offset of the shape. 2001-01-12 Havoc Pennington * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the current invalid region, fixes redraw bug while scrolling the text widget * gtk/gtktextview.c, gtk/gtktextview.h: Rearrange the scrolling/validation/etc. code in a major way, so it seems to make sense to me. Probably isn't genuinely that much better, but... * gtk/gtktexttag.c (set_fg_color): fix name of property used for notifies * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function 2001-01-12 Alexander Larsson * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation): Hide mouse pointer while rotation. Show it afterwards. 2001-01-12 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped windows in consideration when generating clip region. * gdk/linux-fb/gdkfb.h: Huge HACK. Added GDK_FB_USE_CHILD_SHAPE. * gdk/linux-fb/gdkprivate-fb.h: Add shape to GdkWindowFBDatat. exported gdk_fb_window_get_abs_shape(). removed gdk_fb_draw_lines declaration. * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init): Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't send focus changes when there is a grabbed window. (gdk_window_get_pointer): Handle shaped windows. (gdk_fb_region_create_from_bitmap): Convert bitmap to region. (gdk_fb_window_peek_shape): Returns the shape for a window, handles GDK_FB_USE_CHILD_SHAPE. (gdk_fb_window_get_abs_shape): Returns the shape of the window, offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE. (gdk_window_shape_combine_mask): Implement. * gtk/gtkwindow-decorate.c: HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure setting the shape of a window makes the window transparent. 2001-01-11 Havoc Pennington * gtk/gtktreemodelsimple.h: Oops, broke some macros 2001-01-10 Havoc Pennington * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes): add this function, bug 40251 * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name of type macro 2001-01-11 Alexander Larsson * acconfig.h: Added ENABLE_SHADOW_FB * configure.in: Added --disable-shadowfb * gdk/linux-fb/gdkcursor-fb.c: Update shadowfb when updating cursor * gdk/linux-fb/gdkdrawable-fb2.c: Added wrappers for shadowfb that calls the normal drawable methods, but calls gdk_shadow_fb_update(bounding box) when GdkWindows are drawed to. Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs which also returns the bounding box. * gdk/linux-fb/gdkfb.h: Added GdkFBAngle type and gdk_fb_set_rotation declaration. * gdk/linux-fb/gdkgeometry-fb.c: Update shadowfb when scrolling window. * gdk/linux-fb/gdkglobals-fb.c: Add _gdk_fb_screen_angle. * gdk/linux-fb/gdkkeyboard-fb.c: Test code for screen rotation. Shift-F2 in the xlate driver rotates the screen. * gdk/linux-fb/gdkmain-fb.c: Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP. * gdk/linux-fb/gdkmouse-fb.c: Use fb_width/height instead of modeinfo.xres/yres. * gdk/linux-fb/gdkprivate-fb.h: Added fb_men, fb_width, fb_height & fb_stride. When using shadow fb these can differ from the framebuffer stuff. Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init, gdk_shadow_fb_stop_updates, gdk_fb_recompute_all, _gdk_fb_screen_angle. Removed CM, RP. * gdk/linux-fb/gdkrender-fb.c: Added code for shadowfb handling and screen rotation using shadowfb. * gdk/linux-fb/gdkwindow-fb.c: Use fb_mem, fb_stride, fb_width, fb_height. Added recompute_rowstride to reset the rowstride of all windows. Added gdk_fb_recompute_all() which recomputes rootwindow size, window abs positions and window rowstrides. Usefull when the rotation has changed. Thu Jan 11 13:16:50 GMT 2001 Tony Gale * docs/faq/gtk-faq.sgml: update to make web site updating easier 2001-01-10 Havoc Pennington * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case where sibling == iter (gtk_tree_store_insert_after): handle sibling == iter (gtk_tree_store_prepend): remove stamp checks (gtk_tree_store_insert_before): ditto (gtk_tree_store_append): ditto (gtk_tree_store_get_path): ditto (gtk_tree_store_get_value): ditto (gtk_tree_store_iter_has_child): ditto (gtk_tree_store_iter_n_children): ditto (gtk_tree_store_iter_nth_child): ditto (gtk_tree_store_insert_after): ditto (gtk_tree_store_is_ancestor): ditto (gtk_tree_store_iter_depth): ditto (gtk_tree_store_insert_before): assert that sibling's parent is the same as the passed-in parent (gtk_tree_store_insert_after): assert that sibling's parent is the same as the passed-in parent * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience function to get the first iterator in a model * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove, conventionally the "root" in this sense is just NULL afaict. * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case where sibling == iter (gtk_list_store_insert_after): handle case where sibling == iter * tests/testtreeview.c (run_automated_tests): fairly lame basic automated tests for ListStore, TreeStore * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer (gtk_list_store_insert): update tail pointer, and fix it to work (gtk_list_store_insert_before): update tail pointer, and fix it to work (gtk_list_store_append): use tail to be faster (gtk_list_store_prepend): fix it, update tail pointer (gtk_list_store_insert_after): fix it, update tail pointer * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for the list 2001-01-09 Havoc Pennington * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout is NULL due to a pending resize * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the column width to values less than 1 * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp width to be between min/max width, and still set the width even if autosize is turned on, so the tree view can use this function in order to autosize. (gtk_tree_view_column_init): set initial width to 1 not 0 * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use setter function to modify column width, so we get notification (gtk_tree_view_insert_iter_height): ditto (gtk_tree_view_calc_size): ditto (gtk_tree_view_check_dirty): ditto * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add properties to change all the interesting attributes of the tree view column. (gtk_tree_view_column_set_header_clickable): rename set_clickable (gtk_tree_view_column_get_clickable): add (gtk_tree_view_column_set_cell_renderer): don't unset the current attributes; assume a cell renderer with equivalent object properties has been swapped in. Do g_object_notify(). (gtk_tree_view_column_set_visible): g_object_notify (gtk_tree_view_column_get_sizing): rename from get_col_type (gtk_tree_view_column_set_sizing): g_object_notify (gtk_tree_view_column_set_width): add g_object_notify (gtk_tree_view_column_set_min_width): ditto (gtk_tree_view_column_set_max_width): ditto (gtk_tree_view_column_set_title): ditto (gtk_tree_view_column_set_clickable): ditto (gtk_tree_view_column_set_widget): ditto (gtk_tree_view_column_set_justification): ditto 2001-01-09 Havoc Pennington * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where there are no rows in the model * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is NULL, then return the start of the list * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree if we can't get any rows from an empty model * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove extraneous * after function pointer typedef usage * Makefile.am: don't specify full path to cp and rm * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_get_size): check width/height != NULL before dereferencing, fixes a segfault that happened from time to time * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel, and reindent the function (gtk_cell_renderer_pixbuf_get_size): indentation * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after we quit it (gtk_dialog_add_buttons_valist): add g_return_if_fail (gtk_dialog_set_default_response): New function, to set default button (gtk_dialog_set_response_sensitive): New function, to set sensitivity of buttons * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value): handle any G_TYPE_OBJECT subclass, not just the base class, and also boxed types. (_gtk_tree_data_list_value_to_node): ditto * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if --gtk-debug=tree * gtk/gtkmain.c: add GTK_DEBUG_TREE * gtk/gtkdebug.h: add GTK_DEBUG_TREE 2001-01-09 Tor Lillqvist * gdk/win32/gdkevents-win32.c: Implement better mouse capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com. (find_window_for_pointer_event): New function. (gdk_event_translate): Use it when handling mouse events. 2001-01-09 Alexander Larsson * configure.in: Added --with-included-loaders option * gdk-pixbuf/Makefile.am: * gdk-pixbuf/gdk-pixbuf-io.c: Add support for including selected gdk-pixbuf loaders only. * gtk/gtkwindow.c (gtk_window_set_frame_dimensions, gtk_window_set_has_frame): Added inline documentation. * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations): * docs/reference/gdk/tmpl/windows.sgml: Added inline documentation. Mon Jan 8 14:42:06 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip realizing buttons that have already been realized. Mon Jan 8 14:06:29 2001 Jonathan Blandford * tests/testtreeview.c (main): Show menu items before adding to option menu. * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns around if we kill them. * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data): Return if we pass in a NULL model. 2001-01-08 Havoc Pennington * tests/testtreeview.c: hack on this some * gtk/gtktreestore.c (gtk_tree_store_setv): rename gtk_tree_store_set_valist, v is for arrays, valist for varargs list (gtk_tree_store_getv): rename gtk_tree_store_get_valist * gtk/gtkliststore.h: Add varargs set() and get() convenience functions 2001-01-08 Alexander Larsson * gtk/gtkwindow-decorate.[hc]: * gtk/Makefile.am: New files. Contains an implementation of a minimal WM for linux-fb. * gtk/gtkwindow.h: Add the possibility for GtkWindows to specify a frame. This is used for the window decoration code, but could concievably be used for X programs too (xmms style windows). GtkWindow->frame is the toplevel window if the window is framed. The signal frame_event gets all events that are targeted to GtkWindow->frame. (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c. * gtk/gtkwindow.c: Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions. Call out to gtkwindow-decorate.c for WM support in linx-fb. 2001-01-08 Alexander Larsson * docs/README.linux-fb: Correct filename ~/.pangoft2_aliases * gdk/gdkwindow.h: Added new function gdk_window_get_decorations. * gdk/linux-fb/gdkfb.h: Removed _gdk_window_get_decorations declaration. Renamed _gdk_window_set_child_handler to gdk_fb_window_set_child_handler. * gdk/linux-fb/gdkwindow-fb.c: Renamed _gdk_window_set_child_handler to gdk_fb_window_set_child_handler. * gdk/x11/gdkwindow-x11.c: New function gdk_window_get_mwm_hints(). Implemented gdk_window_get_decorations. * docs/reference/gdk/tmpl/windows.sgml: * docs/reference/gdk/gdk-sections.txt: Added gdk_window_get_decorations docs. 2001-01-08 Alexander Larsson * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus, gdk_fb_window_find_focus, gdk_fb_send_focus_change, gdk_fb_window_send_crossing_events): Possibly send focus events when the mouse moves from one window to another. 2001-01-07 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_set_title, gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8 to match current API. * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret environment variable is set, don't call g_error when on a palettized (PseudoColor) display. Some people want to use GTK+ in 256-colour mode even though works only partially. * gdk/gdk.def * gtk/gtk.def * gtk/makefile.mingw.in: Update. 2001-01-05 Havoc Pennington * tests/testtreeview.c: hack on this a bit * gtk/gtktextlayout.c (gtk_text_layout_class_init): s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): was spelled incorrectly (GTK_IS_TREE_MODEL_SIMPLE): ditto * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename from gtk_tree_view_set_headers_active * gtk/gtktexttag.c: (gtk_text_tag_get_property): handle PROP_DIRECTION (gtk_text_tag_set_property): g_object_notify when we toggle the _set properties, bug 40235 * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename forward_to_line_end Fri Jan 5 16:16:29 2001 Owen Taylor * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c}, modules/input/gtkimcontextxim.c: Adapt to new prototypes for unicode,locale,filename conversion functions. 2001-01-05 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was broken if called on the first position in the buffer. * gtk/gtktextlayout.c (line_display_index_to_iter): fix forward_to_delimiters to be called only if we aren't already at the delimiters. 2001-01-05 Havoc Pennington * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix. 2001-01-05 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free colormap in here. Sync from X port. (gdk_fb_set_colormap): allow the colormap to be NULL if you like. Sync from X port. (gdk_fb_clip_region): Comment out g_warning about empty clip region. This happens now and then, and i don't think it is a bug. (gdk_fb_draw_polygon): Correctly add extra point if startpoint != endpoint. (gdk_fb_draw_lines): Don't draw dashed lines if line_style is GDK_LINE_SOLID. * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has some of the fields filled in at least. * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and miLineArcD is no more, remove it from the function definition. 2001-01-04 Havoc Pennington * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add this * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to user_data instead of tree_node * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from TREE_VIEW_COLUMN_SIZE * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename "size" field to "width" finishes bug 40061 * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint for bitfields, bug 40268 2001-01-04 Havoc Pennington Rename some stuff: s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g; s/GtkModelSimple/GtkTreeModelSimple/g; s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g; s/gtk_model_simple/gtk_tree_model_simple/g; s/gtkmodelsimple/gtktreemodelsimple/g; s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g; s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g; s/column_set_col_type/column_set_sizing/g; s/GtkTreeSelectionType/GtkTreeSelectionMode/g; s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g; s/GtkCellRendererType/GtkCellRendererState/g; * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h (gtk_cell_renderer_toggle_class_init): change "state" property to "active", to match GtkToggleButton (gtk_cell_renderer_toggle_get_active): new function, bug 40269 (gtk_cell_renderer_toggle_set_active): new function (gtk_cell_renderer_toggle_set_property): route changes to toggle state through gtk_cell_renderer_set_active Thu Jan 4 15:46:18 2001 Jonathan Blandford * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers temporarily until they work again. Brought up to date with changes in the model. * gtk/gtkmodelsimple.h: Brought up to date with changes in the model. 2001-01-04 Havoc Pennington * gtk/gtktextlayout.c (line_display_index_to_iter): if index is equal to the line length, then position iterator before paragraph separators. Fixes crash reported by Mikael Hermansson when pressing left arrow from the start of a line. * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error about byte indexes off the end (iter_set_from_char_offset): add g_error about char offsets off the end 2001-01-03 Havoc Pennington * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use of private functions; remove inclusion of private headers. * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this function, so we don't need private functions in gtktextdisplay.c * gtk/gtktextiterprivate.h: underscore-ification * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL" to instead say "only useful to implement widgets" * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS, GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS, GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249. * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap): This function was completely broken * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use gtk_paint_layout * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use gtk_paint_layout * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders. Progress on bug 40103. Add draw_layout to draw a PangoLayout. (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp, which were not implemented. * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add insert_pixbuf signal. Rename delete_text to delete_range since it also deletes pixbufs and child anchors. This almost closes bug 40245 (still need to deal with child anchors) * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add insert_pixbuf, change signal names as appropriate, change types of signals taking marks/tags to have the specific type, not just G_TYPE_OBJECT * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; closes bug 40051 * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up unnecessary remove_contents() call (gtk_option_menu_class_init): add a "changed" signal, closes bug 40039 (gtk_option_menu_update_contents): emit "changed" if the active menu item changes * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad cast to GtkObject, reported by Jonas Borgstrom (gdk_pixbuf_loader_finalize): don't close the loader on finalize; we can't do stuff with side effects in finalize. Instead, spew a warning if the loader isn't closed. * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free colormap in here, non-X ports probably need to sync to this change * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove assertion that colormap != NULL, you can set the colormap to NULL if you like. * Makefile.am: remove gtk-config-2.0 * configure.in: Use pkg-config to locate GLib. Remove separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used, and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow. Use pkg-config to locate Pango. Output correct Pango libs to gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix). * Makefile.am (pkgconfig_DATA): install only target-specific pc files (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the X11 pc files * gtk+-2.0.pc.in (Requires): require the GDK for the current target unref from here 2001-01-03 Alexander Larsson * configure.in: Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS. Tue Jan 2 16:23:05 2001 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): Fix unitialized variable when moving back onto a single line. 2001-01-01 Havoc Pennington * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@ * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@ * configure.in (LIBTOOL_EXPORT_OPTIONS): define LIBTOOL_EXPORT_OPTIONS with options to control symbol export 2001-01-01 Havoc Pennington * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here. * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for GtkTextAttributes * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug #40246 (gtk_text_attributes_copy_values): rename from gtk_text_attributes_copy (gtk_text_attributes_copy): a more standard GTK copy function, which returns a new object 2001-01-01 Havoc Pennington * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view): don't fill in tree_view->priv->selection, kind of an unexpected side effect * gtk/gtkcellrenderertext.c: Remove definition of _ and include gtkintl.h * gtk/gtkcellrenderer.c: Remove definition of _ and include gtkintl.h (gtk_cell_renderer_get_property): remove calls to g_value_init * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include gtkintl.h * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro and include gtkintl.h (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from property names * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return GtkTreeSelection (_gtk_tree_selection_new_from_with_view): rename, return GtkTreeSelection (_gtk_tree_selection_set_tree_view): rename with uscore (gtk_tree_selection_get_selected): fill in the "model" out param first, so it gets filled in even if we return at the top of the function (gtk_tree_selection_real_select_all): add a comment and an else{} to clarify this a bit (gtk_tree_selection_real_unselect_all): add the same else{} * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and set_tree_view to have underscore prefixes, move them to the private header, fix return type of new_with_tree_view (struct _GtkTreeSelection): mark struct fields private * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return GtkTreeModelFlags, not a guint (gtk_tree_path_prev): return gboolean not gint (gtk_tree_path_up): return gboolean not gint * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags return GtkTreeModelFlags, not a guint * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check that child model is non-null before unrefing it (g_value_int_compare_func): make this a qsort compare func, not a boolean predicate * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column, (add -umn to the end), and mark it unimplemented (gtk_tree_model_sort_resort): remove, this wasn't implemented, and I don't see what it's for - doesn't the model always sort itself? (gtk_tree_model_sort_set_compare): this had the wrong signature * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes): Fix the docs to say that it destructively replaces existing attributes (previously said that it added attributes). (gtk_tree_view_column_set_visible): canonicalize bool before equality testing. Also, check for realization before hiding/showing the tree_column->window; if this window could exist before realization, then it's busted and needs fixing, we can't create GDK resources pre-realization. Also, remove superfluous queue_resize(), since set_size() does that for us. (gtk_tree_view_column_set_col_type): check realization before using tree_column->window * gtk/gtktreedatalist.c: fix filename in copyright notice 2000-12-31 Havoc Pennington * gtk/gtktextview.c: Rearrange all the scroll-while-dragging-or-selecting code to be different, not necessarily better. ;-) (gtk_text_view_scroll_to_mark): Change this function to take within_margin as a fraction instead of a pixel value, and to take alignment arguments (indicating where to align the mark inside the visible area) * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag to GtkObject * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change behavior so that offsets past the end of the line are not allowed, and an offset equal to the line length moves the iterator to the next line (gtk_text_iter_set_line_index): make parallel change (gtk_text_iter_get_bytes_in_line): add this function * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling of byte indexes off the end of the line; byte index at the end of the line now returns FALSE and doesn't fill in the requested values, byte index past the end of the line is an error. Also, don't allow -1 offset anymore, since its meaning is unclear. This change exposes some bug in visual cursor motion, where we end up with a huge invalid byte index; needs fixing. Symptom of bug is a crash when you hit up arrow. (_gtk_text_line_char_locate): match the change to byte_locate * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward from start of line properly. fixes bug reported by Mikael Hermansson where backspace would delete all text before the cursor. 2000-12-30 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_get_visible_region): New function, as in the X11 backend. (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8() instead of duplicating the same code here. * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use GDK_COLORMAP macro. * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as destroy function. (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly access that. * gtk/gtk.def: Update. * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject. 2000-12-30 Havoc Pennington * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system colormap on input only windows, to avoid special cases all over the code for these windows. 2000-12-26 Tor Lillqvist * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if we are on a palettized display ("PseudoColor" in X11), as the code for that doesn't work anyway, and never has. 2000-12-22 Alexander Larsson * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io): Don't use isprint() for chars > 255. 2000-12-21 Havoc Pennington * tests/testtreeview.c: more work 2000-12-21 Alexander Larsson * docs/README.linux-fb: Update the docs to the new pangoft2 way. 2000-12-21 Alexander Larsson * configure.in: For linux-fb get the pangoft2 cflags and libs. This needs a recent pango version. Remove modules/linux-fb/Makefile. * gdk/linux-fb/gdkdrawable-fb2.c: Render glyphs using freetype. * gdk/linux-fb/gdkfb.h: Add new fb-specific functions needed for managing windows. * gdk/linux-fb/gdkmain-fb.c: Remove gdk_font_init/fini() calls. * gdk/linux-fb/gdkpango-fb.c: Remove old implementation. Use pangoft2 instead. * gdk/linux-fb/gdkprivate-fb.h: Remove PangoFBFont and related stuff. * gdk/linux-fb/gdkwindow-fb.c: Implement drawable->get_visible_region. Implement support for _gdk_window_set_child_handler () and _gdk_window_get_decorations(). * modules/Makefile.am: Remove linux-fb subdir. * modules/linux-fb/*: Removed all. 2000-12-20 Jonathan Blandford * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init calls, as they are no longer needed. * gtk/gtktreemodelsort.c: Fix up the comparison code. * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to figure out how to emit a signal on an interface. 2000-12-20 Havoc Pennington * tests: new directory to contain tests, gtk/test* should move here sometime (with appropriate on-cvs-server hackery) * tests/testtreeview.c, tests/Makefile.am: a test * configure.in (AC_OUTPUT): add tests/Makefile * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible" and "invisible_set" which were missing * gtk/gtkrbtree.h: some cheesy indentation fix 2000-12-20 Alexander Larsson * gtk/gtkinvisible.c (gtk_invisible_realize): Attach the style to the window so that the style it is not leaked when unrealizing the window. 2000-12-18 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do begin/end user action where appropriate (gtk_text_view_commit_handler): add begin/end user action * gtk/gtktextbuffer.c: add begin/end user action signals, and bracket interactive operations with begin/end user action pair. * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove "interactive" arg from insert_text and delete_text signals. Add begin_user_action, end_user_action signals (gtk_text_buffer_begin_user_action): (gtk_text_buffer_end_user_action): New functions to delimit a user-visible action * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer signals. 2000-12-18 Havoc Pennington * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation was pretty non-working. * gtk/testtext.c (fill_file_buffer): make this a bit more robust by passing the length to g_utf8_validate(). 2000-12-16 Havoc Pennington * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: Port to GObject, can go back in gdk-pixbuf after setting up a gdk-pixbuf-marshal.h header over there. * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g; (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal args (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be set (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons here, do it when we create the buttons later (gtk_tree_view_realize_buttons): add some g_return_if_fail (gtk_tree_view_map): paranoia checks that column->button is shown and unmapped (gtk_tree_view_size_request): only request visible children. Move header size calculation in here, for cleanliness, and to maintain invariants for child widgets if we eventually let users set different children inside the buttons (gtk_tree_view_map_buttons): factor out code to map buttons, since it was being called several times (gtk_tree_view_size_allocate_buttons): move_resize the drag windows instead of just moving them; their height may change if we allow random widgets in there, or the theme changes. (gtk_tree_view_size_allocate): move button size allocation above emitting the scroll signals, to ensure a sane state when we hit user code (gtk_tree_view_button_release): remove queue_resize after tree_view_set_size(), set_size() will handle any resize queuing that's needed (gtk_tree_view_focus_in): just queue a draw, don't fool with draw_focus goo (gtk_tree_view_focus): use gtk_get_current_event() and gdk_event_get_state() (gtk_tree_view_deleted): don't queue_resize() after calling set_size() (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove semicolon (gtk_tree_view_create_button): show the button here (gtk_tree_view_button_clicked): actually emit the clicked signal on the column (_gtk_tree_view_set_size): return right away if the size is unchanged, as a cheesy optimization (gtk_tree_view_setup_model): rename set_model_realized to setup_model to match the flag that indicates whether we've called it (gtk_tree_view_get_hadjustment): create adjustment if it doesn't exist, because set_scroll_adjustment does that and it shouldn't matter what order you call these in (gtk_tree_view_get_vadjustment): ditto (gtk_tree_view_set_headers_visible): canonicalize the bool, for paranoia (gtk_tree_view_set_headers_visible): call gtk_tree_view_map_buttons() instead of using cut-and-paste code (gtk_tree_view_append_column): clarify whether the return value is the count of columns before or after, and do the increment separately from the return statement so you can tell from the code. (gtk_tree_view_remove_column): ditto (gtk_tree_view_insert_column): ditto (gtk_tree_view_get_column): remove g_return_if_fail for columns outside the existing range, the docs say that outside-range columns are allowed, so we handle them as documented. (Presumably this allows a nice loop with column != NULL as test.) (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments mean (left/right/center etc.). (gtk_tree_view_collapse_all): only queue a draw if we're mapped (gtk_tree_view_expand_row): add docs (gtk_tree_view_collapse_row): add docs * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new function to emit the clicked signal on a column * gdk/gdkevents.c (gdk_event_get_state): new function, to get the state of an event (gdk_event_get_time): don't treat GDK_SCROLL as a button event, remove default case from switch so gcc will whine if we don't explicitly handle all event types * gtk/gtktreeselection.h: added some FIXME * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename "columns" to "n_columns" and "column" to "columns" for clarity 2000-12-16 Havoc Pennington * gtk/gtktextiter.c: General cleanup of the log attr iteration stuff. This should make e.g. the delete key work again in the text widget... (gtk_text_iter_forward_cursor_positions): handle negative count (gtk_text_iter_backward_cursor_positions): handle negative count (gtk_text_iter_forward_word_ends): handle negative count (gtk_text_iter_backward_word_starts): handle negative count * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to GObject. No doubt will cause breakage. * demos/gtk-demo/textview.c: remove hacks around non-GObject-ification of the text objects * demos/gtk-demo/main.c (main): use g_object_set() to manipulate the text tag 2000-12-14 Havoc Pennington * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined that we have Xrender Thu Dec 14 20:22:31 2000 Owen Taylor * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}: Add two virtualized functions gdk_drawable_get_clip_region - to get the clip region when drawing. * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple use invalidate_region. * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible region. * acconfig.h configure.in: Check for Xft. For now, assume that if Xft is found, Pango was compiled with Xft support as well. * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add gdk_colormap_query_color(). * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw with Xft if appropriate. * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create a pangoxft context if we have XFT and the environment variable GD_USE_XFT is set. * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel and also possibly an XftDraw structure. * gtk/gtkfontsel.c: Handle the case where the font from the style doesn't match any of the fonts a bit better. * gtk/testgtk.c: Add tabs between directional segments for hebrew/arabic test. (Not really necessary, just a little prettier.) 2000-12-14 Havoc Pennington * gtk/testtext.c (fill_file_buffer): fix unicode validation when reading a file 2000-12-14 Havoc Pennington * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove unused call to get_last_line() * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER here until boxed is working (and maybe after that - we should really not gratuitously break old code) * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out specific types for font_desc and tabs args, move them to GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get fixed. Move GdkColor args to GTK_TYPE_POINTER also. * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily use GTK_TYPE_POINTER for signal signatures as a hack-around * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and PangoTabArray * gtk/gtktextlayout.c (line_display_iter_to_index): make static (line_display_index_to_iter): make static * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller to marshal a string not a boxed * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char since the UTF-8 isn't validated yet * gtk/gtktextsegment.c (char_segment_check_func): don't require lines to end in '\n' * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use forward_to_delimiters, and grapheme boundaries (gtk_text_view_delete_from_cursor): properly handle non-newline delimiters, and grapheme boundaries * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename to gtk_text_iter_forward_to_delimiters, and make it work properly if empty lines end with a character other than '\n' * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor position 2000-12-15 Tor Lillqvist * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys. * gtk/gtk.def * gdk/gdk.def: Update. * gdk/win32/gdkmain-win32.c * gdk/win32/gdkkeys-win32.c: New file. Move some functions from gdkmain-win32.c here. * gdk/win32/makefile.mingw.in (all): No need to make gdk-win32res.o here, the makefile one step up will call us to make it. * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add gdkkeys-win32. * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall. * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover call to g_source_add(). * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory leak. Thanks to Andreas Kemnade. 2000-12-13 Havoc Pennington * gtk/gtktextbtree.h: Remove double _ in front of some functions * gtk/gtktext*.[hc]: update accordingly 2000-12-13 Havoc Pennington * gtk/gtktextbtree.h: Put _ in front of every function in this header file * gtk/gtktext*.[hc]: update to reflect renamed btree functions 2000-12-13 Alex Larsson * gdk/linux-fb/gdkmouse-fb.c (mouse_devs): Add support for ps2 intellimouse. * gdkkeyboard-fb.c: Move shift-F1 repaint handling to xlate handler only. * docs/README.linux-fb: Add imps2 to docs. Document the new refresh keys. Tue Dec 12 23:46:44 2000 Tim Janik * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe. * gtk/gtkbox.c: change property types from (u)long to (u)int for ::position and ::padding. * gtk/gtkcontainer.c: make ::border_width an INT property. * gtk/gtkpacker.c: make ::position an INT property. * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard against NULL h/v scrollbars, since this is used at construction time. * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented internal gtk_clist_constructor(). * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented gtk_ctree_constructor(). * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION. * docs/reference/Makefile.am: fun stuff, disabled docs generation again, gtk-scan.c needs to introspec paramspecs, not GtkAgs. * gtk/gtkwidget.[hc]: removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv() and gtk_widget_get(). (gtk_widget_new): use g_object_new_valist(). (gtk_widget_set): use g_object_set_valist(). * gtk/gtkobject.[hc]: removed gtk_object_arg_get_info(), gtk_object_getv(), gtk_object_query_args(), gtk_object_newv(), gtk_object_class_add_signals(), gtk_object_class_user_signal_new(), gtk_object_class_user_signal_newv(), gtk_object_arg_set(), gtk_object_arg_get(), gtk_object_args_collect(), gtk_object_default_construct(), gtk_object_constructed(), GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED(). removed nsignals, signals and n_args members from GtkObjectClass. (gtk_object_new): use g_object_new_valist(). (gtk_object_set): use g_object_set_valist(). (gtk_object_get): use g_object_get_valist(). * gtk/gtkcompat.h: define gtk_object_default_construct(). * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via g_object_new(). * gtk/*.c: removed gtk_object_class_add_signals() from class_init() fucntions, cleaned up method assignments (make sure your structures are setup properly before calling out). removed all GTK_CONSTRUCTED hacks ;) Tue Dec 12 11:52:16 2000 Owen Taylor * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix off-by-one error in checks. (Dave Lambert) 2000-12-12 Alexander Larsson * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close): Don't free gdk_fb_keyboard twice. Tue Dec 12 08:24:42 2000 Tim Janik * gtk/testgtk.c: (create_tooltips): (create_statusbar): get rid of object_signal:: GtkObject argument uses, use GObject swapped_signal:: properties instead. * gtk/gtkcellrenderertoggle.c: * gtk/gtkcellrenderertextpixbuf.c: * gtk/gtkcellrenderertext.c: * gtk/gtkcellrendererpixbuf.c: * gtk/gtkcellrenderer.c: * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed missing warnings for invalid property ids, install properties with g_object_class_install_property() now. * gtk/gtksignal.c: (gtk_signal_emit): let g_signal_emit_valist() collect the values for us. Wed Oct 25 14:17:43 2000 Owen Taylor * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function to determine if a window is the focus widget within its toplevel. * gtk/gtkcontainer.[ch]: Fix the return type of ::focus to be boolean. * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling of the case where the container CAN_FOCUS to here instead of having it in each individual move-the-focus place. * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down focusing to be geometric in a much more obvious sense. Arrowing around is still non-intuitive because it isn't perfect and because entries, etc, grab the arrow keys, but it at least usually will do what you expect now. * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this file. * gtk/gtknotebook.c: Change tabs to be a single item in the focus chain. Make movement of focus on tabs with arrow keys wrap around. * gtk/gtknotebook.c (gtk_notebook_find_child): Add CHECK_FIND_CHILD macro to give informative error messages instead of silent returns. * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT flag since we handle GdkReturn on the tabs. * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate windows rather than sending expose events directly. * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure definition for GtkNotebookPage into .c file, since it is private. * gtk/testgtk.c (create_notebook): Add option for testing borderless notebook. * gtk/testgtk.c (page_switch): Removed egregious poking around in GTK+ internals. * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING. * gtk/gtkclist.[ch]: Remove key press handler, handle focusing properly through gtk_clist_focus. Make the title headers a single item in the tab-focus chain, and make left-right wrap around. * gtk/gtkwindow.c (gtk_window_focus): Add a custom focus method so that wrapping around works properly. * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - that is handled for the widget now. Mon Dec 11 11:41:12 2000 Owen Taylor * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible widgets as TOPLEVEL. * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume TOPLEVEL widgets are containers. * gtk/gtkinvisible.h: Remove useless include. 2000-12-11 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Handle chopping off \r\n and 0x2029 in addition to \n before passing to PangoLayout * gtk/gtkimcontextsimple.c (gtk_im_context_simple_get_preedit_string): return an empty string if no match is pending * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add assertion that the returned preedit string was sane * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c: s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g; s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g; Mon Dec 11 10:02:26 2000 Owen Taylor * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): Fix up finalizer to chain to its parent. 2000-12-11 Alexander Larsson * docs/README.linux-fb (GDK_KEYBOARD_TYPE): Clearified the difference between the keyboard types. Wrote a note about the magic sysrq key to get out of raw mode. 2000-12-09 James Henstridge * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct member to hold masks for detecting the start of a protocol packet. (mouse_devs): add packet start masks for ps2 and ms device types. Left the mask for fidmour blank, as I have no idea what it should be. (handle_mouse_io): skip bytes until we get to the start of a packet. My Logitech mouse seems to be passing an extra NULL pad byte, and GPM does a similar thing here. (gdk_fb_mouse_ms_open): changed error message to not say psaux, as this is the ms mouse driver. (gdk_fb_mouse_ms_packet): fix up button handling, which was completely broken except for button1. It was checking the wrong bit in the packet for the status of the right mouse button, and wrongly assuming right == button2 rather than 3. I fixed that and also added support for middle button (button2). 2000-12-08 Havoc Pennington * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here that cause a segfault on text insertion * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix warning * gtk/gtktextiter.c (test_log_attrs): use _gtk_text_buffer_get_line_log_attrs to speed things up a bit * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): Get log attrs for a line, using a cache stored on the buffer * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo, reported by Jeff Franks 2000-12-08 Alexander Larsson * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open): /dev/ttyS0 -> /dev/mouse 2000-12-08 Alexander Larsson * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load): Added dummy gdk_fontset_load. 2000-12-08 Alexander Larsson * docs/README.linux-fb: * docs/Makefile.am: Initial GtkFB docs. * gdk/linux-fb/Makefile.am: Define GDK_DATA_PREFIX. * gdk/linux-fb/gdkmain-fb.c: Fix typo. Change default display to /dev/fb0. * gdk/linux-fb/gdkpango-fb.c: Add $(prefix)/share/fonts/ to font path. 2000-12-08 Alexander Larsson * gdk/linux-fb/gdkkeyboard-fb.c: New file containing the abstracted keyboard driver. Most code taken from gdkinput-ps2.c * gdk/linux-fb/gdkinput-ps2.c: Removed file. * gdk/linux-fb/Makefile.am: Added gdkkeyboard-fb.c, removed gdkinput-ps2.c. * gdk/linux-fb/gdkcolor-fb.c: display->fb was renamed to display->fb_fd. * gdk/linux-fb/gdkcursor-fb.c: gdk_mouse_get_info -> gdk_fb_mouse_get_info * gdk/linux-fb/gdkinput.c: Moved gdk_input_init here from gdkinput-ps2.c * gdk/linux-fb/gdkmain-fb.c: display->fb was renamed to display->fb_fd. Now the tty and the console is opened here instead of in the keyboard driver. Also check GDK_VT to see what tty to open. Move gdk_beep () here from gdkinput-ps2.c gdk_mouse_get_info -> gdk_fb_mouse_get_info * gdk/linux-fb/gdkmouse-fb.c: Add header. gdk_mouse_get_info -> gdk_fb_mouse_get_info Return correct keyboard modifiers. GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy * gdk/linux-fb/gdkprivate-fb.h: Add tty and vt info to display. Add orignal modeinfo storage to display Update global functions * gdk/linux-fb/gdkwindow-fb.c: Added gdk_fb_window_find_focus(). gdk_mouse_get_info -> gdk_fb_mouse_get_info 2000-12-07 Havoc Pennington * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of function, noticed by Alex 2000-12-06 Elliot Lee * configure.in: Detect freetype properly * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of above. 2000-12-06 Alexander Larsson * gdk/linux-fb/Makefile.am: Add gdkmouse-fb.c * gdk/linux-fb/gdkmouse-fb.c: New file. Abstracted the mouse drivers a bit. * gdk/linux-fb/gdkcursor-fb.c: The cursor hide/show functions was moved here from gdkinput-ps2.c. * gdk/linux-fb/gdkinput-ps2.c: Removed old mouse handling code. Moved cursor handling code to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to gdk_mouse_get_info. * gdk/linux-fb/gdkmain-fb.c: Pass NULL pointers for x,y in gdk_mouse_get_info call. * gdk/linux-fb/gdkprivate-fb.h: Removed public gdk_fb_find_common_ancestor, added and renamed functions for the new mouse handling code. * gdk/linux-fb/gdkwindow-fb.c: Moved gdk_fb_window_send_crossing_events here. added global variable gdk_fb_window_containing_pointer. made gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was renamed to gdk_mouse_get_info. 2000-12-06 Alexander Larsson * gdk/linux-fb/gdkevents-fb.c: Update to match latest gmain/gsource changes. * gdk/linux-fb/gdkinput-ps2.c: Bogus gdk_keymap_get_entries_for_keycode implementation so that it links. Will be implemented later. 2000-12-03 Havoc Pennington * gdk/Makefile.am: add gdkkeys.[hc] * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these files from gdk.h, gdk.c; add GdkKeymap type and operations on it. * acconfig.h, configure.in: add checks and command line options for XKB * gdk/x11/gdkkeys-x11.c: Implement the above functions * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode and group in the key event * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode field with the low-level hardware key code, and a group field with the keyboard group * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB, and declare a couple globals used for keymap handling * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method, hold down Shift-Control and type a hex number to get a Unicode character corresponding to the hex number (gtk_im_context_simple_get_preedit_string): Fix cursor position (return bytes not chars) 2000-12-05 Elliot Lee * gdk/gdkcolor.h: Make GdkColor specify element sizes to avoid waste on 64-bit platforms. Tue Dec 5 15:49:31 2000 Owen Taylor * INSTALL: Fix link to PNG home, remove reference to fribidi. * gdk/x11/gdkevents-x11.c: Fix up for new GMain API. * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not tested.) * gtk/gtkcheckmenuitem.c: Permanently turn on always_show_toggle. * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to be NULL. (Vladimir Klebanov, #26545) * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix some signed/unsigned comparison problems. (#6510, David Kaelbling) * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change return type to boolean (Oskar Liljeblad, #18648) 2000-12-05 Alexander Larsson * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new): Remove bogus colormap setting. 2000-12-05 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c: More complete colormap handling. Now GdkRGB work in 8 bpp modes. * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image): Must set colormap. Tue Dec 5 13:17:53 GMT 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: DND updates 2000-12-05 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3): Remove old debug g_warning(). (gdk_fb_draw_drawable): The src argument can be either a wrapper or an implementation, just pass the implementation to draw_drawable_2. * gdk/linux-fb/gdkprivate-fb.h: Added GDK_IS_DRAWABLE_IMPL_FBDATA() * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy): clear and invalidate area when window is destroyed. (send_map_events): Remove old commented out code. 2000-12-05 Alexander Larsson * gdk/linux-fb/gdkpango-fb.c: Use italic instead of oblique in font aliases. * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic, _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for other unsupported functions. 2000-12-04 Havoc Pennington * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary hack to avoid infinite loops (synthetic expose event) - Owen has more appropriate fixes in a branch he'll check in later. * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph separator, CR, and CRLF as line ends * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break into lines using pango_find_paragraph_boundary(); other bits of the widget are still going to be broken if the boundary isn't '\n' though 2000-12-04 Alexander Larsson * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not multiply. * gdk/linux-fb/gdkpango-fb.c: Copied some 26.6 scaling macros from pango to clean up the rounding. (pango_fb_font_get_glyph_info): Correct sign on x value. * gdk/linux-fb/gdkprivate-fb.h: Removed unreferenced external functions. * modules/linux-fb/Makefile.am: Use ` instead of '. * modules/linux-fb/basic.c: Remove dead code. In particular the dummy lang engine which broke all pango layouts in GtkFB. Don't include tables-big.i anymore. * modules/linux-fb/tables-big.i: Upgrade to latest version from pango. Left for reference, basic_ranges moved to basic.c. 2000-12-04 Havoc Pennington Fix bugs Alex found: * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection to "draw" * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw" * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw" * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() implementation in here, apparently the expose() implementation was dead code. 2000-12-04 Alexander Larsson * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics): Return positive descent. 2000-12-02 Havoc Pennington * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual method and signal * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then calls gdk_window_process_updates() to push the exposes through (gtk_widget_class_init): No more draw signal, no gtk_widget_real_draw() * gtk/gtkbin.c (gtk_bin_draw): remove * gtk/gtkbox.c (gtk_box_draw): remove * gtk/gtkbutton.c (gtk_button_draw): remove * gtk/gtkcalendar.c (gtk_calendar_draw): remove * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove * gtk/gtkclist.c (gtk_clist_draw): remove * gtk/gtkentry.c (gtk_entry_draw): remove * gtk/gtkeventbox.c (gtk_event_box_draw): remove * gtk/gtkfixed.c (gtk_fixed_draw): remove * gtk/gtkframe.c (gtk_frame_draw): remove * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove * gtk/gtkhpaned.c (gtk_hpaned_draw): remove * gtk/gtklayout.c (gtk_layout_draw): remove * gtk/gtklist.c (gtk_list_draw): remove * gtk/gtklistitem.c (gtk_list_item_draw): remove * gtk/gtkmenu.c (gtk_menu_draw): remove * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove * gtk/gtknotebook.c (gtk_notebook_draw): remove * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove * gtk/gtkpacker.c (gtk_packer_draw): remove * gtk/gtkrange.c (gtk_range_draw): remove * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove * gtk/gtktable.c (gtk_table_draw): remove * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove * gtk/gtktext.c (gtk_text_draw): remove * gtk/gtktextview.c (gtk_text_view_draw): remove * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove * gtk/gtktoolbar.c (gtk_toolbar_draw): remove * gtk/gtktree.c (gtk_tree_draw): remove * gtk/gtktreeitem.c (gtk_tree_item_draw): remove * gtk/gtktreeview.c (gtk_tree_view_draw): remove * gtk/gtkviewport.c (gtk_viewport_draw): remove * gtk/gtkvpaned.c (gtk_vpaned_draw): remove * gtk/gtkvscale.c (gtk_vscale_draw): remove * gtk/gtkwindow.c (gtk_window_draw): remove 2000-20-01 Anders Carlsson * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when a GtkToggleButton is both insensitive and active, it was being drawn by the GtkButton draw handler which doesn't check the state. Now it's calling gtk_toggle_button_paint instead. 2000-12-01 Havoc Pennington * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create dangling pointers to the appearance attributes from the line display * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative width/height to mean "full width/height of drawable" * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple click to select word/line * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters when getting log attrs. Get a slice, so that pixmaps and stuff are properly handled. * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you paste into the selection (replaces selection now, previously crashed or added to selection). Reveals longstanding btree bug - select multiple lines, middle-click on the selection, boom. This isn't related to my changes though. * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect PangoLogAttrs changes (gtk_entry_move_backward_word): ditto * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion functions return bool whether the iter moved onto a dereferenceable position. * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public functions for motion in terms of display lines. * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to get the buffer a mark is inside 2000-12-01 Alexander Larsson * gdk/linux-fb/Makefile.am: * modules/linux-fb/Makefile.am: Freetype 2 final uses freetype-config * gdk/linux-fb/gdkpango-fb.c: Upgrade to use Freetype 2 final. More flexible support for font aliases, this also fixes a bug with GtkFontSelector, as the aliases must be visible in the font/family list, or GtkFontSelector reads uninitialized memory. 2000-11-30 Hidetoshi Tajima * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to XGetIMValues to properly terminate variable argument list, and do NULL return check for ic_values and xim_styles. * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset): Restore preedit state after XmbResetIC(). * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): XvaCreateNestedList() should take XvaNestedList, but not XvaNestedList*. * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset, preedit_draw_callback, preedit_caret_callback): Match "preedit-changed" signal name to "preedit_changed" to be consistent to the spec. * gtk/gtkimcontextsimple.c (check_table): Match "preedit-changed" to "preedit_changed" to be consistent to the spec. Thu Nov 30 23:03:04 2000 Owen Taylor * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle gc->clip_region == NULL> 2000-11-30 Tor Lillqvist Changes by Hans Breuer: * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints): Dont't use negative width and height as max_hints. This fixes Owen's recent testgtk changes for win32. * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get, gdk_win32_hdc_release): These are exported and may be called with other drawable types than our GdkDrawableImplWin32 (?). * gdk/gdkwindow.c: Backing store appears to work on Windows now, so always #define USE_BACKING_STORE. * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead of printf for debugging output. * gtk/gtktextlayout.c (allocate_child_widgets): Ditto. * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto. * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport declaration. * gtk/gtktexttypes.h: Ditto. * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value (GDK_VoidSymbol) also if in case of arg check failure. * gtk/gtkimcontextsimple.c (gtk_im_context_simple_get_preedit_string): Don't assign cursor position to the pointer, but to the variable it points to. * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION. * gtk/gtk.def: Updates. 2000-11-29 Elliot Lee * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not GTK_TYPE_TREE_MODEL. 2000-11-29 Alexander Larsson * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): Set the size of the font from the description. (gdk_text_width): Gross hack that calculates the width of text by text_length * size/2. This is necessary because GtkLabel does some ugly gtk_string_width call to calculate an good size. (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face. Wed Nov 29 13:39:19 GMT 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: DND updates 2000-11-29 Alexander Larsson * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area): If you pass width or height == 0 to gdk_window_clear_area they should be calculated from the window size. 2000-11-29 Alexander Larsson * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is a grab, but no grab-cursor, use the cursor from the grabbed window. (gdk_fb_window_send_crossing_events): Send normal enter/leave notifications if grab and owner_events == TRUE. 2000-11-29 Alexander Larsson * gdk/linux-fb/gdkinput-ps2.c (send_button_event): Do implicit button grabs, even if the window doesn't want the event. (gdk_fb_window_send_crossing_events): If there is a grab, only the grabbed window gets normal enter/leave notifications. On ungrab go from grabbed window to current. Don't send any notification to b when propagating from c -> b. If setting a grab on window, don't set prev_window. (handle_mouse_input): Send enter/leave events to the window the mouse is over, not the grabbed one. 2000-11-28 Elliot Lee * gdk/gdkregion-generic.c: Zap warning. * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds. 2000-11-28 Alexander Larsson * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize): The cursor should be hidden if it is part of either the source or destination region. Not only if it is in both. (gdk_window_set_transient_for): Silence warnings. 2000-11-28 Alexander Larsson * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup): The default mode in X is Pie Arcs, therefore that is what Gtk+ uses. 2000-11-28 Alexander Larsson * gdk/linux-fb/gdkinput-ps2.c: Implement correct EnterNotify/LeaveNotify: (gdk_fb_window_send_crossing_events): New function that sends all GdkCrossingEvents from the last mouse-window to the specified destination. (gdk_fb_window_visibility_crossing): Removed function. (handle_mouse_input): Use gdk_fb_window_send_crossing_events() (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer instead of gdk_window_get_pointer() for better readability. * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab, gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events. * gdk/linux-fb/gdkprivate-fb.h: removed gdk_fb_window_visibility_crossing, added gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor. gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor): New function that finds the least common ancestor of two windows. (gdk_window_show, gdk_window_hide): Use gdk_fb_window_send_crossing_events. (gdk_fb_window_move_resize): Send configure events to toplevel windows. Use gdk_fb_window_send_crossing_events. 2000-11-27 Havoc Pennington * gtk/gtkprivate.h (enum): Remove a trailing comma 2000-11-27 Federico Mena Quintero * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to the "changed" callback of the adjustment. We need to redraw the spin button's arrows when the adjustment's range changes. (adjustment_changed_cb): Draw the arrows. (gtk_spin_button_value_changed): Draw the arrows. 2000-11-23 Alexander Larsson * gdk/linux-fb/gdkselection-fb.c: Initial selection implementation. * gtk/gtkselection.c: if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up requestor in gtk_selection_request. * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c: Added gdk_selection_property atom. * gdk/linux-fb/gdkprivate-fb.h: Export _gdk_selection_window_destroyed. Removed mask_off_x/y from GdkCursorPrivateFB. Removed hbearing, added top, left to PangoFBGlyphInfo. * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy): Call _gdk_selection_window_destroyed (_gdk_windowing_window_init): Don't call gdk_cursor_new() before the root window has been created. (static_dx_hack, static_dy_hack, compare_draw_rects, gdk_fb_window_move_resize): Remove unnecessary sort of rectangles in region. They are already sorted. Instead just traverse them in reverse if draw_direction < 0. * gdk/linux-fb/gdkinput-ps2.c (send_button_event): Double-clicks must be sent after the normal button_press. (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up. * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll): Pass _gdk_fb_screen_gc instead of NULL. * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check): Initialize gdk_selection_property. (gdk_event_make): Remove unused code. * gdk/linux-fb/gdkcursor-fb.c: Make the pixmap for the cursor the same size as the mask. Also remove the mask_off_x/y fields in GdkCursorPrivateFB and combine _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap() Now the whole cursor is visible. * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3): Fix bug where xdest+height instead of ydest+height was used to calculate if the source and dest overlapped. This fixes the redraw bug when the main window in testgtk was scrolled when partially covered by a tall window. Copy rectangles in region in order depending on draw_direction. Also moved the draw_direction flipping of start_y and end_y into the gc functions, as this might not be what all of them want. (gdk_fb_draw_lines): Support dashed lines. (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning so that the text is positioned correctly (was 1 pixel high). gdk/linux-fb/gdkgc-fb.c: Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where all lines were drawn a pixel to short. Also checked the default of the rest of the values, and they're the same as X now. * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info): Clean up pixel positioning of the glyphs. Just use bgy->top and bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5 to all divisions to get correct rounding behaviour. * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic, gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24): Moved start_y/end_y flip into draw_drawable implementations. Flip also x rendering when draw_direction < 0. Remove unneccesary multiply with draw_direction. Wed Nov 22 14:11:19 GMT 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: - get rid of gtk_toggle_button_toggled FUD - start DND section - needs work - based on: http://wolfpack.twu.net/docs/gtkdnd/ 2000-11-22 Alexander Larsson * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics): Correct calculation of font metrics. Now GtkEntrys have sane size. 2000-11-22 Alexander Larsson * gdk/gdktypes.h: Add new type GdkSpan * docs/reference/gdk/gdk-sections.txt, docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c, gdk/gdkregion.h: Implement and document gdk_region_spans_intersect_foreach. * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c: Add new file gdkrender-fb.c which contains all core rendering code. Add gdk_fb_fill_rectangle_generic (old rectangle code) and gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32 (optimized rectangle fillers). * gdk/linux-fb/gdkdrawable-fb2.c: Move all rendering code to gdkrender-fb.c. Change from using GdkRectangles and GdkSegments for spans to GdkSpan. Use the new span intersection functions in gdk_fb_fill_spans. gdk_fb_draw_rectangle() clips filled rectangles and calls gc->fill_rectangle with the result. gdk_fb_fill_spans() gets extra argument "sorted". * gdk/linux-fb/gdkevents-fb.c: Remove unused includes and defines. New function gdk_fb_get_time() to get correct time for events. * gdk/linux-fb/gdkinput-ps2.c: Use gdk method of generating multiple-clicks (gdk_event_button_generate) Make sure to set the time of all events. * gdk/linux-fb/gdkmain-fb.c: Use gdk_fb_get_time (). * gdk/linux-fb/gdkprivate-fb.h: New virtual GC calls: fill_span & fill_rectangle. Export gdk_fb_get_time(). gdk_fb_fill_spans() gets extra argument "sorted". * gdk/linux-fb/mi*.c: Use GdkSpan instead of GdkRectangle. Pass correct sorted to gdk_fb_fill_spans. (sorted value taken from XFree 4 source) 2000-11-22 * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what reversing the order in an if statement will do. Doing so managed to make the treemodelsort half work. Other half will follow after I get the insert function fully fixed. 2000-11-21 Elliot Lee * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly more than 2 bits. Besides, I need to implement an evil hack. :) Tue Nov 21 14:17:51 GMT 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: minor corrections 2000-11-20 Jonathan Blandford * gtk/gtktreemodelsort.h: Add convertion functions to let you convert to and from relative path's and iters. * gtk/treestoretest.c: move to having a sorted/unsorted view. Start testing sorting functions a bit better. Currently broken -- will fix in morning. 2000-11-20 Havoc Pennington * gtk/gtkwidget.c: Documented a bunch of functions in here (gtk_widget_realize): Warn if you try to realize a widget with no parent that isn't a toplevel (gtk_widget_intersect): return a gboolean 2000-11-20 Havoc Pennington * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c, gtk/testtext.c: Semi-finish widget embedding. Need guffaw scrolling to be implemented in GDK to finish. Also, right now we just size_allocate all children on every layout change, which is pretty lame. Test commented out of testtext.c, until it works better. 2000-11-20 Alexander Larsson * gdk/linux-fb/gdkdrawable-fb2.c: Removed unused arguments from gdk_fb_drawable_get_pixel(). * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2): Renamed fidur specific mouse packet data in MouseDevice to generic. Used it in ps2 mouse handling code to avoid blocking reads. Sat Nov 18 18:00:17 2000 Jonathan Blandford * demos/gtk-demo/main.c: Changed to have the list become non-italic when the demo window is destroyed through an external event (like a close button). Doing so found three bugs in the widget. * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window. * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when we actually set the cell. * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node): free a leaked path. Thanks memprof. Sat Nov 18 11:58:17 2000 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix off-by-one error when destroying allocated segments on failure. (Elliot) Sat Nov 18 11:45:09 2000 Owen Taylor * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix memleaks found by Evan Martin. Fri Nov 17 20:14:20 2000 Owen Taylor * Released 1.3.2 * NEWS: Updates for 1.3.2 2000-11-17 Tor Lillqvist * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent, but in general for window system specific events. * gtk/gtk.def * gtk/makefile.mingw.in * gtk/makefile.msc.in: Update. * gtk/gtktexttypes.h: Mark variables for export/import from DLL. Thu Nov 16 16:11:39 2000 Owen Taylor * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances, distribute gtk.immodules. * gtk/Makefile.am (install-data-local): Don't install the gtk.immodules file created for the uninstalled modules; instead run gtk-query-immodules after install Wed Nov 15 21:51:31 2000 Owen Taylor * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point -rpath to the right install location. * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove -export-dynamic. * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name properly. 2000-11-15 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply patch from Mikael Hermansson to temporarily stop blinking while the user is using the keyboard to type or navigate. Also, when blinking, stay on for longer than we stay off. Also, return from start_cursor_blink if !cursor_visible, to save checking that flag all over the place before we call start_cursor_blink. Thu Nov 16 01:25:51 2000 Robert Brady * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they only contain a "fontset" line, which is now ignored. * gtk/gtkentry.c (gtk_entry_button_release): Make double-click-to-select-word work. Wed Nov 15 20:16:54 2000 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Don't move back one char when we are actually at the end of the paragraph. 2000-11-15 Robert Brady * modules/input/iminuktitut.c (inuktitut_compose_seqs): 'o' < 'p'. * gtk/gtkmain.c: s/CODSET/CODESET/, include for bind_textdomain_codeset. (gtk_init_check): Make the warning about translating default:LTR sterner. Wed Nov 15 18:39:40 2000 Owen Taylor * **/Makefile.am : remove unecessary rules for win32-specific config-substituted targets. If you want these rules, use --enable-maintainer-mode (called automatically by autogen.sh). Stops a lot of unneccessary make-time warnings. * gtk/gtktext{layout,display}.c: Factor in total width as well as screen when figuring alignment for word-wrap as well as no wrap; this is necessary to handle lines that cannot be wrapped at all. 2000-11-15 Havoc Pennington * gtk/testtext.c: Implement essential color cycling feature 2000-11-15 Havoc Pennington * gtk/gtktextview.c (changed_handler): Invalidate the side windows when we invalidate the main window. * gtk/testtext.c (create_view): Get rid of text_changed_callback, GtkTextView will now invalidate the side windows for us when text changes. Wed Nov 15 16:02:20 2000 Owen Taylor * gtk/gtktextview.c (changed_handler): Call scroll_calc_now() unconditionally, since we may need to update the horizontal scrollbars even if the height didn't change. * gtk/gtktextlayout.c (add_preedit_attrs): Always get the extra attrs, since some of them affect size. * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in x_offset correctly. 2000-11-15 Havoc Pennington * gtk/gtktextlayout.c (set_para_values): If indent is negative, don't move the first line out into the margin, instead move the whole paragraph in order to make space for the first line within the margin 2000-11-15 Havoc Pennington * gtk/gtktextview.c (changed_handler): offset redraw rect by xoffset in addition to yoffset, so horizontal scrolling doesn't break redraws 2000-11-15 Havoc Pennington * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel from the cursor (render_layout_line): fix reversed test that caused weird underlines to get drawn 2000-11-15 Alexander Larsson * gdk/linux-fb/gdkprivate-fb.h: Fix debug macros. 2000-11-15 Alexander Larsson * gdk/linux-fb/gdkprivate-fb.h: Added virtual functions set_pixel, get_color, fill_span and draw_drawable to the GC. Added global _gdk_fb_screen_gc to use instead of NULL when drawing to the screen. Added _gdk_fb_gc_calc_state() prototype. * gdk/linux-fb/gdkgc-fb.c: Call _gdk_fb_gc_calc_state() on any gc state change. * gdk/linux-fb/gdkglobals-fb.c: Add _gdk_fb_screen_gc * gdk/linux-fb/gdkdrawable-fb2.c: _gdk_fb_gc_calc_state() calculates best functions for the GC state and depth. Moved bpp specialized code to separate functions. Added optimized 24 bpp AA draw_drawable. * gdk/linux-fb/gdkevents-fb.c: Silence gcc warning. * gdk/linux-fb/gdkimage-fb.c: Use _gdk_fb_screen_gc * gdk/linux-fb/gdkwindow-fb.c: Init and use _gdk_fb_screen_gc * gdk/linux-fb/mitypes.h: Remove unused types. 2000-11-14 Havoc Pennington * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert to pixels 2000-11-14 Havoc Pennington * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise" * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for unknown char, no real reason we were using a variable. Remove gtk_text_unknown_char variable. Fix all the text widget files accordingly. * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, since the Unicode spec seems to prefer that character for our purposes. Wed Nov 15 02:18:01 2000 Robert Brady * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return value of g_getenv() isn't freeable, so g_strdup it. * modules/input/inuktitut.c: Inuktitut input method. * modules/input/Makefile.am: Build this. 2000-11-14 Elliot Lee * gtk/Makefile.am: Install gtk.immodules, needed for operation of gtk programs. Tue Nov 14 20:13:06 2000 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix reversed > that was causing Home to go to end of previous line. * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore modified-keypresses (leave for bindings.) * modules/input/Makefile.am: Remove useless -export-dynamic from module LDFLAGS. 2000-11-14 Havoc Pennington * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel higher. * gtk/gtktextdisplay.c (render_layout_line): Take rise into account. Also, render rise, underline, background, etc. for pixbufs as well as text. Also, draw underlines one pixel higher. * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a PangoAttribute for the rise, so it gets drawn properly. Also, add the GtkTextAppearance attribute for pixbuf/widget segments as well; we should go ahead and have rise, underline, background, stipple work for those * gtk/gtktexttag.c: Rename "offset" property to "rise" to match Pango 2000-11-15 Tor Lillqvist * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects. * gtk/gtk.def: Update. * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been included. (gtk_rc_get_im_module_file): Use run-time installation directory on Win32. * gdk/win32/rc/gdk.rc: Remove. * gdk/win32/rc/gdk.rc.in: New file. * gdk/win32/rc/Makefile.am: New file * gdk/win32/Makefile.am: Corresponding changes. * gtk/gtk.rc: Remove. * gtk/gtk-win32.rc.in: New file. * gtk/Makefile.am: Corresponding changes. * configure.in: Corresponding changes. * gtk/gtkcompat.h.win32: Remove, useless. A distribution already has a built gtkcompat.h. Developers using CVS code on Win32 can hand-edit it from gtkcompat.h.in. * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make gtkcompat.h from gtkcompat.h.win32. 2000-11-14 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop to default to GDK_ACTION_MOVE if the drag is within a single widget. Defaults to GDK_ACTION_COPY between widgets. Mon Nov 13 14:43:48 2000 Owen Taylor * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles srcdir != builddir * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk * configure.in (GTK_VERSION): Up to 1.3.2 * modules/input/Makefile.am (im_xim_la_SOURCES): Add gtkimcontextxim.h * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add missing doc comment. 2000-11-14 Alexander Larsson * modules/linux-fb/basic.c: Use the glib iconv wrappers. 2000-11-13 Havoc Pennington * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals still more bugs. * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to scroll the GdkWindows before realization. 2000-11-13 Havoc Pennington * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug where GC didn't always get updated properly * demos/gtk-demo/textview.c (create_tags): Use subattributes of fonts instead of setting the entire font * gtk/testtext.c (fill_example_buffer): Use "size" instead of setting entire font * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into a bunch of individually-settable font attributes. You can still use the "font" and "font_desc" args, they just set all the font attributes at once. 2000-11-13 Elliot Lee * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's. Mon Nov 13 14:29:32 2000 Jonathan Blandford * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL * gtk/gtktreemodel.c (gtk_tree_path_free): ditto * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make work better. 2000-11-13 Havoc Pennington * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of the module file. * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of dest->language * gtk/testtext.c: Test pixels above/below/inside paragraphs settings * gtk/gtktextview.c: Implement object args and setters/getters for all the aspects of the GtkTextAttributes that are not set from GtkWidget attributes. This is spacing, justification, margins, etc. (gtk_text_view_set_arg) (gtk_text_view_get_arg): implement get/set for editable, wrap mode args (gtk_text_view_class_init): Add args for justify, left_margin, right_margin, indent, and tabs * gtk/gtktextlayout.c (set_para_values): fix to display indent attribute properly * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, replace with indent attribute * gtk/gtktextlayout.c (set_para_values): multiply indent by PANGO_SCALE * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter, rearranging code to do that (gtk_text_layout_draw): Pass in the y for the whole LineDisplay, i.e. don't subtract the top_margin first, just to keep all margin-futzing in one place. * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove special case of last line, Pango now handles this itself. (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the Y coordinate (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter (find_display_line_above): wasn't moving the byte index as it iterated over lines, so always returned byte 0. Also, port to use PangoLayoutIter. (find_display_line_below): same problem as find_display_line_above. Also, port to use PangoLayoutIter. 2000-11-13 Alexander Larsson * gdk/linux-fb/*.[ch]: Massive reindent to gtk+ standard. My hands hurt. * gdk/linux-fb/gdkcolor-fb.c: Move GdkColorPrivateFB from inherited to windowing_data * gdk/linux-fb/gdkcursor-fb.c: _gdk_cursor_new_from_pixmap made static * gdk/linux-fb/gdkdnd-fb.c: GdkDragContextPrivate moved to windowing_data * gdk/linux-fb/gdkdrawable-fb2.c: Removed endian.h, use glib endianness macros instead Some cleanups in the usage of GDK_DRAWABLE_FBDATA and GDK_DRAWABLE_IMPL_FBDATA * gdk/linux-fb/gdkfont-fb.c: Add empty gdk_font_load(). Needed for linking of Gtk+. * gdk/linux-fb/gdkimage-fb.c: Removed endian.h, use glib endianness macros instead Moved GdkImagePrivateFB to windowing_data gdk_image_new_bitmap didn't always allocate enough memory. * gdk/linux-fb/gdkinput-ps2.c: Added semi-working support for MS serial mice. * gdk/linux-fb/gdkprivate-fb.h: s/GdkWindowPrivate/GdkWindowObject/ Removed GdkWindowPrivate typedef s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/ Removed GDK_DRAWABLE_P Move GdkColorPrivateFB from inherited to windowing_data Moved GdkImagePrivateFB to windowing_data * gdk/linux-fb/gdkvisual-fb.c: Removed some unused debug code. * gdk/linux-fb/gdkwindow-fb.c: Use stock cursors instead of including X headers. s/GdkWindowPrivate/GdkWindowObject/ * gdk/linux-fb/mitypes.h: Removed unused types. * modules/linux-fb/basic.c: Use the pango fribidi wrappers. 2000-11-13 Sebastian Wilhelmi * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c, gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c, gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c, gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc -> GEqualFunc where applicable. * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare -> pango_font_description_equal as changed in pango. * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal. * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal. * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal. * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal. * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal. * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal. * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and gtk_gc_drawable_compare -> gtk_gc_drawable_equal. * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and gtk_rc_styles_compare -> gtk_rc_styles_equal. 2000-11-12 Havoc Pennington * demos/gtk-demo/Makefile.am (democodedir): change demo install dir to datadir/gtk+-2.0/demo * demos/gtk-demo/textview.c: Text widget demo; reveals all sorts of text widget and Pango font bugs. Urgh. * demos/gtk-demo/Makefile.am (demos): Add textview.c * demos/gtk-demo/main.c (create_tree): Add instructions at top of tree that you should double click to see the demo. Fix types of variables to reflect changed return values from GtkTreeStore and GtkTreeViewColumn constructors. * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the newly-created buffer to prepare for GObject semantics * gtk/testtext.c: don't leak the buffer with GObject semantics * gtk/testtextbuffer.c: ditto 2000-11-12 Havoc Pennington Rename this testgtk to gtk-demo to avoid confusion, and install it so people can use it as a supplement to the documentation. * demos/gtk-demo: Moved from demos/testgtk * demos/testgtk: Removed * configure.in: make Makefile in gtk-demo * demos/gtk-demo/Makefile.am: Install sample source to datadir/gtk-demo (maybe there's a better place?), and rename the binary to gtk-demo * demos/gtk-demo/main.c (load_file): Load installed sample source if source isn't found in pwd. 2000-11-09 Havoc Pennington * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" argument to set the char displayed when visibility == FALSE (gtk_entry_create_layout): If !entry->visible, replace all chars with the "invisible char" * gtk/testgtk.c: Test the invisible_char deal Mon Nov 13 02:16:33 2000 Robert Brady * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we can't get a native font in the right encoding. Mon Nov 13 00:09:29 2000 Robert Brady * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW respectively. Sun Nov 12 19:11:42 2000 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line): Fix warning when moving between paragraphs. * gtk/gtkentry.[ch]: Change move => move_cursor, delete => delete_from_cursor, insert => insert_at_cursor Sun Nov 12 22:52:51 2000 Robert Brady * modules/input/imviqr.c: A vietnamese VIQR-based input method. * modules/input/imthai-broken.c: A Thai input method for use if Thai keys are really generating Latin1 keysyms. * modules/input/Makefile.am: Build these. Sun Nov 12 22:15:35 2000 Robert Brady * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: g_filename_{to,from}_utf8 now takes an extra parameter. * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of strftime into UTF-8. (column_from_x, gtk_calendar_paint_day_names): Support RTL calendars. (gtk_calendar_paint_day_names): Draw day names in the right place. Sun Nov 12 14:10:09 2000 Owen Taylor * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix problem with using result of g_get_charset() backwards - pointed out by Mikael Hermansson . * gtk/gtkwindow.c (gtk_window_compute_hints): Support negative min_width/height and max_width/height to mean "requisition"; this allows setting a window to be user-resizable in only one direction easily. * gtk/testgtk.c (create_main_window): Remove hard-coded usize - set a default size in the vertical direction. Sun Nov 12 13:33:01 2000 Owen Taylor * gtk/gtkrange.c: Add some missing casts. Support 2 and 3 button clicks on the arrows to mean "move by pages" and "jump to end". (Like gtkspinbutton) 2000-11-12 Hans Breuer * gdk/win32/makefile.msc : reflect build module changes * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly from GdkPixmap*, cast implementation member instead. * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add more Gdi functions return value checking. (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the GdkImagePrivateWin32 *. * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make menus useable again. Add #pragma message to keep reminded on this issue. (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly windows. This allows to enable backing store on Win32! * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed in drawable is of impl type. Correct specific type checks appropriate. * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check GDK_WINDOW_DESTROYED before allocating new resources. * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case * gdk/win32/gdkwindow-win32.c : more Gdi return value checking, (gdk_window_foreign_new) initialize parent handle. (gdk_window_destroy_notify) add GDK_IS_WINDOW check * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) : Let the GDI invalidate the window on MoveWindow call to fix scrolling problems (e.g. main buttons in testgtk). Sat Nov 11 23:07:30 2000 Owen Taylor * gtk/gtkentry.c (gtk_entry_key_press): Call gtk_widget_activate for GDK_Return. * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling of preedit cursor position. Sun Nov 5 04:24:53 2000 Owen Taylor * gtk/gtkcellrenderertextpixbuf.c: Make parent_class static. Tue Sep 19 10:54:22 2000 Owen Taylor * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip out support for multiple locales; that simple doesn't work reliably with current Xlib * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch] gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add support for positioning the cursor within the preedit string. Mon Sep 18 23:56:32 2000 Owen Taylor * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start at XIM input method module. * gtk/gtktextview.c: Check for bindings after passing events to im context filter. Mon Sep 18 11:50:51 2000 Owen Taylor * gtk/gtktextlayout.c (add_preedit_attrs): Handle empty attribute lists properly. Sun Sep 17 10:08:16 2000 Owen Taylor * gtk/queryimmodules.c (main): Return non-zero exit status if errors were encountered querying any modules. * modules/input/Makefile.am (moduledir): remove leftover bin program target. * docs/make-todo: Fix typo in error message. Sat Sep 16 14:04:30 2000 Owen Taylor * configure.in: Add modules/input/Makefile Sat Sep 16 14:01:52 2000 Owen Taylor * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h, don't include gtkthemes.h. * gtk/testgtk.c gtk/testtext.c: Set environment variables to point * gtk/Makefile.am: Add new .c and .h files, build gtk-query-immodules and use it to create a gtk.immodules file for use of test programs. * gtk/gtkpreview.c: remove extra blank line. Sat Sep 16 13:21:04 2000 Owen Taylor * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): Add the ability to add extra tables beyond the default one, and also the ability to have compose sequences that are prefixes of other compose sequences. * gtk/gtkimcontextsimple.c: Export a preedit string which consists of possible candidates for keystrokes that have been entered but not yet committed. * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch] gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset() * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): Add a function to add input-method switching menu items to a menu. * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window when switching input methods. * gtk/gtkimcontextsimple.[ch]: Change the format of the compose table to allow compose tables of different lengths / sequence. Sat Sep 16 13:05:48 2000 Owen Taylor * gtk/gtkimmodule.[ch]: Support routines for loading GtkIMContext implementations dynamically at runtime. * modules/input/imcyrillic-translit.c: A sample input method (based on GtkIMContextSimple with an extra table), which demonstrates preedit strings and the module system for input modules * gtk/queryimmodules.c: Program to query the available input modules and write the results into a file. * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add extra config options "im_module_file" (cache file for input method modules), and "im_module_path" - path to look for modules when generating cache file. This doesn't scale. Sat Sep 16 13:09:06 2000 Owen Taylor * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the generic code from gtkthemes into a new abstraction GtkModule which has the logic for implementing a loadable module which implements a number of GObject types. Sat Sep 16 13:07:13 2000 Owen Taylor * gtk/gtkeditable.[ch]: Convert GtkEditable from a class into an interface * gtk/gtkoldeditable.[ch]: Move the old editable implementation into here, so legacy widgets can still rely on the implemenation. GtkOldEditable exports GtkEditable. Make selection handling code use new text conversion functions (and handle UTF-8 as a side-effect). Use GtkClipboard for CLIPBOARD. * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c: Adopt to match above changes. * gtk/gtkentry.[ch]: Implement GtkEditable directly, avoid GtkOldEditable implementation. Restructure to reduce number of places that modify state directly. Move to GtkBindingSet. Display the preedit string. Queue recomputation of PangoLayout and scroll position to improve effiency of doing complex changes naively. Add a menu with cut/copy/paste and input method selection. Thu Sep 14 22:11:05 2000 Owen Taylor * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string() to set preedit string and attributes; display preedit string by inserting string and attributes at cursor when creating the GtkTextLineDisplay. * gtk/gtktextlayout.c: Move all conversions between byte positions in PangoLayout and GtkTextIter into new functions line_display_iter_to_index/index_to_iter that properly handle the preedit string. * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify it to return const char * (eventually will end up as GCONST char *, most likely.) * gtk/gtktextview.[ch]: Handle the preedit string, call gtk_im_context_reset() as necessary, add a menu to switch input methods. * gtk/gtktextlayout.[ch]: Remove useless gtk_text_layout_get_log_attrs() function. 2000-11-11 Tor Lillqvist * gdk/gdk.def * gtk/gtk.def: Update. * gdk/win32/*.c: Add last argument to g_type_register_static() calls. * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall. * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages generated by older wheel mouse drivers. Get the correct y coordinate from WM_MOUSEWHEEL messages. * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string, gdk_win32_fill_style_to_string, gdk_win32_function_to_string, gdk_win32_join_style_to_string, gdk_win32_line_style_to_string): Debugging functions. * gdk/win32/gdkprivate-win32.h: Declare them. * gdk/win32/gdkinput-win32.h: Add declaration for gdk_input_window_destroy(). * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o. Fri Nov 10 19:06:41 2000 Jonathan Blandford * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New function to help handle keeping things in sync. Fri Nov 10 12:10:34 2000 Jonathan Blandford * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new BOXED marshallers. * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this. (gtk_list_store_class_init): use the new BOXED marshallers. * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change new_with_values to new_with_types. (gtk_tree_store_get_column_type): add this. (gtk_tree_store_class_init): use the new BOXED marshallers. * gtk/gtkmarshal.list: Added a number of BOXED marshallers to mirror some POINTER marshallers. Thu Nov 9 11:23:22 2000 Jonathan Blandford * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to allow more interesting iterators. Also, made the lifecycle of iterators more explicit. * gtk/gtktreemodelsort.[ch]: New model for sorting. * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed types. 2000-11-09 Alexander Larsson * demos/testgtk/menus.c: Changes to make the new testgtk compile after gtk_menu_append was removed. * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_get_depth, gdk_fb_get_visual, gdk_drawable_impl_fb_class_init): Implement these drawable functions. Now GtkImages work again. * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype. * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype. * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode, gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new); Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE, GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT. 2000-11-08 Havoc Pennington * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and visible_set args, don't know where these had gone, I thought they used to be there * gtk/testtext.c: Add a menu item to apply invisibility tag; now we can test the feature and see that it's totally broken. 2000-11-08 Havoc Pennington Make DND copy pixbufs and tags when source and target share a tag table. * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the in-process GTK_TEXT_BUFFER_CONTENTS target (gtk_text_view_drag_data_received): Paste from GTK_TEXT_BUFFER_CONTENTS if we receive it. 2000-11-08 Alexander Larsson * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc API changes. * gtk/gtkmenu.c: Add support for scrolling menus. Remove gtk_menu_append/prepend/insert, these have been moved to gtkcompat.h as #defines. * gtk/gtkcompat.h.in: Add compatibility #defines for gtk_menu_append/prepend/insert * gtk/gtkmenu.h: Add data needed for scrolling menus. GtkMenuPositionFunc gets an extra argument push_in. gtk_menu_append/prepend/insert removed. * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu positioning behaviour to fit to scrolling menus. * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse into menuitem->submeny. That is wrong, and broke torn off submenus of torn off menus, since they were unrealized when the first menu was unrealized. * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and gtk_menu_shell_select_item() since these need to be overridden in GtkMenu. * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu positioning behaviour to fit to scrolling menus. (gtk_option_menu_key_press, gtk_option_menu_button_press): Select the current item so that it is prelighted when the menu pops up. This is a workaround to the fact that the menu doesn't get the initial enter event (due to grabs). * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c: s/gtk_menu_append/gtk_menu_shell_append/ * gtk/gtknotebook.c: s/gtk_menu_insert/gtk_menu_shell_insert/ * gtk/testgtk.c (create_menu, create_menus): Create the first menu with 50 items so that menu scrolling can be tested. Patch from Jonathan Blandford * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new system to handle size requests. First, we ask what the size of the toggle is. Then, when allocating the size, we allocate the toggle_size first. This way we can have multiple menu-item classes w/o needing a seperate class for each. * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system. * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system. * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_toggle_size_request): New function to handle the toggle size-request. 2000-11-07 Havoc Pennington * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Half-ass somewhat fix this function, so that scrolling to the insertion point works. Pango hacking is in the future to really fix it. * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate length of data, no longer used. * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy method contents in here, get rid of destroy method (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks that were backward. Remove debug spew. (cut_or_copy): Make the clipboard work with insert_range to preserve tags and pixbufs, not just the primary selection. 2000-11-07 Havoc Pennington * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename to gtk_text_mark_get_visible * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix bug that was generating an invalid iterator * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to ensure_char_offsets() in front of code placing the iter in an invalid state. * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary): make override_location arg const (paste): Replace the selection if we paste into the current selection * gtk/gtkselection.h: Remove "GtkSelectioData" (struct _GtkSelectionData): move the definition here. * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection): Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement (gtk_text_buffer_insert_range_interactive): implement (gtk_text_buffer_get_tags): Remove, replaced by gtk_text_iter_get_tags() * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search limit parameter, to avoid infinite linear scan. (gtk_text_iter_backward_search): Add search limit (gtk_text_iter_forward_find_char): Add search limit (gtk_text_iter_backward_find_char): Add search limit 2000-11-07 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c, gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c: use g_object_new() instead of g_type_create_instance() which is a private function for fundamental type implementations. * gdk/linux-fb/gdkinput-ps2.c: Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table instead just store the current modifier state. Add a (somewhat broken) keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW. Rename exported function gdk_input_ps2_get_mouseinfo to gdk_input_get_mouseinfo. * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h, gdk/linux-fb/gdkwindow-fb.c: gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo. 2000-11-02 Havoc Pennington * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and use stock buttons. Should be 100% source compatible, appropriate filesel fields now point to dialog->vbox and dialog->action_area. On the bizarre side, dialog->action_area and filesel->action_area are not the same widget. (gtk_file_selection_init): Put some padding around the selection entry, so it isn't touching the GtkDialog separator. * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, use stock buttons, etc. Should also be source compatible. Set the dialog default title in _init not _new(). * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Use stock buttons; don't put a button box inside the existing dialog button box. Don't bother with push/pop colormap anymore. * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT for message dialog, and necessary for the font selection and color selection with help and apply buttons. * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer to the created button widget. Set GTK_CAN_DEFAULT on the button. (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing between buttons, put less padding around the action area. (gtk_dialog_run): Exit on unmap rather than on destroy. This will also exit the loop if the widget is hidden. (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT instead of GTK_RESPONSE_NONE; since we're already adding a bunch of GTK_RESPONSE_* stuff, this seems cleaner, and lets you special-case delete event. * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment formatting Sun Nov 5 05:32:39 2000 Tim Janik * gtk/testgtk.c (uposition_stop_configure): provide a toggle button to temporarily disable position recording in the "saved position" test. Sat Nov 4 05:37:17 2000 Tim Janik * gtk/gtkthemes.c: added compat code that temporarily implements GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is going to be revamped by owen's upcoming GtkModule patches, but untill then people want gtk to build, right? ;) 2000-11-04 Havoc Pennington * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member list * docs/Changes-2.0.txt: Add note about gtk_container_get_toplevels() * gtk/gtktextview.h: formatting * gtk/gtktextview.c: don't start descriptions with "Returns", confuses gtk-doc Sat Nov 4 10:12:27 2000 Owen Taylor * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS, look for glib-2.0.m4 not glib.m4. (Ali Abdin) 2000-11-03 Havoc Pennington * gtk/gtktexttagtable.c: Docs (gtk_text_tag_table_size): return a signed int * gtk/gtktexttag.c: s/tkxt/text/g; write documentation (gtk_text_tag_event): make the event_object a GObject * gtk/gtktextview.c: Write API docs for all functions. * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value for gtk_text_view_get_window_type() called on one of the private windows. * gtk/gtktextview.c: Instead of accessing text_view->buffer directly, call get_buffer() which demand-creates a default buffer. So gtk_text_view_new() can be used to create a view with a default buffer in it, if you just want an empty text box users can put data in. Useful for GUI builders also. 2000-11-03 Pablo Saratxaga * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5; the charset encodign portion MUST be in lowercase. * gtk/gtkrc.az: added file for Azeri language 2000-11-03 Havoc Pennington Get widgets working on the btree/buffer side. Display of them still doesn't work. * gtk/gtktextview.c: start implementing child widget stuff * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function * gtk/gtktextlayout.c: handle embedded widgets * gtk/gtktextdisplay.c: handle embedded widgets * gtk/gtktextchild.c: Implement all the child anchor goo * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New function * gtk/gtktextbtree.c: Add child anchor table to the btree struct (insert_pixbuf_or_widget_segment): abstract out common portions of creating a child anchor or a pixbuf segment. (gtk_text_btree_create_child_anchor): new function (gtk_text_btree_unregister_child_anchor): new function * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the allocate_child signal on GtkTextLayout * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return values (gtk_text_iter_get_child_anchor): new function * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a default handler for the changed signal, which calls gtk_text_buffer_set_modified(), instead of just always emitting changed then calling set_modified() manually. I guess this is maybe more flexible. It seems logical. Fri Nov 3 08:58:38 2000 Tim Janik * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_' now. * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now. Thu Nov 2 14:10:51 2000 Owen Taylor * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have been marked static. 2000-11-02 Havoc Pennington * gtk/testgtk.c (create_labels): had a test backward * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC fields, so the dest GC ends up with the correct clip origin, etc. Fixes a bug where colored labels didn't redraw properly. 2000-11-02 Alexander Larsson * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c, gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c: Add last argument to t_type_register_static call. * gdk/linux-fb/gdkdrawable-fb2.c: Add last argument to t_type_register_static call. export the get_image drawable virtual function. * gdk/linux-fb/gdkimage-fb.c: Add last argument to t_type_register_static call. rename gtk_image_get to _gdk_fb_get_image and export it for use by gdkdrawable-fb2. * gdk/linux-fb/gdkprivate-fb.h: export _gdk_fb_get_image. * gdk/linux-fb/gdkselection-fb.c: Add new api call stubs. * gtk/Makefile.am: Missing ( in linux-fb part. * modules/linux-fb/Makefile.am: Must link with gdk_pixbuf or get unresolved symbol. 2000-11-01 Havoc Pennington * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use GTK_TYPE_TEXT_ITER and BOXED marshallers * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto * gtk/gtk-boxed.defs: add GtkTextIter * gtk/gtkmarshal.list: Add marshallers for text widget that properly use OBJECT and BOXED 2000-11-01 Havoc Pennington * gtk/testgtk.c (create_labels): Test set_markup_with_accel() * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval before returning it. 2000-11-01 Havoc Pennington * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): Clip the rectangle to be rendered to the drawable, since get_from_drawable() requires a region within the drawable 2000-11-01 Havoc Pennington * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4 from coordinates. Wed Oct 25 20:10:57 2000 Owen Taylor * gdk/gdkevents.c (gdk_event_copy): Only ref the window if it isn't NULL. 2000-11-01 Havoc Pennington * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList on a label (gtk_label_finalize): unref the attr list if any. * gtk/testgtk.c (create_get_image): close test on second click (make_message_dialog): close dialog if it exists * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not gdk-pixbuf * gtk/gtklabel.c (gtk_label_set_markup): new function to set label from Pango markup format (gtk_label_set_markup_with_accel): ditto but with accelerator parsing * gtk/gtkimage.c (gtk_image_expose): reformatting. * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to reflect current state of GDK - use gdk_drawable_get_colormap, etc. Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to call gdk_window_get_origin(). * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): implement GDK_PIXBUF_ALPHA_FULL Wed Nov 1 03:43:42 2000 Tim Janik * gtk/gtksignal.c (gtk_signal_compat_matched): make use of g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and g_signal_handlers_disconnect_matched to block/unblock and disconnect multiple handlers respectively, instead of only treating the first handler found (bug reported by owen). Mon Oct 30 19:23:50 2000 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function. * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c, gtk/gtktreeviewcolumn.h: Fixed inline docs. * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree widget. Needs writing someday. * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to the docs. 2000-10-30 Havoc Pennington * gtk/gtktextview.h, gtk/gtktextview.c: Rename delete_at_cursor delete_from_cursor, and move to move_cursor. 2000-10-30 Havoc Pennington * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c, gtktextbuffer.h, gtktextchild.c, gtktextchild.h, gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h, gtktextiter.c, gtktextiter.h, gtktextiterprivate.h, gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h, gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h, gtktexttag.c, gtktexttag.h, gtktexttagprivate.h, gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c, gtktexttypes.h, gtktextview.c, gtktextview.h: Massive reindentation and reformatting. Arg alignment and comments still need fixing in various places. 2000-10-30 Havoc Pennington * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals to be named insert_at_cursor and delete_at_cursor so C++ can handle them. 2000-10-28 Tor Lillqvist * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not to get a double directory separator in case the home directory ends with one. This would cause trouble especially on Windows, where the path will be confused with the syntax for an an UNC (network share) path \\server\share\path. (gtk_rc_add_initial_default_files): Ditto. Sat Oct 28 02:33:09 2000 Robert Brady * gtk/gtkmarshal.list: add new marshallers for GtkTextView. * gtk/gtktextview.c: Use correct marshallers. Fri Oct 27 17:56:26 2000 Jonathan Blandford * gtk/gtkliststore.c: Not sure how this ever worked. Fixed it to use new iter stuff, and added all the appropriate signals et al. * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this code is internal to gtk only. 2000-10-28 Tor Lillqvist * gtk/gtk.def * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use glib-genmarshal etc. Fri Oct 27 20:15:00 2000 Tim Janik * gtk/Makefile.am: added dependancies for testtextbuffer which broke parallel builds. Fri Oct 27 18:51:44 2000 Tim Janik * gtk/gtksignal.[hc]: adapt to GSignal signature changes. 2000-10-27 Robert Brady * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), en_GB (British), ia (Interlingua). 2000-10-26 Havoc Pennington * gtk/gtktextiter.c (my_strrstr): fix constness warning Fixed output of: nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_ * gtk/gtktextsegment.c (char_segment_new): rename (_char_segment_new_from_two_strings): rename (_toggle_segment_new): rename * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static (make_clipboard_widget): make it static (text_get_func): static (text_clear_func): static * gtk/gtkcolorsel.c (adjustment_changed): make this function static (hex_changed): make it static (hsv_changed): make it static (opacity_entry_changed): make it static * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk (toggle_segment_check_func): rename with _gtk * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk (_widget_segment_new): rename (_widget_segment_add): rename (_widget_segment_remove): rename (_widget_segment_ref): rename (_widget_segment_unref): rename * gtk/gtktextmark.c (_mark_segment_new): Rename _gtk_mark_segment_new 2000-10-26 Havoc Pennington * gtk/gtkmarshal.list: add new marshallers used by the text widget * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller types * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix marshaller types * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h, gtk/gtktextdisplay.c: We need to preserve Tk copyrights and license on these files. * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this work. * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to runtime random number different for each tree, instead of a constant I made up. Thu Oct 26 07:36:16 2000 Tim Janik * gtk/Makefile.am: buncha cleanups, kludged build sources dependencies with a Makefile: oldest-source-stamp dependancy for the moment. automake is really fighting us here, with intentionally not allowing user-defined rules or dependancies prior to it's -include $(DEP_FILES) statement. sucks rocks! * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h to public headers. tehy have a comment stating that they are "semi-public" aren't included by gtk.h and if enums popup there, they can be /*< skip >*/-ed. * gtk/gtktextlayout.h: * gtk/gtktextdisplay.h: indentation fixes, comment fixes, added LGPL... Wed Oct 25 20:40:25 2000 Jonathan Blandford * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to GtkTreeIter. Added iterators everywhere. * gtk/gtktreeviewcolumn.c: Changed to use the iterators. * gtk/gtktreeviewselection.c: Changed to use the iterators. * gtk/gtktreestore.c: Changed to use the iterators. * gtk/gtkliststore.c: Commented out the code. Will convert to iterators tomorrow. * gtk/gtkmodelsimple.c: Commented out the code. Will convert to iterators tomorrow. * gtk/treestoretest.c: Changed to use iterators. * demos/testgtk/main.c: Moved to use the new iterator system. Thu Oct 26 02:10:32 2000 Tim Janik * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid localization misbehaviour. * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's a useless type without copy/free. * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead of GTK_TYPE_CTREE_NODE. Thu Oct 26 00:51:52 2000 Tim Janik * gtk/gtksignal.c: (gtk_signal_emitv): use g_value_set_static_{string|boxed} where applicable. * gtk/gtk-boxed.defs (GtkSelectionData): specify gtk_selection_data_copy and gtk_selection_data_free do GtkSelectionData work as params in signals. Wed Oct 25 20:47:41 2000 Tim Janik * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that, couldn't they at least give it a non-standard name? * gtk/gtktextlayout.c: arg! yet another implementation of gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy? * gtk/gtktextbuffer.c: gotcha! captured a vagabonding gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back home. now i know this _is_ a conspiracy. * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for ::state-changed. * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): (gtk_accel_group_create_add): marshaller signature fixups. * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups, pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM. * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid anymore. Tue Oct 24 23:59:21 2000 Tim Janik * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since due to the signal system changes, it wouldn't build currently. to be fixed soon. * docs/Changes-2.0.txt: GtkSignal/GSignal updates. * gtk/gtkwidget.c: ::direction_changed takes an enum as argument, so it needs gtk_marshal_VOID__ENUM() instead of gtk_marshal_NONE__UINT(). * gdk/gdk*.c: adapted type registration functions. * gtk/gtkbindings.c: * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is gone. * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType. * gtk/gtkobject.c: (gtk_object_destroy): (gtk_object_shutdown): fixed recursion guards. basically we have to catch the case where any of GObject.shutdown() or gtk_object_destroy() is called during ::destroy, and avoid recursion there. * gtk/gtktypeutils.c: * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with boxed_copy/boxed_free. this needs a more general solution based on a publically installed code-generator utility. * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED, glib's gobject has support for that now. define GtkSignalMarshaller in terms of GSignalCMarshaller. Mon Oct 23 09:36:42 2000 Tim Janik * gtk/gtksignal.[hc]: * gtk/gtkmarshal.[hc]: * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't compile gtkmarshal.c on its own anymore, just include it in gtksignal.c. removed #include s all over the place, gtksignal.h takes care of that. * *.c: marshaller name fixups. * gtk/gtkmarshal.list: added a comment briefing the format. Sun Oct 22 23:14:39 2000 Tim Janik * gtk/gtksignal.[hc]: nuked old implementation. we mostly have compatibility macros here now. more specifically, most of the API is preserved (yes, _most_, nonwithstanding the following exceptions listed, the API is stil lHUGE ;) things that got removed completely: GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(), gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(), gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(), gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(), gtk_signal_remove_emission_hook(). non-functional functions variants: gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook(). the GtkCallbackMarshal argument to gtk_signal_connect_full() is not supported anymore. (gtk_signal_compat_matched): new internal function to aid implementation of the compatibility macros, it provides functionality to block/unblock/disconnect handlers based on func/data. * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType, * *.c: adaptions to new type registration API signatures. Fri Oct 20 15:26:33 2000 Tim Janik * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge. 2000-10-25 Robert Brady * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change, gdk_property_delete): If window == NULL, assume the root window. (restoring the behaviour that was in 1.2). * gtk/testtext.c (save_buffer): Allow creation of new files when saving. (fill_file_buffer): Don't die if a UTF-8 sequence is split across calls to read(). 2000-10-25 Tor Lillqvist * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11. * gdk/win32/gdkdrawable-win32.c * gdk/win32/gdkimage-win32.c * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the X11 backend. * gdk/win32/gdkcc-win32.c * gdk/win32/gdkcolor-win32.c * gdk/win32/gdkfont-win32.c * gdk/win32/gdkinput-win32.c * gdk/win32/gdkmain-win32.c * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall. 2000-10-24 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make it a static function * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should redraw text when a tag is applied to it. * gtk/gtktexttag.c (gtk_text_tag_affects_size) (gtk_text_tag_affects_nonsize_appearance): private functions to see if a tag requires various kinds of redraw/layout to be queued up. * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock * gtk/testtext.c (fill_example_buffer): Put the cursor at the start of the buffer, so search works by default * gtk/gtktextiter.c (lines_match): init match_start always * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New function, get iter at a line + a byte index * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function, to set byte position within a line (gtk_text_iter_check): remove leftover G_BREAKPOINT thing 2000-10-23 Havoc Pennington * gtk/testtext.c: Re-enable the "find" dialog * gtk/testgtk.c: Add test for gdk_drawable_get_image * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where the arguments to gdk_draw_drawable were in the wrong order (gdk_window_paint_init_bg): This function was ignoring the init_region, instead of clipping to it, so the entire backing pixmap was cleared on every begin_paint() (gdk_window_begin_paint_region): Hmm, the same list-walking bug was in here again, the loop kept using the same GtkWindowPaint over and over. (gdk_window_begin_paint_region): Fix a bug where we had two x_offset instead of x_offset and y_offset * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable before we get the image. (gdk_draw_drawable): get the composite before we draw the drawable. (gdk_drawable_real_get_composite_drawable): default get_composite_drawable implementation that returns the drawable itself * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add get_composite_drawable virtual function * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy list-walking bug * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to make this work if the source drawable is a GdkDrawableImplX11 instead of a public drawable type. This is really broken; the problem is that GdkDrawable needs a virtual method get_xid(), but of course that doesn't work in practice. Enter RTTI. Also, improve mismatched depth message. * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for GdkPixmap * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init): install _gdk_x11_get_image as our implementation of get_image * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to _gdk_x11_get_image and export for use in gdkdrawable-x11.c * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around gdk_drawable_get_image * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize get_image * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird trailing semicolon after for loop Mon Oct 23 12:07:57 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem where font_desc for widget's context lagged widget's font_desc by one step. 2000-10-22 Tor Lillqvist * gdk/win32/gdkgc-win32.c * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings. * gtk/makefile.mingw.in * gtk/gtk.def: Updates. * gtk/testgtk.c: sleep() is called _sleep in MS's C library. * gtk/gtkimcontextsimple.c: Include for bsearch(). * gtk/makefile.msc: Remove * gtk/makefile.msc.in: New file, like makefile.mingw.in. * gtk/Makefile.am: Add it. * configure.in: Generate it. * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor) * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return something even if not implemented, to satisfy picky MSVC. Patches by Hans Breuer: * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call SetBkMode() and SetTextAlign() before calling pango_win32_render(). * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values): Set hcliprgn to NULL after destroying it. (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL. * gdk/win32/gdkgeometry-win32.c (_gdk_windowing_window_queue_antiexpose): More effective implementation. * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's depth as default, not the visual's. * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard against empty title. * gdk/win32/gdkprivate-win32.h: Define a helper macro, IMAGE_PRIVATE_DATA. * gdk/win32/gdkimage-win32.c: Use it. 2000-10-22 Robert Brady * configure.in: Check for bind_textdomain_codeset * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset present, make use of it. Add a translatable string "default:LTR" which, if translated to "default:RTL", will cause the default direction to be Right-to-Left. * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget direction if marked as flippable. * gtk/gtkhscale.c: Mark widget as flippable. 2000-10-04 Havoc Pennington * gtk/testgtk.c (create_buttons): create some stock buttons with the default accel group (create_image): test some new GtkImage features (make_message_dialog): test GtkMessageDialog (create_modal_window): fix someone's bizzarro indentation * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement GTK_WIN_POS_CENTER_ON_PARENT. Add "destroy with parent" setting, which means the window goes away with its transient parent. (gtk_window_get_default_accel_group): get the default accel group for the window. (gtk_window_set_destroy_with_parent): set/unset destroy with parent flag (gtk_window_read_rcfiles): invalidate icon set caches after reloading rcfiles * gtk/gtkenums.h (GtkWindowPosition): add GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog on its parent window when the dialog is mapped for the first time. * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add a simple message dialog class * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event handler to emit response signal, and maybe later it would honor a hide_on_delete flag - though that isn't there yet. Set border width on the vbox to 2, so we get some padding. Use a button box for the action area. (gtk_dialog_key_press): synthesize a delete event if Esc is pressed and the GtkWidget key press handler didn't handle the escape key. (gtk_dialog_new_with_buttons): new function creates a dialog with some default buttons in it. (gtk_dialog_add_action_widget): add an activatable widget as a button in the dialog - you can also add a non-activatable widget by accessing the action area directly. (gtk_dialog_add_button): add a simple button - stock ID or label - to the action area (gtk_dialog_response): emit response signal (gtk_dialog_run): block waiting for the dialog, return the response. Override normal delete_event behavior, so that delete_event does nothing inside gtk_dialog_run(). * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal emitted when an action widget is clicked or the dialog gets delete_event * gtk/gtk.h: add gtkmessagedialog.h * gtk/Makefile.am: add gtkmessagedialog.[hc] 2000-10-18 Havoc Pennington * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug where any number of empty lines would get skipped * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the edge. * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the warning about invalid iterators (explain more thoroughly) (gtk_text_iter_in_region): rename gtk_text_iter_in_range * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less big * demos/*.c: Add error handling * gtk/gtktextbuffer.c: don't modify const iterators * gtk/gdk-pixbuf-loader.c: Add full error handling here * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors on file load * gtk/gtkiconfactory.c: Update to reflect addition of error handling to gdk-pixbuf loaders Wed Oct 18 11:14:05 2000 Owen Taylor * configure.in demos/Makefile.am demos/testgtk/*: Start of work to move to new modularized testgtk. 2000-10-17 Jonathan Blandford * gtk/gtktreeview.c: Draw the arrows correctly. * gtk/gtktreemodel.c: Added user docs. * gtk/gtk.h: remove gtktreedatalist.h. * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct parent when generating my type. * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE, POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT. 2000-10-16 Jonathan Blandford * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move GtkTreeModel from object to interface. 2000-10-16 Havoc Pennington * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing compilation 2000-10-16 Jonathan Blandford * gtk/gtktreeselection.c: Add API documentation to all public functions. * gtk/gtktreeviewcolumn.c: Added API documentation to all public functions. 2000-10-15 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function proposed by Guy Harris . Also, added API docs to all public functions. * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h, gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c, gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c, gtk/gtktreemodel.h, gtk/gtktreeselection.c, gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node issue. 2000-10-14 Robert Brady * configure.in: Added "fa" (Persian) to ALL_LINGUAS. 2000-10-12 Jonathan Blandford * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added values other then G_TYPE_STRING. * gtk/gtktreeselection.c: Minor commenting updates. * gtk/gtktreeview.c: Format updates. 2000-10-09 Tor Lillqvist * README.win32: Update. * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two lines that had been deleted by mistake (?). * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle also the case fg==white and bg==black (but still not randomly coloured cursors). Thanks to Wolfgang Sourdeau. * gdk/win32/*.c: Silence gcc -Wall. * gtk/gtk.def: Add missing entry points. Fixes by Hans Breuer: * gdk/makefile.msc * gdk/win32/makefile.msc: Update. * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined, some MSVC thing, presumably), cause breakpoint on failures. Add GDK_NOR case. Call g_log_set_always_fatal. * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle should be pased by reference. * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly. * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert. * gdk/win32/gdkevents-win32.c * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE. * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and implementation object. * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables, not just windows. * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize): Use the wrapper object. 2000-10-06 Havoc Pennington * Makefile.am (SRC_SUBDIRS): contrib subdir * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library, so it can be used in Xlib version * demos/testpixbuf.c (update_timeout): error checking from 1.0 tree * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync change from 1.0 tree that returns first frame of animation if the loaded file is an animation. * contrib: add new directory to hold stuff that comes with GTK+ but isn't really part of GTK+ (for now, gdk-pixbuf-xlib) * configure.in: add contrib/* 2000-10-05 Havoc Pennington * demos/testpixbuf-save.c: add pixbuf save test * demos/Makefile.am: add testpixbuf-save.c 2000-10-05 Jonathan Blandford * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/ * gtk/gtktreeselection.[ch]: Replaced "node_selected"/"node_unselected" signal with "selection_changed" signal. 2000-10-04 Jonathan Blandford * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new tree widget. 2000-10-04 Jonathan Blandford * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle drawing. Wed Oct 4 15:52:15 2000 Owen Taylor * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed): Move list pointer forwards before removing item from list. (Crash reported by Salmaso Raffaele) * gdk/gdkwindow.h: Remove spurious trailing , * gdk/Makefile.am (LDFLAGS): You can't do interlibrary dependencies on uninstalled libraries, sorry folks. 2000-10-04 Havoc Pennington * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Fix copyrights * demos/testpixbuf.c: add inline pixbuf test Mon Sep 25 15:05:17 2000 Owen Taylor * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify): Add gdk_window_iconify. * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): Add win_gravity to geometry structure. * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Implement _NET_WM_PING. * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check): Set _NET_WM_PID on the client leader. * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name): Handle UTF-8 better. * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle UTF-8 better, set _NET_WM_NAME as well. Only set icon name if it hasn't previously been explicitely set. 2000-10-03 Havoc Pennington * gtk/testtextbuffer.c: clean up trailing whitespace, add extensive tests for tag toggle iteration. * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan distance * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag): optimize case where the tag root is on level 1 (gtk_text_line_previous_could_contain_tag): attempt to implement (gtk_text_line_next_could_contain_tag): Abstract out node_compare functionality * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle): Implement this, though not very efficiently. * gtk/gtktextiterprivate.h: reformat * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end iterator * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix this to properly revalidate the iterators. * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work properly at the end of the line (and therefore on empty lines) * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee, maybe we should return a value... 2000-10-03 Tor Lillqvist * config.h.win32: Guard definition of alloca(). glib.h now handles that. * gdk/gdk.def * gtk/gtk.def: Add new entry points. Changes just to make GTK+ build without errors on Win32. No hope of it working in its current state, though...: * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add some functions from the X11 backend, just to make GTK+ build. * gdk/makefile.mingw.in * gtk/makefile.mingw.in: Use correct gdk_pixbuf version number. Add new object files. * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use GetMessageTime to get timestamp (where on X11 uses gdk_x11_get_server_time()). 2000-10-02 Havoc Pennington * gtk/gtktextview.c: text_window_* weren't static and should have been. Start work on child widgets; not yet complete, syncing to office computer. * gtk/gtktextchild.h: change this to contain a public interface, starting work on child interfaces. * gtk/gtktextchildprivate.h: move private interfaces here * gtk/Makefile.am: update to reflect gtktextchildprivate.h * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h, gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, gtk/gtktextmark.c: copyright notices * gtk/gtktextmarkprivate.h: reformat, and put _ in front of internal functions * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of internal function * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Reformatting 2000-09-30 Havoc Pennington * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle NULL start/end pointers * gtk/gtktextbuffer.c: Write some docs (gtk_text_buffer_get_selection_bounds): Allow start/end to be NULL, so you can just check whether there's a selection. * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to cleanup_line or segments_changed ourselves, it gets done in unlink_segment * gtk/gtktextmark.h: s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/ * gtk/gtktextsegment.h: Clean up some indentation and naming mess * gtk/gtktextmark.c: delete some more old Tk cruft * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to mark before removing it, so we can emit MARK_DELETED with a valid pointer. (gtk_text_buffer_mark_set): hold ref across signal emission * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve whining about attempts to delete special marks * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with underscore, since it's internal. * gtk/gtktextbuffer.h: Remove find_string prototype, this is now implemented in terms of iterators in gtktextiter.h * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): New function, destructively sets contents of buffer. Also a convenient way to clear the buffer by setting text to "" * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat multiline string literal * gtk/testtext.c (text_changed_callback): Redraw line numbers if text changes. * gtk/gtktextiter.c (forward_char): Return FALSE if new location is not dereferenceable (gtk_text_iter_forward_lines): fix return value 2000-09-29 Havoc Pennington * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation * gtk/gtktextview.c: Implement drag thresholding; change functions that set border window size to have nicer name (gtk_text_view_mark_set_handler): Fix this to have the right signature. * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes * gtk/testtext.c: Update with API changes, put line numbers on both sides. * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap with this * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with pixbuf; delete a big block of #if 0 Tk code * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace insert_pixmap with insert_pixbuf 2000-09-29 Martin Baulig * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid confusion with the GdkPixbuf of the GNOME 1.x platform. 2000-09-29 Havoc Pennington * gtk/gtktextview.c: Implement the side windows. * gtk/testtext.c: Implement simple line numbering in the left side window; seems to make scrolling sloooow. Oops. Also, cursor blink is for some reason causing redraws of the line numbers. Should investigate... 2000-09-28 Havoc Pennington * gtk/gtktextview.c: Set up infrastructure to deal with lots of scrolling child windows, and draw focus rectangle properly. (gtk_text_view_buffer_to_window_coords): Coordinate transformation to deal with all these freaking windows and offsets (gtk_text_view_window_to_buffer_coords): transform the other way * gtk/testtext.c (create_buffer): Update to match Pango API change * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the anonymous tags (foreach_unref): don't emit remove signal from finalize, just set tag's parent to NULL 2000-09-26 Havoc Pennington * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove Fix some warnings 2000-09-26 Havoc Pennington * gtk/Makefile.am (gtk_private_h_sources): Move more text widget headers into the private header list * Makefile.am (pkgconfig_DATA): install pkg-config files * configure.in: add pkg-config files * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate outstanding icon caches on theme change. * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three important types: (GtkIconSource): Specification for creating a pixbuf appropriate for a direction/state/size triplet from a source pixbuf or filename (GtkIconSet): List of GtkIconSource objects that are used to create the "same" icon (e.g. an OK button icon), and cache for rendered icons (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look up the icon set for a given stock ID. GTK maintains a stack of GtkIconFactory to search, and applications or libraries can add additional icon factories on top of the stack * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse the set of GtkIconSource specified for a given stock ID into a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the RcStyle, under the specified stock ID. * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function render_icon used to derive a GdkPixbuf from a GtkIconSource. This allows people to theme how prelight, insensitive, etc. are done. (gtk_style_lookup_icon_set): Look up a stock ID in the list of icon factories for a style, and return the resulting icon set if any. (gtk_style_render_icon): Render an icon using the render_icon method in the GtkStyleClass. * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): Use the style for a given widget to look up a stock ID, get the icon set, and render an icon using the render_icon method of the style * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type (contains information about a stock item), the built-in stock item IDs, and functions to add/lookup stock items. * gtk/stock-icons/*: Stock icons that come with GTK * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns a button based on a GtkStockItem (gtk_button_new_accel): Takes a uline string and accel group, and installs the accelerator. * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic image-display widget. 2000-09-25 Havoc Pennington * gtk/gtktexttypes.c: Remove Latin1 conversion stuff * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): Fix a bug when removing node data, we didn't properly re-splice the linked list after removing the data. * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget * gtk/gtktextbuffer.c (selection_received): fix g_convert usage * gtk/gtktextlayout.c (set_para_values): Set tab array for the layout from the GtkTextTag. * gtk/gtktexttypes.h: delete tab and search cruft, remove g_convert() in favor of GLib version * gtk/gtktexttypes.c: remove tab implementation from here, move to Pango * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement tab stuff using new PangoTabArray from Pango * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove unused border_width stuff Thu Sep 14 12:21:12 2000 Owen Taylor * gtk/gtktexttypes.[ch]: Remove g_convert (moved to glib) and now useless utf_to_latin1() latin1_to_utf() * gtk/gtktextview.[ch]: Change ::move_insert and ::delete_text action signals to ::move and ::delete; create the signals with the right enumeration type, not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d, C-v bindings, change Home, End to move to beginning/end of line, Add C-Home C-End to move to beginning/end of buffer. Change ::cut_text to ::cut_clipboard, etc; combine ::scroll_text into ::move; use new GtkSelectionData functions to simplify DND text handling. * gtk/gtkenums.h gtk/gtktextview.h: Move movement, deletion enumerations here, rename enumeration values to be consistently plural. * gtk/gtktextbuffer.c: Use new clipboard interfaces for cut/copy/paste and primary selection. * gtk/gtktextbuffer.[ch]: Remove excess time and 'interactive' arguments from cut/copy/paste; rename cut to cut_clipboard, etc; remove gtk_text_buffer_get_clipboard_contents(). * gtk/gtktextlayout.[ch]: Add gtk_text_layout_move_iter_to_line_end() to move the iter to line ends. * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text): Functions to set or get a UTF-8 string on the selection data. * gtk/gtkclipboard.[ch]: New, simplified selection handling interfaces. * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly created widgets - one of these is useless if we don't. * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export a public function clear all targets registered for the widget. * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt: Never call gtk_widget_realize() - that was just asking for bizarre side-effects. * gtk/gtkselection.c (gtk_selection_owner_set): Call gdk_selection_owner_set even if the widget is the same so that we reliably update the timestamp on the server. * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a gdk_x11_get_server_time() function. * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h: Add some tricky filtering on serial numbers for selection clear events to fix up long-standard race condition FIXME's in gtkselection.c. * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add routines to convert from utf8 to compound text or STRING and from a text property to UTF-8. * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add a convenience function gdk_get_current_event_time(). * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy and free selection_data->data properly Sat Sep 9 10:23:53 2000 Owen Taylor * gtk/gtkthemes.c: Remove some unecessary includes. 2000-09-08 Jonathan Blandford * gtk/gtktextdisplay.c * gtk/gtktextlayout.c * gtk/gtktexttag.c * gtk/gtktexttag.h * gtk/testtext.c: Change the overstrike property to strikethrough, to closer match pango. Fri Sep 8 14:28:00 2000 Owen Taylor * gtk/gtktextview.c: Fix up visibility so that focus, cursor_visible and blink interact properly. Reenable cursor blink which had been roughly disabled. Make blink and focus properly per-view. * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible): Add a flag for whether to display insertion cursor and a function to set the flag. * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change get_line_y() to get_line_yrange(), to be a bit more generally useful. Thu Sep 07 20:54:33 2000 George Lebl * gtk/gtkmenu.c: in gtk_menu_set_submenu_navigation_region do stop_navigating_submenu, to clear last timeout properly. Also in gtk_menu_motion_notify move ignore_enter above the conditional to make it always happen as suggested by Owen 2000-09-07 Tor Lillqvist * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o * gdk/win32/gdkwin32.h: Add more definitions missing from the free w32api headers. * gdk/win32/gdkprivate-win32.h: Add a couple of missing declarations. * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings. (gdk_win32_get_colormap): A line had been deleted by mistake. * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too. (gdk_event_translate): Handle more virtual keycodes to be able to generate GDK events for Control-comma, Control-period, etc. * gtk/gtk.def: Add some missing entry points. Thu Sep 7 11:47:02 2000 Owen Taylor * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c: Doc comment fixing. (Mostly non-matching parameter names.) * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify comments a little to avoid looking like a doc comment. * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to GTK_INPUT_ERROR. (Should the mechanism for erros in spin button conversions be changed to GError?) * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): Move private #defines into .c file. * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize order of argument addition, remove duplicates. * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass): parent class is FrameClass, not BinClass. * gtk/gtk.h: Add gtkinvisible, which was missing. (It's occasionalyl useful for client apps, if seldom.) * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER #define. Wed Sep 6 09:53:15 2000 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space coordinates when creating window, instead of GDK-space coordinates. (Avoid BadValue on too large windows.) 2000-09-05 Sebastian Wilhelmi * configure.in (use_mmx_asm): Remove conftest* after use along the lines of AC_TRY_COMPILE. * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead of g_dirname, which is deprecated. (gtk_rc_parse_any): Removed calls to g_scanner_{freeze,thaw}_symbol_table, which are deprecated. * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy): Removed calls to g_hash_table_{freeze,thaw}, as they are deprecated now. * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename instead of g_basename. 2000-09-04 Elliot Lee * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid ANSI warning. Sun Sep 03 00:47:08 2000 George Lebl * gtk/gtkwidget.h: Add some documenting comments about GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT just as owen said on irc. * gtk/gtkwindow.c (gtk_window_set_default): Don't blindly set HAS_DEFAULT. Only set it if there isn't another window holding it (a focus window which RECEIVES_DEFAULT) and only unset it if the widget is not the focused window with RECEIVES_DEFAULT. This fixes weird double default bugs in dialogs which has things call gtk_window_set_default at times. Fri Sep 1 22:39:07 2000 Owen Taylor * gtk/gtkmenu.[ch] TODO.xml: Apply patch from Nils Barth and David Santiago to improve submenu navigation. The patch does this by creating a triangular region from the point where the pointer leaves the menu to the submenu. While the pointer is in that region and a timeout has not expired, events that would cause the active submenu to change are ignored. Fri Sep 1 15:34:46 2000 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where moving a toplevel window immediately after sizing it would result in it being sized back to the old size since impl->width, impl->height aren't updated until we hear back from the server. There is still a (longstanding) bug here that gdk_window_get_size() will give the wrong size until we do hear back. 2000-08-31 Havoc Pennington * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, gtk/gtktexttagprivate.h, gtk/gtktextview.c: Rename GtkTextStyleValues to GtkTextAttributes 2000-08-31 Havoc Pennington * gtk/gtktextbtree.c (GtkTextBTree): cache end line, for rapid testing whether an iterator is the end iterator (gtk_text_btree_new): init end line cache (gtk_text_line_is_last): use fast cached line to see if we're the last line. (get_last_line): use cached line here too, should speed up some random unrelated code. 2000-08-30 Havoc Pennington * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer signals. * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and delete_text signals. This allows the signals to be used for implementing undo. * gtk/gtktextbuffer.c: Change signal handler signatures; provide "interactive" argument when emitting insert_text or delete_text signal. 2000-08-30 Havoc Pennington * gtk/gtktextbuffer.c: Docs Fri Aug 25 12:16:15 2000 Owen Taylor * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP from switch statements, since Tor removed the enumeration value. * gdk/x11/gdkimage-x11.c (gdk_image_get): s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/. 2000-08-29 Elliot Lee * */*.h: Use G_GNUC_CONST. 2000-08-27 Havoc Pennington * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs, minor indentation fixes, inserted some FIXME about stuff I realized was broken while documenting it. (gtk_text_iter_get_pixmap): allow out params to be NULL, following GTK convention Tue Aug 22 12:33:24 2000 Owen Taylor * gtk/testgtk.c (create_styles): Fix double free of font desc. Mon Aug 21 22:39:18 2000 Owen Taylor * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}. * gtk/testgtk.c (create_styles): Add a test for modifying the style through gtk_widget_modify_*. * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add a function to get the current modifier style. * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy of the passed in GtkRcStyle instead of ref'ing it. * gtk/gtkrc.[ch]: Add gtk_rc_style_copy(). 2000-08-20 Tor Lillqvist * gdk/gdkimage.h * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the shared memory image+pixmap GdkImage type, or gdk_image_bitmap_new(). They were used in the gdk_imlib port, but I am dropping that. * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to actually call gtk_init_abi_check(), passing also sizeof(GtkWindow). Ditto for gtk_init_check(). * gtk/gtk.def * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check): New functions, used to check that the GTK+-using code has been compiled using the correct compiler and switches. In particular, with gcc one has to use the -fnative-struct switch as GTK+ is compiled with that. Fri Aug 18 17:27:46 2000 Owen Taylor * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling ->prev fields when merging lists. (Found simultaneously by Pawel Salek and Jakub Jelinek) 2000-08-12 Tor Lillqvist * gdk/gdk.def * gtk/gtk.def: Add missing entries. * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use OUT_TT_ONLY_PRECIS, try to get a TrueType font. * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New function. Dummy implementation at this point. * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer rules. Undefine GTK_COMPILATION when compiling the test programs. * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import. 2000-08-11 Tor Lillqvist * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8() to convert back and forth from UTF-8 and the "system" (or "current locale") charset when necessary. Indentation/spacing cleanup. 2000-08-10 Havoc Pennington * Makefile.am (snapshot): Change the format of the snapshot version to match glib * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h from EXTRA_DIST since it doesn't seem to exist 2000-08-10 Tor Lillqvist * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage" version of the directory name (not the UTF-8 one) when building the path name to stat(). 2000-08-03 Elliot Lee * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a PANGO_ATTR_SHAPE set. Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from Peter Osterlund to simplify the code while keeping the functionality the same. Wed Aug 2 14:57:38 2000 Owen Taylor * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move is_viewable() test further inside the function, since removing the window from the redraw list without clearing ->update_area was also very broken. 2000-08-02 Tor Lillqvist * configure.in: Check for . 2000-08-01 Martin Baulig * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning() to display the message that this is a development version of GTK+. Mon Jul 31 18:37:36 2000 Owen Taylor * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation was depending on widget->allocation instead of the width of text_area, which was incorrect for subclasses like GtkSpinButton. * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos with width == 1 tests that should be width == -1. Mon Jul 31 16:45:48 2000 Owen Taylor * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, (broken, Elliot, every single window blank on X) custom code with call to gdk_window_is_viewable() which a) prevents code duplicate and b) works. 2000-07-31 Elliot Lee * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order to get the GDK_PARENT_ROOT() macro to work. * gtk/gtkmarshal.list: Add NONE:STRING,POINTER * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces of, windows that aren't shown. * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of pointer grab stuff. Mon Jul 31 13:53:16 BST 2000 Tony Gale * docs/gtkfaq.sgml docs/gtk-faq.sgml: s/gtk_main_iteration/g_main_iteration/ Did this already in change: Mon Nov 15 17:17:51 GMT 1999 Tony Gale don't know how it got reverted. 2000-07-31 Stanislav Brabec * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and gdk_arg_no_debug_cb to fix compilation problem with --disable-debug. * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3, not gdk_pixbuf. 2000-07-30 Pablo Saratxaga * configure.in,po/{sp,sr}.po: Added Serbian files 2000-07-30 Tor Lillqvist * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST. * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue): Remove the g_pipe_readable_msg stuff. Not needed with new GLib GIOChannel implementation. * gdk/win32/gdkinput.c * gdk/win32/gdkpango-win32.c: Update license name here, too. * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix definition to match prototype. * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS. 2000-07-27 Elliot Lee * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type function, to allow handling image formats that cannot be detected by looking at content alone. Thu Jul 27 13:13:21 BST 2000 Tony Gale * docs/tutorial/*.gif *.jpg *.eps Update these to the same look-n-feel. Why does including images in DocBook suck so badly? Thu Jul 27 05:06:29 2000 Tim Janik * gtk/gtktable.c: applied patch from Phil Thompson that enables space settings for the last row/columns as well. Wed Jul 26 12:59:31 2000 Tim Janik * *.[hc]: applied patch from Andreas Persenius that updates the license headers to the GNU Lesser General Public License, as well as updating the copyright year to 2000. 2000-07-26 Robert Brady * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h and po/Makefile, was installing and looking for them under gtk20 and gtk2 respectively. 2000-07-25 Havoc Pennington * gtk/testtext.c: Comment out some stuff that depends on the rest of my patches. 2000-07-25 Havoc Pennington * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text buffer 2000-07-25 Havoc Pennington * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text widget changes. * gtk/gtktextview.h: To be consistent with usage of "line" throughout the API to mean "newline-terminated thingy", change MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH to MOVEMENT_LINE. (GtkTextView): Add flags for default editability, and whether to show the cursor. Add functions to get/set that. Add (gtk_text_view_get_iter_location): new function * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to gtktextlayout.h (g_convert): Add g_convert temporarily, will go in glib in a bit * gtk/gtktexttagtable.h: include gtktexttag.h, and define GtkTextTagTableForeach instead of brokenly using GHFunc. Change gtk_text_tag_table_foreach() so it doesn't use GHFunc. * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here, moved to public header. * gtk/gtktexttag.h: Rename the "elide" attribute of tags to "invisible", since "elide" was a bad name. (gtk_text_tag_get_priority): Added (GtkTextStyleValues): put this in public header, along with functions to use it. * gtk/gtktextmarkprivate.h: Include more headers, since we no longer include gtktextbtree.h. * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref, gtk_text_mark_deleted * gtk/gtktextlayout.h: Don't include the "really private" headers, only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData to make this possible. Now we only need to install gtktextlayout.h, not gtktextbtree.h and gtktext*private.h. (However the Makefile.am isn't changed yet because of the logistics of merging gtk-hp-patches piecemeal) * gtk/gtktextiterprivate.h: include btree header, so it compiles; rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since gtk_text_iter_get_line is now used in the public API for a different purpose. * gtk/gtktextiter.h: Clean up function names to be more consistent. Always call char offset "offset" and byte index "index". A "line" is always a line number. (gtk_text_iter_is_last): new function, more efficient than the existing way to check (gtk_text_iter_is_first): new function, also more efficient (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from gtk_text_iter_forward_char, etc. (gtk_text_iter_forward_to_tag_toggle): Renamed from forward_find_tag_toggle, since this isn't a linear search (GtkTextCharPredicate): rename from GtkTextViewCharPredicate (gtk_text_iter_forward_search, gtk_text_iter_backward_search): New functions, search for a buffer substring. * gtk/gtktextbuffer.h: Add fields to store whether a paste is interactive and default editable (since we need to store that info until we receive the selection data). Remove all the _at_char and at_line etc. versions of functions; only have iterator versions. Add _interactive() versions of functions, that consider the editability of text. (FIXME add interactive flag to the insert/delete signals per Darin's suggestion) (gtk_text_buffer_get_tag_table): new function, demand-creates the tag table if necessary Remove declaration of gtk_text_buffer_get_iter_from_string (_gtk_text_buffer_get_btree): private/internal function, added. * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData. (gtk_text_line_is_last): new function 2000-07-25 Havoc Pennington * gtk/gtkprogressbar.h: Implement new sane, 5-function API for using GtkProgressBar. See Changes-2.0.txt for details. * gtk/gtkprogressbar.c: Add object arguments "fraction" and "pulse_step" which are the equivalent of gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction. Implement new API. * gtk/gtkprogress.h (struct _GtkProgress): Add a field (use_text_format) to mark whether text set on the progress bar is a format string. Deprecate entire GtkProgress interface. * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE (gtk_progress_build_string): make this a no-op if use_text_format is FALSE * docs/Changes-2.0.txt: Describe progress bar changes. 2000-07-25 Tor Lillqvist * Makefile.am: Include the build directory. * configure.in: Generate build/Makefile, build/win32/Makefile, gdk/, gdk/win32/, and gtk/makefile.mingw. * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf. Add GETTEXT_PACKAGE. * gdk/gdk.def * gtk/gtk.def: Updates. * gdk/gdkfont.h * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't need them any longer. * gdk/gdkinput.h: Mark gdk_core_pointer for export/import. * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with PANGOWIN32_LIBS and gdk_pixbuf. * gdk/win32: Compiles, but no doubt doesn't work at all. * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. * gdk/win32/gdkinput.c: New file, temporarily. * gdk/win32/gdkinput-win32.h: New file * gdk/win32/gdkinputprivate.h: Remove. * gdk/win32/gdkpango-win32.c: New file. * gtk/makefile.mingw.in: New file * gtk/makefile.cygwin: Removed * gtk/Makefile.am: Update accordingly. * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and made externally visible. * gtk/gtkmain.c: Use it. * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h is enough. * gtk/gtktypeutils.c: Mark glib_debug_objects for import. 2000-07-24 Elliot Lee * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the individual backends already. * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together again. Yes, there really is a good reason for this, if you are using the gdkregion internals, and if you're not, why do you care? * gdk/gdkwindow.c: Fix inverted condition * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely). * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb * gtk/gtkrange.c: Redraw trough when moving. * gtk/gtktypeutils.c: Fix warning by adding const cast. * modules/linux-fb/basic.c: Fix unknown glyph retrieval. 2000-07-23 Tor Lillqvist * configure.in: Check for mkstemp and sigsetjmp. Output gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw. More work on GDK for Win32. Still in an intermediate state. * gdk/makefile.cygwin * gdk/win32/makefile.cygwin: Removed. * gdk/makefile.mingw.in * gdk/win32/makefile.mingw.in: New files. * gdk/Makefile.am * gdk/win32/Makefile.am: Generate and distribute them. * gdk/win32/gdkwindow-win32.h * gdk/win32/gdkdrawable-win32.h * gdk/win32/gdkpixmap-win32.h: New files. * gdk/win32/gdkcolor-win32.c * gdk/win32/gdkcursor-win32.c * gdk/win32/gdkdrawable-win32.c * gdk/win32/gdkgc-win32.c * gdk/win32/gdkimage-win32.c * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwin32.h: Update data structures. Cosmetics: Rename fields and variables called xcursor, xid, etc (these names were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc. Sat Jul 22 17:41:26 2000 Owen Taylor * gtk/gtkentry.[ch]: Fix some problems with vertical alignment. * gtk/gtkentry.c (gtk_entry_find_position): Fix char/byte confusion. Sat Jul 22 11:16:05 2000 Owen Taylor * gtk/gtktextview.c (changed_handler): Fix bug where redraw wasn't being done properly when height of dirty region changed. * demos/Makefile.am: Remove various references to -lgmodule Fri Jul 21 15:28:13 2000 Owen Taylor * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new PangoAttrShape to reserve space for pixmaps, add GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps in the display functions. * gtk/testgtk.c (create_layout): Set some more exotic scrolled window options * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type): Add function to set the shadow type of a window, to allow putting a shadow around widgets such as GtkLayout or GnomeCanvas which don't draw their own frame. Fri Jul 21 16:34:42 BST 2000 Tony Gale * docs/tutorial/package-db-tutorial.sh: New file for packaging DocBook format tutorial Fri Jul 21 14:23:51 BST 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: Minor updates * docs/tutorial/*.jpg *.eps: Screenshots for tutorial 2000-07-19 Tor Lillqvist * gtk/gtksignal.c: Fix C++ comment. * gtk/gtkimmulticontext.c * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__, don't return value from void functions. * gtk/gtk.def: Add gtk_rc_style_unref. 2000-07-19 Sebastian Wilhelmi * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h, gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h, gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h, gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h, gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h, gtk/gtktypeutils.h: Include files outside of the extern "C" block. Makes some C++ compiler happy. Reported by Denis Vakatov . Wed Jul 19 14:07:57 BST 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: Yet more clean ups. Completes first pass. Hurrah! Tue Jul 18 17:17:55 BST 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: More clean ups. Mon Jul 17 18:52:38 2000 Owen Taylor * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to paint the background of the text area which was accidentally removed at some point. * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: - Move most of the functionality from the theme vtable into GtkRcStyleClass and GtkStyleClass. The moved vtable functions were changed a bit in the move to work better in their new home. - Get rid of the engine and engine_data fields from GtkRcStyle and GtkStyle; instead the theme engine derives theme-specific subclasses of GtkRcStyle and GtkStyle - Add extra dlsym() found entry point to themes, theme_create_rc_style(). * gtk/gtkstyle.c: Copy xthickness, ythickness fields in gtk_style_real_copy. * gtk/themes.[ch]: add a function gtk_theme_engine_register_type() to register a type associated with an engine. (The engine won't be unloaded as there is an instance of the type.) Mon Jul 17 18:19:06 BST 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: Clean ups. Mon Jul 17 13:59:29 BST 2000 Tony Gale * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots of cleaning up to do. 2000-07-15 Tor Lillqvist * gdk/testgdk.c: New file, quick hack to test backends for pixel-by-pixel correctness of the most simple graphic operations. Fri Jul 14 20:30:25 2000 Owen Taylor * Really release 1.3.1 * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new include structure. Fri Jul 14 18:40:39 2000 Owen Taylor * Released 1.3.1 Fri Jul 14 16:21:26 2000 Owen Taylor * gtk/gtktextlayout.c: use FALSE for size_only most of the time when calling gtk_text_layout_get_line_display() to avoid causing double reshapes when a redraw follows immediately after. Tue Jul 11 11:13:40 2000 Owen Taylor * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate appropriate region and gdk_window_process_updates() so trough updating doesn't lag behind the window being scrolled. * gdk/gdkgc.c: Make parent_class pointer static. Sun Jul 9 21:31:23 2000 Owen Taylor * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c: include . * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix cut-and-paste error in computing memory offset for 4 channels. Fri Jul 14 14:05:02 2000 Owen Taylor * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove gtk_rc_append_default_pixmap_path(), since it wasn't adding an interesting path and we don't have a meaningful default for this value. Fri Jul 14 12:22:49 2000 Owen Taylor * configure.in Makefile.am gtk-config.m4 gtk.m4: Move gtk-config to gtk-config-2.0 move gtk_.m4 to gtk-2.0.m4 * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am gdk/Makefile.am demos/Makefile.am: Change library names to libgtk-1.3.la, etc, so that we can distinguish gtk-1.2 and gtk-2.0 on the linkline. * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am gdk/Makefile.am gdk/x11/Makfile.am Move include files into /usr/include/gtk-2.0, /usr/lib/gtk-2.0/include/ * autogen.sh acconfig.h configure.in gtk/gtkmain.c gtk/gtkintl.h: Change package for gettext from gtk+ to gtk20. Put hack in autogen.sh to modify po/Makefile.in.in after gettextize to make this possible. * gtk+.spec: Some updates, not tested. * gdk-pixbuf/Makefile.am: Move loaders into $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders. * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir to THEMENAME/gtk-2.0/. Move engine directory to $(libdir)/gtk-2.0/$(GTK_VERSION)/engines. 2000-07-12 Tor Lillqvist Win32 changes, still doesn't build though. * gdk/makefile.cygwin * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: Updates. * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same default values for fg and bg pixel as X11 does (0 and 1), not black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default. Use 0 for pen width by default (treated as 1 anyway later, but for apps that might check the value in the GdkGC). (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public interface to gdk_gc_predraw and _postdraw. * gdk/win32/gdkwin32.h * gdk/gdk.def: Add gdk_win32_hdc_{get,release}. * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove extraneous semicolon. * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0. * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. * gdk/win32/gdkcc-win32.c: * gdk/win32/gdkcolor-win32.c * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwin32.h: Changes to make compilable, with new GDK object structure. Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): * docs/tutorial/gtk_tut_it.sgml (name): * docs/tutorial/gtk_tut_fr.sgml (name): * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely outdated email adress: s/timj@psynet.net/timj@gtk.org/. Tue Jul 11 13:10:57 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Cleanup indenting and various small changes. Tue Jul 11 08:04:58 2000 Tim Janik * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen a bug here, never been here and never fixed anything ;( (don't segfault if tree->root_tree is NULL, which happens prior to widget realization, but puke instead). Tue Jul 11 06:38:42 2000 Tim Janik * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and add the necessary tokens. * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style. (gtk_rc_style_to_style): copy thicknesses. (gtk_rc_init_style): apply thicknesses. (gtk_rc_parse_style): parse xthickness and ythickness. * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements. * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): (gdk_window_new): (_gdk_windowing_window_init): * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): (gdk_pixmap_create_from_data): (gdk_bitmap_create_from_data): (gdk_pixmap_new): * gdk/x11/gdkimage-x11.c (gdk_image_get): (gdk_image_new): * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): (gdk_colormap_get_system): (gdk_colormap_new): * gdk/gdkwindow.c (gdk_window_init): * gtk/gtkstyle.c (gtk_style_new): * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): * gdk/gdkpixmap.c (gdk_pixmap_init): * gtk/gtkrc.c (gtk_rc_style_new): use g_object_new() instead of g_type_create_instance() which is a private function for fundamental type implementations. Thu Jul 6 16:12:14 2000 Owen Taylor * configure.in: Add check for db2html Thu Jul 6 14:53:05 2000 Owen Taylor * gtk/gtktypeutils.c (gtk_type_init): Add a temporary hack to set glib_debug_objects based on gtk_debug_flags. Thu Jul 6 14:12:13 2000 Owen Taylor * INSTALL.in: Update the Prerequisites section. * Makefile.am demos/Makefile.am docs/Makefile.am docs/tutorial/Makefile.am gdk/x11/Makefile.am gdk/linux-fb/Makefile.am: Dist fixes Thu Jul 6 12:26:03 2000 Owen Taylor * NEWS: 10,000 foot view of 1.3.1 changes. Thu Jul 6 11:54:03 2000 Owen Taylor * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h gdk/x11/gdkmain-x11.c: Patch from George Lebl to add a GdkGrabStatus enumeration to use as a return value of gdk_*_grab(). Previously, we just returned the X11 values directly. Thu Jul 6 11:27:44 2000 Owen Taylor * gdk/x11/Makefile.am: Patch from George Lebl to install all the headers in the right place. Tue Jul 4 13:13:01 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Add remaining sections. Completes initial conversion to DocBook. 2000-07-04 Tor Lillqvist * README.win32: Improve a bit. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also WM_SYSCHAR, and other changes to get handling of Alt+nnn or Alt+0nnn on the numpad (used to enter characters by numeric code from current DOS or ANSI codepage) working correctly, as in other Windows apps. * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use same argument validity tests as in X11 version. (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon. * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor definitions in case missing from headers. * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also destroy the window-specific cursor. (RegisterGdkClass): Use the global gdk_ProgInstance instead of calling GetModuleHandle(NULL). (gdk_window_set_cursor): Reworked to always copy the passed cursor with CopyCursor before setting it as the window-specific cursor. It is OK for the caller to destroy the GdkCursor (and thus also its Windows cursor) after calling this function. Destroy any previous window-specific cursor. Mon Jul 3 17:54:49 2000 Owen Taylor * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): font charset is iso8859-1, not iso-8859-1. Mon Jul 3 17:08:14 2000 Owen Taylor * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Use g_get_charset() instead of g_get_codeset(). * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: Comment out some strdup'ing functions to keep timj happy until we finish fighting this out. Mon Jul 3 14:24:16 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with <= width or height. * gtk/gtktable.c (gtk_table_attach): Fix missed merge from 1.2 for parent/child states. * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple of typos. * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of event structures, replace with a generic axes field. Replace deviceid/sourec with GdkDevice *device. * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function to extract particular axis use value from event. (Also can be used for normal X/Y.) * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision; allow for arbitrary number of axes, namespace everything as gdk_device_*. Replace guint32 deviceid with GdkDevice * everywhere. * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: Get rid of the gdk_input_vtable setup if favor of simply defining the functions in gdkinput-none/gxi/xfree.c in a similar fashion to the way that the port structure is done. * gtk/gtkdnd.c: Fix fields of synthesized button press event for new event structures. * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match new device interfaces. Sun Jul 2 18:19:50 2000 Owen Taylor * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to set the initial text. * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new pango_layout_set_font_description to simplify. Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new pango_layout_set_font_description to simplify. Sun Jul 2 17:06:40 2000 Owen Taylor * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'. * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with PANGO_PIXELS() macro. Sun Jul 2 15:24:41 2000 Owen Taylor * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function that returns a PangoContext owned by the widget and updated to match future changes in the widget. Also, make gtk_widget_create_pango_layout() use this context. If we ever add a ::changed signal to PangoContext, this will make things much more convenient. * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed() in the appropriate places instead of destroying the layouts and creating new ones. * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context() in a few strategic places. Sun Jul 2 14:37:58 2000 Owen Taylor * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call gtk_widget_size_request() on reparented child, if one. Otherwise, queue_resize() on the child never results in it getting size-requested at all. * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items in option menus, so that (with luck) people won't copy it into their apps in the future. * gtk/gtkoptionmenu.c: Connect ::size_request on the menu to gtk_option_menu_calc_size. This isn't perfect, but should fix a lot of problems with changing the size of the menu's menu items after adding it to the option menu. * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language(). * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when the text direction for a widget changes. * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use ::direction_changed to get rid of various hacks. Sun Jul 2 13:19:12 2000 Owen Taylor * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate name. Sun Jul 2 13:06:26 2000 Owen Taylor * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign flag to the structure. Do not call XFreePixmap on pixmaps created by gdk_pixmap_foreign_new(). Sun Jul 2 12:45:50 2000 Owen Taylor * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel value using GdkRGB functionality given GdkColormap and GdkColor. (name not final, waiting for inspiration.) * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to set the foreground/background of a GC using the GC's colormap and GdkRGB. (name not final, waiting for inspiration.) * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from gdk_rgb_get_cmap(), put #define in gdkcompat.h. * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for gtk_widget_get_visual(), gtk_widget_get_default_visual, etc, purely a function of the corresponding colormap. Make gtk_widget_set_visual(), etc, noop macros in gtkcompat.h. * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite gdk_pixbuf_*create_from_xpm_* in terms of gdk_pixbuf_new_from_xpm_data(), move into platform independent code. * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take advantage of the new draw_rgb_32_image_dithalign. * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added. * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap on each created GC. * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap. * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure which we initialize from the drawable when the GC is created, if the drawable has a colormap. * gdk/x11/gdkgc-x11.c: include string.h for memset. * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc. * gtk/gtklayout.[ch]: Remove unsed configure serial member. Sat Jul 1 16:28:32 2000 Owen Taylor * gdk/x11/gdkevents-x11.c (gdk_event_translate): When actually returning expose events, make sure to set the count field properly. * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix accidentally reintroced bug which always cleared the graphics_exposures value. Wed Jun 28 18:03:09 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Change DocBook layout slightly Wed Jun 28 17:49:05 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7. Wed Jun 28 13:31:55 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Start of Section 6. Mon Jun 26 19:37:04 2000 Owen Taylor * configure.in: Put 1.3.1 in warning message, not 1.3.0. (Fixes problem with drawing childless frames. Pointed out by and a first patch from Anders) * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always compute a child_allocation, even if we don't have a child. * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation): Always chain to the parent's impl, even if we don't have a child. Mon Jun 26 18:53:31 2000 Owen Taylor * gdk/gdkrgb.c: If possible, create only a single shm segment and use multiple parts of it instead of creating a bunch of separate segments, since the maximum number of segments per system is not large. (This might be worth backporting to GTK+-1.2.x if we make a new release ) * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo structure in preparation for per-colormap GdkRGB. * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm to False when we get EINVAL from shmget so that the caller of gdk_image_new can retry with a smaller segment size. Mon Jun 26 13:01:16 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Add Sections 4 & 5. Fri Jun 23 17:54:23 2000 Tim Janik * configure.in: make the current version number 1.3.1 (binary age 0, interface age 0). * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*, gtkcompat.h is all we want. * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of GLib primitive types. fixed g_type_register_fundamental() argument ordering. * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code compiles. * gdk-pixbuf-loader.[hc]: get rid of unistd.h include. object code cleanup, comment trigraph fixes, etc... 2000-06-23 Havoc Pennington * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark instead of making up a bogus name for first_para_mark * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 0 as a context ID Thu Jun 22 17:43:51 BST 2000 Tony Gale * docs/faq/gtk-faq.sgml: Change filename. Add Section 3. 2000-06-21 Havoc Pennington * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where we didn't check window->bg_pixmap != GDK_NO_BG. * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of gdk-pixbuf Thu Jun 22 14:02:19 BST 2000 Tony Gale * docs/faq/gtk-faq.sgm: Move file to here. TODO: Update Makfile.am Thu Jun 22 13:41:09 BST 2000 Tony Gale * docs/gtk-faq.sgm: Add Section 2 Thu Jun 22 08:43:45 BST 2000 Tony Gale * docs/gtk-faq.sgm: New file. Start of DocBook version of the FAQ. Wed Jun 21 23:04:17 2000 Owen Taylor * configure.in (GDK_PIXBUF_MAJOR): Define version numbers for GDK_PIXBUF_*, as they get substituted into a header file. Need to consider versioning for gdk-pixbuf more carefully later. 2000-06-21 Raja R Harinath Work with srcdir != builddir. * demos/testanimation.c: Don't include "gdk-pixbuf.h". Use , not "gtk-pixbuf/gdk-pixbuf-loader.h". * demos/testpixbuf.c: Likewise. * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h". * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h". Use . * demos/pixbuf-demo.c: Use not "gtk.h". Don't include "gdk-pixbuf.h". * demos/Makefile.am (INCLUDES): Remove unneeded directories. Wed Jun 21 19:45:02 2000 Owen Taylor * TODO.xml: Change 1.4 version numbers to 2.0. Wed Jun 21 19:29:08 2000 Owen Taylor * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation fixups to GTK+ standard. Wed Jun 21 16:38:13 2000 Owen Taylor * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard, gdk-pixbuf. * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fixups for GObject. * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of gdk-pixbuf with GDK dependencies moved into GDK. * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily move gdk-pixbuf-loader here until GObject has signals. * demos/: New directory of demos. Move demos from gdk-pixbuf here. * demos/pixbuf-init.c: Small bit of code to check for loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found, set GDK_PIXBUF_MODULEDIR appropriately. * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat define which no longer makes sense. 2000-06-21 Havoc Pennington * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use gtk_get_default_language * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): new function to get the default language * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: s/gtk_text_view_style_values/gtk_text_style_values/ * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h: Add a "language" field to tags. (gtk_text_tag_set_arg): Fix bug in setting "bg_full_height_set" tag. 2000-06-21 Havoc Pennington * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate in the interfaces * gtk/gtktexttypes.c: Remove UTF functions, use glib stuff instead when possible. * gtk/gtktexttypes.h: Delete some unused constants * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c, testtextbuffer.c: use glib instead of custom unicode routines Wed Jun 21 12:50:58 2000 Owen Taylor * docs/es/: Removed mistakenly added generated sgml * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex: Remove outdated info files. * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial: Moved tutorial files into subdir * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into subdir. * docs/man/gtk_button.pod: Remove. (contents will be integrated into gtk-reference button page.) * configure.in docs/Makefile.am docs/tutorial/Makefile.am docs/faq/Makefile.am: Adjust for new organization 2000-06-21 Christopher Blizzard * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs) not $(MKINSTALLDIRS) Wed Jun 21 12:24:28 2000 Owen Taylor * gtk/testgtk.c (create_text): Finish the job Elliot started of removing font setting test for text widget. (Since text widget and GdkFont are not deprecated, and cause portability problems.) Wed Jun 21 11:41:43 2000 Owen Taylor * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c: Remove use of libunicode in favor of new GLib functions. * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32, nano-x, framebuffer. The X11 include is just a hack until we get the necessary functions in gdkcolor.h, so there is no reason to add other includes of platforms. * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert window bigger than the screen change. * gtk/testgtk.c: Revert some random changes from Elliot that had no particular point and were causing testgtkrc not to function correctly. * gdk/gdkregion-generic.h: Revert change from Elliot. Just because GdkSegment and GdkRegionBox have the same fields, it doesn't mean that 'typedef GdkSegment GdkRegionBox' results in clearer code. * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events, gdk_input_translate_coordinates): Fix missed GdkObjectification 2000-06-18 Elliot Lee * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way. * gtk/gtk{plug,socket}.h: Missed commits from previous. 2000-06-20 Havoc Pennington * modules/linux-fb/Makefile.am: Make this compile without framebuffer enabled * gdk/linux-fb/Makefile.am: Add conditional to not build framebuffer unless specified in configure * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting the size of the target instead of source if -1 was passed for width/height * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix width/height confusion. 2000-06-19 Havoc Pennington * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be GDK_DRAWABLE_XID. In the future, we probably want to make it faster with G_DISABLE_CHECKS turned on. 2000-06-14 Havoc Pennington * gdk/Makefile.am: add gdkpixmap.c * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/ s/gdk_image_init/_gdk_windowing_image_init * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject ref/unref * gdk/gdkcolor.h: make GdkColormap a GObject subclass * gdk/gdkcompat.h: remove GdkWindowType compat, since GdkWindowType is now non-deprecated; change gdk_window_get_type() compat to be gdk_window_get_window_type(). * gdk/gdkdnd.h: make GdkDragContext a GObject. * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure virtual GObject. Make all functions call into the vtable. Move gdk_image_put() guts in here. Remove GdkDrawableType and gdk_drawable_get_type(), these are now GdkWindow-specific. draw_image, get_depth, get_size, set_colormap, get_colormap, get_visual added to the vtable. * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual GObject. Virtualize everything. (gdk_gc_new_with_values): remove check for destroyed window, because now GdkWindow::create_gc will check this. (gdk_gc_set_values): New function to set GC values, this was already implemented but wasn't in the header * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject. * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove _gdk_window_draw_image(), remove _gdk_windowing_window_class, remove _gdk_window_class; add _gdk_window_impl_get_type() and _gdk_pixmap_impl_get_type(). Rename gdk_window_init to _gdk_windowing_window_init, rename gdk_image_init to _gdk_windowing_image_init. * gdk/gdkpango.c: Reflect GObject-ification of PangoContext. (gdk_draw_layout): Remove check for destroyed window, because all the drawable methods already check it. * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject. Add gdkpixmap.c which contains implementation of GdkDrawable virtual table (by chaining to a platform-specific implementation object). * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate, GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate, GdkColormapPrivate. * gdk/gdktypes.h: #include * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject. Move most functionality to platform-specific implementation object. GdkWindow itself now handles the backing store, then chains to the platform-specific implementation. (gdk_window_get_window_type): return GdkWindowType of the window. (gdk_window_peek_children): New routine, returns the children of a GdkWindow (gdk_window_get_children): Was in X11-specific code and did XQueryTree. Changed to simply return a copy of window->children; so it can go in cross-platform code. * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path * gdk/x11/gdkcolor-x11.c: implement X-specific parts of GdkColormap; just changed to use the new private data instead of casting to GdkColormapPrivate. * gdk/x11/gdkcursor-x11.c: added a couple typechecks to gdk_cursor_new(). * gdk/x11/gdkdnd-x11.c: Change the way we access private fields (private data member in the GObject). (xdnd_manager_source_filter): Function had broken error handling, fix it (use gdk_error_trap_push). * gdk/x11/gdkdrawable-x11.c: This file now implements a base class for GdkWindowImplX11/GdkPixmapImplX11. This base class is purely for the convenience of the X port, and not part of the interface to cross-platform GDK. * gdk/x11/gdkevents-x11.c: Reflect various renamings. * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's specific to X, and returned by the create_gc virtual method of GdkDrawableImplX11. (gdk_x11_gc_set_dashes): Change this to take an array of gint8 rather than gchar, this was also changed in the GdkGC vtable. (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the mask is 0, return immediately, instead of checking every flag. This is faster, and keeps us from segfaulting if values is NULL and the mask contains some nonzero flags. * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of GdkWindow. * gdk/x11/gdkglobals-x11.c: change type of grab window, since GdkWindowPrivate is gone. * gdk/x11/gdkim-x11.c: rename things that got renamed. * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and remove the image_put stuff that got transferred to GdkDrawable. * gdk/x11/gdkinput.c: renamings * gdk/x11/gdkmain-x11.c: #include * gdk/x11/gdkpixmap-x11.c: GObject conversion * gdk/x11/gdkprivate-x11.h: indentation fixes * gdk/x11/gdkproperty-x11.c: renamings * gdk/x11/gdkselection-x11.c: renamings * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now implements the platform-specific "impl" object. Moved gdk_window_get_children to gdk/gdkwindow.c * gdk/x11/gdkx.h: Remove all the private structs and private datas that no longer exist. Add declaration of GdkGCX11 object here. Fix all the macros to still work. * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow, GdkDragContext from the boxed types since they are now GObjects. * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject, moved xthickness/ythickness into the instance. GtkStyleClass functions are now in the standard vtable for GtkStyle, so you have to create a GObject subclass to write a theme engine. (gtk_style_copy): fixed a leaked PangoFontDescription (gtk_style_init): renamed gtk_style_realize, so gtk_style_init can be the standard GObject function. * Throughout GTK: s/style->klass->[xy]thickness/style->[xy]thickness s/pango_layout_unref/g_object_unref/ * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject. * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of accessing GDK internals. * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of accessing GDK internals. 2000-06-18 Elliot Lee * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen. * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar problem by calculating event position relative to the trough rather than the slider. * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate. * gdk/gdkgc.h: Add GDK_NOR. * configure.in, Makefile.am: Add modules top level dir * configure.in: Only use pangox library if building x11 target. * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use. Fri Jun 16 22:24:22 2000 Christopher Blizzard * gtk/gtkcolorsel.c: Change private class member to be named private_data throughout the file. * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to private_data to avoid clashing with keyword. Fri Jun 16 22:24:22 2000 Christopher Blizzard * gdk/gdkdnd.h: Add comment to remove warning. Sun Jun 18 15:35:35 2000 Pablo Saratxaga * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by Byelorussian language; changed the Makefile and file names to reflect that. Mon Jun 12 16:58:40 2000 Owen Taylor * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw rather than gdk_window_hide; this makes things work correctly if the window is programmatically hidden while iconified. Sun Jun 11 12:46:19 2000 Owen Taylor * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix cut and paste typo where wrong pixmap was being unref'ed. (Pointed out by a friend of KUSANO Takayuki.) Sun Jun 11 10:22:36 2000 Owen Taylor * gtk/gtkselection.c (gtk_selection_bytes_per_item): Add helper function to compute format / bytes relationship. Use in a couple places to fix up errors which assume 8 * format. * gtk/gtkselection.c (gtk_selection_request): Use 32 rather than 8 * sizeof (GdkAtom), to work correctly on Alpha. Thu Jun 8 21:54:51 2000 Christopher Blizzard * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not libgtk.la (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11 versions * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error checking macros return NULL since the function has a return value. Wed Jun 7 15:44:42 2000 Owen Taylor * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping GTK+ from building at all. * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues. Mon Jun 5 19:32:53 CEST 2000 Paolo Molaro * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am, gtk/Makefile.am: make it possible to configure gtk for different targets on the same platform. The library name is now libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb flag. Only the x11 target compiles right now. * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h, gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir. * gdk/nanox/gdk*generic*: delete generic region code. * gdk/linux-fb/gdk*generic*: delete generic region code. * README.nanox: update information. Tue Jun 6 10:53:59 2000 Owen Taylor * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to prepend not append. (Pointed out by Brett Hall.) Tue Jun 6 01:59:57 2000 Owen Taylor * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout. Mon Jun 5 16:00:09 2000 Owen Taylor * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll need this later, and this makes sure that the atexit for glib gets called after that for GDK, so atexits are properly ordered for object leak checking. * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit(). * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call pango_x_shutdown_display() * gtk/simple.c (main): Close window on destroy. Mon Jun 5 11:50:02 2000 Owen Taylor * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need to treat initial creation different from setting with regards to the graphics-exposures parameter, so add a parameter indicating whether this is initial or not. Mon Jun 5 13:29:31 2000 Owen Taylor * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() to sort of work by adding an extra return_exposes arg to gdk_event_translate() - it might be better to simply deprecate the function altogether and force people to rewrite without it. gdk_window_scroll() handles most of it, and where gdk_window_scroll() doesn't work, simply redrawing more does. * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up assertion. * gtk-config.in: Include PANGO_CFLAGS/LIBS. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a bunch of pretty much useless /* Print debugging info */ comments which had drifted away from the code they were commenting. 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer is in working order. * gtk/testtext.c: Change to reflect anonymous mark API * gtk/gtktextview.c: Convert from mark names to GtkTextMark*. * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size field, which was unused. * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro, saves some typing. * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark* * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable flag on the insertion point and selection bound Throughout, use GtkTextMark instead of GtkTextLineSegment, and make mark-manipulation functions take a GtkTextMark* instead of a mark name. * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to GtkTextMarkBody; will be used to detect attempts to delete the permanent marks (insert and selection bound) * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer Fri Jun 2 12:56:01 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED flag to on. * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): Honor DOUBLE_BUFFRED_FLAG * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a function to set the DOUBLE_BUFFERED flag. * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether or not exposes done on the widget should be double-buffered. * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations to be what would be expected. (Fixes problem with a g_return_if_fail() validating a TextDirection enumeration) Thu Jun 1 23:05:13 2000 Owen Taylor * gtk/gtkwidget.c: Remove all references to offscreen flag which was no longer used. * gtk/gtkprivate.h (enum): Remove unused flags and compress. * gtk/gtkframe.c (gtk_frame_set_label_widget): Check for non-null label_widget->parent. * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute which no longer was used. * gdk/gdkpango.c (gdk_pango_context_get_info): make static. * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks for null arguments. * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add check for destroyed windows. Thu Jun 1 13:48:45 2000 Owen Taylor * gtk/gtkimmulticontext.c: Add a finalize method and unref the slave context there. * gtk/gtkinvisible.[ch]: Make reference counting behavior identical to GtkWindow. Thu Jun 1 01:54:11 2000 Owen Taylor * Makefile.am gdk/gdkpango.c: Copy the layout render function from pangox to here, so we can write them independent of rendering system, using GDK primitives. * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable, since we have a rendering-system independent implementation in terms of draw_glyphs(). * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New function to render a single line. * gdk/x11/gdkpango.c: Move the guts of this file mostly into ../gdkpango.c, which simplifies things, since we don't have to deal with raw X gc's. Fri May 19 04:28:16 2000 Owen Taylor * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to get the logical attributes for a given GtkTextLine. Tue May 30 16:05:39 2000 Owen Taylor * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track g_locale_get_codeset() to g_get_codeset() change. Tue May 30 15:03:19 2000 Owen Taylor * gtk/testcalendar.c (calendar_font_selection_ok): Use font descriptions. * gtk/gtkentry.c (gtk_entry_draw_text): Center text within the entry. * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of redoing (vastly simplifying) for Pango. Still needs quite a bit of work. (Size selection is currently poor. List of predefined sizes is not a good idea, since all of these sizes won't necessarily be distinct.) Tue May 30 13:50:19 2000 Owen Taylor * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle CODESET results for LANG=C. Mon May 29 15:49:10 2000 Owen Taylor * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC which takes a stringized pango font description; ignore the older 'font' and 'fontset' declarations. * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font field with a GdkFont derived via gdk_font_from_description(), for compatibility. (Should we just remove it entirely? Probably too much compatibility breakage, but people should be migrating to the new Pango stuff as quickly as possible.) Mon May 29 15:47:41 2000 Owen Taylor * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/. Mon May 29 15:44:46 2000 Owen Taylor * gtk/gtkcalender.c: Roughly pango-ized. Really needs redoing; there are some bugs in size allocation right now, the semi-existant distinction between header / day fonts was removed, but, with Pango, could actually be made functional in a nice way. * gtk/testcalender: Move calender from examples into this directory as a test program. (We really need to restrcture testgtk into a whole directory full of tests for every widget or functionality group, separated into multiple .c files.) Mon May 29 15:19:56 2000 Owen Taylor * gtk/testgtk.c (file_exists): Fix stupid typo that was keeping RC file from being loaded. * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized RC file font code. Mon May 29 14:31:27 2000 Owen Taylor * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description): Add function to load a GdkFont from a PangoFontDescription. 2000-05-29 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event" variable should be of type GdkEventPrivate. Fri May 26 17:16:40 2000 Owen Taylor * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able to have any widget for the label, use a GtkLabel widget to display the text. (Based partially on a patch from Anders Carlson.) (Quite a bit of code reorganization - strip 90% of the guts out of gtkaspectframe and add a single virtual func to GtkFrameClass - compute_child_allocation.) Fri May 26 12:00:02 2000 Owen Taylor * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized. (Removed clist->row_center_offset field because caching it wasn't saving time or code, added private function _gtk_clist_create_cell_layout()). Wed May 24 15:59:37 2000 Owen Taylor * gtk/gtkaccellabel.c: Pangoized. * gtk/[hv]ruler.c: Pangoized Mon May 22 19:23:59 2000 Owen Taylor * gtk/gtkfilesel.c (gtk_file_selection_init): Use gtk_clist_set_column_auto_resize() to remove need need for manual column width computations. Mon May 22 18:50:26 2000 Owen Taylor * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, ensuring Pango correctness, and considerably simplifying the code. * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE. * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect getting of numbers of lines. * gtk/gtklabel.c (gtk_label_size_request): Set the requisition to the actual requested width of the lable, not to the wrap width we set. * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h. * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes. * gtk/gtktextview.c: Fix structure inheritance. * gtk/gtkprogressbar.c: Pangoize. Mon May 22 15:47:30 2000 Owen Taylor * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate in a function. * gtk/gtktextlayout.c (find_display_line_above): Fixed bug with computing line tops. * gtk/gtktextview.c (changed_handler): Fix < , <= confusion. Thu May 18 18:53:31 2000 Owen Taylor * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset and y_offset coordinates to do what we need now. (The offset between buffer and layout coordinates has been reintroduced, but is a bit different than before.) * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead handle the adjustments ourselves, and scroll as necessary using the new gdk_window_scroll(). The advantage of this is that when we are incrementally revalidating, we are essentially rearranging things around the visible portion of the screen. With the old setup, the visible portion of the screen was moved around in the layout, so scrolling and redrawing to track that caused jumping of the display. Since we now control the scrolling ourselves, we can suppress this and only redraw when things actually change. Thu May 18 18:47:25 2000 Owen Taylor * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate the region not just redisplay it after-all, since we store the cursors in the LineDisplay. (Ugly interactions here between GtkLayout and GtkTextBTree here.) * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison. Thu May 18 18:43:21 2000 Owen Taylor * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): Added function to scroll contents of a window while keeping the window constant. Works by XCopyArea or guffaw-scrolling depending on the details of how the window is set up. (guffaw-scrolling still needs to be filled in.) Wed May 17 22:36:53 2000 Owen Taylor * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget, move the debugging that was tied to a global variable to that. * gtk/gtkmarshal.list: Add NONE:INT,INT,INT * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate validated flag, in line data instead of setting height/width to -1. This allows us to perform operations with partially invalid buffer (using the old size for invalid lines) and thus to do incremental vaidation. Keep height/width aggregates up to date when deleting text and rebalancing the tree. * gtk/gtktextbtree.[ch]: Add functions validate a line (gtk_text_btree_validate_line), and to validate up to a number of pixels (gtk_text_btree_validate). * gtk/gtktextlayout.[ch]: Add an ::invalidated signal that indicates that something is changed and a revalidation pass is needed. Change ::need_repaint to ::changed, and make it take old and new yranges instead of a rectangle. * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move the line_data_destroy() function from gtk_text_btree_add_view() to a virtual function in GtkTextLayout * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(), since we are handling partial repaints in a different fashion now. * gtk/gtktextbtree.[ch]: Only repaint the changed portion of the selection instead of queueing a repaint on the entire widget. * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move get_selection_bounds() down to btree, make the function in buffer a wrapper around the btree function. * gtk/gtktextlayout.[ch]: Add functions to check if the layout is valid and to recompute either a range of pixels aroudn a line or a certain total number of pixels. * gtk/gtktextlayout.[ch]: Cache a single line display; now that we only redraw the needed portions, the hit rate for this cache is quite high. * gtk/gtktextview.[ch]: Keep track of the first paragraph on the screen so that when re-laying-out the buffer, we can keep the same place. This requires connecting to ::value_changed on the adjustments * gtk/gtktextview.[ch]: Add idle functions to revalidate the buffer after we receive an ::invalidated signal. Wed May 17 22:10:47 2000 Owen Taylor * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper to max of allocation and layout size, not just to the layout size. * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): Invalidate window so it gets redrawn properly. * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL to mean the entire window. * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW into public header. Mon May 15 14:51:31 2000 Owen Taylor * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function to get the name of a mark. * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function to find the paragraph from a y position. Thu May 11 12:57:20 2000 Owen Taylor * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid nodes have width/height >= 0, not > 0. Tue May 9 21:29:06 2000 Owen Taylor * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display): Add a size_only flag, so when we only need the size, we don't create useless appearance attributes. * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove duplicate setting of font description. * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 Wed Apr 26 01:53:23 2000 Owen Taylor * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into EXTRA_DIST. It does not work well when the file that everything depends on is not in the tarball. Wed Apr 26 00:56:14 2000 Owen Taylor * gtk/testgtk.c: Some hacks and fixes so that it basically works when not sitting in the GTK+ build tree. 2000-05-03 Havoc Pennington * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag): Properly determine the ordering of the tag root and the current line within the tree. Previous algorithm only worked if the tag root's immediate parent was the common root of both the current line and the tag root. Wed Apr 26 00:43:00 2000 Owen Taylor * gtk/gtktextlayout.c (set_para_values): Fix some bugs in alignment. * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track the widget text directional dynamically. * gtk/gtktextview.[ch]: Added functions to get and set default wrap mode. Tue Apr 25 23:47:38 2000 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug in cursor location computation. Tue Apr 25 23:22:59 2000 Owen Taylor * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/ vadjusment values properly when layout gets smaller. * gtk/gtktextview.c (need_repaint_handler): Areas being passed in are far completely inaccurate, and sometimes too small, so, for now, just queue a redraw on the whole visible region. 2000-04-25 Havoc Pennington * gtk/gtktextbtree.c (summary_destroy): new function to destroy tag summary nodes (gtk_text_line_next_could_contain_tag): this function was totally broken if the line passed in wasn't below the tag root. Fix it. (gtk_text_btree_first_could_contain_tag): In the tag == NULL "wildcard" case, we have to do a linear scan. Blah. (gtk_text_btree_last_could_contain_tag): In tag == NULL case, we have to do the linear scan (tag_removed_cb): When a tag is removed from the tag table, remove the GtkTextTagInfo node from the btree. (gtk_text_btree_spew): Implement the spew function, for our debugging pleasure. Tue Apr 25 19:40:18 2000 Owen Taylor * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix a problem with referring to the wrong buffer. * gtk/gtkentry.c: Fix focus-in/focus-out confusion. * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default font description to gtk_style_new() - otherwise things don't work without a .gtkrc file. * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the tags table if we create it ourself, too. * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since it was conflicting with XKB modifiers. * gtk/gtktextview.[ch]: Add simple support for GtkIMContext. Mon Apr 24 19:34:18 2000 Owen Taylor * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem with deletion from last commit. Mon Apr 24 19:29:40 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language in the context from the current locale. * gtk/gtkentry.c (gtk_entry_size_request): Use language from the context, not hardcoded value. * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual, not logical. Sun Apr 23 23:39:18 2000 Owen Taylor * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as attributes - that doesn't handle partial-glyph selection properly. Instead use new pango_layout_line_get_x_ranges() functionality to draw the selection. * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x() now properly handles out-of-range coordinates. * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved. * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte() public. * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext for paragraphs opposite to the base direction of the widget. * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment. * gtk/gtktextlayout.c: Don't split segments on marks, since that causes Arabic words to reshape as you cursor through. * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual cursor position when moving vertically with the arrow keys and scrolling with page-up/page-down. (Arrow keys save only the X, scrolling saves both X and Y.) This means you can line-up / line-down or page-up / page-down without losing your place, and also that moving vertically with the cursor keys keeps the same X position, not the same character count: * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical arrow keys move by display lines, not paragraphs. Tue Apr 18 14:16:50 2000 Owen Taylor * gtk/gtklayout.c: Make sure that the bin window is at least as big as the allocation. (Should we also make sure that the bin window is big enough to completely cover widget->window?) * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add function to get the onscreen rectangle. * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account for offsets in window coordinates. Sun Apr 16 16:13:27 2000 Owen Taylor * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset confusion. * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction from the widget direction. * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): Add a "direction" attribute. * gtk/gtktextview.c: global s/tkxt/text_view/. * gtk/testtext.c: Added long block of text in Arabic, to test out the direction attributes. (Some problems with the shaping system for arabic become obvious - like the fact the cursor splits words into unjoined pieces.) Fri Apr 14 12:54:34 2000 Owen Taylor * gtk/gtktextdisplay.c (render_layout): Add overstrike handling. * gtk/gtktextlayout.c: Fix up alignment. * gtk/testtext.c: Add some tests for centering, wrapping. Fri Apr 14 09:26:22 2000 Owen Taylor * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c: Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs(). If we wrote GTK+-specific layout-render function this could just replace the draw_layout() operation in the vtable. * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to pango_layout_get_cursor_pos() and use that function. * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it is a non-static symbol. * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y() with gtk_text_btree_find_line_by_y() * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout renderer that handles GtkTextAppearance attributes. * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: - Move the values in the style that don't affect geometry into a GtkTextAppearance structure. - Change underline to take a PangoUnderline and "font" a string representation of a font description - Add a "font_desc" attribute which takes a FontDescription structure. * gtk/gtktextlayout.[ch]: - Get rid of the display-line list per each line. Instead, we generate, on demand, a GtkTextLineDisplay structure which] contains a PangoLayout * and other necesary information (offsets, cursor locations) for displaying a paragraph. - Get rid of the code to wrap lines, create display chunks, etc. Instead, we just go through a paragraph and convert it into the necessary inputs to a PangoLayout. - Implement a new attribute type, GtkTextAttrAppearance. This holds a GtkTextAppearance, and is used to pass colors, stipple, etc, through from the layout to the display without having to use lots and lots of individual attributes. - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos() in terms of PangoLayout functions. * gtk/gtktextview.c: - Handle passing the necessary PangoContext to the layout - Some fixups in painting to deal with the automatic backing store and offsetting of GTK+-1.4 - Add a style_set handler so that the default style reacts properly to theme changes. * gtk/gtktext?*.[ch]: Random code-style fixes. * gtk/testtext.c: Substitute in languages that Pango handles now for Thai Mon Apr 10 10:33:45 2000 Owen Taylor * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget, in original form preparatory to Pango-ization and gdkimcontext-ization. Thu Apr 6 19:25:39 2000 Owen Taylor * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs, so that we can derive from gtkimcontext in language bindings properly. Thu Apr 6 16:02:52 2000 Owen Taylor * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval. Add a compose table including (almost) all the compose combinations from X. This is 6k of static, shared data as opposed to 50k or so of dynamic data in the XIM implementation. * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval): Moved functions to convert keyvalues from and to unicode here from the win32 port and made them public. Wed Apr 5 16:37:29 2000 Owen Taylor * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1. Wed Apr 5 16:27:45 2000 Owen Taylor * gtk/gtkimcontext.[ch]: Base class for new input context system * gtk/gtkimmulticontext.[ch]: Proxy input context that allows the real input context implementation to be loaded from modules and switched on the fly. * gtk/gtkcontextsimple.[ch]: Simple implementation of an input context that just does direct keysymbol => unicode translation. * gtk/gtkentry.[ch]: Start switching editing over to using GtkInputContext. (No handling of preedit yet.) Wed Apr 5 15:48:41 2000 Owen Taylor * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too many substitutions. (klass should not be subsituted.) Wed Apr 5 00:18:14 2000 Owen Taylor * configure.in: Add checks for Pango * configure.in docs/Makefile.am: Add test for sgml2html and allow 'make dist' without building html, but print out warnings in that case. (For making snapshots) * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am: Add Pango libraries and C flags * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c: Add function (gdk_draw_layout) to draw a pango layout. * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions for getting Pango contexts for GDK. * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set() * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional editing. * gtk/gtkentry.c: Hack in simple Hebrew input with direct keysym => unicode translations. More languages can be added here, but real input-method support is needed. * docs/Changes-1.4.txt: Added note about entry behavior. * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions to set the reading direction for a widget and the global direction. Add test which allows toggling the global direction. Two private flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR) * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking, underlining now handled by Pango. * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription to RCStyle and Style. (Having both this and the old font name and GdkFont is temporary.) * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added convenience functions for creating contexts and layouts for widgets. * gtk/testgtk.c: Enhance label tests with multilingual labels. 2000-05-29 Jonathan Blandford * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the titles to be active, even if they aren't visible. (gtk_clist_column_titles_passive): Ditto. 2000-05-21 Nils Barth * gtkmenu.c: * gtkmenu.h: * gtktypeutils.h: Spelling/grammar fixes in comments. Tue May 23 12:25:07 CEST 2000 lupus * gdk/nanox/*.h: add missing header files. Fri May 19 11:52:59 2000 Tim Janik * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event to TRUE. (gtk_drawing_area_size): queue a resize. Sun Mar 26 03:21:28 2000 Tim Janik * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing the handlers, also invalidate them. bug nailed down by Karl Nelson . Fri May 19 06:49:23 2000 Tim Janik * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle "(nil)" foundries, patch from Grigorios Magklis. * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash on non-available fonts, based on a patch by Grigorios Magklis . 2000-05-18 Elliot Lee * gdk/x11/gdkregion-generic.c: If a region does not have any rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT instead of GDK_OVERLAP_RECTANGLE_IN. 2000-05-17 Jonathan Blandford * gtk/gtklayout.c (gtk_layout_map): Remove references to OFFSCREEN, as it is no longer necessary. Wed May 17 10:52:12 2000 Owen Taylor * gtk/gtkcolorsel.c: Patch from David Santiago to change things so that the indicator of the active palette entry is done independently, not via the focus, since it should always be visible. 2000-05-17 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same refcount leaks as in the X11 backend. * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging cosmetics. * gdk/win32/gdkwindow-win32.c: Similar changes as in X11 backend. Add _gdk_windowing_window_destroy(). * gtk/gtkcolorsel.c: Include correct backend-specific header. Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR either, but these probably do exist on nanox?) * gtk/gtkhsv.c: Use G_PI (fresh from ) instead of M_PI which isn't necessarily defined by . * gtk/gtkobject.c (gtk_object_init): Don't go up the class ancestry past GtkObject. * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import from DLL on Win32. * gtk/gtk.def: Update corresponding to recent changes. * gtk/makefile.{cygwin,msc}: Updates. Fri May 12 18:46:51 2000 Owen Taylor * docs/Changes-1.4.txt: A bit of editing. * gdk/gdkwindow.c (_gdk_window_clear_update_area) * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function to clear the update area for the window, and clear it when hiding a window. * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore if window destroyed. * gdk/gdkwindow.c (gdk_window_end_paint): Likewise. * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move gdk_window_destroy() to the generic code, since there was a lot of window-system-independent logic it in. Add a function: _gdk_window_destroy() to the internal API to destroy a window without unreferencing it. Add a function: _gdk_windowing_window_destroy() That does the windowing-system-dependent part of destroying the window. Fri May 12 11:07:41 2000 Owen Taylor * gtk/testgtk.c: Fix various memory leaks of pixmaps. Fri May 12 11:06:10 2000 Owen Taylor * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): Make gtk_widget_shape_combine_mask() keep a reference count on the pixmap since it keeps it around. Fri May 12 10:53:29 2000 Owen Taylor * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount leak. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount leak with event filters. Thu May 11 14:29:44 2000 Owen Taylor * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the signal handlers with the right data arguments. (Fixes some warnings when a widget was repeatedly set as a drag destination.) * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the window so we can avoid avoid setting the DND properties on the toplevel window repeatedly. 2000-05-13 Tor Lillqvist * gdk/win32/gdkwin32.h: Define more message types missing from mingw headers. * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY call gdk_window_destroy_notify(). It was never called. This probably meant that the GdkWindow was never freed. Thanks Owen for noticing (!). * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark window as destroyed before calling DestroyWindow(). DestroyWindow() causes a call to the window procedure (gdk_WindowProc), which calls gdk_event_translate(), which calls gdk_window_destroy_notify(), which gets confused unless the window is set as destroyed. * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename this function to indicate it's win32 only. Put inside #ifdef G_ENABLE_DEBUG. * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New debugging function. (gdk_event_translate:) Add a default branch that uses the above function to print debug messages with all Windows messages symbolically. * gdk/win32/gdkprivate-win32.h: Declare it, and gdk_win32_color_to_string, but only if G_ENABLE_DEBUG. Fri May 12 20:07:32 2000 Tim Janik * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a public header file. Fri May 12 17:13:32 2000 Tim Janik * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition. * gtk/gtktext.c: made the adjustments no-construct args, simply provide default adjustments. (gtk_text_destroy): release adjustments. * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the adjustment argument non-construct. * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here, instead of in finalize. (gtk_progress_get_text_from_value): (gtk_progress_get_current_text): (gtk_progress_set_value): (gtk_progress_get_percentage_from_value): (gtk_progress_get_current_percentage): (gtk_progress_set_percentage): (gtk_progress_configure): ensure an adjustment is present. Thu May 11 01:24:08 2000 Tim Janik * gtk/gtkcolorsel.[hc]: * gtk/gtkcolorseldialog.[hc]: * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain their parent implementation, use bit fields for boolean values, don't create unused widgets, usage of glib types, braces go on their own lines, function argument alignment, #include directives etc. etc. etc.. * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h. Wed May 10 23:29:52 2000 Tim Janik * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips. * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state of NULL. * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references to freed data. (gtk_combo_destroy): don't keep a pointer to a destroyed window. * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer to NULL when the toplevel is getting destroyed. (gtk_menu_set_tearoff_state): same here for the tearoff_window. (gtk_menu_destroy): (gtk_menu_init): store the information of whether we have to readd the initial child ref_count during destruction in a new GtkMenu field needs_destruction_ref_count. * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it here, those reading: learn from my mistake! ;) in order for set_?adjustment to support a default adjustemnt if invoked with an adjustment pointer of NULL, the code read (pseudo): if (v->adjustment) unref (v->adjustment); if (!adjustment) adjustment = adjustment_new (); if (v->adjustment != adjustment) v->adjustment = ref (adjustment); now imagine the first unref to actually free the old adjustment and adjustment_new() creating a new adjustment from the very same memory portion. here, the latter comparision will unintendedly fail, and all hell breaks loose. (gtk_viewport_set_hadjustment): (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL after unreferencing it. * gtk/gtkcontainer.[hc]: removed toplevel registration functions: gtk_container_register_toplevel(), gtk_container_unregister_toplevel() and gtk_container_get_toplevels() which had wrong semantics anyways: it didn't reference and copy the list. * gtk/gtkwindow.c: we take over the container toplevel registration bussiness now. windows are registered across multiple destructions, untill they are finalized. the initial implicit reference count users are holding on windows is removed with the first destruction though. (gtk_window_init): ref & sink and set has_user_ref_count, got rid of gtk_container_register_toplevel() call. add window to toplevel_list. (gtk_window_destroy): unref the window if has_user_ref_count is still set, got rid of call to gtk_container_unregister_toplevel(). (gtk_window_finalize): remove window from toplevel list. (gtk_window_list_toplevels): new function to return a newly created list with referenced toplevels. (gtk_window_read_rcfiles): use gtk_window_list_toplevels(). * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange adjustment a non-construct arg. * gtk/gtkvscale.c (gtk_vscale_class_init): likewise. * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise. * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise. * gtk/gtkrange.c: added some realized checks. (gtk_range_destroy): get rid of the h/v adjustments in the destroy handler instead of finalize. remove timer. (gtk_range_get_adjustment): demand create adjustment. * gtk/gtkviewport.c: made h/v adjustment non-construct args. we simply create them on demand now and get rid of them in the destroy handler. (gtk_viewport_destroy): get rid of the h/v adjustments in the destroy handler instead of finalize. (gtk_viewport_get_hadjustment): (gtk_viewport_get_vadjustment): (gtk_viewport_size_allocate): demand create h/v adjustment if required. * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the gtk_widget_real_destroy () functionality. (gtk_widget_real_destroy): reinitialize with a new style, instead of setting widget->style to NULL. Fri May 5 13:02:09 2000 Tim Janik * gtk/gtkcalendar.c: * gtk/gtkbutton.c: ported _get_type() implementation over to GType, either to preserve memchunks allocation facilities, or because Gtk+ 1.0 GtkTypeInfo was still being used. * gtk/gtkobject.[hc]: derive from GObject. ported various functions over. prepare for ::destroy to be emitted multiple times. removed reference tracer magic. chain into GObjectClass.shutdown() to emit ::destroy signal. * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being fundamental. * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init() cludge. * gtk/gtksocket.c: * gtk/gtkplug.c: * gtk/gtklayout.c: * gtk/gtklabel.c: * gtk/gtkargcollector.c: * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT not being a fundamental anymore, and to work with the new type system (nuked fundamental type varargs clutter). * gtk/*.c: install finalize handlers in the GObjectClass part of the class structure. changed direct GTK_OBJECT()->klass accesses to GTK_*_GET_CLASS(). changed direct object_class->type accesses to GTK_CLASS_TYPE(). * gtktypeutils.[hc]: use the reserved fundamental ids provided by GType. made most of the GTK_*() type macros and Gtk* typedefs simple wrappers around macros and types provided by GType. most notably, a significant portion of the old API vanished: GTK_TYPE_MAKE(), GTK_TYPE_SEQNO(), GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST, GTK_TYPE_ARGS, GTK_TYPE_CALLBACK, GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN, GtkTypeQuery, gtk_type_query(), gtk_type_set_varargs_type(), gtk_type_get_varargs_type(), gtk_type_check_object_cast(), gtk_type_check_class_cast(), gtk_type_describe_tree(), gtk_type_describe_heritage(), gtk_type_free(), gtk_type_children_types(), gtk_type_set_chunk_alloc(), gtk_type_register_enum(), gtk_type_register_flags(), gtk_type_parent_class(). replacements, where available are described in ../docs/Changes-1.4.txt. implemented compatibility functions for the remaining API. * configure.in: depend on glib 1.3.1, use gobject module. Thu May 11 12:39:50 2000 Owen Taylor * TODO.xml: Various updates to current status. Wed May 10 20:25:04 2000 Owen Taylor * gtk.m4: Print out version when test succeeds. Wed May 10 16:38:17 2000 Owen Taylor * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch] gtk/gtkhsv.[ch]: Color selection dialog rewrite. (Original triangle color selector from Simon Budig , Cleaned up and rewritten for GTK+ by from Jonathan, Havoc, and Federico. Merge into GTK+ done by David Santiago ) * gtk/gtkcolorseldialog.[ch]: Split color selection dialog out into a separate widget. * gtk/testgtk.c: Add some checkbuttons for toggling palette and opacity controls. Wed May 10 16:08:09 2000 Owen Taylor * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that snuck in prematurely. 2000-05-07 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I had deleted a ! operator by mistake, which caused GDK_SELECTION_CLEAR events never to be generated, which caused only the first copy to the clipboard from an gtkeditable to actually cause a copy to the Windows clipboard. 2000-05-06 Tor Lillqvist * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc compilation, too. Current mingw gcc distributions include the necessary headers. Also the necessary IIDs are now in mingw headers/libraries, and own definitions unnecessary. More hacking on OLE2 DND, still doesn't work though, and thus ifdeffed out. * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from here, too. Sat, 6 May 2000 13:31:34 +0200 Paolo Molaro * gdk/nanox/*: nano-X port work in progress. * gdk/simple.c: simple test for Gdk. * README.nanox: notes about the port: read this first! * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile with nano-X. Fri May 5 11:18:47 2000 Owen Taylor * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move gdk_window_clear() into common code, implement in terms of gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was not redirected to the backing rectangle. Wed Apr 26 01:53:23 2000 Owen Taylor * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into EXTRA_DIST. It does not work well when the file that everything depends on is not in the tarball. Tue Apr 25 22:20:41 2000 Owen Taylor * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error with recursion where process_updates() is called from an expose handler. (GtkTextView is highly broken in doing this, but it should work, so it is a nice test case.) Sun Apr 23 23:39:18 2000 Owen Taylor * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully handle the case where updates are queued during processing of updates. Tue Apr 18 14:16:50 2000 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume window is on gdk_display - use that instead of segfaulting. Thu May 4 02:04:46 2000 Tim Janik * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are broken and require an empty arg, give it to them. Fri Apr 28 19:34:32 2000 Tim Janik * gtk/gtklabel.h: indentation fixes. 2000-05-02 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to draw too narrow or too low arcs, they seem to fail, at least with some display drivers. * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR. Large changes to the Win32 backend, partially made necessary by the changes to the backend-independent internal structures. Attempts to implement similar backing store stuff as on X11. The current (CVS) version of the Win32 backend is *not* as stable as it was before the no-flicker branch was merged. A zipfile with that version is available from http://www.gimp.org/win32/. That should be use by "production" code until this CVS version is usable. (But note, the Win32 backend has never been claimed to be "production quality".) * README.win32: Add the above comment about versions. * gdk/gdkwindow.c: Don't use backing store for now on Win32. * gdk/gdk.def: Update. * gdk/gdkfont.h: Declare temporary Win32-only functions. Will presumably be replaced by some more better mechanism as 1.4 gets closer to release shape. * gdk/makefile.{cygwin,msc}: Update. * gdk/win32/*.c: Correct inclusions of the backend-specific and internal headers. Change code according to changes in these. Use gdk_drawable_*, not gdk_window_* where necessary. * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not our old DND. * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try to interpret single characters as UTF-8. Thanks to Hans Breuer. Use correct function name in warning messages. * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the GSourceFuncs gdk_event_prepare and gdk_event_check. (gdk_event_get_graphics_expose): Do implement, use PeekMessage. Thanks to Hans Breuer. (event_mask_string): Debugging function to print an GdkEventMask. (gdk_pointer_grab): Use it. * gdk/win32/gdkfont-win32.c: The Unicode subrange that the (old) book I used claimed was Hangul actually is CJK Unified Ideographs Extension A. Also, Hangul Syllables were missing. Improve logging. * gdk/win32/gdkgc-win32.c: Largish changes. * gdk/win32/gdkim-win32.c (gdk_set_locale): Use g_win32_getlocale() from GLib, and not setlocale() to get current locale name. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to gdkwin32.h, similarily as in the X11 backend. * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix, assignment was used instead of equals in if test. Thanks to Hans Breuer. * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of the X11 version. * gdk/win32/makefile.{cygwin,msc} * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the path to the Win32 headers that works also with the mingw compiler. * gtk/gtkstyle.c: Include . 2000-04-26 Havoc Pennington * gtk/gtklabel.c (gtk_label_get_text): Add this function, replacing the broken gtk_label_get () 2000-04-15 Havoc Pennington * gdk/gdkdnd.h: clean up enum format, remove extra comma, this keeps scanner scripts from getting confused. * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the data, rather than void 2000-04-15 Tor Lillqvist * gtk/gtkclist.c (gtk_clist_motion) * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event with is_hint FALSE, get x and y from the event. They used to be used uninitialised. The Win32 backend never sends motion events marked as hints. This for instance fixes the annoying file and font selector behaviour in the Win32 version. 2000-04-14 Tor Lillqvist * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and gtk_private_n_signals variables, they are used by some software, sigh. * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the installation directory from the Registry, where the installer should have put it. Fri Apr 7 17:19:27 2000 Owen Taylor * gdk/x11/Makefile.am: Fix problem with installation directory for gdkx.h * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago so that when selecting menus with the mouse, the first item will not be selected, but when selecting with an accelerator, or navigating left-right on a menubar with the menus popped up, the first item will be selected. 2000-04-05 Dan Damian * configure.in: Added "ro" to ALL_LINGUAS. Wed Apr 5 00:08:36 2000 Owen Taylor * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy indentation. * Makefile.am (EXTRA_DIST): Fix typo. * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk to catch gdkconfig.h * gtk/gtkitemfactory.c: Added FIXME. 2000-03-30 Jonathan Blandford * gtk/gtkpaned.c (gtk_paned_get_position): oops. s/return_if_fail/return_val_if_fail/g and add a return value. Mon Mar 27 20:56:14 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up merge slipup. * gdk/gdkinput.h: Fix missing line from merge. Mon Mar 27 20:39:49 2000 Owen Taylor * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h instead of gdkprivate.h. Sun Mar 12 15:19:24 2000 Owen Taylor * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix parent class to correctly be GtkDialogClass. Thu Feb 24 23:58:21 2000 Owen Taylor * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of toplevel windows and their immediate children by their parents, since the size of toplevel windows is out of our immediate control and we don't get any real benefit from trying to track this size for clipping. * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag for input_only windows. * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag to fix some hacks and make sure that we don't try to set the background of input only windows. Thu Feb 24 18:11:46 2000 Owen Taylor * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for the _really_ internal stuff, and leave gdkprivate.h for the fake private stuff that we've traditionally exposed. * gdk/**.c: Use gdkinternals.h where appropriate. * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h not include gdkprivate-x11.h, move all stuff of conceivable public interest into gdkx.h; keep all really private stuff in uninstalled header gdkprivate-x11.h. * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to image->image_put on windows through a new function _gdk_window_draw_image() to allow us to do backing store for images. (Sort of ugly) * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics contexts locally so that we can offset them properly when drawing onto backing pixmaps. * gdk/gdkinput.h: Reindented * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background pixmap or color for the window, so we can properly initialize our double-buffer pixmaps, and also so that we temporarily set a background of None while scrolling. * gdk/gdkregion.h: Revise region boolean operators to have an interface that is actually convenient - switch from creating new regions on every op, to "methods" that modify existing regions (A = A OP B). 3 argument forms which allow dest == src, would also be possible, but the current interfaces seem to map nicely onto what needs to be done. (There is quite a lot of region code in GDK now.) * gdk/gdkregion.h: Add constructor from rectangle and a copy operator. * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c, gdkpoly-generic.h: Copy region code from Xlib, switch it over to 32 bit coordinates, modify it to be mostly GTK+ style and to have interfaces that match gdkregion.h. * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for double-buffered drawing. gdk_window_begin_paint_{rect,region}() create a backing pixmap and redirect all drawing to that backing pixmap until a matching gdk_window_end_paint(). * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c: Create a special drawable class for GtkWindow's that redirects the drawing to the backing pixmap as necessary and then calls the real operations in _gdk_windowing_window_class. * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c: Store invalid region for each window. Generate expose events for invalid region in an idle. This replaces both the expose compression and the redrawing queuing in GTK+. It is both more efficient and simpler than either one individually and far more so then the combination. * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h: Emulate 32 bit coordinates for windows with 16 bit coordinates by offsetting drawing, guffaw scrolling techniques and mapping/unmapping child windows as necessary. * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes, where, when invalid regions are processed, the region is stored, and if expose events come in that are detectably duplicate the processed exposes (by comparison of event serial numbers), the stored region is subtracted out of those exposes. * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of regions newly exposed when scrolling or resizing windows. This, combined with forcing processesing of queued invalidated regions, gives nice flicker-free scrolling. * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of invalidated regions after every scroll. * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate emulation in GDK. Its, for all practical purposes just a GtkViewport/GtkFixed hybrid now. * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11 (16-bit) structures as necessary instead of just casting. * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code in terms of the structures from gdkregion-generic.c, using appropriate offsets from GDK to X11 coordinates. Cache clip mask and origin and ts origin locally and only flush to the server when drawing, to avoid constantly setting and resetting these values when offsetting GC's for scrolling and backing pixmaps. * gdk/x11/gdkinput-x11.c: Fix leak of axes structures. * gtk/gtkcontainer.c: Call process_all_updates at end of resizing to reduce flicker. (Avoids having redraw lag arbitrarily behind resize under some circumstances) * gtk/gtkentry.c: Remove old backing store code, and simply take advantage of the new backing store capabilities of GDK. * gtk/gtkmain.c: Simple implementation of widget backing store - simply push a paint while handling each expose. (Should really be configurable widget for widget.) * gtk/gtkwidget.c: Remove all the old complicated redraw code, and simply invalidate the GDK windows from gdk_window_queue_clear(), etc. (Sigh, so much carefully debugged complexity ... gone to the winds.) Remove all the code for suppressing expose events while resizes are pending; this isn't needed since the invalid areas won't be processed until after the resizes are processed, since they are in a lower priority idle. Thu Feb 24 15:37:41 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width and height of dest rectangle for non-intersecting rectangles. Sun Feb 20 16:47:31 2000 Owen Taylor * gtk/gtkwidget.h: Make GtkAllocation just a typedef for GdkRectangle. Sun Feb 20 11:27:00 2000 Owen Taylor * gdk/gdk{events,image,private,types,window}.h gdk/x11/gdkinputprivate.h: Change all coordinates from int16 to int. Also, Change width and height from unsigned to signed to avoid all the stupid C signedness bugs. Sat Feb 19 12:01:53 2000 Owen Taylor * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Use gdk_drawable_get_depth instead of gdk_drawable_get_visual. Add some more detailed checking. * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth): New function to retrieve the depth of a drawable. * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth field, reorder fields to save memory. Mon Dec 13 14:06:03 1999 Owen Taylor * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion of the background image instead of scaling the background down to a line. * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious which temporarily set slider to wrong size. * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to queue_clear(). Wed Nov 17 18:36:05 1999 Owen Taylor 2000-03-23 Jonathan Blandford * gtk/gtkpaned.c (gtk_paned_get_position): add getter. 2000-03-17 Tor Lillqvist * gdk/win32/gdkevents-win32.c: Remove the #ifndef USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage. * gdk/win32/gdkfont-win32.c * gdk/win32/gdkproperty-win32.c * gdk/win32/gdkselection-win32.c * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are now declared such. Wed Mar 15 02:59:38 PST 2000 Manish Singh * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic Mon Mar 13 18:37:55 2000 Owen Taylor * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty() is called without trapping X errors. Fri Feb 25 10:48:53 2000 Owen Taylor * gtk/gtkrc.*: Fix problem where stray '"' characters found their way into the fontset lists. Tue Feb 22 08:52:52 2000 Tim Janik * gtk/gtkthemes.h: add extern "C" scope. Mon Feb 21 20:16:42 2000 Lars Hamann * gtk/gtkclist.c: applied patch from Guy Harris to make appends to the list constant. (gtk-guy-990901-0.patch) Mon Feb 14 22:50:10 2000 Tim Janik * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal() for the typename hash table. Mon Feb 14 15:01:23 2000 Owen Taylor * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks to make sure we never divide by zero. (Problem pointed out by Michal Jaegermann ) Mon Feb 14 12:29:38 2000 Owen Taylor * gtk/gtkfontsel.c: Apply patch from SHIRASAKI Yasuhiro to make font selector work a little better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.) Also, some cleanups in atom handling. Sun Feb 13 08:02:21 2000 Tim Janik * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer, not GtkWidget. Fri Feb 11 02:19:32 2000 Tim Janik * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some more guint wrap-around bugs before going to bed. Thu Feb 10 16:16:35 2000 Tim Janik * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against guint wrap arounds in allocation.width. * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking process untill we fit the allocation given. Tue Feb 8 09:38:29 2000 Tim Janik * gtk/gtkwidget.c: (gtk_widget_unrealize): guard widget access with ref/unref around signal emission. (gtk_widget_hide): same here, but also check its destroyed state before queueing a resize. Tue Feb 8 03:05:55 2000 Tim Janik * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead of gtk_default_insensitive_bg as insensitive base color. * gtk/gtktext.c (gtk_text_style_set): set the background color according to the widget's state. (gtk_text_realize): same here. (gtk_text_state_changed): same here. (draw_bg_rect): compare background color against base[] from GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL. Mon Feb 7 04:01:55 2000 Tim Janik * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when grabs are active, unless a delete event is send to the toplevel of the currently grab holding widget. Sun Feb 6 10:13:15 2000 Owen Taylor * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove debugging g_print's. Fri Feb 4 15:54:54 2000 Owen Taylor * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't ever make the scrolled-window requisition ever depend on the visibility state of the scrollbars for the AUTOMATIC policy. This breaks the GTK+ requisition model, and causes loops. Fri Feb 4 15:09:12 2000 Owen Taylor * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for the default font to avoid problems with XFree86-4.0 where the default charset is iso10646-1, not iso8859-1. Thu Feb 3 14:58:48 PST 2000 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release) * gtk/Makefile.am: minor cosmetic consistency tweak Thu Feb 3 14:46:01 2000 Owen Taylor * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set the activate_time to 0, so that we handle a quick press/release press/release properly and don't suppress the second release. (Red Hat bug #7545) Wed Feb 2 22:25:17 2000 Tim Janik * gtk/gtkctree.c (row_delete): (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy bugs with destruction notifier, *always* update internal structures *before* calling user code. Sun Jan 30 20:10:52 2000 Lars Hamann A few more fixes for bug #5487, #2051, #2677. * gtk/gtkclist.c : (gtk_clist_button_press): Reset clist->anchor to -1 if event->type is not GDK_BUTTON_PRESS. (resync_selection): resync only if selection_mode is GTK_SELECTION_EXTENDED * gtk/gtkctree.c (resync_selection): same here Sun Jan 30 12:29:20 2000 Owen Taylor * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for gdk_drag_get_selection() and gtk_menu_detach(). [ From Jeroen Ruigrok/Asmodai ] Sat Jan 29 10:11:56 2000 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_size_request): page->tab_label can be NULL. 2000-01-25 Havoc Pennington * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative arg is boolean * gdk/gdkselection.c (gdk_selection_owner_set): return boolean * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean * gdk/gdkproperty.c (gdk_property_get): return boolean * gdk/gdkinput.c (gdk_input_set_mode): return boolean * gdk/gdkim.c (gdk_im_ready): return boolean * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild glib clash, should fix glib) * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg (gdk_get_show_events): return gboolean, and canonicalize to TRUE/FALSE * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the colormap is private (gdk_colors_alloc): gboolean whether to be contiguous (gdk_color_equal): return gboolean since we are a predicate and not a qsort() (this looks semi-wrong due to glib breakage, IMO glib should be fixed) * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg (gdk_get_use_xshm): return gboolean (gdk_pointer_is_grabbed): return gboolean * gdk/gdk.h: Change prototypes to match all the above changes, and re-run egtk-format-protos as required. Fri Jan 28 12:28:17 2000 Owen Taylor * gtk/gtkctree.c (resync_selection): * gtk/gtkclist.c (resync_selection): Return immediately if clist->drag_pos < 0. This is a workaround for the corrupt state that the clist gets into when a GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press(). Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel. * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized variable from recent commit. Thu Jan 27 15:22:09 2000 Owen Taylor * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit. Thu Jan 27 18:00:55 2000 Tim Janik * gtk/Makefile.am: prefix all autogenerated source that get build in $(srcdir) with $(srcdir)/, so make doesn't assume they got generted in builddir. since we subsequently cd into srcdir for autogeneration, the paths have to be stripped from the target file names, thusly we use $(@F) as target names now. put a comment about configure.in's --disable-rebuilds option, which can be used for non-writable source directories, for development setups though, srcdir has to be *writable*. hu Jan 27 00:15:03 2000 Owen Taylor * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions): Finish the job of allowing event to be NULL. (Fixes bug #4283, reported by Chris Blizzard) * gtk/gtkentry.c (entry_adjust_scroll): When calculating things so that the cursor appears on screen, properly take into account INNER_BORDER. (Fixes bug #4754, reported by Antonio Campos) Wed Jan 26 23:12:28 2000 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_map): Don't show the tab_label unless it itself is visible. gtk/gtknotebook.c (gtk_notebook_size_request): Do a better job of making sure that the visibility of the tab label corresponds to whether it should be mapped or not. Wed Jan 26 21:17:03 2000 Owen Taylor * gtk/gtkoptionmenu.c (gtk_option_menu_position): Use the requisition, not the allocation, since the allocation has not necessarily been computed yet. (Pointed out by Eugene Osintsev) Wed Jan 26 19:44:25 2000 Owen Taylor * gtk/gtkstyle.c (gtk_style_new): Dont' set style/base[GTK_STATE_INSENSITIVE] both to gtk_default_insensitive_bg! (Bug #2187, reported by Jonathan Blandford) * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add Alt_L, Alt_R to list of invalid accelerators. (Bug #3736, reported by Vlad Harchev) Wed Jan 26 19:01:56 2000 Owen Taylor * gtk/gtkfilesel.c (open_ref_dir): Fix several bugs which occured after an attempt to open invalid home directory left cmpl_state->reference_dir == NULL. - completion on files in home directory didn't work - completion on an empty string caused segfault (Bug #3678, reported by Steve Ratcliffe) * gtk/gtkscale.c (gtk_scale_get_value_width): Fix cut and paste error that was causing scales to be incorrectly positioned. (Bug #2956, patch from Steve Ratcliffe ) 2000-01-27 Shirasaki Yasuhiro * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs when checking for dcgettext, if we've found we needed it for dgettext. + Wed Jan 26 18:06:07 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore queue_clear on NO_WINDOW widgets during a reparent, since at that point the window and widget heirarchies are out of sync. This stops crashing in some cases (the scrolled window reparent test, for instance), and _probably_ won't cause drawing errors. * gtk/testgtk.c: Make the reparenting-a-scrolled-window test do what it was supposed to do and be robust against window closings, etc. (Bug #2443) Wed Jan 26 16:56:54 2000 Owen Taylor * gtk/gtkentry.c: Fix return values on mouse events. (Bug #2686, Sky ) * gtk/genmarshal.pl: Fix up handling of FOREIGN. (pointed out by George Lebl) * gdk/gdkcolor.c (gdk_color_copy): Made const-safe. (From Ettore Perazzoli ) Mon Jan 24 10:44:48 2000 Owen Taylor * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle clicks between rows or outside calender area correctly. (Patch from Damon Chaplin) * gtk/gtkclist.c (gtk_clist_set_row_data_full): * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): Call destroy function when overwriting existing data. (Pointed out by Damon Chaplin) Tue Jan 25 09:55:41 2000 Owen Taylor * gdk/gdk.c: Remove useless #include of , which was causing problems on various systems with Xmu. This hasn't been needed for a very long time. (Fixes #1185 3167) Sun Jan 23 22:27:36 2000 Owen Taylor * gdk/gdki18n.h: Include when defining gdk_isw* in terms of is* as a fallback. (Bug #4106 - Dan Winship ) Sun Jan 23 22:12:36 2000 Owen Taylor * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't realize the widget when it is size allocated! (old, old bug) * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed): Removed unused call to gdk_window_get_size() that showed up when the above was fixed. Sat Jan 22 15:44:30 2000 Owen Taylor * gtk/gtkwidget.c (gtk_widget_reparent): Correctly fix up widget->window when the widget is a NO_WINDOW container widget. Sat Jan 22 12:40:48 2000 Owen Taylor * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite to account for the fact that feof() does _not_ return TRUE on errors, and thus avoid infinite loops when trying to use gdk_pixmap_create_from_xpm() on unreadable values. Fri Jan 21 18:32:43 2000 Owen Taylor * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/. Fri Jan 21 16:24:08 2000 Owen Taylor * gdk/gdkgc.c (gdk_gc_set_dashes): Change from gdk_gc_set_dashes to take gint8 instead of gchar to make it clearer that it is _not_ a NULL terminated string. * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch] gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string arguments. Thu Dec 30 04:51:05 1999 Tim Janik * gtk/gtkvscale.c (gtk_vscale_pos_background): * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the background size relative to our allocation, guard against small allocations, we may have not yet been size allocated. Thu Dec 2 10:59:14 1999 Owen Taylor * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3, not just version == 3. We implement all 3 + most of 4 - (we don't support matching text/plain;charset=iso-8859-1 to a dest that expects text/plain). We'll still advertise 3 to be safe, but any client implementing version >= 3 must interoperate with 3. Tue Mar 14 11:53:31 2000 Owen Taylor * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground, background and gc members, add a warning in gtk_tooltips_set_color() indicating that this function is deprecated. Thu Mar 9 22:10:56 GMT 2000 Tony Gale * docs/gtkfaq.sgml: FAQ Update: - Minor cleanups (Emmanuel, me) - New questions: I need to add a new signal to a GTK+ widget. Any idea? (timj) How can I retrieve the text from a GtkMenuItem? (timj) How do I validate/limit/filter the input to a GtkEntry? (me) Memory does not seem to be released when I free the list nodes I've allocated (timj) 2000-03-07 Tor Lillqvist * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes: (gdk_win32_gdi_failed) New function for reporting errors from GDI, for which it is no use to call GetLastError onWin9x. (gdk_other_api_failed) New function, for general error reporting without calling GetLastError. (gdk_win32_api_failed) OTOH, this function always calls GetLastError. (gdk_win32_last_error_string) Remove this function, GLib has the equivalent now. * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to call them with function name, file name and line number in the arguments. * gdk/win32/*.c: Use the new macros for reporting errors from GDI functions. * gtk/gtk.def: Add some missing entry points. * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and gtk_paned_set_gutter_size, which don't exist any longer, as void. Fixes by Hans Breuer: * gdk/makefile.msc: Update for debugging. * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or PS_DASHDOTDOT or PS_DASH styles depending on the number of entries in the dash_list. * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in the x11 backend. * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro. * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h. 2000-03-04 Tor Lillqvist * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store just pixel value of background colour. * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function containing code snippet previously duplicated in a couple of places. * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use gdk_colormap_color. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate events for autorepeated Shift, Control and Alt keys. Use gdk_colormap_color. * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the pointer is inside the window the cursor of which we are setting, call SetCursor immediately. * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: If we don't have the build number stamp file, use zero. * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and gtk_paned_set_gutter_size as empty. * gtk/gtk.def: Remove gtk_paned_set_gutter_size. Tue Feb 29 13:10:00 GMT 2000 Tony Gale * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml docs/gtk_tut.sgml docs/gtk.texi TODO: Spelling/grammar fixes from Martin Buchholz Sat Feb 26 11:46:25 GMT 2000 Tony Gale * gtk/gtkcalendar.c: Implement num_marked_dates, and don't emit mutiple day_selected signals on month_prev. 2000-02-25 Jonathan Blandford * docs/make-todo (lineno): let title and logo be configurable so that GNOME can use this script too. * TODO.xml: added logourl and a title Fri Feb 25 11:12:00 2000 Owen Taylor * TODO.xml: Added some UI items, and an explanatory comment at the top of the file. Thu Feb 24 09:07:28 2000 Tim Janik * TODO.xml: some updates, added abunch of new entries. a note for those fiddeling with this file, when done with it, invoke: $ ./docs/make-todo TODO.xml >/dev/null and correct output errors before comitting changes. Wed Feb 23 22:59:50 2000 Owen Taylor * TODO.xml: Added XML-structured TODO file. * docs/make-todo: python script to turn TODO.xml into pretty XML output. 2000-02-23 Jonathan Blandford * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to the function to let it draw the seven dots, instead of the old, much maligned, method. (draw_dot): New function to draw a dot. * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation to draw the handle inside the border width as opposed to outside. Use paint function instead of gdk_draw_point. * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation to draw the handle inside the border width as opposed to outside. Use paint function instead of gdk_draw_point. * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu): Change indenting to be more GTK like. Wed Feb 23 10:54:14 GMT 2000 Tony Gale * docs/gtk_tut.sgml: New section on GtkCalendar * examples/calendar: Update example code Tue Feb 22 13:54:12 GMT 2000 Tony Gale * docs/gtkfaq.sgml: FAQ Update 2000-02-19 Anders Carlsson * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE to prevent the scroll event to be propagated upwards. Fri Feb 18 14:37:29 2000 Owen Taylor * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove OwnerGrabButtonMask from button entries for GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE. * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL to the event mask (which will result in button/press release being added to the event mask on Unix) so scrolling works for layouts in scroll windows. * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK. Patch from Anders Carlsson to add a scroll event. * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel scrolling to the "Test Scrolling" part of testgtk. * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal. * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched it against GDK_SCROLL. * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new way of mouse wheel scrolling. * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise. * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise. * gtk/gtkmain.c: Removed previous mouse wheel hack. * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in gdk_event_mask_table. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added GdkEventScroll handler. * gdk/gdkevents.h: Added GdkEventScroll structure. Thu Feb 17 17:10:12 2000 Owen Taylor * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford and Anders Carlsson to change the Paned widgets so that they can be dragged from anywhere along the length. Also change the way that this is drawn to make this apparent. * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch from George Lebl to check that option_menu->menu is present before getting history. 2000-02-14 Tor Lillqvist * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments before the assertion for non-NULL segment list. * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values): Seems that pattern brushes *must* be 8x8 pixels! At least on my machine, but it might be display driver dependent. Sigh, so make sure the stipple is that size. Does Windows suck or what? * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few places. 2000-02-13 Havoc Pennington * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init refcount to 1 (gdk_cursor_new): init refcount to 1 * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1 2000-02-13 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter so that we don't have to do unnecessary settings to the HDC. * gdk/win32/gdkdrawable-win32.c * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of gdk_gc_predraw. * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct GDI paths, call WidenPath to get the outline of the stroken path, and then fill the outline (with the brush that was built from the stipple). * gdk/win32/gdkgc-win32.c: Factor out common code from _gdk_win32_gc_new and gdk_win32_gc_set_values into gdk_win32_gc_values_to_win32values. Use correct colour for SetBkColor() (Until now the code actually used a random colour in the call to SetBkColor()... but that didn't show up as not many GDI APIs use the background colour. Pattern (opaque stippled) brushes do.) * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string, gdk_win32_api_failed): New functions for error logging. * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro WIN32_API_FAILED to call them, passing function or file name and line number. * gdk/win32/*.c: Use the WIN32_API_FAILED macro. * gdk/win32/gdkprivate-win32.h: Store just the pixel values from GdkColor for foreground and background in GdkGCWin32Data. * gdk/makefile.cygwin: Link in the resource object separately. * gdk/win32/rc/gdk.rc * gtk/gtk.rc (New file) * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: Update build number in DLLs automatically, as in GLib. Sun Feb 13 08:54:45 2000 Tim Janik * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/. * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the parameters given and cursor->ref_count. coding style fixups. * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer, not GtkWidget. * gtk/*.h: applied patch from Mathieu Lacage to fix up widget macros and add _GET_CLASS() variant. * gtk/*.c: some GtkType fixups. 2000-02-09 Tor Lillqvist * gdk/win32/gdkproperty-win32.c * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW were reversed. 2000-02-04 Tor Lillqvist * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use g_filename_to_utf8 to convert the font names Windows gives us from whatever is the default codepage to UTF-8. (gdk_font_load_internal) Use g_filename_from_utf8 for conversion in the other direction. * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste error in debugging output. 2000-02-02 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width and height parameters to gdk_window_clear_area(). Not minus one. Wed Feb 2 11:58:05 2000 Owen Taylor * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity checks if the widget passed to gtk_drag_get_data() was not the dest widget. 2000-02-01 Tor Lillqvist * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and g_filename_from_utf8 functions (which were added a moment ago to GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed size buffers. gtk_file_selection_get_filename returns the filename in the C runtime encoding. It calls g_filename_from_utf8, but copies the returned string to a static buffer, which is returned. I think this is better than returning the result from g_filename_from_utf8 directly, which would mean all apps that use it would have to free the return value. Or should this function care about this issue at all? Maybe a new function with clearly defined semantics. * gtk/gtkfilesel.h: Add comment about gtk_file_selection_get_filename returning the filename in the C runtime's encoding. * README.win32 * gdk/gdk.def * gdk/makefile.{cygwin,msc} * gtk/gtk.def: Updates. * gdk/gdkcursor-win32.c: Initialise refcount. 2000-01-31 Yuan-Chung Cheng * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS. 2000-01-30 Havoc Pennington * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of destroy * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then implemented in platform-specific code * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an underscore in front * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy): put an underscore in front * gdk/gdkcursor.c: new file, implements gdk_cursor_ref/gdk_cursor_unref * gdk/gdkcursor.h: Refcount GdkCursor * gdk/gdkcompat.h (gdk_cursor_destroy): compat 2000-01-29 Tor Lillqvist * gdk/gdkwindow.h * gdk/gdkpixmap.h: Remove prototypes for renamed functions. Tue Jan 25 11:43:21 2000 Owen Taylor * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix structures to properly inherit from GtkWidget not GtkBin. Sun Jan 23 20:28:24 2000 Owen Taylor * gtk+.spec.in: Added lib/gtk+/include/* to %files (bug #5178 - Peter Wainright) * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h so that it will be installed. (bug #4889 - "david d `zoo' zuhn" ) Fri Jan 21 16:29:28 2000 Owen Taylor * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument for the GtkStyleClass vtable const. * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc take a const string argument like GtkTranslateFunc. This will require changes in use code. 2000-01-19 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct semantics (to mimic the X11 backend, which just calls XClearArea) is to check for zero width (and height), and in that case use the window's width minus x (height minus y). This fixes for instance some redraw problems with gtkclist, which were easily noticeable in the gtk file selection widget. (gdk_window_new): Don't set WS_EX_TOPMOST for dialog windows. 2000-01-13 Tor Lillqvist * configure.in * gdk/Makefile.am * gdk/x11/Makefile.am * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright (bug #5177). * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown out later. 2000-01-09 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore WM_MOVE for iconified or invisible windows. This fixes various problems when minimising windows. Thanks to Bernd Herd. 2000-01-05 Tor Lillqvist * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the backend's draw_lines method, not draw_points. 2000-01-02 Tor Lillqvist * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from before Owen's reorganisation: Don't have queued_events and queued_tail statics in this file, but use gdk_queued_events and gdk_queued_tail. This makes exposure event compression work again. (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't seem to be needed? 1999-12-30 Tor Lillqvist * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include gdkkeysyms.h to get the GDK_* keysym constants that are needed by gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case() doesn't do anything. * gdk/gdk.def: Add gdk_xid_table_insert. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkevents-win32.c * gdk/win32/gdkinput-win32.c * gdk/win32/gdkwindow-win32.c: Remove the superfluous extension_events field in the GdkWindowWin32Data struct. Use only the extension_events field in GdkWindowPrivate. Previously one was set, and the other one tested, which broke tablet functionality. Thanks to Keishi Suenaga for pointing this out. 1999-12-18 Tor Lillqvist * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents): When handling a single character (text length == 1), don't handle it as if it was UTF-8. 1999-12-11 Tor Lillqvist * Makefile.am: Distribute README.win32. * gdk/Makefile.am * gdk/win32/Makefile.am: Distribute Win32 files. * gdk/makefile.msc: New file. * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement after label). * gdk/gdkprivate.h: Must mark also gdk_error_warnings and gdk_error_code as GDKVAR, as they are referred outside GDK. * gdk/win32/makefile.msc: Update. * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More tweaks. Check only if at least one of those Unicode subrange bits we care for is set. If no code page bits are set, guess (wildly) based on the charset. * gdk/win32/gdkinput-win32.c: Remove debugging leftover. * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is non-NULL. * gtk/gtkdnd.c * gtk/gtklayout.c * gtk/gtkplug.c * gtk/gtkselection.c * gtk/gtksocket.c * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as appropriate. There must be a cleaner way to handle this? * gtk/gtkrc.c: Must include windows.h on Win32. * gtk/testgtk.c: No need to include gdkx.h. * gtk/makefile.cygwin: Correct invokation of genmarshal.pl. 1999-12-07 Tor Lillqvist * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now, the rbearing is set to the same as the width, but this should be fixed. 1999-12-06 Tor Lillqvist * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New function. If Windows doesn't tell us what Unicode subranges a font covers, guesstimate based on the codepages it covers. This will hopefully help those Windows versions or fonts that don't give us any useful Unicode subrange information with GetTextCharsetInfo. Call this function in gdk_font_load_internal. * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc minor changes. Fri Dec 3 14:09:50 1999 Owen Taylor * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history): New function, long needed. Wed Dec 1 22:35:43 1999 Owen Taylor * gdk/gdkproperty.h x11/gdkproperty.c: Change only_if_exists argument of gdk_atom_intern to bool. 1999-11-25 Tor Lillqvist * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): Fix two copy&paste errors. * gdk/makefile.cygwin: Also rebuild DLL when the static archive in win32 has changed. * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the GdkWin32SingleFont struct. * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode subranges of loaded fonts. Clear font signature first, in case GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte. * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw): Unoffset clip region. 1999-11-23 Tor Lillqvist * gdk/win32/gdkevents-win32.c (gdk_event_translate): set event->any.window before calling filter functions. Fri Nov 19 10:34:41 1999 Owen Taylor * gtk/gtkgamma.h: Adapt cast macros to standard. [ Merges from 1.2 ] Tue Nov 16 10:15:54 1999 Owen Taylor * gtk/gtkitemfactory.c (gtk_item_factory_parse_path): If translation does not include a '/', use entire translation instead of crashing. Sun Oct 31 22:21:11 1999 Tim Janik * docs/gtk_tut.sgml: s/gtk_accel_group_attach/gtk_window_add_accel_group/. Sat Oct 30 09:09:09 1999 Owen Taylor * gtk/gtkselection.c (gtk_target_list_remove): Use g_list_remove_link, not g_list_remove. [ From Geert Bevin ] Sun Oct 24 07:41:40 1999 Tim Janik * gtk/gtkclist.c (real_undo_selection): commented out g_print() statement upon unselection (how the heck did that slip in?). Sat Oct 23 03:03:08 1999 Tim Janik * gtk/gtktext.c (gtk_text_freeze): (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling in frozen state (and aparently crashes). patch provided by Anders Melchiorsen . Sat Oct 23 02:53:20 1999 Tim Janik * fix insensitive default/focus widget activation, reported by Matt Goodall . * gtk/gtkwindow.c (gtk_window_key_press_event): (gtk_window_activate_default): (gtk_window_activate_focus): return handled=FALSE for actiavtion of insensitive default widgets. return handled=TRUE for activation of insensitive focus widgets. don't activate in either case. Tue Oct 19 09:55:08 1999 Owen Taylor * gtk-config.in (lib_gtk): Switch order of @x_cflags@ and $glib_cflags to match library order and in the theory that an old version of GLib is more likely to be in the include directory for X then vice-versa. (Bug #2776) Tue Oct 19 09:46:49 1999 Owen Taylor * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE to determine the locale for fontsets, not LC_MESSAGES; the user may want English messages with a handling for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR will still be broken) (Bug #2891) Tue Oct 19 20:36:42 1999 Changwoo Ryu * gtk/gtkrc.ko: Fixed the wrong number of "*"'s. Tue Oct 19 12:15:13 1999 Changwoo Ryu * gtk/gtkrc.ko: Changed the Korean default fontset. Fri Oct 8 02:32:47 1999 Owen Taylor * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug where when scrolling to the left or top double exposes were done, causing major slowdowns. Thu Oct 7 18:31:55 1999 Owen Taylor * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset names to lowercase and alphanumeric, before looking them up. * gtk/Makefile.am: Install codeset variant gtkrc files with normalized names. Thu Oct 7 22:52:42 1999 Tim Janik * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even popup menus when the menu is already visible, but its parent is still hidden, (happens after tornoff window got hidden). Thu Oct 7 11:09:55 1999 Owen Taylor * gtk/Makefile.am (install-data-local): Fix a typo where gtkrc.vi_VN.tcvn5712 wasn't getting deleted, causing error messages on install. Thu Oct 7 11:03:06 1999 Owen Taylor * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw the handle as well, since we now sometimes ignore exposes on the handle while resizing. Wed Oct 6 18:02:31 1999 Owen Taylor * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid extra g_free introduced in one of the last one or two commits. Wed Oct 6 16:38:36 1999 Owen Taylor * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files consistent, put each style that a gtkrc.* file creates in a unique namespace, remove old files before installing. Wed Oct 6 14:31:16 1999 Owen Taylor * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when gtk_rc_init is called multiple times. (Yes, people who do that have bugs in their code.) Tue Oct 5 11:36:57 PDT 1999 Manish Singh * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf. Remove it since it's generated by the Makefile anyway Tue Oct 5 02:43:41 1999 Owen Taylor * gdk/gdkinputcommon.h (gdk_input_device_new): Free device->info.axes for core pointer. Thu Sep 30 13:55:25 1999 Owen Taylor * gtk/testgtk.c (destroy_idle_test): Rename idle to idle_id, to deal with obsolete, broken C libraries. Mon Sep 27 02:50:15 1999 Owen Taylor * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in allocation->x/y twice! * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough() consistent with gtk_vscale_pos_trough(). Sun Sep 26 19:44:34 1999 Owen Taylor * gtk/gtkcontainer.c (gtk_container_queue_resize): We may be queueing a resize on a toplevel container between the time we show it and when we map it. So, we need to test GTK_WIDGET_VISIBLE() for toplevels, and only use GTK_WIDGET_DRAWABLE() for child windows. Thu Sep 23 16:41:03 1999 Owen Taylor * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS (fixes bug #2144) Fri Sep 24 00:51:45 1999 Tim Janik * gtk/gtkcontainer.c (gtk_container_queue_resize): check for container DRAWABLE (instead of VISIBLE), so we don't queue resizes on non-toplevel containers. Sun Sep 19 18:13:31 1999 Owen Taylor * gtk/gtkselection.[ch]: Make the data argument const guchar *. Sat Sep 18 21:27:40 1999 Owen Taylor * gtk/gtkwindow.c: Try to behave sensibly if the focus widget is the window itself. (Should we allow this at all?) Fri Sep 17 09:57:15 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_set_sensitive): * gtk/gtknotebook.c (gtk_notebook_set_scrollable): * gtk/gtknotebook.c (gtk_notebook_set_show_border): * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args in prototypes and implementations consistent (Tomas Ogren). * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag before the widget is unparented (reported by damon). * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char, since we provide unsigned data anyways. Thu Sep 16 21:32:01 1999 Owen Taylor * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay the call to gtk_tooltips_layout_text() until later. * gtk/gtktooltips.c (gtk_tooltips_draw_tips): Call gtk_widget_ensure_style() before using the style. Wed Sep 15 02:52:19 1999 Owen Taylor * gtk/gtkwidget.c (gtk_widget_event): Added workaround for old widgets that don't propagate draws to all children. (Namely gnome-dock for gnome-libs <= 1.0.16) Tue Sep 14 19:22:19 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent for a redraw but just the widget that requested the resize. Tue Sep 14 18:29:47 1999 Tim Janik * gtk/gtkcontainer.c: added new widget level method gtk_container_set_reallocate_redraws() and a GtkContainer flag reallocate_redraws : 1 to reflect the setting, exported this through the argument system as a boolean ::reallocate_redraws. * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws on the widget because the allocation changes, do so as well for widget->parent if the parent has reallocate_redraws set to TRUE. with that containers requesting reallocation redraws get automatically redrawn if their children changed allocation (this unfortunately affects also other children that didn't change allocation, but we cannot work around that before 1.3). Tue Sep 14 18:23:01 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width _and_ height are >0 (not _or_). * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize() instead of gtk_container_queue_resize(), which is a core gtk internal function (must have been on crack when i queued that). * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so we can check more reliably if we want to discard expose events. * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING flag. * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes, we simply trust these events. for deciding whether to discard exposes, check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING. Mon Sep 13 15:01:21 1999 Owen Taylor * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore queues of areas that are completely off screen. * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken logic for handleboxes. * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity check on width/height. Mon Sep 13 02:22:47 1999 Tim Janik * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements", we are fine with using $@ the way we do (if we actually encounter brokeness with $@ in VPATH builds because of additional path prefixes, we need to use $(@F) actually). Mon Sep 13 01:34:53 1999 Tim Janik * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce short lived bugs, that would allow language bindings to do surgeries to our guts. Fri Sep 10 15:22:50 1999 Owen Taylor * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo where comparison was being done against an uninitialized value causing intermittant results depending on compiler flags. Also make it clearer that we aren't ever initializing the child as 0x0 (though this will be caught in gtk_widget_size_allocate()) Fri Sep 10 10:06:56 1999 Owen Taylor * gtk/gtkwindow.c (gtk_window_set_transient_for): Move gtk_window_unset_transient_for() call after we do checks involving the old transient parent. [ From Lance Capser ] 1999-09-07 Raja R Harinath * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create an empty file. Mon Sep 6 00:11:56 1999 Lars Hamann * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has no children. (Reported by: Chris Rogers ) 1999-09-03 Raja R Harinath * gtk/Makefile.am (gen_sources): Improve VPATH builds. `$@' is valid only in the build dir, not after we've done `cd $srcdir'. Also use `test -f' instead of less portable `test -e'. Fri Sep 3 15:59:56 1999 Owen Taylor * gtk/gtktext.c (correct_cache_insert): Rewrite for simplicity, and hopefully correctness. (Fixes bug #1322, which was a segfault when on some insertions with the properties around the insertion set up just wrong.) * gtk/gtktext.c (gtk_text_adjustment): When we receive a "changed" signal, clamp the new value to the adjustment bounds to avoid segfaulting if someone tries to change the adjustment to a bogus value. (Bug #1795) Thu Sep 2 16:33:59 1999 Owen Taylor * gtk/gtkmain.c: Ignore unexpected destroy notifies for children, for toplevel windows handle them like delete_event. * gtk/gtkplug.c: Add an unrealize handler so that we unref plug->socket_window when we are done with it. Fri Sep 3 14:52:54 1999 Owen Taylor * gtk/gtktext.c (clear_area): Fix stupid signedness problem that was causing background to sometimes be misaligned. Fri Sep 3 12:26:33 1999 Owen Taylor [ Fixes pointed out by Ettore Perazzoli ] * gtk/gtkmenu.c (gtk_menu_position): Make sure we never position menus with negative x, y, since gtk_widget_set_uposition() can't handle that. * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Modify the positioning code a bit so that we always put the top-left corner onscreen. (This is for UI reasons, gtk_menu_position() now takes care of gtk_widet_set_uposition() brokeness.) Fri Sep 3 03:06:30 1999 Tim Janik * gtk/Makefile.am: fixed up things for -jx, x > 1. Sun Sep 5 08:48:51 1999 Owen Taylor * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the RC style that is passed in. The lack of the ref before was a bug. If people worked around this bug, this will introduce a slight memory leak in their code. The code should typically look like: rc_style = gtk_rc_style_new (); [...] gtk_widget_modify_style (widget, rc_style); gtk_rc_style_unref (rc_style); * gtk/gtkwidget.c (gtk_widget_modify_style): Reset the style if it was already set. * gtk/gtkwidget.c (gtk_widget_set_name): Only set the style if it was set before. Thu Sep 2 19:02:37 1999 Owen Taylor * gtk/testgtk.c (main): Add a check to see if we are being run from the correct directory and to quit nicely if we are not. * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function static. Thu Sep 2 23:00:03 1999 Tim Janik * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS. * gtk/gtkwindow.c: queue resizes unconditionally (gtk_widget_queue_resize will figure what to do if the window is not realized). (gtk_window_move_resize): only recenter the window for GTK_WIN_POS_CENTER_ALWAYS. (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in the same way as GTK_WIN_POS_CENTER. Thu Sep 2 22:39:27 1999 Tim Janik * gtk/gtkwindow.c (gtk_window_reposition): check for the last position with (!(info->last_flags & GDK_HINT_POS)) instead of (!info->last_flags & GDK_HINT_POS). * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and new_height unconditionally, because we use these values even if !default_size_changed && !hints_changed. comented the (default_size_changed || hints_changed) case with respect to resize rejects from the window manager. * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values in the zvt condition hack, since this includes the window hints, set the hints after the handling_resize case. * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a window is initially shown with to the geometry. Thu Sep 2 07:38:56 1999 Tim Janik * gtk/gtkwindow.c (gtk_window_move_resize): s/size_changed/default_size_changed/g so i know what's really going on (frying brain on smaller flame now). Thu Sep 2 05:47:47 1999 Tim Janik * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if we have size_changed upon handling_resize. this is a gross workaround for the broken zvt widget and should be removed in 1.3 again (search for FIXME). Owen provided an accurate comment for this: /* We could be here for two reasons * 1) We coincidentally got a resize while handling * another resize. * 2) Our computation of size_changed was completely * screwed up, probably because one of our children * is broken. It's probably a zvt widget. * * For 1), we could just go ahead and ask for the * new size right now, but doing that for 2) * might well be fighting the user (and can even * trigger a loop). Since we really don't want to * do that, we requeue a resize in hopes that * by the time it gets handled, the child has seen * the light and is willing to go along with the * new size. (this happens for the zvt widget, since * the size_allocate() above will have stored the * requisition corresponding to the new size in the * zvt widget) * * This doesn't buy us anything for 1), but it shouldn't * hurt us too badly, since it is what would have * happened if we had gotten the configure event before * the new size had been set. */ Wed Sep 1 20:46:11 1999 Owen Taylor * gtk/gtkrc.c: deal properly with the fact that RC style lists may include rc styles more than once. * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed unused static function. * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a stack of directories of RC files currently being parsed and implicitely add them to pixmap path. This fixes a bug where the directory would get appended then overwritten by pixmap_path declarations. (bug #1462, from Peter Wainright ) * gtk/gtkthemes.c (gtk_theme_engine_unref): Call theme's exit function. (Patch from Peter Wainwright, bug #1454) * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): Add a destroy() handler to take care of removing group for menu item. (Fixes bug #1197) * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko in warning message. Wed Sep 1 21:27:42 1999 Tim Janik * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server roundtrip to figure window's width and height, since we know that anyways from widget->allocation. Wed Sep 1 12:37:44 1999 Owen Taylor * gtk/gtkwindow.c (gtk_window_move_resize): Compute the hints after we request the new size. Wed Sep 1 10:38:37 1999 Owen Taylor * gtk/gtkwindow.c (gtk_window_compute_hints): Removed GTK_WIDGET_REALIZED() assertion - we can compute the hints before we are realized. * gtk/gtkwindow.c (gtk_window_move_resize): Reorder hint changing so that we have a value of hints_changed when we decide whether to constrain the window size. * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix. * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups, change back to G_MAXINT. Wed Sep 1 06:54:59 1999 Tim Janik * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize new GtkWindowGeometryInfo, so fields like GdkGeometry geometry contain uncluttered values. (gtk_window_compute_hints): simply assert that window is realized and that geometry_info is valid, since we rely on this anyways. (gtk_window_constrain_size): major cleanups to the code. if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height for the base size, instead of the minimums. use 32767 as max width and height (like in gtkwindow.c) instead of G_MAXINT. Wed Sep 1 04:41:25 1999 Tim Janik * cleaned up the GtkContainer.need_resize flag handling mess, we only need to force resize requests when we were prematurely realized, or our widget tree was modified when we were temporarily hidden. handling these cases directly upon showing the window (i.e. while the GdkWindow is still unmapped) avoids the need to wait for a configure event response and therefore makes the GUI more snappier and avoids blank windows during the roundtrip. * gtk/gtkwidget.c: (gtk_widget_hide): (gtk_widget_show): don't queue resizes on toplevels, they know how to deal with matters. * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize flag directly for not visible resize containers and spare us unecessary signal emissions. * gtk/gtkwindow.c: (gtk_window_realize): if we need to enforce premature size allocation, queue a container resize so we are correctly resized later on. (gtk_window_init): (gtk_window_size_request): don't freak around with the ->need_resize flag, gtk_container_queue_resize() will care about that. (gtk_window_show): handle initial resizing issues here, we can handle matters better in this place, especially since we know that our GdkWindow is still unmapped. (gtk_window_move_resize): don't care about ->need_resize at all. handle size changes properly that occoured while we waited for a configure event. Tue Aug 31 15:58:46 1999 Owen Taylor * gtk/gtkwidget.c (gtk_widget_set_uposition): * gtk/gtkwindow.[hc] (gtk_window_reposition): Move the hint setting code from gtk_widget_set_uposition to here; set the hints so that we respect any previously set geometry hints. * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't change the window hints here or move the window here, let that happen in gtk_window_move_resize(). Tue Aug 31 06:58:52 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due to already queued resizes (and therefore redraws) on a widget, check its anchestry as well. * gtk/gtkcontainer.c: (gtk_container_queue_resize): clear resize widgets for resize containers before aborting prematurely. this is especially important for toplevels which may need imemdiate processing or their resize handler to be queued. (gtk_container_dequeue_resize_handler): added new internal function for gtkwindow.c. * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a configure event, take possible changes in window position into account as well. if we request a new window size, queue up a resize handler that will last until the configure event response arrives. combined the ->need_resize case (initial show) with the general size (hints) changed case and added even more comments. if !auto_shrink, only revert to the old allocation if the new size is smaller than the current allocation. Tue Aug 31 11:55:20 1999 Owen Taylor * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy, gtk_window_set_geometry_hints gtk_window_set_default_size): When hints are set, queue a resize so that the hints will be eventually reset on the toplevel. * gtk/gtkwindow.c (gtk_window_show): Use gtk_window_compute_default_size(). Clear the need_resize flag on the initail map so that we don't unnecessarily trigger the resize code. * gtk/gtkwindow.c (gtk_window_move_resize): Split apart into separate functions. Compare the hints we are setting with what we set last time so that we can accurately tell when we need to reset the hints. * gtk/gtkwindow.c (gtk_window_compute_default_size): New function to figure out the size from requisition and default_size. * gtk/gtkwindow.c (gtk_window_constrain_size): Function from fvwm to constrain a size to the geometry hints. * gtk/gtkwindow.c (gtk_window_compare_hints): New function to compare two sets of geometry hints. * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed from gtk_window_set_hints(), just compute the hints, don't set them. * gtk/gtkwindow.c (gtk_window_compute_reposition): Move code from gtk_window_move_resize() to separate function, rationalize a bit. Tue Aug 31 13:05:03 1999 Owen Taylor * gtkrc.h: Move the ref_count member out of the GtkRcStyle structure into a new private structure. * gtkrc.c: Split GtkRcStyle into public/private. In the private part, add a list of pointers to the RcStyle lists this RcStyle participates in. * gtkrc.c: When a RcStyle is free, remove all lists referencing it from the realized_style_ht hash, and free those lists. * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call gtk_rc_init(), since that adds the default styles to the list of parsed RC files again. * gtk/gtkrc.c: Use gtk_rc_style_find() consistently. Thu Aug 26 14:14:42 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity checks that ensure that a widget's allocation is at least 1 in width and height. (GNOME note: this doesn't affect old panel code anymore, because GtkSocket will request width and height of at least 1 since Fri Jul 23). * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been allocated yet (happens if the user realizes the window prematurely), size request and allocate it. (gtk_window_size_allocate): guard against guint underflows. Wed Aug 25 19:01:36 1999 Lars Hamann * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs in gtk_built_sources, so gtk.defs gets built prior to all other sources. Mon Aug 23 19:11:17 1999 Tim Janik * gtk/Makefile.am: invoke indent on gtkmarshal.*. rewrote source generation rules, use COPYING as oldest source tag for a piggyback rule to generate all sources from (don't touch it ;). major cleanups, strip spaces on build rules for GNU Make. * gtk/genmarshal.pl: don't operate on hardcoded filenames but take source and target files from commandline arguments. don't invoke indent. Sat Aug 21 14:07:36 1999 Lars Hamann * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize notebook after switch to avoid drawing problems. (Bug#856 Reported by: Theodore Roth ) (gtk_notebook_pages_allocate): don't map not visible tab_labels, show them instead. (Bug#1805 Reported by: Dave Cole ) Sat Aug 21 14:07:36 1999 Lars Hamann * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize notebook after switch to avoid drawing problems. (Bug#856 Reported by: Theodore Roth ) (gtk_notebook_pages_allocate): don't map not visible tab_labels, show them instead. (Bug#1805 Reported by: Dave Cole ) Wed Aug 18 09:20:10 1999 Tim Janik * gtk/gtkwindow.c: we use window->need_resize from configure_event now, to indicate that the gtkwindow should keep its allocation (e.g. because the user resized the window through window manager handles). resize_count is now reliably used to figure whether we got the allocation we requested from the window manager. configure events get queued as resizes now, the real stuff (size computation and allocation) now only goes on in gtk_window_move_resize(). GtkWindow's requisition now contains its *real* requisition (like all other widgets), *not* taking usize into account. geometry_info->last_{width|height} is now updated from set_hints() only so it always contains the last hints we set for the window manager. made some event handlers return TRUE instead of FALSE. the overall code should be much more straight forward now, and the significant code portions are accompanied by comments now. (gtk_window_set_hints): removed requisition argument and made it fetch the requisition through gtk_widget_get_child_requisition. we also don't move the gdkwindow here anymore, gtk_window_move_resize() does that now. (gtk_window_show): ensure that the widget is realized before calling gtk_container_check_resize() (and thus gtk_window_move_resize()), also ensure that we got properly size requested and allocated before realization. (gtk_window_configure_event): ignore plain window moves, or reallocate the widget tree through the resize queue otherwise. (gtk_window_move_resize): mostly rewrote this function to figure window manager hints more reliably, coalesce window moves and resizes to reduce configure events and do actuall size allocations. Tue Aug 17 07:43:04 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets that have a resize pending, because a redraw is already queued for them. * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal hack to clear resize_widgets. * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets for resize containers prior to size allocation. (this is also a bit ugly, but avoids side effects for stopped emissions and is thus more reliable). (gtk_widget_unparent): removed disconnect call for clear_resize_widgets. * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this function from gtk_tooltips_expose, as we connect to ::expose_event *and* ::draw now. 1999-08-18 Federico Mena Quintero * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity checks. (gtk_target_list_unref): Likewise. * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise. Tue Aug 17 15:47:07 1999 Owen Taylor * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): guard against division by zero. (Fixes bug #1339) Tue Aug 17 10:56:49 1999 Owen Taylor * gtk/gtkentry.c (gtk_move_{forward,backward}_word): Prevent the trivial leak of information of allowing word motion when the entry is not visible. Tue Aug 17 10:28:52 1999 Owen Taylor * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate modality to error dialog as well as confirmation dialogs. (Bug #1803, reported by Rosanna Wing Sze Yuen) Wed Aug 11 01:04:57 1999 Owen Taylor * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor tree->view_lines. (gtk-guy-990611-3.patch: Guy Harris ) * gtk/Makefile.am (install-data-local): Solaris apparently has various troubles with ln -f; use rm first instead. (gtk-guy-990611-2.patch: Guy Harris ) 1999-07-30 Raja R Harinath * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir, use `cp' followed by `rm' (the `rm' was already there). July 30, 1999 Elliot Lee * configure.in: Fix autoconf warnings about cross compilation by trying to provide sane defaults for AC_TRY_RUN. * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir), put them into $(srcdir) when generated. Also add a dependency of gtksignal.h on gtkmarshal.h for -j builds. * gtk/gtk(dnd,style,gamma).c: Minor warning fixes. Wed Jul 28 09:29:19 1999 Owen Taylor * gtk/gtkmain.c (gtk_main_iteration_do): Added missing GDK_THREADS_{LEAVE,ENTER} pair. (From Paul Fisher ) Fri Jul 23 01:00:15 1999 Tim Janik * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested width and height are always >0 (owen). Fri Jul 23 00:00:47 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent change that assured that a widget's allocated with and height are always >1, since this breaks *buggy* panel code. unfortunately this back-breaks the gimp's color selector. * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our allocation is always >0 in width and height, before sending the configure event; this is a *gross* hack to get the gimp back to work. * marked both cases with TODO-1.3 Wed Jul 21 15:47:39 1999 Owen Taylor * gtk/gtktext.c: Don't display wrap indicators when text is not editable and word wrap is on. Wed Jul 21 08:21:40 1999 Tim Janik * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case option menus here as they are not derived from menu shell, assure that the option menu has a menu we can add items to. Tue Jul 20 23:29:48 1999 Tim Janik * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation-> width/height to (gint) before calculations and check against < 0 to avoid guint wraparounds. Sun Jul 18 00:35:49 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated width and height is never zero. sanity check both dimensions against 32767 and issue a warning if the allocation is greater than that. Wed Jul 7 15:03:30 1999 Owen Taylor * gtk/gtkmain.c (gtk_events_pending): Unlock around call to g_main_pending() as well. Wed Jul 7 14:59:01 1999 Owen Taylor * gtk/gtkmain.c (gtk_main_iteration): Unlock around call to g_main_iteration() - since that will regrab GTK+ lock to process events. Thu Jul 1 15:01:55 1999 Owen Taylor * gtk/gtkwindow.c - Regularize with the rest of GTK+ by making widget->requisition not reflect the set_usize() - Always recompute geometry hints, then check if they changed before sending them to the X server. The previous checks for changes would fail in a number of circumstances. Thu Jul 1 11:55:59 1999 Owen Taylor * gtk/gtkstyle.c: Include for strcmp(). Wed Jun 30 19:26:36 1999 Owen Taylor * gtk/gtkdnd.c: - Code cleanups - Instantaneously update on modifier key presses - Allow cancellation of the drag with Escape. Tue Jun 29 17:04:09 1999 Owen Taylor * gtk/testgtk.c (create_handle_box): Set the policy to auto_shrink - otherwise the appearance is rather strange when flipping between horizontal and vertical. Mon Jun 28 09:29:52 1999 Tim Janik * gtk/gtkwindow.c: add ::default_width and ::default_height arguments. (gtk_window_set_default_size): don't change a value if it's < 0. queue a resize. Sun Jun 27 11:00:33 1999 Tim Janik * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts. Mon Jun 28 12:08:25 1999 Owen Taylor * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't add an extra "/" when concating "/" + filename. (From Matt Grossman ) Mon Jun 28 10:57:12 1999 Owen Taylor * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask for fg_gc if we set it for drawing pixmap. Tue Jun 15 12:45:12 1999 Owen Taylor Fixes from Peter Wainwright * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is already set, call old engine's destroy function and unref the old engine. Thu Jun 10 17:59:38 1999 Tim Janik * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize. Wed Jun 9 15:13:16 1999 Tim Janik * gtk/gtkaccelgroup.h: mark certain functions as internal. Wed Jun 9 13:48:28 1999 Tim Janik * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the expand behaviour changed. * gtk/gtklabel.c (gtk_label_set_pattern): (gtk_label_set_justify): (gtk_label_set_line_wrap): don't bother invoking queue_clear, the reallocation does that for us, always free_words so the upcoming resize will relayout the label's contents. Wed Jun 9 12:50:48 1999 Tim Janik * applied argument implementation patches from Elena Devdariani . * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size, ::space_style, ::relief * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size * gtk/gtkpreview.c: ::expand * gtk/gtkpaned.c: ::handle_size, ::gutter_size * gtk/gtknotebook.c: ::homogeneous * gtk/gtklabel.c: ::wrap * gtk/gtklist.c: ::selection_mode * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity * gtk/gtkclist.c: ::sort_type * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child Tue Jun 1 23:38:38 1999 Owen Taylor * gtk/gtkstyle.c: Removed ill-thought-out part of last comment. Tue Jun 1 23:30:09 1999 Owen Taylor * gtk/gtkstyle.c (gtk_style_attach): Get the reference counting right when we have to attach a new style for a different visual. (Chi-Deok Hwang ) * gtk/gtkstyle.c: Documented the refcounting peculularities of gtk_style_attach. 1999-06-01 Tim Janik * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid window types. * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead of GTK_TOPLEVEL for creating the window. 1999-06-01 Tim Janik * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is the last argument (reported by Per Winkvist). Tue May 25 13:13:12 1999 Owen Taylor Fixes for invisible XOR lines (Frank Loemker ) * gtk/gtkclist.c (gtk_clist_realize): Always use a non-zero pixel for GDK_XOR. * gtk/gtkvpaned.c gtk/gtkhpaned.c: Use GDK_INVERT instead of GDK_XOR. Wed May 12 21:56:40 1999 Lars Hamann * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed signals if h/voffsets differ from adjustment values. Reportet by Jerome Bolliet Mon May 10 04:20:41 1999 Tim Janik * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate ::selection-done emissions up to the topmost menu shell. Fri May 7 10:15:14 1999 Owen Taylor * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset the user data on the window before destroying it. * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an unrealize handler to take care of destroying notebook->panel properly. (Bug #1198 - Morten Welinder ) * gtk/gtktext.c (expand_scratch_buffer): Fix reversal of g_new and g_realloc to stop memory leak. (Actually, we could just use g_realloc(), but I'm not 100% sure that is portable). (Bug #1196 - Morten Welinder ) Wed Apr 21 00:42:08 1999 Owen Taylor * gtk/gtkplug.h: Removed stray GtkPlugButton declaration. * gdk/gdkfont.c (gdk_text_measure): Fix the return value for fontsets. * gtk/gtkbutton.c (gtkbutton_expose): Fix warning with bin/button confusion. Thu May 6 04:53:26 1999 Tim Janik * gtk/testgtk.c: in the ItemFactory test, link radio items together, and show how preselection of radio items is done. Sun May 2 13:31:14 1999 Tim Janik * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert): * gtk/gtktoolbar.c (gtk_toolbar_insert_element): * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1): * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): * gtk/gtktable.c (gtk_table_attach): * gtk/gtklist.c (gtk_list_insert_items): * gtk/gtkmenushell.c (gtk_menu_shell_insert): * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): * gtk/gtkbin.c (gtk_bin_add): * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): * gtk/gtkfixed.c (gtk_fixed_put): * gtk/gtklayout.c (gtk_layout_put): general fixups to container_add logic. always realize child if child->parent is realized, only map the child and queue a resize if child and child->parent are both visible. Fri Apr 30 09:02:28 1999 Tim Janik * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall instead of gtk_container_foreach to walk and unrealize children, so composite children get also unrealized. (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to. (gtk_widget_map): assert that the widget is visible (basic constrain). (gtk_widget_real_map): assert that the widget is realized (basic constrain). Fri Apr 29 00:53:20 1999 Tim Janik * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak. Tue May 4 09:32:08 1999 Owen Taylor * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc file for iso-8859-2 locales. * configure.in (ALL_LINGUAS): ALL_LINGUAS update. Tue Apr 27 16:38:32 1999 Owen Taylor * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES. (Pointed out by andy@rz.uni-karlsruhe.de and others). Remove some suspicious and useless lines. Tue May 4 08:44:08 1999 Owen Taylor * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use width,height = 0, 0 to mean - here to edge of window, instead of -1, -1, since the former is all we support. Tue May 4 08:34:43 1999 Owen Taylor * gtk/gtkmain.c (gtk_main): Correctly free list nodes when removing from quit_functions list. Tue Apr 27 14:17:16 1999 Tim Janik * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable. Tue Apr 27 18:23:35 1999 Owen Taylor * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): When redrawing characters on non-visible entry, use appropriate '*' character. (Bug #1130 - Jean-Marc Jacquet ) Tue Apr 27 01:31:40 1999 Lars Hamann * gtk/gtkclist.c (drag_dest_cell): compute destination cell from drag coordinates. (gtk_clist_drag_data_received) (gtk_clist_drag_motion): use drag_dest_cell. * gtk/gtktree (drag_dest_cell) (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise. (Bug #1129) Wed Apr 21 21:26:11 1999 Tim Janik * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize translate_* fields. (gtk_item_factory_finalize): invoke translate_notify independant from translate_data. (gtk_item_factory_set_translate_func): likewise. (gtk_item_factory_destroy): only remove ifactory pointer from those widgets that belong to us (stupid me). Mon Apr 19 12:05:31 1999 Owen Taylor * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of rc_style list when lookup succeeeds. Thu Apr 15 01:11:24 1999 Lars Hamann * gtk/gtkctree.c (resync_selection): * gtk/gtkclist.c (resync_selection): fixed undo_selection bug. * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection bug. Fri Apr 9 19:22:19 1999 Owen Taylor * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c: Add some missing GDK_THREADS_ENTER()/LEAVE around timeouts. (Patches from Sebastian Wilhelmi ) Thu Apr 8 20:10:33 1999 Tim Janik * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate() rather than emit_by_name. * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference on the widget across multiple signal emissions. (gtk_editable_delete_text): same here. (gtk_editable_class_init): set widget_class->activate_signal after editable_signals[ACTIVATE] has been created. Wed Apr 7 22:59:47 1999 Owen Taylor * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp position here prematurely -- we might not have the right ->min_position and ->max_position yet. Tue Apr 6 16:38:51 1999 Owen Taylor * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request): Add error traps so if the other end of the connection dies, we survive. * gtk/gtkselection.c (gtk_selection_notify): Clean up properly when selection property retrieval fails. * gtk/gtkselection.c (gtk_selection_request): Correctly reject SelectionRequest notifies where the handler returns no data. Tue Apr 6 12:24:21 1999 Owen Taylor * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight when we've previously highlighted. * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't emit two "drag_leave" signals for Motif drops. * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send back the correct status messages when dropping from Motif onto a proxy window that is rejecting the drop. Sat Mar 27 23:32:13 1999 Tim Janik * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal() to compare two argument values. added gtk_arg_to_valueloc() to set a variable from an arg through its location (pointer). * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected as gfloat*, uchars are collected as guchar*, ints are collected as gint*, etc... Mon Mar 29 17:45:47 1999 Owen Taylor * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c: Include instead of . * gtk/gtkstyle.c: Fix double include of gtkthemes.h (actually, a lot more duplicate includes occur if you trace through the sequence of #include's) gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu Mon Mar 29 17:02:58 1999 Owen Taylor Patches from Akira Higuchi gtk-a-higuti-990322-[0-3] * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS that was causing -DX_LOCALE not to work. * gtk/gtkrc.c (gtk_rc_init): X_LOCALE will never have LC_MESSAGES defined Thu Mar 25 12:38:31 1999 Tim Janik * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from g_get_home_dir() (gtk-pmc-990123-0.patch.gz). * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/ left/right as well (gtk-michael-980726-0.patch.gz). * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/ for pointer values, use gchar instead of char. fixed uline allocation leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem chunks instead of G_ALLOC_ONLY. (gtk_label_size_request): always alter requisition as passed and leave widget->requisition alone. (gtk_label_set_text): allow NULL strings. (gtk_label_new): likewise. Wed Mar 24 09:24:03 1999 Tim Janik * gtk/gtkdrawingarea.[hc]: type/macro fixups. Mon Mar 22 05:51:34 1999 Tim Janik * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible *and* mapped (i.e. drawable). (gtk_bin_expose): only send exposes to drawable children. * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable. (gtk_box_expose): only send exposes to drawable children. * gtk/gtkhscale.c (gtk_hscale_draw): * gtk/gtkvscale.c (gtk_vscale_draw): hm, this is an ugly one. we first compute the size of our trough area here (window relative) and then check intersection with the draw_area which is parent relative because we're a NO_WINDOW widget, so we need to offset the trough area by allocation.x and allocation.y before the check. (this must not be done for the background area though, since that's already computed parent relative). Mon Mar 22 00:41:39 1999 Lars Hamann * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary, unrealize title buttons. Fri Mar 19 00:00:22 1999 Lars Hamann * gtk/gtkclist.c (gtk_clist_column_title_passive) (gtk_clist_column_title_active): only connect/disconnect to GtkWidgetClass::event to block mouse events. * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): zero initialize event, removed superfluous gdk_window_get_pointer call * gtk/gtklist.c (gtk_list_vertical_timeout) (gtk_list_horizontal_timeout): removed superfluous gdk_window_get_pointer call Wed Mar 17 09:00:00 1999 Tim Janik * plugging problems reported by "Bruce Mitchener, Jr." due to a purify session. * gtk/gtkstyle.c: (gtk_style_ref): (gtk_style_unref): assert ref_count to be > 0. * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize the requisition. (gtk_clist_set_shift): likewise. * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the adjustments. * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the event before sending it and set send_event to TRUE (which needs to be done for *all* synthesized events). (gtk_list_vertical_timeout): likewise. * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory leaks. * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event to TRUE when synthesizing events. [ *** end of merges from 1.2 *** ] 1999-11-21 Tor Lillqvist * gdk/gdkconfig.h: Remove, as this is a file generated by configure (or copied from gdkconfig.h.win32 on Win32, sigh). * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL. * gdk/gdk.c (gdk_keyval_convert_case): Fix typo. * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line. * gdk/gdkconfig.h.win32: New file. * gdk/win32/makefile.cygwin: Build just a static archive here. * gdk/makefile.cygwin: New file. Get the win32-specific stuff for the DLL from the static archive built above. * gdk/gdk.def: Moved here from the win32 subdirectory. * gdk/win32/*: Adapt for the changed private struct organisation. * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now. Sun Nov 21 16:44:35 1999 Stefan Jeske * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support for wheel mice (buttons 4 and 5). 1999-11-18 Tor Lillqvist * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor drawables use just the pixel field in the foreground and background GdkColor of the GdkGC. gdk_gc_set_{fore,back}ground() are called in the GIMP with GdkColors containing uninitialized (red,green,blue) fields, and just the pixel field filled in, and furthermore in the visual-dependent format as returned by gdk_rgb_xpixel_from_rgb(). It thus turns out that we really don't need to have the full GdkColor for fg and bg in GdkGCWin32Data after all. Will change it later to have just the pixel values. Mon Nov 15 17:17:51 GMT 1999 Tony Gale * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/ Sat Nov 13 22:30:29 GMT 1999 Tony Gale * docs/gtkfaq.sgml: threads example from Erik Mouw. New question on GtkLabel background colors. * docs/gtk_tut.sgml: - Correct the example code callback function definitions. - Update the gtkdial example code, from Frans van Schaik. - Update setselection.c to current API. * examples/Makefile examples/*/*.c: Update to code listed in tutorial. 1999-11-10 Tor Lillqvist * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode subrange table (from the "Developing International Software for WIndows 95 and Windows NT" book) was missing the Hangul syllable block... Get the loaded font's charset correctly. (Note that this, and the other *-win32.c files, still really are the old ones, the win32 subdirectory is not ready for compilation yet after the reorg.) Wed Nov 10 17:26:49 GMT 1999 Tony Gale * gtk/gtkclist.c: Fix off-by-one bug in parameter check. Wed Nov 10 12:12:03 1999 Owen Taylor * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState() on results of XQueryDeviceState(). Mon Nov 8 16:40:43 1999 Owen Taylor * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since we need to accesss only ->children. We need an accessor for the children. * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer() to get rid of gdkx.h include. * gtk/gtkctree.c: Get rid of #include and random references to 'None'. * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c Get rid of unused #include * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from gdkconfig.h. 1999-11-08 Tor Lillqvist * gdk/win32/gdkdraw.c * gdk/win32/gdkfont.c * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes following yesterday's changes. (Unrelated to Owen's reorg.) Mon Nov 8 16:18:25 1999 Owen Taylor * gdk/x11/gdkinput-gxi.c: Add missing include, fix GdkWindowPrivate => GdkDrawablePrivate. * gdk/x11/gdkinputprivate.h: include . * gdk/x11/Makefile.am (xinput_sources): Add missing backslash to fix building with --with-xinput=none Mon Nov 8 14:47:04 1999 Owen Taylor Move all X specific code into the x11/ directory. Aside from shuffling things around, did the following: * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add gdk_arg_context_* - a simple argument parsing system in the style of popt. * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkprivate-x11.h: Remove X specific stuff from GdkDrawable and GdkWindowPrivate - add ->klass and ->klass_data fields. The klass_data field points to an auxilliary structure that is windowing system dependent. * gdk/gdkfont.c: Make most of the measurement functions simply wrappers around gdk_text_extents(). * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a _gdk_font_strlen() function that hides the weird behavior in gtk+-1.[02] where a string is interpreted differently for 8-bit and 16-bit fonts. * gdk/gdkevents.c: Add a new function gdk_event_button_generate() to store common code for synthesizing double/triple press events. * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h. Make all the function that modify an existing GC simply wrappers around gdk_gc_set_values(). * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation for throwing out later. * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate, GdkImagePrivate and GdkColormapPrivate to have a windowing system dependent part (GdkFontPrivateX etc.) that "derives" from the system-independent part. * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c: Got rid of the included-source-files for XInput in favor of automake conditionals. (Which didn't exist when XInput support was originally added.) * gdk/gdkrgb.c: Remove the visual id from the debugging statements since that is X11 specific; print out type/depth info instead. Wed Nov 3 18:14:49 1999 Owen Taylor * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when loading duplicates of hashed fonts. * gdk/gdk.c (gdk_keysym_convert_case): rename gdk_XConvertCase to gdk_keysym_convert_case, allow results to be NULL in the GTK+ style. * gdk/gdkcompat.h: Started compatibility header for renames. 1999-11-07 Tor Lillqvist * gdk/win32/gdkprivate.h: New font private structures, related to fontsets. * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and gdk_font_list_free(). On X11, will just be wrappers to XListFonts() and XFreeFontNames(). On Win32, the code previously in gtkfontsel.c is now here. New function gdk_font_xlfd_create(). On X11 will get the FONT property of the font (for GDK_FONT_FONTs), or call XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32 builds a XLFD style name from the font information in the LOGFONT struct(s). New function gdk_font_xlfd_free(), which correspondingly frees the string returned by gdk_font_xlfd_create(). Implement fontsets on Win32. Add a function that iterates over a wide char string and calls a callback function for each substring of wide chars from the same Unicode subrange (and thus probably available in the same real font). Improve the XLFD emulation a bit. * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix. * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k Beta3, WM_IME_CHAR messages don't seem to contain the composed multi-byte char as with the Active IMM on Win9x. Oh well, handle WM_IME_COMPOSITION with GCS_RESULTSTR instead, use ImmGetCompositionStringW() to get the composed Unicode chars. * gdk/win32/gdkgc.c * gdk/win32/gdkdraw.c: Changes needed because of the font private struct changes. * gdk/win32/gdk.def: Add the new functions. 1999-11-04 Tor Lillqvist * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to get the Platform SDK to get . * gdk/win32/gdkevents.c: More event handling fixes and simplification. Never generate motion events with is_hint true. We used to do that on bogus grounds earlier. Windows sends WM_MOUSEMOVE messages on button events even if the mouse hasn't moved, ignore these. * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets. * gdk/win32/gdkglobals.c * gdk/win32/gdkprivate.h: Define a typedef for the pointer to the TrackMouseEvent function, and use it. * gdk/win32/gdkwindow.c: Terminate widechar string with a zero char before calling WideCharToMultiByte in order to get a string for the window title. * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out. * gdk/win32/gdk.def: Remove obsolete functions. * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add /nodefaultlib and /defaultlib switches. * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/. 1999-10-31 Tor Lillqvist * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including EuroSign). * gdk/gdktypes.h: Add note about wchar_t not necessarily being the same type as GdkWChar, especially on Win32. * gdk/win32/*.c: Change gdk_root_parent to be a pointer. * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode before passing to Windows GDI for drawing etc. Convert to the system default codepage before passing to Windows as window titles. * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to support changing input locale on the fly. * gdk/win32/gdkevent.c: Support input language (keyboard locale) on-the-fly changes. Convert incoming characters from the current codepage to Unicode (and then to a UTF-8 multi-byte string) based on the current input language. Use keysym<->Unicode mapping tables and functions borrowed from xterm sources. Support IMEs (Input Method Editors) for CJK languages. On non-CJK editions of Win9x, use the ActiveX-based Active IMM (Input Method Manager) if available. IMEs and the Active IMM are available under the disguise of Chinese, Korean and Japanese support for IE and Outlook Express from "Windows Update" for Win98. On Win2k, the CJK support is present in all editions (as long as you install it). Call DispatchMessage from gdk_events_queue() (and thus gdk_WindowProc()), instead of duplicating the code in gdk_WindowProc(). Reworked the grab handling and propagation code, factored out duplicated code snippets into separate functions. Other cleanups, too. * gdk/win32/surrogate-dimm.h: Provide just the bits we need from the header describing the Active IMM. * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far just do the same as for "single" fonts. * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle the new keysyms from gdkkeysyms.h. * gtk/gtkfontsel.c (Win32): Load the font for the preview as a fontset, so that gtkentry uses wide characters. * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call GTk+'s system directory "gtk+", not "gtk". Sat Oct 30 13:17:18 BST 1999 Tony Gale * docs/gtkfaq.sgml: FAQ update 1999-10-21 Tor Lillqvist * gdk/win32/gdkprivate.h: Add more font private data. * gdk/win32/gdkfont.c * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset fonts and strings. Now works much better. You still have to have a correct font selected, though. No fontset emulation yet. 1999-10-19 Tor Lillqvist * gtk/maketypes.awk: Use G_OS_WIN32. * gtk/gtk.def: Add some missing entry points. Also some non-public ones, but PyGTK porter claims to need them. * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the built-in type generation. 1999-10-14 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for GDK_FONT_FONT fonts (which is all we have for now, we don't emulate fontsets). The X11 version uses plain XDrawString in that case, too. The string passed to gdk_draw_text_wc seems to be in fact (at least, when used by gtkentry and gtktext) either in a single-byte charset, or a DBCS. Not Unicode. This fixes the problem in gtkfontsel, where even if you had selected a font with a non-Latin1 charset (windows-greek, for instance), the preview still used Latin-1 glyphs. * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't use GetTextExtentPoint32W, use GetTextExtentPoint32A. (gdk_font_load): Recognize the demibold etc weights, even if we don't have the corresponding constants in the headers. (gdk_font_hash_insert): Use same hash mechanism as in the X11 version. Should save font resources a bit, when we don't have multiple HFONTs for the same font. * gdk/win32/gdkprivate.h: Add the names field as in the X11 version. 1999-10-11 ERDI Gergo * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default X values 1999-10-09 ERDI Gergo * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text layout support (as mentioned on http://www.jcinteractive.com/gnome-ui/software/widgets/) Wed Oct 6 12:46:17 PDT 1999 Manish Singh * gtk/fnmatch.c * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/ 1999-10-05 Jesus Bravo Alvarez * configure.in (ALL_LINGUAS): Added Galician (gl) 1999-10-05 Tor Lillqvist * gdk/win32/*.[ch]: Corresponding changes as in X11 backend. * gdk/win32/gdkcompat.c: New file, actually provide an implementation for the deprecated functions. (Just temporarily.) * gtk/gtkfilesel.c: Fix an #ifdef syntax botch. * gtk/makefile.{cygwin,msc}: Update gdk_headers. * gdk/win32/gdk.def gtk/gtk.def: Updates. 1999-10-05 Kjartan Maraas * configure.in: Added "uk" to ALL_LINGUAS. Mon Oct 4 11:57:11 PDT 1999 Manish Singh * configure.in: correct checking for BeOS check * gdk/gdktypes.h * gtk/fnmatch.c * gtk/gtkfilesel.c * gtk/gtkitemfactory.c * gtk/gtkmain.[ch] * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines Mon Oct 4 16:16:53 1999 Pablo Saratxaga * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used by Bulgarian). Sun Oct 3 18:13:44 1999 Owen Taylor * gtk/gtkwidget.c (gtk_reset_shapes_recurse): Fix a reference to window_private->destroyed. * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct (ugly) setting of an internal GdkWindow member to use a _slightly_ cleaner macro. * gdk/gdkprivate.h: Split GdkWindowPrivate into GdkDrawablePrivate and GdkWindowPrivate. Add extra macros for accessing GDK_DRAWABLE_ components. * *.[ch]: Massive adjustments for the above, use the new macros in a lot of places. Sun Oct 3 15:16:24 1999 Owen Taylor * gdk/gdktypes.h: Make GdkDrawable the base type, not GdkWindow. Sun Oct 3 15:08:44 1999 Owen Taylor * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function. Sun Oct 3 14:26:15 1999 Owen Taylor * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory. Sun Oct 3 14:16:23 1999 Owen Taylor * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp) * configure.in gdk/Makefile.am x11/: create x-specific subdirectory. * docs/gtk-config.1: Now autogenerated. * docs/Changes-1.4.txt: started 1999-10-03 Tor Lillqvist * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage to #ifdef also here. * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those Owen did to the X11 backend. * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use ScrollWindowEx when blitting inside a window, it can't be correct in the general case. * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling WM_GETMINMAXINFO is easier. * gdk/win32/gdkimage.c (gdk_image_new): Create new image with depth equal to the bitspixel value, not the visual's depth. * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth to 24 even if the bitspixel value is 32. * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no need to check for depth==32 when bpp==32, depth will always be 24. Fri Oct 1 18:03:36 1999 Owen Taylor * docs/Changes-1.4.txt: Started * gtk/Makefile.am (gdk_headers): Include all the new headers. * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces. * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private into C file. * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput header to gdkinputprivate.h. * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been unused since before 1.2. 1999-09-30 Tor Lillqvist * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32, expand possible hex escapes in the font family (put there by logfont_to_xlfd if the font name isn't a legal XLFD font family, mainly if it contains slashes). (gtk_font_selection_create_xlfd): On Win32, add hex escapes here, too. Wed Sep 29 19:55:35 1999 Owen Taylor * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11 to #ifdef GDK_WINDOWING_X11. [ Merges from gtk-1-2 ] Wed Sep 8 07:13:29 1999 Tim Janik * configure.in: fixed "GNU Make" check to pass with new make version 3.77.95. Fri Sep 3 16:04:41 1999 Tim Janik * gtk-config.in (--version): don't echo @GTK_VERSION@, but @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the AM_PATH_GTK() macros don't get confused by the -pre1. Thu Sep 2 19:02:37 1999 Owen Taylor * configure.in (REBUILD): Change check for perl5 to check explicitely for v >= 5.002. (5.001 does not work with our scripts.) Wed Aug 25 15:45:46 1999 Tim Janik * configure.in: evaluate $PERL for the perl version check. added --disable-rebuilds to give the user an option to completely disable any source autogeneration rules. Mon Aug 23 23:16:14 1999 Tim Janik * configure.in: evaluate $ac_make when checking for GNU Make. Mon Aug 23 19:11:17 1999 Tim Janik * docs/Makefile.am: added generation.txt. * Makefile.am: require automake 1.4, build README from README.in and INSTALL from INSTALL.in in dist-hook. * README.in: * INSTALL.in: new files to autogenerate README and INSTALL from. * configure.in: figure whether we have GNU Make * docs/generation.txt: minor additions/corrections. Wed Aug 11 13:38:26 BST 1999 Tony Gale * docs/gtkfaq.sgml: FAQ Update July 30, 1999 Elliot Lee * configure.in: Fix autoconf warnings about cross compilation by trying to provide sane defaults for AC_TRY_RUN. Fri Jul 16 22:20:21 PDT 1999 Manish Singh * ltconfig * ltmain.sh: upgrade to libtool 1.3.3 Thu Jul 8 11:30:18 1999 Owen Taylor * INSTALL: Indicate that the --with-glib= configure time flag is unsupported. Mon Jul 5 20:36:03 1999 Owen Taylor * docs/generation.txt: Added a file that gives documenation about the autogeneration process for various autogenerated files. Tue Jun 29 15:59:25 1999 Owen Taylor * configure.in (LIBS): Look for libgmodule in the right location. Thu Jun 17 13:57:31 1999 Owen Taylor * docs/gtk_tut.sgml: Removed references to code examples in my directory on gtk.org as they should all be in the tutorial now. * docs/gtk_tut.sgml: Added sources for dial-test and scribble-xinput programs that were previously missing. Fri Jun 4 00:08:59 1999 Owen Taylor * TODO: Added entry about menu keyboard navigation, removed some finished items. Mon May 31 00:11:24 1999 Owen Taylor * acinclude.m4: Standardize on func_dgettext not func_gettext, so that the checks for dgettext actually are paid attention to. Wed May 5 10:47:54 1999 Owen Taylor * configure.in (LIBS): Add $INTLLIBS into $LIBS directly, rather than repeating the checks for gettext. * INSTALL: Added information about gettext and NLS support. * acinclude.m4 (LIBM): Check for dgettext, not just gettext. This should hopefully fix things wrt systems with old versions of GNU gettext installed. Tue Jun 29 15:59:25 1999 Owen Taylor * configure.in (LIBS): Look for libgmodule in the right location. Thu Apr 1 16:58:10 PST 1999 Manish Singh * autogen.sh: add --enable-maintainer-mode * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson * docs/gtk-config.1.in: docs/Makefile.am: configure.in: gtk-config is now generated. * docs/gtk-config.1: Removed, now generated. Thu Sep 23 17:59:59 1999 Tim Janik * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't handle CreateNotify itself, still put out a debuging message for --gdk-debug=events. made the ReparentNotify debugging message more verbose. wrap xcoords translation for ConfigureEvents into an error trap, a destroy event may already be pending, and in that case, the actuall coordinate values are not at all critical. Sat Sep 18 22:24:15 1999 Owen Taylor * gdk/gdkcc.c: Stop leaking the color_hash all over the place. Simplify and improve the logic. Fri Sep 17 09:57:15 1999 Tim Janik * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean) for prototypes and function implementations consistent (reported by Tomas Ogren). Tue Sep 14 18:23:01 1999 Tim Janik * gdk/gdkevents.c (gdk_event_translate): tell if expose events have send_event set in debugging output. (gdk_compress_exposures): default initialize the event so we don't operate on bogus values (namely send_event). Thu Sep 2 16:33:59 1999 Owen Taylor * gdk/gdkwindow.c: When we receive an unexpected destroy notify on one of our windows, don't just warn about it, also mark our windows as destroyed. Sun Sep 5 08:10:53 1999 Owen Taylor * gdk/gdkfont.c (gdk_font_hash_insert): Add name => font and name => fontset hashes. The name => fontset hash is a _big_ win since we weren't previously caching fontsets at all and loading fontsets is expensive. The name => font hash is less of a win, but it does save us from doing repeated XQueryFont calls on the same font. * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names list so we can remove font/fontset from hash. Thu Sep 2 19:02:37 1999 Owen Taylor * gdk/gdkproperty.c (gdk_atom_intern): Remove useless and slightly confusing test. [ XInternAtom (,,TRUE) will never return None ]. Sat Sep 4 08:39:26 1999 Owen Taylor * gdk/gdkwindow.c (gdk_window_set_geometry_hints) gdk/gdkwindow.c (gdk_window_set_hints): Don't omit setting the properties if flags == 0 - there may be an existing set of properties there already. (Very old bug. Would it be better to delete the property instead?) * gdk/gdkselection.c (gdk_selection_property_get): Fix spelling error in comment. Wed Sep 1 14:05:30 1999 Owen Taylor * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push() to avoid stomping over gdk_error_warnings. * gdk/gdkimage.c (gdk_image_new): compute image->bpp as (bits_per_pixel + 7) / 8. This gives the same result as before for multiples of 8, but actually a "reasonable" value for 1bit or 4bit displays. Mon Aug 23 19:11:17 1999 Tim Janik * gdk/Makefile.am: minor cleanups, strip spaces on build rules for GNU Make. Tue Aug 17 07:43:04 1999 Tim Janik * gdk/gdkevents.c (gdk_event_translate): give a debugging note when discarding configure events. 1999-08-18 Federico Mena Quintero * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the refcount is greater than zero. * gdk/gdkwindow.c (gdk_window_unref): Likewise. * gdk/gdkfont.c (gdk_font_unref): Likewise. * gdk/gdkgc.c (gdk_gc_unref): Likewise. * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise. Wed Aug 11 01:04:57 1999 Owen Taylor * gdk/gdkproperty.c (gdk_property_get): Fix assumption that format 32 => sizeof(item) == 4. It really is sizeof(long). Tue Jun 29 23:02:42 1999 Owen Taylor * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't core dump at all on X IO errors, only core dump if --enable-debug for X errors. Thu Jun 24 17:06:23 1999 Tim Janik * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for unknown window:" message. disabled ConfigureNotify discarding code, because it led to events being processed out of order. Thu Jun 24 12:22:02 1999 Tim Janik * gdk/gdkglobals.c: preinitialize gdk_error_code to 0. * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since we export this function, supress error warnings and don't reset the error code in the first half of this function. * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error code (instead of just -1) so gdk_error_trap_pop() reveals something actually informative about the error that happened. * gdk/*.c: don't rely on gdk_error_code being -1 if an error occoured, but just gdk_error_code != 0. Thu Jun 24 11:50:07 1999 Tim Janik * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list pointer *before* invoking the filter function, so we at least don't crash if a filter is removed that is currently executed. window filters *really* need to be made truely reentrant at some point. Mon Jun 14 11:10:15 1999 Tim Janik * gdk/gdkevents.c (gdk_event_translate): print the atom name in the PropertyNotify debug messages. Wed May 5 22:51:06 1999 Owen Taylor Patch from Sung-Hyun Nam * gdk/gdkim.c: Fix cut-and-paste errors for x/y and PreeditAttributes/StatusAttributes. Wed May 5 22:24:21 1999 Owen Taylor * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change G_MAXINT to 2^16 to alleviate overflow problems in various window managers. Wed Apr 21 00:42:08 1999 Owen Taylor * gdk/gdkfont.c (gdk_text_measure): Fix the return value for fontsets. Wed May 5 12:42:01 1999 Owen Taylor * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Initialize size_hints.x and size_hints.y because kwm brokenly pays attention to them. (Bug #1181 - Lars Heete ) Wed May 5 11:38:56 1999 Owen Taylor * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the return value of gdk_list_visuals(). (Bug #1193 - Morten Welinder ) Tue May 4 11:12:56 PDT 1999 Manish Singh * gdk/gdkim.c (gdk_im_real_open): cast the return value of XSetIMValues to (void *) when comparing to NULL, to workaround the problem of some compilers barfing since older X headers don't have the prototype for it. Mon Apr 19 10:11:12 1999 Owen Taylor * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak for pseudocolor where colormap->colors was double allocated. * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the color value in the hash table with the pixel filled in so when we do later hash table lookups, the color value is correct. Sun May 2 15:29:45 PDT 1999 Manish Singh * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before making the call Tue Apr 27 11:17:35 1999 Owen Taylor * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak pointed out by Morten Welinder . Wed Apr 21 14:20:22 1999 George Lebl * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the default filter from the list Wed Apr 21 14:20:22 1999 George Lebl * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the default filter from the list Fri Apr 16 20:41:43 PDT 1999 Manish Singh * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use g_strdup_printf instead of calcing the length separately Tue Apr 13 02:49:33 1999 Owen Taylor * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG that we don't do in many other places. (Fixing duplicate #include of config.h) * gdk/gdkevents.c: include gdkinput.h _after_ config.h. Otherwise, #ifndef XINPUT_NONE check in the latter doesn't work. (Bug #546) Sun Apr 11 14:38:03 1999 Tim Janik * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color "None" case insensitive. Tue Apr 6 16:38:51 1999 Owen Taylor * gdk/gdkselection.c: Add error traps so if the other end of the connection dies, we survive. Tue Apr 6 12:24:21 1999 Owen Taylor * gdk/gdkdnd.c (gdk_drag_motion): Separate out the dest_xid field into two fields - one for the window to send in messages, one to indicate the last looked up window for caching purposes. This is needed, so that Leave messages get the correct window. Mon Apr 5 13:21:30 1999 Owen Taylor * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare): Fix warning created by people mucking around with the gsource API. * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full): Change mapping between GIOCondition and GdkInputCondition to match the way the Linux kernel does it. This should fix problems where closed pipes were no longer signalling GDK_INPUT_READ on systems with a native poll(). Mon Apr 5 17:11:57 1999 Owen Taylor * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check explicitly for the string "None" - it is in the XPM spec and some servers treat unknown colors in odd ways (like asking the user!) Thu Apr 1 16:58:10 PST 1999 Manish Singh * gdk/gdkevents.c: made "->" into a "." of previous change so it compiles Thu Apr 1 18:41:25 1999 Owen Taylor * gdk/gdkevents.c (gdk_compress_exposures): Set the window field of the event structure before calling user filters. 1999-03-31 Federico Mena Quintero * gdk/gdk.c (gdk_init_check): Use False as the last argument to XInternAtom() here. This is a particularly Old And Nasty(tm) bug. Mon Mar 29 17:31:52 1999 Owen Taylor * gdk/gdkim.c (gdk_mbstowcs): Free the value of the intermediate text property - prevents major memory leak when gdk_use_mb. gtk-d3august-990311-0: Bj|rn Augustsson Mon Mar 29 17:02:58 1999 Owen Taylor Patches from Akira Higuchi gtk-a-higuti-990322-[0-3] * gdk/gdkfont.c (gdk_text_extents_wc): Make work when sizeof(wchar_t) != sizeof (GdkWChar) * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS that was causing -DX_LOCALE not to work. * gtk/gtkrc.c (gtk_rc_init): X_LOCALE will never have LC_MESSAGES defined * gdk/gdk.c (gdk_init_check): Remove --xim-preedit and --xim-status from argv properly. * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so that the client window is present on the X server before we pass it to the input method. Tue Mar 9 10:46:49 1999 Owen Taylor * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where if --display is specified on the command line, than the drag window will not be created on that display. Tue Mar 9 10:38:24 1999 Owen Taylor * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where lookups with only_if_exists == TRUE were inserting bogus values into the atom cache. Wed Mar 17 09:00:00 1999 Tim Janik * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t), then reset it to NULL. * gdk/gdkcolor.c: (gdk_colors_free): (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the key for g_hash_table_remove() in both functions, this prevents us from accessing possibly uninitialized portions of a GdkColor structure where we are only interested in its pixel value. Tue Mar 9 01:01:28 1999 Tim Janik * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our font hash table, if we have a GdkFontPrivate entry for this font already, simply increment its reference count, provided by Olaf Dietsche . 1999-09-21 Tor Lillqvist * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting, just to be sure. * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of unused variables, leftovers from the X11 version. * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd. * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only downcase fields on X11. Mon Sep 20 13:17:39 1999 Pablo Saratxaga * configure.in,po/pt_BR.po: added Portuguese Brazilian file from Alex Sandro Queiroz e Silva 1999-09-17 Tor Lillqvist * gdk/win32/gdk.def: Add gdk_threads_mutex. * gtk/makefile.msc: Correct path to libintl. Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in use of gint vs. int, and gint vs. gboolean in headers and definitions. Use GtkType for the *_get_type functions. Note that these changes preserve binary compatibility. * gdk/gdk.c * gdk/win32/gdk.c * gdk/gdk.h: Fix inconsistencies: gint vs int. * gtk/gtkmain.c * gtk/gtkclist.c * gtk/gtkmenufactory.c * gtk/gtknotebook.c * gtk/gtkwidget.c: Fix inconsistencies, also gint vs. gboolean. * gtk/gtkcolorsel.[ch] * gtk/gtkcombo.[ch] * gtk/gtkdrawingarea.[ch] * gtk/gtkgamma.[ch] * gtk/gtkhandlebox.[ch] * gtk/gtkhpaned.[ch] * gtk/gtkhruler.[ch] * gtk/gtkplug.[ch] * gtk/gtkpreview.[ch] * gtk/gtkruler.[ch] * gtk/gtksocket.[ch] * gtk/gtkstatusbar.[ch] * gtk/gtktoolbar.[ch] * gtk/gtkvbbox.[ch] * gtk/gtkvpaned.[ch] * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type functions. * gtk/gtkgamma.h: Fix bug, missing () in call of gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 1999-09-14 Tor Lillqvist * gdk/gdkcolor.c (gdk_colormap_new) * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak: colormap->colors was allocated twice. * gdk/win32/gdk.c: Remove some unused stuff. * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the colormap. * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type) * gtk/gtklabel.h (gtk_label_get_type) * gtk/gtktipsquery.c (gtk_tips_query_get_type) * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType in a couple of places, not guint. Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga * configure.in,po/et.po: added Estonian language file Wed Sep 1 14:36:12 CEST 1999 Pablo Saratxaga * configure.in,po/da.po: added Danish file Sun Aug 29 13:38:59 BST 1999 Tony Gale * docs/gtkfaq.sgml: Minor FAQ Update Sat Aug 28 14:34:37 BST 1999 Tony Gale * docs/gtkfaq.sgml: FAQ update 1999-08-27 Tor Lillqvist Win32: Philippe Colantoni suggests a way to get window contents continually refreshed while resizing. I didn't like the effects myself, so it's not on by default. * gdk/win32/gdkprivate.h: New flag variable gdk_event_func_from_window_proc, FALSE by default. * gdk/win32/gdk.c (gdk_init_check): Set above flag if the environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we are passed --gdk-event-func-from-window-proc. * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set, and we have am event_func, call it instead of enqueing the event. 1999-08-23 Tor Lillqvist * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon Kelley: Set expose_count in GdkEventExposes correctly. * gdk/win32/gdkwindow.c: Remove dead code (#ifdef MULTIPLE_WINDOW_CLASSES). * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer for bug in NT, apparently NT *does* draw the end pixel, too, in LineTo with a one-pixel pen, so we don't have to do it ourselves. 1999-08-21 Tor Lillqvist Improvements by Hans Breuer: * gdk/win32/gdkwindow.c (RegisterGdkClass): New function * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the CS_?REDRAW flags as they cause lots of (late) redraws when "show window contents while dragging" is turned on. Allocate at least one unique class for every GdkWindowType. If support for single window-specific icons is ever needed (eg. Dialog specific), every such window should get its own class. 1999-08-19 Tor Lillqvist * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste error that caused crashes. 1999-08-17 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one window, use ScrollWindowEx, and call UpdateWindow. This prevents bugs when for instance part of the window was outside the display. Thanks to Philippe Colantoni for finding and fixing this. 1999-08-16 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial endpoint calculations which were totally wrong. (A little RTFMing helps a lot ;-) * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc from a separate directory, not from gettext, because of licensing issues (we want to use the LGPL version). * README.win32: Mention the intl from glibc vs from gettext issue. 1999-08-13 Tor Lillqvist * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs in the key event handling: Now AltGr chars work again. Also, now Alt-digits are passed up as well as Control-digits. Pass keypad plus and minus as normal plus and minus. Wed Aug 11 13:38:26 BST 1999 Tony Gale * docs/gtkfaq.sgml: FAQ Update 1999-07-25 Tor Lillqvist * README.win32 * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without the Wintab SDK. * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work OK, but getting closer. Guard against bogus tilt data from Wacom ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to enable easier building without Wintab. * gdk/win32/gdkinput.h * gdk/win32/gdkevents.c * gdk/win32/gdkwindow.c: Minor changes related related to above. * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11 code. As we have just one visual on Win32, no sense to have it in a table, and no need for the hash table. * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look better on white background. 1999-07-21 Tor Lillqvist * README.win32: Update gcc build instructions. Mention gettext is GPL. * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct supported cursor size with GetSystemMetrics. * gdk/win32/gdkfont.c * gtk/gtkfontsel.c: Guard against some font weight and charset symbols being undefined (in mingw32 headers). * gdk/win32/makefile.cygwin * gtk/makefile.cygwin * gtk/gtkthemes.c: No longer need to have differently named gcc-built DLLs when using gcc-2.95 and -fnative-struct. hu Jul 15 13:33:15 BST 1999 Tony Gale * docs/gtkfaq.sgml: Long awaited FAQ update. 1999-07-15 Tor Lillqvist * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement it. Obscure bit manipulation needed. * gdk/win32/gdkevents.c: Logging. * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming style (file name include compiler name) for theme engines. 1999-07-13 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage. * gdk/win32/gdkevents.c: Fix long-standing bug in key events. The key.string wasn't zero-terminated, still we strdup'ed it in gdk_event_copy(). Synthesize crossing events for button events before possible propagation. * gdk/win32/gdkwindow.c: Log gdk_window_set_title. * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: Use new DLL naming style for the GCC-compiled ones. * gdk/win32/makefile.msc * gtk/makefile.msc: Cosmetics mostly. * gtk/gtk.def: Add missing entry points. * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32. 1999-07-09 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width or height is zero. Don't print a warning if Pie or Arc fails, they always fail (?) for very narrow ellipses. * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for the part or the destination window corresponding to source area outside of the source drawable's boundary. * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do anything if less than two points. * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always return NULL. Gtk cut-and-paste inside a single program works better this way. (It always gets the clipboard contents from Windows, not from its own copy, which is cleared anyway. I can't say I fully understand what happens... Emulating the X selection and property stuff is a bit of a mess.) * gdk/win32/gdkevents.c * gdk/win32/gdkproperty.c: A bit more verbose logging. * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions that never got deleted). Revamp gdk_region_shrink. * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions after use. * gtk/gtk.def: Add some missing entry points. * gtk/gtkrc.c: Strip trailing directory separator from pixmap path component. 1999-07-04 Tor Lillqvist * gdk/win32/gdkevents.c (gdk_event_translate): Handle Control-digits specially. 1999-07-03 Tor Lillqvist * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext. 1999-06-28 Tor Lillqvist * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for bitmaps, should be multiple of 4. (Thanks to Hans Breuer for finding this.) 1999-06-01 Jose H Mercado * gtk+.spec.in: Corrected some typos in files section. 1999-06-15 Tor Lillqvist * README.win32: Mention using GNU gettext. * config.h.win32: Enable NLS stuff. * gtk/makefile.msc: Use GNU gettext. * gdk/win32/gdkdnd.c: Minor header reorg. * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly cosmetics. * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public. * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call. Wed Jun 2 11:44:25 PDT 1999 Manish Singh * acinclude.m4 * config.guess * config.status * ltconfig * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged) 1999-05-30 Tor Lillqvist * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to SafeAdjustWindowRectEx. Don't override all calls to AdjustWindowRectEx by it, but use it only in two places: When creating a new top-level window and when moving a top-level window. Use screen coordinate rectangle, not client rectangle, in gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only when we try to place a window so that the decoration (mainly, title bar) isn't visible. These changes fix the bug that showed up for instance as the GIMP's saved top-level windows moving right and down (by an amount equal to the window decoration) for each session. This bug showed up also in testgtk's "Saved Position". gdk_window_resize also redone a bit. 1999-05-25 Tor Lillqvist * gtk/testgtkrc: Add (commented out) Windows-style theme include line. * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points. 1999-05-18 Tor Lillqvist * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and gdkx.h to a gdk subdirectory, so that applications can include these with without trouble. * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified. (gdk_image_destroy): Plug resource leak, some GdkImages didn't have their bitmap destroyed. * gdk/win32/gdk.def: Add gdk_root_parent. Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson * configure.in gtk-config.in ltconfig ltmain.sh gtk/Makefile.am: changes to compile nicely (with xlib) on BeOS Sat May 1 15:04:42 PDT 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.3 Fri Apr 30 13:38:16 1999 Lars Hamann * gtk/gtkclist.c: * gtk/gtkctree.c: merges from gtk-1-2 1999-04-25 Tor Lillqvist Support added for building using a GNU toolchain on Win32, gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1. * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files. * config.h.win32: Changes for gcc. * gdk/gdkrectangle.c: Include gdk.h as . * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp. * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h. * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better. Protect shl stuff unavaiilable with mingw32 headers. * gdk/win32/gdkevents.c: Fix typo. * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc. * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?) * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler. * gdk/win32/gdkprivate.h: Make up for some stuff missing from the mingw32 headers. * gdk/win32/makefile.msc: Use latest Wintab kit and glib. * gtk/gtkfilesel.c: Include early, to get stat->_stat definition on Win32. Test for NATIVE_WIN32, not _MSC_VER. * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32. Test for NATIVE_WIN32, not _MSC_VER. * gtk/gtkmain.c: No use warning about developer version on Win32, there aren't any non-developer versions anyhow. * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER. * gtk/makefile.msc: Use pthread from another directory. Minor other changes. Wed Apr 21 14:20:22 1999 George Lebl * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the default filter from the list Mon Mar 8 12:52:53 1999 Owen Taylor * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning when gtk_widget_grab_default() is called for a widget that is not within a GtkWindow. Sat Apr 10 13:52:54 BST 1999 Tony Gale * docs/gtk_tut.sgml, examples/clist.c: use a scrolled window in the clist example. Minor tutorial fixes. Fri Apr 2 09:19:20 BST 1999 Tony Gale * docs/gtk_tut.sgml: Style check from David King 1999-03-30 Pavel Machek * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code compile with unknown value of GDK_WINDOWING 1999-03-28 Raja R Harinath * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists after the rule is fired. (install-exec-local): Install gdkconfig.h only if the contents are different from the currently installed gdkconfig.h. 1999-03-26 Raja R Harinath * gdk/Makefile.am (configexecincludedir): Rename from configincludedir so that gdkconfig.h will be installed as part of `make install-exec'. Fri Mar 19 16:50:33 PST 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.2f * autogen.sh: libtool is not required to autogen gtk+ * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly needed) 1999-03-18 Tor Lillqvist * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for declaring gdk variables exported/imported from the DLL. New image type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and GDK_DRAG_PROTO_OLE2. * gdk/gdk.h: Merge in Win32 version: Two new functions, gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far declared only for the Win32 version, but could be in the X11 version as well. (Needed for a Xlib-less gdk_imlib.) gdk_color_hash should have only one parameter. Declare gdk_threads_mutex with GDKVAR. * gdk/gdkcolor.c (gdk_color_hash): A hash function should have just one parameter. * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes per pixel, not bits. * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv): Fetch bpp (which means bits-per-pixel here) from another place on Win32. Accept also depth==32 (which we might get on Win32) with bpp==32. * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel, gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc, gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c: Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be in the backend-dependent directory, not in the common gdk directory. * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk headers. Wed Mar 17 05:06:49 1999 Tim Janik * gtk/gtkmain.c (gtk_init_check): tell people that they don't really want to use the Gtk+ devel version (which is true, and yes - even i am currently working with the 1.2.x branch). so everyone reading this, you probably want to issue cvs checkout -r glib-1-2 glib and cvs checkout -r gtk-1-2 gtk+ as your next two comands. Wed Mar 17 02:49:32 1999 Tim Janik * configure.in: build gtkcompat.h from gtkcompat.h.in instead of gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0. * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this file. strongly deprecated the GTK_HAVE_* macros, we provide GTK_CHECK_VERSION() for people that need to check for certain Gtk+ versions. * gtk/gtkcompat.h: removed this from CVS. * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad idea right from the start, it just didn't seem like that back then. Wed Mar 17 01:46:28 1999 Tim Janik * merges from gtk-1-2: Tue Mar 16 17:43:33 1999 Tim Janik * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the item factory class has been created. (gtk_item_factory_parse_rc): likewise. * gtk/gtkmenu.c: keep proper references for old_active_menu_item. (gtk_menu_reparent): unset the usize of the new parent, so the menu can sanely be size requested and we don't get nasty screen artefacts upon next reparentation. (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an enter notify. only synthesize enter notifies if the pointer really is inside the event window. (gtk_menu_popdown): use gtk_menu_shell_deselect(). (gtk_menu_popup): move the background setting stuff into gtk_menu_tearoff_bg_copy() so it can be called from other places as well. * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use gtk_menu_shell_select_item() to select the new item. (gtk_menu_shell_deselect): export this function, so gtkmenu.c can do the right thing for deselection as well. Sat Mar 15 20:10:33 1999 Tim Janik * gtk/gtkwidget.[hc]: (gtk_widget_accelerators_locked): return whether a widget's accelerators are locked. * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or existing accelerators if the widget's accelerators are locked. Sat Mar 14 19:44:05 1999 Tim Janik * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items. * gtk/gtkmenu.c: truely forward key press and key release events to the menu widget from the toplevel or tearoff window. we can't simply connect to that, we need to stop further processing of the events as well. Sat Mar 13 13:14:17 1999 Tim Janik * gtk/gtkmenu.c: (gtk_menu_key_press): pass event->keyval, event->state to gtk_accelerator_valid, instead of event->keyval twice. refuse to install single letter accelerators for menus that use single letter shortcuts. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use gtk_menu_ensure_uline_accel_group(). * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group() which will always return an uline accel group, made gtk_menu_get_uline_accel_group() return NULL if the group isn't yet created. Mon Mar 15 01:03:27 1999 Lars Hamann * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag. * gtk/gtkclist.c (gtk_clist_column_title_passive): Leave button sensitive, trap button_press, button_release, motion_notify, enter_notify and leave_notify events instead. (gtk_clist_column_title_active): disconnect event handler. (gtk_clist_drag_data_get): fixed memory leak. Reported by Guillaume Laurent Wed Mar 10 23:49:55 1999 Lars Hamann * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few width/height mixups. * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal if needed. Wed Mar 10 00:11:32 1999 Tim Janik * gtk/testgtk.c (create_item_factory): unref the item factory after window's destruction. * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference count on the menu shell around the menu item's activation, since the signal emission may cause menu shell destruction. * gtk/gtkitemfactory.c: the previous code leaked one accel group per menu. we use gtk_menu_get_uline_accel_group() now to fix that, and with that also create the underline accelerator group of the menus only if required (i.e. an underline accelerator has been specified). (gtk_item_factory_construct): (gtk_item_factory_create_item): removed code that would create an extra accel group for the menu (and leak references). (gtk_item_factory_create_item): adapted the underline accelerator installation code to properly feature gtk_menu_get_uline_accel_group(). * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive menu->accel_group, this may return NULL if the accelerator group hasn't been set yet. added gtk_menu_get_uline_accel_group() to retrive the underline accelerator group of the menu, this will be created on demand and proper care is taken about its reference count. * gtk/gtkitemfactory.h: * gtk/gtkitemfactory.c: dumped the approach of keeping a widgets by action list on the factory since the factory<->widget destroy negotiation didn't work and would be hard to get going at all. instead we keep a list of GtkItemFactoryItem items on the factory (GtkItemFactoryItems are persistant throughout a program's life time). also, i removed the static const gchar *key_* variables, and made them inline strings (they weren't actually used anyways). (gtk_item_factory_add_item): update ifactory->items. (gtk_item_factory_destroy): destroy ifactory->items (and remove the item factory pointer from the remaining ifactory widgets). (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem list to find the widget. (gtk_item_factory_get_item): new function that works around gtk_item_factory_get_widget() limitations, this function will only return menu items, even for entries. Tue Mar 9 01:01:28 1999 Tim Janik * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our font hash table, if we have a GdkFontPrivate entry for this font already, simply increment its reference count, provided by Olaf Dietsche . * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix provided by Olaf Dietsche . Sun Mar 7 06:13:29 1999 Tim Janik * gtk/gtkcontainer.c: (gtk_container_add_with_args): (gtk_container_addv): (gtk_container_add): before adding a child to a conatiner, make sure it is (default) constructed, this is neccessary because under certain circumstances the child will get relized and mapped immediatedly, in which case it has to be constructed already. Mon Mar 1 17:58:21 1999 Tim Janik * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal values > 1 as TRUE also. 1999-03-16 Tor Lillqvist * README.win32: New file. * configure.in: Check for lstat. * config.h.win32: Add non-definition of HAVE_LSTAT, just for completeness. * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat. * gtk/gtk.def: Removed CRs. * gtk/makefile.msc: Correct include path to Win32 GDK version (in ..\gdk\win32). * gdk/win32/makefile.msc: Correct upwards relative paths. Mon Mar 15 03:38:34 1999 George Lebl * gtk/gtkdnd.c: (gtk_drag_highlight) swap the gtk_drag_highlight_expose and gtk_drag_highlight_paint since it was connecting a void function to expose_event and the int returning function to the draw signal 1999-03-14 Jeff Garzik * configure.in: Use correct path to libgmodule.la when ref'ing uninstalled copy of glib. (Already in stable branch, Bug #417) 1999-03-15 Tor Lillqvist Win32 merge and general portability stuff: * acconfig.h,configure.in: Check for . * gdk/win32: New directory (actually, been there for a while). * gtk/fnmatch.c: Include for G_DIR_SEPARATOR, WIN32 and NATIVE_WIN32, and use these. Always case fold on Win32. No backslashed escapes on native Win32. * gtk/{gtk.def,makefile.msc}: New files. * gtk/Makefile.am: Add above new files. * gtk/{gtkaccelgroup,gtkbindings}.c: Include instead of . * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include config.h. Protect inclusion of , , and appropriately. * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). Use ABS() (from ) instead of abs(). * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion of gtk (and thus glib) headers, so that WIN32 will be defined. With MS C, include for mkdir prototype. * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add some casts, needed by MS C. * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't implemented). * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include only on X11 platform, otherwise . Use G_SEARCHPATH_SEPARATOR_S and g_module_build_path. * gtk/gtkmain.h: Mark variables for export/import on Win32. * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case the event is not a hint, or its window is not the slider. Needed on Win32, at least. * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use a subdirectory of the Windows directory as gtk system configuration directory. * gtk/gtkselection.c: No chunks on Win32. * gtk/gtksocket.c: Not implemented on Win32. * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. * gtk/makeenums.h: Include gdkprivate.h after gdk.h. * gtk/maketypes.awk: Declare variables with a macro that expands to necessary export/import magic in the case of Win32. * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. 1999-03-13 Raja R Harinath * configure.in (gdk_wc): Move widechar tests from `glib' to here, since those were meant only for gdki18n.h. * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_* for widechar tests. * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h. 1999-03-13 Tor Lillqvist * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h. * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is installed) to CFLAGS. * gdk/Makefile.am: Add rules for gdkconfig.h. * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing APIs. * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via gdkx.h anyway when compiling for X11. (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In general): Merge in Win32 version. * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32 version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde expansion (if we don't have HAVE_PWD_H), allow for drive letters. UNC paths (\\server\share\...) are not handled yet. Also, included code from Craig Setera's port to Win32 (the one that uses X11, and the cygwin dll), even if it probably will be abandoned. * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if the user entered one herself. This way one can complete *.h and don't get matches on any .help files, for instance. Tue Mar 9 01:01:28 1999 Tim Janik * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our font hash table, if we have a GdkFontPrivate entry for this font already, simply increment its reference count, provided by Olaf Dietsche . * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix provided by Olaf Dietsche . 1999-03-09 Federico Mena Quintero * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced the number of calls to gdk_draw_point() (and thus to X) by clipping the points by hand. * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of the clip parameter. (gtk_handle_box_paint): Only paint the handle if the expose area intersects it. Sun Mar 7 18:46:37 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen) * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.) Sun Mar 7 11:43:34 1999 ape@spacetec.no (Asbjorn Pettersen) * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes. Added function gen_8_3_dll_name(gchar *name, gchar *fullname). Fri Mar 5 09:12:24 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen) * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in textmode (O_TEXT) for OS/2 version. Sun Feb 28 16:46:02 1999 Stefan Jeske * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to GtkSpinButton, "input" and "output", to make the output more flexible. The user has to provide a mapping between adjustment->value and the output string (and vice versa, if the spin button is editable). See testgtk for examples. Sat Feb 27 01:18:47 1999 Tim Janik * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started new one. * configure.in: set gtk+ version to 1.3.0. * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog,