Mon Jan 25 11:05:10 1999 George Lebl <jirka@5z.com>
* gtk/gtkbutton.c: set RECEIVES_DEFAULT on init, and a
button press on the widget doesn't grab default anymore
* gtk/gtkcheckbutton.c,gtk/gtkoptionmenu.c,gtk/gtkradiobutton.c:
unset RECEIVES_DEFAULT on init
* gtk/gtkwidget.[ch]: add a RECEIVES_DEFAULT flag to widget
flags
* gtk/gtkwindow.c,gtk/gtkplug.c: on pressing <enter>, activate
the focused widget if it is a RECEIVES_DEFAULT widget,
no matter what the current default_widget is
* gtk/gtkwindow.c: on focus change, migrate the HAS_DEFAULT
flag to CAN_DEFAULT widgets if they RECEIVE_DEFAULT as well
or migrate it back to the default_widget if the focus widget
doesn't "RECEIVE_DEFAULT"
Sun Jan 24 12:17:39 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkcolor.c (gdk_colormap_real_destroy): Fix
reversed assertion.
(Pointed out by Austin Donnelly <austin@greenend.org.uk>)
* gtk/gtkruler.c (gtk_ruler_expose): Remove unecessary
and harmful call to gtk_paint_box(). We are going
to paint onto the backing store later anyways.
Sat Jan 23 11:15:39 1999 Owen Taylor <otaylor@gtk.org>
* gdk/gdkdnd.c (gdk_window_register_dnd): X expects
longs, not uint32 for XChangeProperty, when
format == 32.
* gdk/gdkdnd.c (motif_read_initiator_info): Byte-swap
the MotifInitiatorInfo structure if necessary.
* gdk/gdkdnd.c: When extracting and constructing
Motif DND messages, don't use data.s[], data.l[]
since on 64bit architectures, these won't necessarily
be in the same place with data.b[].
* gtk/testdnd.c (target_drag_drop): Return TRUE for
drag_drop within the drop zone.
* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Only send
a XmTRANSFER_FAILURE if no drop site is found, not
on every drop!
Fri Jan 22 19:22:39 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkeditable.c: Add flags field to
GtkTargetEntry table.
* gdk/gdkwindow.c (gdk_window_is_viewable): Treat foreign
windows as always viewable, since we can't track their
map-state reliably without speed problems. (Fixes
problem where updating didn't occur properly within
GtkPlug)
Sat Jan 23 13:41:00 1999 Jeff Garzik <jgarzik@pobox.com>
* gtk/gtkctree.c
(tree_delete): Don't search selection list twice.
(real_select_row): Remove extra ';', add default for clarity.
Sat Jan 23 01:44:43 1999 Lars Hamann <lars@gtk.org>
* gtk/gtkspinbutton.c (gtk_spin_button_get_value_as_int)
(gtk_spin_button_get_value_as_float): removed extra
gtk_spin_button_update calls again.
* gtk/gtkclist.c (gtk_clist_unmap): unblock dnd signal handler if
neccessary
* gtk/gtknotebook.c (gtk_notebook_button_press): grab_focus before
switch_page
(gtk_notebook_set_shape): don't use cur_page if it's NULL.
Fri Jan 22 07:33:44 1999 Tim Janik <timj@gtk.org>
* gtk/gtkvscale.c (gtk_vscale_pos_trough): take value_spacing into
account for GTK_POS_LEFT.
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): use
gtk_toggle_button_set_active () to set the new state.
(gtk_radio_button_new): only _set_group if group != NULL.
(gtk_radio_button_clicked): reference the widget.
(gtk_radio_button_init): make radio buttons active upon
startup.
Thu Jan 21 17:13:12 1999 Jeff Garzik <jgarzik@pobox.com>
* gtk/gtkselection.c:
(gtk_selection_property_notify): Check args for NULL.
(gtk_selection_default_handler):
Replace manual list count with call to g_list_length.
Remove signedness of temp var 'count' to agree with usage.
Slight spacing adjustment for readability.
* gtk/gtkbox.c, gtk/gtklayout.c, gtk/gtkselection.c:
Init a few ptrs to NULL, to quiet warnings.
Thu Jan 21 16:03:02 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreeitem.c: Add a paint routine, fix up bugs
in drawing where if the expose area was contained
completely in the right side of the tree the background
wasn't redraw, etc.
Thu Jan 21 16:03:02 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbutton.c (gtk_button_expose): Code cleanup.
* gtk/gtktree.c: Add a paint routine, fix up bugs
in drawing where if the expose area was contained
completely in the right side of the tree the background
wasn't redraw, etc.
* gtk/gtkwidget.c (gtk_widget_clip_rect): Fix a bug
in clipping draw regions while propagating them
upwards.
Thu Jan 21 12:20:51 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcolorsel.c (gtk_color_selection_dialog_new):
Pushing and popping the visual/cmap in the init()
function does no good, because the window itself needs
to be create with that visual/cmap.
So do it in the new() function instead.
This will require people doing gtk_widget_new() to do
the push/pop themselves, but I don't see any way around
it other than digging in and tweaking the window
widget's colormap and visual ourselves, which
is highly non-kosher, but would be safe...
Thu Jan 21 16:04:35 1999 Timur Bakeyev <mc@bat.ru>
* gtk/gtkrc.c (gtk_rc_init): It was reported by Owen Taylor
<otaylor@redhat.com>, that LC_ALL produce unparsable garbage
on some glibc'ed systems and HP/UX. So, falling to LC_CTYPE.
Thu Jan 21 00:44:47 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_dest_drop): Default handling
for drops should be keyed on GTK_DRAG_DEFAULT_DROP
not GTK_DRAG_DEFAULT_MOTION.
* gtk/gtkclist.c (real_remove_row):
Don't search entire row list twice for element being removed.
* gtk/gtkmenushell.c (gtk_menu_shell_insert):
Replaced hand-coded implementation of g_list_insert with
call to g_list_insert.
* gtk/gtktooltips.c
(gtk_tooltips_destroy_data, gtk_tooltips_layout_text):
tooltipsdata->row test not-null test now properly encompasses
both g_list_* calls.
Thu Jan 21 02:47:36 1999 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.c (gtk_notebook_focus): few cleanups.
(gtk_notebook_key_press): call select page function for
GDK_DOWN key in case of tab_pos == TOP. Changed other
positions accordingly.
Wed Jan 20 19:57:14 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_begin): Start off with the
cursor for "no drop" since if we'll get a status
if we are over a drag window, but none if we aren't
over one.
.
* gtk/gtkcombo.c (gtk_combo_entry_key_press):
Free 'nprefix', closing a memory leak.
Spaced out the code a bit to make it more readable.
* gtk/gtkhbox.[ch] (gtk_hbox_new),
gtk/gtkvbox.[ch] (gtk_vbox_new):
Change 'homogenous' arg from gint to gboolean.
* gtk/gtktogglebutton.[ch]:
New function gtk_toggle_button_get_active().
1999-01-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkdnd.c (gtk_drag_get_event_action): Allow button 2 to act
as GDK_ACTION_ASK. Also, allow MOD1 to specify GDK_ACTION_ASK
only if that action is enabled in the actions argument.
* configure.in (gtklocaledir): New variable. Define to
$prefix/$DATADIRNAME/locale. This will point to the directory
where po/Makefile actually installs the message translation
tables.
* gtk/Makefile.am (INCLUDES): Define GTK_LOCALEDIR to
$(gtklocaledir) rather than $prefix/share/locale.
Under some systems (notably, BSDI), there is no LC_MESSAGES category in
locale.h. In this case it is good guess to relay on the value of LC_ALL
(in fact, LC_CTYPE will be more precise).
Wed Jan 20 13:06:51 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.[ch] (clear_[focus_]area): Instead of drawing
a background pixmap in with gdk_draw_pixmap(), set
it as a tile pixmap for a GC. This should speed
up things considerably and also will hide a bug
where text->first_onscreen_ver_pixel is being
corrupted, causing the bg pixmap drawing code to generate
graphics exposes.
Tue Jan 19 22:15:10 1999 Lars Hamann <lars@gtk.org>
* gtk/gtklist.c
(gtk_list_button_press): only call grab_add if pointer_grab succeeds.
(gtk_list_unmap): remove pointer/widget grabs if needed.
(gtk_list_signal_focus_lost): removed.
(gtk_list_focus) (gtk_list_set_focus_child): set last_focus_child.
(gtk_list_remove_items_internal) (gtk_list_clear_items): unset
undo_focus_child if necessary. In case of SELECTION_BROWSE/EXTENDED
select a new item if selection is empty.
Mon Jan 18 22:54:11 1999 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (gtk_clist_button_press): only call grab_add
if pointer_grab succeeds.
(gtk_clist_unmap): remove pointer/widget grabs if needed.
Mon Jan 18 15:46:14 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c (gtk_label_init): Initialize
label->label_wc. (We allocate labels from
a memchunk)
Mon Jan 18 18:53:08 1999 Tim Janik <timj@gtk.org>
* gtk/gtkscale.c (gtk_scale_set_digits): CLAMP digits into a
meaningfull range (we need to stay below a certain limit anyways
to avoid string buffer overflows).
* gtk/gtkvscale.c (gtk_vscale_pos_background): fixed up background
area calculations for GTK_POS_RIGHT and GTK_POS_BOTTOM.
* gtk/gtkhscale.c (gtk_hscale_pos_background): likewise.
(gtk_hscale_draw_value): safety CLAMP the value's x position for
GTK_POS_TOP and GTK_POS_BOTTOM, so we don't paint strings outside of
our allocation.
* gtk/gtkscale.c: implemented GtkScale::digits, GtkScale::draw_value
and GtkScale::value_pos arguments.
Mon Jan 18 13:25:14 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
set the title of a menu in the torn-off state.
* gtk/gtkthemes.c (gtk_theme_engine_get): When loading
of theme engine fails, just warn and do without -
don't error out.
* gtk/gtkmain.c (gtk_check_version): s/to/too/.
Mon Jan 18 00:22:54 1999 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release):
block drag source signal handler during column resizes.
(gtk_clist_set_column_visibility): resize clist if needed.
(gtk_clist_map): raise resize windows to make resize
cursor visible again.
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
Sun Jan 17 12:01:57 1999 Owen Taylor <otaylor@gtk.org>
* gtk/gtkrc.c (gtk_rc_style_init): Allow a bg_pixmap
of "<none>", as there was no way to set the background
on all widget but some widgets. This is important
because Text widgets with background images are
slow and possibly ugly.
1999-01-17 Nat Friedman <nat@nat.org>
* gtk/gtkscrolledwindow.c (DEFAULT_SCROLLBAR_SPACING): New macro.
Changed the spacing from 5 to 3.
* gtk/gtkmenubar.c (BORDER_SPACING): Changed the extra spacing on
the menubar from 2 to 0.
Sun Jan 17 11:51:17 1999 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c (gtk_text_move_cursor): Fix typo
[ gtk-mailund-990116-0: Thomas Mailund Jensen <mailund@daimi.au.dk> ]
Sun Jan 17 14:52:29 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcompat.h:
* gtk/gtkcheckmenuitem.[hc]:
deprecated gtk_check_menu_item_set_state, people should use
gtk_check_menu_item_set_active instead.
* gtk/testgtk.c:
s/gtk_check_menu_item_set_state/gtk_check_menu_item_set_active/.
Sun Jan 17 05:19:14 1999 Tim Janik <timj@gtk.org>
* configure.in: incremented version number to 1.1.13, bin age 0,
interface age 0.
* gtk/gtkmain.c (gtk_idle_remove_by_data): use g_idle_remove_by_data to
remove idles, so `data' cannot conflict with other sources.
* gtk/gtkcompat.h: define gtk_style_apply_default_pixmap here.
* gtk/gtkstyle.[hc]: removed gtk_style_apply_default_pixmap.
(struct _GtkStyle): reordered GtkStyleClass*klass; member.
Sat Jan 16 19:42:48 1999 George Lebl <jirka@5z.com>
* gtk/gtktooltips.c: for NO_WINDOW widgets, add their allocation.y
to the position of the tooltip. This fixes tooltip positioning
problems with some widgets such as a checkbox.
Fri Jan 15 19:16:42 1999 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: define GTK_DISABLE_COMPAT_H for compilation of gtk
code.
* gtk/gtkrc.c (gtk_rc_style_unref): added an assertment.
* gtk/gtkcompat.h:
* gtk/gtklabel.h:
don't provide compatibility defines if GTK_DISABLE_COMPAT_H is defined.
* gtk/gtkstyle.h:
* gtk/gtkstyle.c: coding style, indentation and alignment fixups.
(gtk_draw_string):
(gtk_paint_string):
(gtk_draw_polygon):
(gtk_style_set_background): fixed assertments.
(gtk_default_draw_ramp):
(gtk_default_draw_cross):
(gtk_default_draw_oval): issue warnings since these functions aren't
yet implemented.
* gdk/gdkwindow.c:
(gdk_window_hide): only unmap window if already mapped.
(gdk_window_show): only map window if !mapped.
(gdk_window_internal_destroy): destroyed windows can't be mapped.
* gtk/gtkwidget.c (gtk_widget_event): don't ignore expose events just
because a resize is queued on a widget, we rely on the expose events
now.
Fri Jan 15 10:22:21 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_class_init):
nparams for selection_get should be 3, not 2.
[ From Damon Chaplin <damon@karuna.freeserve.co.uk> ]
* gtk/gtkeventbox.c (gtk_event_box_paint): Add a paint
routine so queued redraws work inside event boxes.
Thu Jan 14 17:47:37 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Only
redraw character under cursor when not displaying
highlighted selection.
* gdk/gdkrgb.c (gdk_rgb_init): Add in a cast to
gpointer to make IRIX cc happy.
Thu Jan 14 12:29:50 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c (gtk_check_button_draw): Restructure
the drawing code to remove a bit of duplication -
and to remove a call to gtk_widget_draw_focus()
that queues a redraw when an expose occurs.
* gtk/gtklabel.c (gtk_label_expose): Fix up handling
of ypadding.
* gtk/gtknotebook.c (gtk_notebook_draw): If we redraw
the whole widget, also redraw the corresponding
areas of the child widget. (have_visible_child
still has some problems)
* gdk/gdkpixmap.c: Change some g_new's to g_new0 so
that fields unused for pixmaps get initialzized
sanely.
* gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: Add new calls
gdk_window_is_visible() and gdk_window_is_viewable()
and a mapped flag to the window private structure.
* gtk/gtkbin.c gtk/gtkclist.c gtk/gtkfixed.c gtk/gtkitem.c
gtk/gtklayout.c gtk/gtklist.c gtk/gtkmenushell.c
gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtktree.c
gtk/gtktreeitem.c gtk/gtkviewport.c:
Map windows after mapping children.
* gtk/gtkwidget.c (gtk_widget_clip_rect): Handle
rectangles completely clipped away correctly.
* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
call gtk_widget_draw if width or height is 0.
* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
rely on GTK_REDRAW_PENDING after we've cleared
it. (This was causing draw-combining to not
happen at all).
* gtk/gtkbin.c gtk/gtkscale.c: Remove uneccessary calls
to gtk_widget_queue_draw() when mapping.
Thu Jan 14 11:29:53 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_get_event_action): Make
MOD1-drag also do action ask.
* gtk/gtkdnd.c (gtk_drag_button_release_cb): Send the
button-release event we simulate to get grabs released,
with a window of GDK_ROOT_PARENT instead of the actual
widget. This is a bad hack in some sense, but seems
to work nicely. (It's sort of like what you would
if you grabbed on button press, then the user
released outside of the widget.)
Thu Jan 14 20:29:16 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.[ch] (gtk_style_apply_default_background):
Change copy_area => !set_bg. Use tile instead of
gdk_window_copy_area when drawing without !set_bg.
This does mess up timj's neat check-button example,
but is consistent with how we interpret background
pixmaps everywhere else in the default scheme.
Restructure code for clarity.
Wed Jan 13 20:14:32 1999 Tim Janik <timj@gtk.org>
* gtk/gtkarg.c (gtk_arg_copy): in comparisions with GTK_TYPE_STRING, use
the fundamental type to catch GTK_TYPE_IDENTIFIER as well.
* gtk/gtkmenushell.c:
(gtk_real_menu_shell_activate_current):
(gtk_menu_shell_button_release): asure that we only activate sensitive
menu items, reported by Dave Cole <dave@dccs.com.au>.
Wed Jan 13 13:28:00 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: eliminate queue_clears or queue_draws where we know
that expose events will be generated.
(gtk_widget_map): only queue_draw for NO_WINDOW widgets.
(gtk_widget_unmap): only queue_clear_child for NO_WINDOW widgets.
(gtk_widget_size_allocate): we don't need a queue_clear on changing
allocations of !NO_WINDOW widgets, we do still need a full redraw for
them though.
* gtk/gtklabel.c (gtk_label_set_text): check whether the new string
actually differs from the original.