Wed Jun 4 19:42:17 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
When drawing underlines, join up adjacent runs
where possible, so we don't get changes in
shaper/font/etc. breaking underlines. (#103662,
Kang Jeong-Hee)
Wed Jun 4 19:22:58 2003 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
improve the speed of inserting rows into an already sorted list,
#109292
Wed Jun 4 19:24:28 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
track of when we have a clip mask set for the GC,
and when we unset it, or switch to a clip region,
immediately call XSetClipMask (..., None) to avoid
Xlib caching stale data. (#111806)
* gtk/gtktextdisplay.c: Don't set a clip mask
when drawing alpha pixmaps; it isn't necessary any more.
(#111806)
Wed Jun 4 18:27:44 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator):
Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE
(#92548, Tim Evans)
* gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
Use state_type = STATE_INSENSITIVE for insensitive menu items.
Wed Jun 4 21:25:35 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
assert for get_info. (reported by Michael Natterer),
(gtk_tree_view_expand_all_emission_helper),
(gtk_tree_view_expand_all_helper): emit row_expanded for all
expanded rows during an _expand_all operation. (Fixes#111280,
reported by Benjamin Bayart).
Tue Jun 3 18:32:30 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
respond to pings on a root window; prevents infinite
loops if we are selecting for SubstructureNotify on the
root window. (#111945, Sergey V. Udaltsov)
Tue Jun 3 17:39:16 2003 Owen Taylor <otaylor@redhat.com>
#71597, reported by Morten Welinder
* gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
(Patch from Christian Petig)
* gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
Major rewrite of 555 and 565 conversion routines:
- Move all the bit shifting into a small block of macros,
eliminating much duplication of complicated arithmetic.
- Get rid of 2-pixels at a time code, which was buggy,
hard to maintain, caused unaligned accesses, and
probably didn't actually perform any better.
- Simplify cases where different data types were
used for the little and big endian cases, use
GUINT16_SWAP_LE_BE() where appropriate.
Tue Jun 3 15:05:47 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
bad optimization for src_rowstride == dest_stride.
(Didn't consider the case where we were copying only
partial widths of a wider source buffer)
(#113034, reported by Hans Petter Jansson)
2003-06-03 Christian Rose <menthos@menthos.com>
* configure.in: Added "li" to ALL_LINGUAS.
* po/li.po: Added Limburgish translation by
Mathieu van Woerkom <mathieu.brabants.org>.
Mon Jun 2 18:58:54 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
map the event window if the notebook isn't mapped. (#113980,
Richard Reich)
2003-05-30 Murray Cumming <murrayc@usa.net>
* gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with
gtk_alignment_get_padding() and gtk_aligment_set_padding(). This
uses the new private data system - see g_type_class_add_private() in
gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE().
2003-05-30 Matthias Clasen <maclas@gmx.de>
* gtk/gtknotebook.c
Changed guint to GtkNotebookArrow in the signature of
gtk_notebook_draw_arrow() for Solaris builds to go through.
(#114043, Anand Subramanian)
Thu May 29 18:30:55 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/imipa.c:
use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
Thu May 29 18:08:01 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* gtk/gtkimmodule.c (_gtk_im_module_list):
use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
Thu May 29 18:23:01 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
grab separate, the user might clear the tree in the focus-in
callback. (Fixes#113086, testcase from Felipe Heidrich).
Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
of row reference when we unset the model. Also reset
dy and top_row_dy. (Fixes#109289, patch from Owen Taylor).
Thu May 29 17:12:19 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
the current editing, if it exists. (Fixes#108956, reported by
Michael Natterer).
Thu May 29 17:06:09 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (check_selection_helper): new function,
(gtk_tree_view_row_deleted): traverse the tree from the
deleted node to see whether the selection changed, instead of
just checking this node. (Fixes#107400, reported by 'Duncan').
Thu May 29 16:31:34 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
(gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
instead of _maybe_begin_dragging_row, so the icon can be
overridden by apps. (Fixes#104374, patch from Daniel Elstner).
Thu May 29 16:14:04 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
cell_area x/width for the expander if needed. (Fixes#101748,
reported by Dave Cook and Mariano Suarez-Alvarez).
Thu May 29 16:01:38 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
if tree/node are still the same after _internal_select_node.
(Fixes#92256, reported by edscott).
Thu May 29 15:38:30 2003 Kristian Rietveld <kris@gtk.org>
Fixes#75745, reported by Richard Hult. Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
cursor or not.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
if we are rendering a cursor row, and the cell the be
processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
flag (else we unset it).
2003-05-27 Tor Lillqvist <tml@iki.fi>
* gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.
* gdk/Makefile.am: libgdk-win32-2.0.la depends on
win32/libgdk-win32.la.
* gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
2003-05-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtknotebook.c: Add support for up to four scroll
arrows. Control their display by new style properties
"has_forward_stepper", "has_backward_stepper",
"has_secondary_forward_stepper" and
has_secondary_backward_stepper". (#110540)
* gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and
click_child three bits wide, add
has_{before,after}_{previous,next} fields.
2003-05-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
focus out of hex_entry. (#112665)
(hex_focus_out): New signal handler for focus out of hex entry.
2003-05-22 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilesel.c (gtk_file_selection_create_dir):
(gtk_file_selection_rename_file): Some keynav improvements for the
"Rename File" and "Create Directory" subdialogs: Enter in entry
activates default, default is "Create"/"Rename", Escape cancels
dialog. (#113110)
Wed May 21 15:53:14 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkprogress.c (gtk_progress_set_format_string,
gtk_progress_set_show_text): Always queue a resize ...
we rely on the size-allocate to do the update, plus a
different format can actually change our size requisition.
(#111052)
* gtk/gtkprogress.c (gtk_progress_changed): Track
::changed as well as ::value_changed, and queue a
resize on ::changed when necessary.
* gtk/gtkprogress.c (gtk_progress_set_adjustment):
Call gtk_progress_changed() here to update or
queue a resize as necessary.
Wed May 21 12:52:01 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need
to pass the unmasked state to gdk_keymap_translate_keyboard_state()
to handle the case where a modifier not in the mask
(like Num_Lock) changes the key value, so replace
the masked state with a state/mask pair. (#106913,
Olivier Ripoll)
* gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
in state/mask pair to _gtk_key_hash_lookup()
Tue May 20 17:27:24 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmodule.c (gtk_im_module_init): Silently
accept a missing gtk.immodules file, some people
want to run without one. (#112406, patch from
Arnaud Charlet)
Tue May 20 15:09:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
zero all unused parts of client messages (Mainly Motif DND
and EWMH). Also, fix a couple places where we were putting
contents into Motif DND messages that didn't belong.
(#113361, EWMH problem reported by Lubos Lunak)
* gtk/gtkselection.c (_gtk_selection_request): Handle the
case where the property type for the multiple atoms is
ATOM_PAIR by doing the conversions ourselve. This is
needed for Xt inter-operation.
2003-05-17 Matthias Clasen <maclas@gmx.de>
* tests/prop-editor.c: Add navigation for object properties, so
that you can easily edit the properties of the parent of a widget.
(#113152)
Wed May 14 17:45:32 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis
inconsistency and leave the old name as an aliass (#104873)
Wed May 14 16:40:09 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
from Charles Schmidt to add missing notify (#108305)
Tue May 6 16:50:52 2003 Owen Taylor <otaylor@redhat.com>
Patch from James Henstridge to update to automake-1.7
(#109542)
* autogen.sh: update to call newer tools.
* configure.in: various updates, to use M4 macros to put
variables that change each release at the top.
Use AC_HELP_STRING to format help strings.
Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
* Makefile.am: require Automake 1.7. Remove gdk-2.0.pc and
gtk+-2.0.pc on uninstall. Pass --enable-gtk-doc to configure
during distcheck.
* docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
makefile fragment.
* */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
Use BUILT_SOURCES where appropriate.
Build generated files in builddir rather than srcdir.
Fix uninstall and distclean targets to satisfy distcheck.
===
* gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
built first, since we are now using BUILT_SOURCES.
* gdk/Makefile.am: Remove an outdated comment about gdk_headers.
* demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
with geninclude.pl.
* configure.in: Update versions to 2.3.0.
2003-05-06 Tor Lillqvist <tml@iki.fi>
Fix for #110165 (thanks to Arnaud Charlet):
* gdk/win32/gdkevents-win32.c (build_keypress_event,
build_keyrelease_event): For unshifted control char, use
lowercase ASCII keyval.
(gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
lowercase keyval. Use build_key_event_state() here, too, instead
of minor code duplication.
2003-05-06 Matthias Clasen <maclas@gmx.de>
* tests/testmultidisplay.c: Don't include strings.h, it's not
needed anymore. (#112388)
* examples/menu/itemfactory.c:
* docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
itemfactory example.
2003-05-05 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_source_set_icon_stock): Actually set the
icon type to the stock icon type. (#111735, Dave Bordoley)
2003-05-05 Christian Rose <menthos@menthos.com>
* configure.in: Added sr and sr@Latn to ALL_LINGUAS.
Removed sp, it's replaced by sr@Latn.
* po/sr.po, po/sr@Latn.po: Added Serbian translation by
Danilo Šegan <dsegan@gmx.net>.
Mon Apr 21 19:02:16 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (activate_key): Fix prototype for
activate_key. (#108927, Jason D. Hildebrand)
Mon Apr 21 18:42:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl:
Remove geninclude.pl from CVS and don't dist it either,
it is generated. (#108970, Rich Kinder)
Mon Apr 21 18:29:03 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
the source list, not just it's contents (Patch
from Charles Kerr, #108243)
Mon Apr 21 18:13:46 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
from Alex Larsson fixing problem with restacking during
DND. (#108671)
Mon Apr 21 15:07:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
Calling XFlush() after ungrabbing, to avoid problems if
the app subsequently blocks on a long-running operation.
(#106520, reported by Rajkumar Siva)
Fri Apr 18 17:42:45 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
SKIP_TASKBAR/SKIP_PAGER to set of properties we
might set on map. (#110019, problem reported
by Loban Rahman)
Fri Apr 18 17:14:33 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (gdk_event_copy): Fix for the
case when gdk_event_copy() is called on a non-allocated
event. (#109716, reported by Rich Burridge)
Fri Apr 18 16:31:49 2003 Owen Taylor <otaylor@redhat.com>
* configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
use of XAddConnectionWatch. Remove --enable-xim config option.
Should fix building on X11R6 (#110523, Albert Chin
Fri Apr 18 15:56:46 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
Patch from Morten Welinder to catch Sun servers with a
broken implementation of the RENDER extension. (#108309)
Fri Apr 18 15:30:38 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (set_text_property): Use
gdk_free_compound_text(), not g_free(). (#107643,
Michael Zucchi)
Fri Apr 18 14:15:09 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_open):
* gdk/x11/gdkevents-x11.c (gdk_event_translate): You
don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
event, so select for both. (#108406, Egmont Koblinger)
Thu Apr 17 09:57:44 2003 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreeview.c (validate_visible_area): remove infinite loop
caused by not clearing the scroll_to_path.
2003-04-14 Michael Natterer <mitch@gimp.org>
* gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
that the iter is not reordered to its own position. Prevents model
corruption for the case that the store contains only a single item
(fixes bug #108387).
Unrelated:
* gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
new list element later so we don't leak it if we decide to return
early.
* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
set selection->tree_view->priv->anchor to NULL after freeing it.
Mon Apr 7 19:43:15 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
after ungrabbing the server.
* gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
calls to XFlush().
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
Use gdk_x11_display_grab/ungrab.
2003-04-03 Matthias Clasen <maclas@gmx.de>
* demos/gtk-demo/main.c (demo_find_file): Only use files from the
current directory if it looks like the srcdir. (#109357)
Mon Mar 31 13:52:13 2003 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
members so Purify won't complain.
Sun Mar 30 03:57:42 2003 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
fix crash. Patch from Markus Lausser <sgop@users.sourceforge.net>
2003-03-29 Matthias Clasen <maclas@gmx.de>
* gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
of labels back to normal before reparenting back. (#102387)
2003-03-29 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set
a default window title to match the GtkFontSelectionDialog behavior.
(gtk_color_selection_dialog_new): Don't call
gtk_window_set_title() if title is NULL. (bug #101975, Daniel Elstner)
2003-03-29 Matthias Clasen <maclas@gmx.de>
Fixes for bug #56248:
* gtk/gtknotebook.c (stop_scrolling): New function to remove the
timer and queue a redraw.
(gtk_notebook_grab_notify):
(gtk_notebook_state_changed): New functions to call stop_scrolling()
if necessary.
(gtk_notebook_button_release): Use stop_scrolling().
(gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.
* gtk/gtkrange.c (stop_scrolling): New function to remove the
grab, remove the timer and queue a redraw.
(gtk_range_grab_notify):
(gtk_range_state_changed): New functions to call stop_scrolling()
if necessary.
(gtk_range_button_release): Use stop_scrolling().
* gtk/gtkspinbutton.c (gtk_spin_button_grab_notify):
(gtk_spin_button_state_changed): Redraw after stop_spinning.
(gtk_spin_button_stop_spinning): Reset click_child to correct the
drawing of the arrows.
(gtk_spin_button_button_release): Use a local copy of click_child,
since stop_spinning() resets it.
2003-03-29 Matthias Clasen <maclas@gmx.de>
* gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
C-A-PgDown as alternatives to the A-less variants. (#97860)
2003-03-26 Sven Neumann <sven@gimp.org>
* gtk/gtktreeview.c: rewrote the function that does node and arrow
prelighting, queue all redraws from here (Fixes bug #108792).
2003-03-14 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
multiple monitors can have negative coordinates on some of the
monitors. (partial fix for #99496, Arnaud Charlet)
2003-03-13 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
WM_MOUSEMOVE, the test whether we have actually moved (and thus
shouldn't generate an GDK event) moved after the call to
propagate() and translate_mouse_coords(). Otherwise we were
testing wrong values. (#108115, Allin Cottrell)
(gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
2003-03-13 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
is used, must copy the HCURSOR with CopyCursor(), as it is OK to
destroy the GdkCursor after calling gdk_pointer_grab(). Set the
cursor right away with SetCursor(), as we won't get any
WM_SETCURSOR messages while the mouse is captured.
(gdk_display_pointer_ungrab): Correspondingly, destroy the copy
with DestroyCursor() when no longer used. (#108114, Allin Cottrell)
* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
WM_SYSCHAR, return FALSE from the window procedure to prevent the
DefWindowProc from being called. Otherwise Windows would beep,
thinking you are tring to access a (nonexistent) menu when you
press Alt-something. Don't do this for Alt-Space,
though. (#107454, Martyn Russell)
* gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
2003-03-09 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
compensate for LineTo() not drawing the end pixel. It causes more
harm than benefits, see bug #81895.
2003-02-19 Matthias Clasen <maclas@gmx.de>
* gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
keys_changed virtual function with the keys_changed signal.
(#106512, Jeff Franks)
2003-02-12 Christian Rose <menthos@menthos.com>
* configure.in: Added "yi" to ALL_LINGUAS.
* yi.po: Added Yiddish translation by
Raphael Finkel <raphael@cs.uky.edu>.
2003-02-12 Matthias Clasen <maclas@gmx.de>
Fix for #82734 and #78216:
* gtk/gtktextview.c (delete_cb):
(select_all_cb): New callbacks for context menu items.
(popup_targets_received): Add "Delete" and "Select All" to context
menu, mnemonics and title caps for all items.
* gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
context menu item.
(popup_targets_received): Add "Delete" to context menu, mnemonics
and title caps for all items.
2003-02-09 Tor Lillqvist <tml@iki.fi>
* gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
GetDriveType() to recognize removable drives (in order to avoid
hanging if trying to access an empty floppy drive), instead of
hardcoding A: and B: (#105654).
2003-02-09 Christian Rose <menthos@menthos.com>
* configure.in: Removed "en@IPA" from ALL_LINGUAS.
* po/en@IPA.po: Removed. It doesn't contain translations anyway.
Fri Feb 7 04:49:46 2003 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c: remove quark_user_data usage in
gtk_object_{g|s}et_user_data(). fixes get_user_data()
returning NULL for user_data set through property interface.
* gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out
warnings if a pixbuf couldn't be retrieved, since (a) this doesn't
need to be a programming error (in case of loaded data), (b) it breaks
with 2.0 behaviour where extra magic could be used to create empty
images. don't attempt to retrieve pixbufs from NULL extra_data.
Fri Jan 31 17:33:00 2003 Manish Singh <yosh@gimp.org>
* gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
on the tab_label before unparenting it, in case the unparent
drops the refcount to 0.
Thu Jan 30 17:16:05 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
too, for gtkwidget.c. Remember people, when introducing new
deprecations, make sure internal code isn't using it, or if so,
reorganize appropriately like I've done in other places.
* tests/testtext.c: don't use deprecated gtk_timeout_* stuff.
Thu Jan 30 23:48:30 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
only count the special cell if it is also visible,
(_gtk_tree_view_column_get_neighbor_sizes): only take the width into
account from visible cells,
(gtk_tree_view_column_cell_get_position): likewise, (Reported and
testcase provided by Vasco Alexandre da Silva Costa, via IRC,
tracking bug was #104563).
Thu Jan 30 23:46:15 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
subtract expander space and focus line space from the extra space
we are about the allocate. (Fixes#104635).
Thu Jan 30 23:42:03 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
(Fixes#96252, patch from Soeren Sandmann).
Thu Jan 30 16:54:29 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c: Patch from Soeren Sandmann
to update the states of the tab label child
widgets to match the state of the tabs.
(#93389, Reported by Tommi Komulainen)
Thu Jan 30 16:30:54 2003 Owen Taylor <otaylor@redhat.com>
* Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from
EXTRA_DIST, and from dist rules. (#102231)
2003-01-30 Daniel Elstner <daniel.elstner@gmx.net>
* gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
function that sets the icon's and label's packing options and
visibility based on toolbar->style.
(gtk_toolbar_internal_insert_element):
(gtk_real_toolbar_style_changed): Make use of
set_child_packing_and_visibility() to clean up the code and get
the packing right for icon-only/text-only toolbars. (#104679)
(get_first_child): Remove, and use gtk_bin_get_child() instead.
Thu Jan 30 16:01:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the
attempt-to-allocate then free code. To handle multiple
people allocating colors at the same time, we need
to just go ahead and try. (#102213, Shivram U)
2003-01-30 Daniel Elstner <daniel.elstner@gmx.net>
* gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
rectangle using the background color rather than relying on
gdk_window_clear_area(), so that the palette works properly with
pixmap themes.
* demos/gtk-demo/colorsel.c: Install an "expose_event" handler
to fill the drawing area in the background color.
Wed Jan 29 17:02:41 2003 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeyuni.c (get_decimal_char): Make the
translation of GDK_KP_Decimal dependent on LC_NUMERIC.
(#101225)
Wed Jan 29 15:43:56 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
Make up from the menu bar go to the end of the submenu.
(#96114, Ian Peters.)
* gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate):
Only do the select-but-not-activate stuff if the
menu is already active. Otherwise, just activate.
(#101690, Arvind Samptur)
Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com>
* autogen.sh (have_automake): Fix version in complaint
message about automake. (#104366, Rich Burridge)
Mon Jan 27 16:19:59 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
might be NULL. Use gtk_widget_get_display (widget)
(#102860, Thomas Leonard)
Mon Jan 27 15:58:31 2003 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix --without-modules/--disable-modules
confusion that was causing --disable-modules not to work.
(#102865, Akira Tagoh)
* configure.in: Fix problem with plain --with-xinput
(#104266, Akira Tagoh)
Thu Jan 23 20:56:56 GMT 2003 Tony Gale <gale@gtk.org>
* Sebastian Rittau <srittau@jroger.in-berlin.de>:
docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a
Composite widget" to modern standards. (I.e. use gobject instead of
glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869.
* docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe
code in Appendix C to reflect above changes.
* examples/rangewidgets/rangewidgets.c: From Roger Leigh
auto resize on page size change
2003-01-23 Daniel Elstner <daniel.elstner@gmx.net>
* gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
in addition to show_all in order to keep them symmetric. (#102201)
Wed Jan 22 14:18:46 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
the end of the function, so there is a statement following the "out"
label in all cases (fixes#101961)
2003-01-22 Christian Rose <menthos@menthos.com>
* configure.in: Added "mn" to ALL_LINGUAS.
* po/mn.po: Added Mongolian translation by
Sanlig Badral <badral@chinggis.com>.
Wed Jan 15 17:02:18 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
Fix off-by-one error on the backward iteration loop,
that was causing the wrong range to be redrawn.
(at least part of #72734)
2003-01-21 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
vadjustment value after changing its bounds. (fixes#101963 and
#73562)
2003-01-19 Tor Lillqvist <tml@iki.fi>
Merge from stable:
Fix for #103614 and some other problems with GtkFileSelection on
Windows:
* gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
g_ascii_tolower(). Windows file names are case-insensitive for all
Unicode letters.
* gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
earlier, as it includes config.h unconditionally, and gtkprivate.h
redefines GTK_LOCALEDIR.
(struct _CompletionDirSent): Ifdef out the fields not used on
Windows.
(compare_utf8_filenames, compare_sys_filenames): Need different
comparison implementation for UTF-8 file names and system locale
file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
need to casefold all Unicode letters.
(cmpl_completion_matches, open_dir, correct_parent): Ifdef out
variables not used on Win32 to avoid warnings about unused
variables.
(open_ref_dir): Use g_path_skip_root() to skip past potential
drive letter in front of the leading (back)slash.
(open_new_dir): Ifdef out use of CompletionDirSent fields not
there on Win32.
(correct_parent): Bypass inode check also on Cygwin.
Fix bug noticed by Alex Shaduri: Tooltips and other
GDK_WINDOW_TEMP windows were activated. This looked very odd, and
was a regression from earlier versions.
* gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
(gdk_window_move, gdk_window_resize): Add debug logging.
* gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
WM_SIZE message for a non-visible (withdrawn) window, don't clear
the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
even if its size changes.
Wed Jan 15 15:55:47 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c: Set the double click speed from
XSETTINGS when creating a new GtkSettings object
as well as when getting a notify. (#103601, reported
by Louis Garcia)
Wed Jan 15 14:56:09 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_size_allocate):
Show/hide the notebook event window as necessary,
we weren't previously keeping the visibility updated
properly. (#103599)
2002-12-29 Murray Cumming <murrayc@usa.net>
Fixes#102168.
* gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
Actually implement the GtkTreeDragSource::row_draggable virtual
function in GtkListStore and GtkTreeStore instead of just checking
whether it's implemented at all. This means that DnD isn't broken by
gtkmm's virtual function wrappers. The alternative would be to
hard-code the TRUE return value into gtkmm's wrappers, but that's
part of GTK+'s implementation, not it's API.
annoying everybody I will write a short summary here.
Fixes for: #102890, #103198, #102618, #93629, #100172, #101235, #96650,
#102379.
Other than that also a ListStore fix and a TreeView scrolling fix.
Those interested in the hairy details can checkout gtk+/ChangeLog.
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
GTK_MOVEMENT_WORDS.
* gtk/gtktextiter.c,
gtk/gtktextiter.h: Add some variant movement functions which
skip invisible chars, and do some cleanups.
* gtk/gtk-sections.txt: Add new GtkTextIter functions.
2003-01-12 Tor Lillqvist <tml@iki.fi>
Merge from stable:
* gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
lookup.
* gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
gdk.def.
* gdk/gdk.def
* gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
* gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
gtk-demo}.exe and share/gtk-2.0.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
Implement by setting or clearing the WS_EX_TOOLWINDOW extended
window style.
(gdk_window_set_type_hint): Add all cases to the switch (not all
do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
calling gdk_window_set_skip_taskbar_hint(). This means that GTK
won't know that the skip_taskbar hint is on for the window, is
this bad?
Wed Jan 8 18:43:03 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
<string.h> for strlen.
* gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
<string.h> for strrchr.
* tests/testgtk.c (create_saved_position): "x" and "y" properties
for widgets no longer exist, use gtk_window_move instead.
* test/testtextbuffer.c (check_get_set_text): cast strlen to
int for g_error.
2003-01-08 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of
the selection in the presence of invisible segments.
2003-01-07 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextview.h (struct _GtkTextView): Add a comment that
the just_selected_element is unused.
* gtk/gtktextview.c (extend_selection): New helper function to
find the range that should be added to the selection.
(selection_motion_event_handler):
(gtk_text_view_start_selection_drag):
(gtk_text_view_end_selection_drag):
(selection_motion_event_handler):
(selection_scan_timeout): Support select-by-words/lines.
(gtk_text_view_button_press_event): Start a selection drag on
double/triple clicks. (#78599)
2003-01-06 Matthias Clasen <maclas@gmx.de>
Implement a utility function proposed in #102534:
* gtk/gtktextbtree.h:
* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
(_gtk_text_btree_place_cursor): Now a simple wrapper around
_gtk_text_btree_select_range().
* gtk/gtktextbuffer.h:
* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
(gtk_text_buffer_place_cursor): Now a simple wrapper around
gtk_text_buffer_select_range().
2003-01-05 Tor Lillqvist <tml@iki.fi>
* gtk-zip.sh.in: Use correct DLL and import library names, with
GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
(DEVZIP): Add gdk-pixbuf-query-loaders.exe.
* configure.in: Improve check for dimm.h.
* configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
gdk-pixbuf/Makefile.am.
* gdk-pixbuf/makefile.mingw.in
* gdk-pixbuf/pixops/makefile.mingw.in
* gdk/makefile.mingw.in
* gdk/win32/makefile.mingw.in
* gtk/makefile.mingw.in: Remove. Not maintained anyway.
* gdk-pixbuf/Makefile.am
* gdk-pixbuf/pixops/Makefile.am
* gdk/Makefile.am
* gdk/win32/Makefile.am
* gtk/Makefile.am
* configure.in: Remove makefile.mingw{,.in} from here, too.
* README.win32: Updates. Don't mention the now removed
makefile.mingw files.
* gdk/gdk.def
* gtk/gtk.def: Add a couple of missing entries.
* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
earlier.
* gdk/win32/rc/Makefile.am: Add hack to help
build/win32/lt-compile-resource decide which kind of libtool
object file to produce.
2003-01-05 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
C-Down step through the sequence of paragraph ends (old behaviour
included paragraph starts). (#80340, patch by Narayana Pattipati)
* gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
Check for a tag toggle at the start iterator before calling
gtk_text_iter_forward_to_tag_toggle(). (#102090, patch by Daniel
Elstner)
2002-12-27 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
cursor at drop point. (#72384)
(gtk_text_view_size_allocate): Update the horizontal adjustment
value. (#75694)
2002-12-24 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextbuffer.c (paste_from_buffer):
(clipboard_text_received): Let the user action span the insertion
and the deletion of the old selection. (#82844)
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
Don't call gtk_text_iter_backward_sentence_start() if
count is zero. (#99115)
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
side effect of canceling the selection. (#81395, #98537, #9833)
2002-12-21 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
sets the window style and extended window style, and adjusts the
width and height to take the window decorations into account
earlier. The adjusted width and height used to be ignored. Remove
the local x, y, width and height variables, no need to further
confuse the code by having local copies. (Partial fix, I hope, for
#101588)
(gdk_window_move): When moving top-level windows, take title bar
and border width into account, offsetting the coordinates before
calling SetWindowPos().
(gdk_window_set_decorations, gdk_window_set_functions):
Reimplement, taking into account the peculiar semantics of
GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)
(gdk_window_get_decorations): Implement. (#98981)
(gdk_window_set_type_hint): When setting
GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations().
(#79036)
* gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
* gtk/gtktextview.c (gtk_text_view_set_background): New static
function to set the background of all windows.
(gtk_text_view_style_set): Use gtk_text_view_set_background().
(gtk_text_view_state_changed): New function; change background
according to state. (#88126)
Fri Dec 20 15:23:26 2002 Owen Taylor <otaylor@redhat.com>
* === Released 2.2.0 ===
* configure.in: Version 2.2.0, interface age 0, binary age 200.
* README.in: Update the release notes.
* INSTALL.in: Mention that Pango-1.0 can be used with GTK+-2.2.
* NEWS: Update.
Thu Dec 19 11:42:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
the filters on the window where the event is received,
not on the window the event is "about". (#101512,
Bolian Yin.)
Thu Dec 19 03:58:36 2002 Kristian Rietveld <kris@gtk.org>
* tests/testtreeflow.c: the rand variable should be static to
avoid conflicts with rand(). (#100844, reported by Soeren Sandmann,
fix pointed out by Matthias Clasen).
Thu Dec 19 03:56:23 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): if we
started editing, we handled this key signal, so return TRUE.
(#100532, reported by Soeren Sandmann).
Mon Dec 16 22:12:01 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Don't use AC_CHECK_LIB() when
checking for FreeType, Pango, Atk since that get
the ordering wrong. Instead, set LIBS ourself
and call AC_TRY_LINK_FUNC(). (#98406)
Mon Dec 16 21:39:28 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_enter_text): Call
gtk_entry_set_position_internal() that takes a
new "reset_IM" parameter, so that we avoid the
problem where committing text would reset the
input method. (#74381, Kang Jeong-Hee)
2002-12-17 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkglobals-win32.c: Minor cosmetics.
Implement two missing functions (#101369)
* gdk/win32/gdkevents-win32.c
(gdk_display_add_client_message_filter): Implement by calling
gdk_add_client_message_filter(), no separate displays on Windows,
at least not yet.
* gdk/win32/gdkgc-win32.c (gdk_gc_get_screen): Implement by
returning the only screen so far, _gdk_screen.
Mon Dec 16 16:18:15 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_get_property): Get rid
of incorrect calls to g_value_init(). (#100669, Johan
Dahlin, James Henstridge)
Sun Dec 15 18:47:30 2002 Owen Taylor <otaylor@redhat.com>
Some fixes for modal hint setting based on a patch
from Arvind Samptur (#100416)
* gtk/gtkdialog.c (gtk_dialog_run): Call gtk_window_set_modal
before showing the window for efficiency.
* gtk/gtkwindow.c (gtk_window_realize): Ignore the EWMH
constraint that the transient-for hint must always be
set on windows with the modal hint and just always set
the modal hint.
* gtk/gtkwindow.c (gtk_window_set_modal): Update the
modal hint on the GdkWindow when the window is realized.
Sun Dec 15 18:39:09 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Hard-code GTK_BINARY_VERSION=2.2.0 for
now; should stay the same until we branch for 2.3.
Sun Dec 15 18:14:16 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenuitem.c (gtk_real_menu_item_activate_item):
Pass TRUE for search_sensitive - prevents a problem
where after hitting Alt-F to bring up the File menu,
the mnemonics for the items in the menu might not
be usable. (#89336)
Sat Dec 14 22:18:45 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
Fix a bug with checking the private flag on the wrong
window; improve the answer on failure a bit; push
an error trap around the X operations. (#100933)
Sat Dec 14 22:03:21 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (status_window_hide): Don't
call status_window_set_text() if the status window doesn't
already exist. (#100933, reported by Anand Subra)
* modules/input/gtkimcontextxim.c (status_window_show):
Don't bother creating the status window here, wait for
the set_text(). (Fixes a warning)
Sat Dec 14 14:19:16 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c: Add a new binding signal, "move_scroll",
and use it to hook up Home/End/Page_Up/Page_Down keybindings.
(#80484, Narayana Pattipati, Marius Andreiana)
* gtk/gtkmenu.c (gtk_menu_scroll_item_visible): Fix some
bugs in the computation of when an item is visible. (#99545)
* gtk/gtkbindings.[ch] (_gtk_binding_signal_new) gtk/gtkmenushell.c:
Move here, export privately.
* gtk/gtkmenushell.c (_gtk_menu_shell_select_last): Export
privately.
* gtk/gtkmenushell.c (gtk_menu_shell_select_item): Don't
select the item if it is already selected.
Sat Dec 14 01:22:05 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkaccellabel.[ch] (gtk_accel_label_refetch): Don't
recalculate the acceleration label in an idle handler.
Sat Dec 14 01:00:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_position): Handle the case
where the pointer isn't on the same screen as the widget
by centering the menu on the widget's screen. (#94563)
Fri Dec 13 23:10:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c: Fix a problem with the focus row
ending up off the list when rows were deleted
(#94812, Christian Reis, Jon Nelson).
Fri Dec 13 22:55:27 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (menu_change_screen): If the screen
for the menu changes while the menu is torn off, move
the tearoff along with it. (#85669)
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): When
reattaching, get rid of the get rid of the tearoff window.
Fri Dec 13 21:35:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkhandlebox.c (gtk_handle_box_motion): Handle
the case where the pointer is moved between screens
during a handle box drag by resetting the original
location. (#94562)
* gtk/gtkinputdialog.c (gtk_input_dialog_get_private):
Fix a leftover variable name from cut-and-paste.