2001-06-28 Havoc Pennington <hp@pobox.com>
* 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 <timj@gtk.org>
* 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 <timj@gtk.org>
* 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 <james@daa.com.au>
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 <hp@pobox.com>
* 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 <jrb@redhat.com>
* 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.
Tue Jun 26 10:04:30 2001 Tim Janik <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
* Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
* gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
instead from gdk_pixbuf_new_from_inline().
* gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
installed API for applications that need to serialize/deserialize
on their own (gimp, BEAST).
* gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
program that can dump images in CSource format and Pixbuf
stream format. supports RLE encoding, MACRO formatting etc...
invoke with --help.
Tue Jun 26 12:59:28 2001 Jonathan Blandford <jrb@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <timj@gtk.org>
* gtk/gtkiconfactory.c:
* gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
item factory so inlined pixbufs actually work.
Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
* Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
* gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
instead from gdk_pixbuf_new_from_inline().
* gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
installed API for applications that need to serialize/deserialize
on their own (gimp, BEAST).
* gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
program that can dump images in CSource format and Pixbuf
stream format. supports RLE encoding, MACRO formatting etc...
invoke with --help.
2001-06-25 Alexander Larsson <alexl@redhat.com>
* 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 21:34:32 2001 Owen Taylor <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <timj@gtk.org>
* 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 <otaylor@redhat.com>
* 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 <jrb@redhat.com>
* 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 <hans@breuer.org>
* 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
Thu Jun 21 02:13:40 2001 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
gtk_container_child_get_property().
Wed Jun 20 19:19:15 2001 Jonathan Blandford <jrb@redhat.com>
* 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 <timj@gtk.org>
* 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 <timj@gtk.org>
* 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 <jrb@redhat.com>
* 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 <timj@gtk.org>
* 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 <jrb@redhat.com>
* 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 <jrb@redhat.com>
* 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 <jrb@redhat.com>
* 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.
HA!
While everyone else was busy flaming eash other over configuration
engines, I secretly got sorting completely working with store widgets
and GtkTreeView. GtkTreeModelSort, here I come!!!!!
2001-06-15 Jonas Borgström <jonas@codefactory.se>
* gtk/gtkwindow.h: Fixed a small typo, it should be
GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
on line 134.
Thu Jun 14 19:21:27 2001 Jonathan Blandford <jrb@redhat.com>
* 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 <hp@redhat.com>
* 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 <hp@redhat.com>
* 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 <otaylor@redhat.com>
* 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 <alexl@redhat.com>
* 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-13 Alexander Larsson <alla@lysator.liu.se>
* 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-13 Alexander Larsson <alla@lysator.liu.se>
* 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 <alla@lysator.liu.se>
* 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.