Thu Feb 21 00:31:41 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* 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 <sandmann@daimi.au.dk>
* 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 <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c: Add a XSETTING mapping for
gtk-can-change-accels. (#70218, Thomas Leonard.)
2002-02-20 Sven Neumann <sven@gimp.org>
* 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.
* 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 <kris@gtk.org>
* 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)
* 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)
(#61886)
* gtkrc.key.emacs: add some GtkTreeView bindings
2002-02-19 Sven Neumann <sven@gimp.org>
* 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 <kris@gtk.org>
* 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 <otaylor@redhat.com>
* 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.
Mon Feb 18 18:27:45 2002 Owen Taylor <otaylor@redhat.com>
* 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 <hans@breuer.org>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 Manish Singh <yosh@gimp.org>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <tml@iki.fi>
* 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.
* docs/tutorial/gtk-tut.sgml, examples/paned/paned.c,
examples/paned/Makefile: Make the paned example deprecation-clean.
* various ChangeLog files: correct my email.
2002-02-16 Manish Singh <yosh@gimp.org>
* 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 <tml@iki.fi>
* 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 snippets. 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 <tml@iki.fi>
* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use
g_filename_to_uri() to actually create legal URIs in the
text/uri-list data.
* 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.
* demos/Makefile.am (INCLUDES): add -DGDK_PIXBUF_DISABLE_DEPRECATED.
Sun Feb 17 00:13:06 2002 Kristian Rietveld <kris@gtk.org>
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
* 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 <hp@pobox.com>
* 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 <otaylor@redhat.com>
* 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 <tml@iki.fi>
* 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.
Fri Feb 15 19:38:00 2002 Kristian Rietveld <kris@gtk.org>
* 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 <rhult@codefactory.se>
* 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 <jody@gnome.org>
* 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
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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)
2002-02-13 Havoc Pennington <hp@redhat.com>
* 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 <hp@redhat.com>
* 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 <joe@ximian.com>
* 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 <tml@iki.fi>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* tests/testtreeview.c (typesystem_recurse): Cast GType
to long and use %ld to fix warning. (#71318, Morten Welinder)
Wed Feb 13 06:42:37 2002 Tim Janik <timj@gtk.org>
* 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 <kris@gtk.org>
* 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 <timj@gtk.org>
* 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).
* 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 <sven@gimp.org>
* gtk/gtkfilesel.c: converted the "Delete File" dialog to
GtkMessageDialog. Marked missing strings for translation.
Mon Feb 11 21:42:17 2002 Kristian Rietveld <kris@gtk.org>
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 <kris@gtk.org>
* 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
Mon Feb 11 16:48:34 2002 Kristian Rietveld <kris@gtk.org>
* 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 <kris@gtk.org>
* 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 <kris@gtk.org>
* 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
Sun Feb 10 12:32:44 2002 Owen Taylor <otaylor@redhat.com>
* 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 <andersca@gnu.org>
* 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 <hans@breuer.org>
* 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 <ctype.h> 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
* 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)
* gtk/gtkmenuitem.c (gtk_menu_item_set_accel_path): Silently do
nothing if the parent is not a menu. (#66492)
* 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 <kris@gtk.org>
* 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 <daniel.elstner@gmx.net>
* 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 00:16:31 2002 Owen Taylor <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <jrb@redhat.com>
* 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 <darin@bentspoon.com>
Fri Feb 8 18:46:13 2002 Owen Taylor <otaylor@redhat.com>
* 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.
Fri Feb 8 14:30:14 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (title_focus_in): Return FALSE if
not shoing the titles. (#70959, Thomas Leonard)
* 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-07 Havoc Pennington <hp@pobox.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <kris@gtk.org>
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 <otaylor@redhat.com>
* 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)
* 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.
* 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
Wed Feb 6 23:28:39 2002 Kristian Rietveld <kris@gtk.org>
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 <hp@redhat.com>
* 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 <hp@redhat.com>
* 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 <kris@gtk.org>
* 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 <otaylor@redhat.com>
* 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 <hp@redhat.com>
* 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)
* gtk/gtkrc.c (gtk_rc_parse_file): Remove a (now) misleading comment.
* gtk/tmpl/gtkrc.sgml: Update the description of RC file loading
to match recent code changes. Also document font_name and engine.
Tue Feb 5 22:54:16 2002 Kristian Rietveld <kris@gtk.org>
* 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.
Mon Feb 4 10:40:28 2002 Owen Taylor <otaylor@redhat.com>
* 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)
Sat Feb 2 21:54:01 2002 Owen Taylor <otaylor@redhat.com>
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 <otaylor@redhat.com>
* 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 17:43:00 2002 Owen Taylor <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <peterw@ximian.com>
* gtk/Makefile.am (install-data-local): Install gtkrc.default
from $(srcdir) for when $(builddir) is different.
Sat Feb 2 11:37:21 2002 Owen Taylor <otaylor@redhat.com>
* 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 <kris@gtk.org>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 19:57:59 2002 Owen Taylor <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <kris@gtk.org>
* 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 <kris@gtk.org>
* 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 <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
height - page_size not height - allocation->height (fixes#66269)
Fri Feb 1 22:20:13 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
height - page_size not height - allocation->height
Fri Feb 1 14:50:36 2002 Owen Taylor <otaylor@redhat.com>
* 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 <kris@gtk.org>
* 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).
* 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 <jrb@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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.
Thu Jan 31 10:21:05 2002 Owen Taylor <otaylor@redhat.com>
* 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 <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_set_valist): save last minute
changes before committing.
Wed Jan 30 18:46:14 2002 Jonathan Blandford <jrb@redhat.com>
* 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 <yosh@gimp.org>
* 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.