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 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 02:11:44 1999 Owen Taylor <otaylor@redhat.com>
* Set and read the XdndActionList property defined
in the Xdnd spec. We do this always, not just for
XdndActionAsk like the spec says, but if we don't
find it, we fall back to actions = suggested_action,
which is compatible with the language of the spec.
* gdk/gdkdnd.c (gdk_drag_context_unref):
Move not-null assertion before pointer de-ref.
* gdk/gdkevents.c (gdk_event_queue_find_first):
Fix infinite loop bug. Someone should look at this further to
make sure the events_pending tests are correct.
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 17:56:33 1999 Owen Taylor <otaylor@redhat.com>
Patch from Felix Bellaby <felix@pooh.u-net.com>
* gdk/gdk.c: Use XmbSetWMProperties to set
the class/command on the loader window so that the
client machine is also set in the same place.
(For X11R5 sesssion management compatibility)
* gdk/gdk.c: (gdk_set_sm_client_id) Implementation
of function to set the session manager client ID.
* gdk/gdkwindow.c (gdk_window_new): Set
WM_CLIENT_LEADER propertiy on all windows pointing
back to GDK's leader window.
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.
Wed Jan 13 21:18:41 1999 Owen Taylor <otaylor@redhat.com>
* acinclude.m4 (ac_result): Unset CATOBJEXT so
that the macros and Makefiles correctly handle
disabling NLS when no gettext is found.
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.
Tue Jan 12 18:30:51 1999 Owen Taylor <otaylor@redhat.com>
* gtk/testdnd.c (label_drag_data_received): Add
a drag_data_received handler for the label.
Tue Jan 12 15:01:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c: Removed the putback_events queue,
since it was causing problems with event ordering -
just keep a single queue. If we need it, we can
add priorities to events.
* gdk/gdkevents.c: Annotate events with flags - we allocate
a GdkEventPrivate structure in gdk_event_new() and use these
flags to mark an event being translated as "pending" -
I.e., not yet ready to be dequeued. So we can put
the event on the queue and get the order of the
events right. (This solves the double-click problems)
* gdk/gdk.h gdk/gdkevents.h: Add gdk_event_peek() to get a copy
of the next event on the event queue.
* gtk/gtkmain.c (gtk_main_do_event): Use gdk_event_peek()
to check the next event without causing event queue
reordering.