From 3218d5200f5e6773c01a6089bbd3ab97a4c0047a Mon Sep 17 00:00:00 2001 From: dkf Date: Sun, 5 Sep 2010 14:43:10 +0000 Subject: * library/bgerror.tcl: [Bugs 3046742,3046750]: Improve keybindings for the background error dialog, and allow the use of the window manager controls for closing it (where supported). The Escape key now causes all remaining background error messages in the queue to be dropped. --- ChangeLog | 52 +++++++++++++++++++++++++++++----------------------- library/bgerror.tcl | 27 ++++++++++++++++++++------- 2 files changed, 49 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3f9713e..cb3f99c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,31 +1,37 @@ +2010-09-05 Donal K. Fellows + + * library/bgerror.tcl: [Bugs 3046742,3046750]: Improve keybindings for + the background error dialog, and allow the use of the window manager + controls for closing it (where supported). The Escape key now causes + all remaining background error messages in the queue to be dropped. + 2010-10-02 Joe English - * library/ttk/winTheme.tcl, library/ttk/xpTheme.tcl, - library/ttk/vistaTheme.tcl: Specify disabled combobox text - foreground color [Bug#3057573]. + * library/ttk/winTheme.tcl, library/ttk/xpTheme.tcl, + * library/ttk/vistaTheme.tcl: [Bug 3057573]: Specify disabled combobox + text foreground color. 2010-08-31 Andreas Kupries - * win/tcl.m4: Applied patch by Jeff fixing issues with the - manifest handling on Win64. + * win/tcl.m4: Applied patch by Jeff fixing issues with the manifest + handling on Win64. * win/configure: Regenerated. 2010-08-26 Jeff Hobbs - * unix/Makefile.in: add valgrind target - * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*. - Add /usr/lib64 to set of auto-search dirs. [Bug 1230554] + * unix/Makefile.in: Add valgrind target + * unix/configure, unix/tcl.m4: [Bug 1230554]: SHLIB_LD_LIBS='${LIBS}' + for OSF1-V*. Add /usr/lib64 to set of auto-search dirs. (SC_PATH_X): Correct syntax error when xincludes not found. * win/Makefile.in (VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE): - * win/configure, win/configure.in, win/tcl.m4: SC_EMBED_MANIFEST - macro and --enable-embedded-manifest configure arg added to - support manifest embedding where we know the magic. Help prevents - DLL hell with MSVC8+. + * win/configure, win/configure.in, win/tcl.m4: SC_EMBED_MANIFEST macro + and --enable-embedded-manifest configure arg added to support manifest + embedding where we know the magic. Help prevents DLL hell with MSVC8+. - * generic/tkText.c (DumpLine): s/segPtr->size/currentSize/ - throughout, but particularly in if lineChanged block where segPtr - may no longer be valid. [Bug 3053347] + * generic/tkText.c (DumpLine): [Bug 3053347]: Replace segPtr->size + with currentSize throughout, but particularly in if lineChanged block + where segPtr may no longer be valid. 2010-08-21 Jan Nijtmans @@ -34,21 +40,21 @@ 2010-08-18 Jan Nijtmans - * generic/ttk/ttkGenStubs.tcl [Patch 3034251] partly: remove - some more unneeded ifdeffery, as in tcl/tools/genStubs.tcl. + * generic/ttk/ttkGenStubs.tcl: [Patch 3034251]: partly: remove some + more unneeded ifdeffery, as in tcl/tools/genStubs.tcl. * generic/tk.h: Move USE_OLD_IMAGE support after tkDecls.h * generic/*Decls.h (regenerated) * generic/ttk/ttkDecls.h 2010-08-11 Jeff Hobbs - * win/Makefile.in (%.${OBJEXT}): better implicit rules support + * win/Makefile.in (%.${OBJEXT}): Better implicit rules support * unix/configure: regen with ac-2.59 * unix/configure.in, unix/Makefile.in: - * unix/tcl.m4 (AIX): remove the need for ldAIX, replace with - -bexpall/-brtl. Remove TK_EXP_FILE (export file) and other - baggage that went with it. Remove pre-4 AIX build support. + * unix/tcl.m4 (AIX): Remove the need for ldAIX, replace with + -bexpall/-brtl. Remove TK_EXP_FILE (export file) and other baggage + that went with it. Remove pre-4 AIX build support. 2010-08-11 Don Porter @@ -60,8 +66,8 @@ 2010-08-03 Jeff Hobbs - * library/button.tcl (::tk::CheckEnter): use uplevel set instead - of set :: to work with other var resolvers (itcl). [AS Bug#87409] + * library/button.tcl (::tk::CheckEnter): [AS Bug#87409]: Use uplevel + set instead of set :: to work with other var resolvers (itcl). 2010-07-19 Donal K. Fellows diff --git a/library/bgerror.tcl b/library/bgerror.tcl index 8a0dd0b..dec90e7 100644 --- a/library/bgerror.tcl +++ b/library/bgerror.tcl @@ -11,7 +11,7 @@ # Copyright (c) 2007 Daniel A. Steffen # Copyright (c) 2009 Pat Thoyts # -# RCS: @(#) $Id: bgerror.tcl,v 1.41 2010/01/19 01:27:41 patthoyts Exp $ +# RCS: @(#) $Id: bgerror.tcl,v 1.42 2010/09/05 14:43:11 dkf Exp $ # namespace eval ::tk::dialog::error { @@ -30,13 +30,13 @@ namespace eval ::tk::dialog::error { } } -proc ::tk::dialog::error::Return {} { +proc ::tk::dialog::error::Return {which code} { variable button - .bgerrorDialog.ok configure -state active -relief sunken + .bgerrorDialog.$which state {active selected focus} update idletasks after 100 - set button 0 + set button $code } proc ::tk::dialog::error::Details {} { @@ -79,6 +79,17 @@ proc ::tk::dialog::error::Destroy {w} { } } +proc ::tk::dialog::error::DeleteByProtocol {} { + variable button + set button 1 +} + +proc ::tk::dialog::error::ReturnInDetails w { + bind $w {}; # Remove this binding + $w invoke + return -code break +} + # ::tk::dialog::error::bgerror -- # # This is the default version of bgerror. @@ -142,7 +153,7 @@ proc ::tk::dialog::error::bgerror err { wm withdraw $dlg wm title $dlg $title wm iconname $dlg ErrorDialog - wm protocol $dlg WM_DELETE_WINDOW { } + wm protocol $dlg WM_DELETE_WINDOW [namespace code DeleteByProtocol] if {$windowingsystem eq "aqua"} { ::tk::unsupported::MacWindowStyle style $dlg moveableAlert {} @@ -206,8 +217,10 @@ proc ::tk::dialog::error::bgerror err { # The "OK" button is the default for this dialog. $dlg.ok configure -default active - bind $dlg [namespace code Return] - bind $dlg [namespace code [list Destroy %W]] + bind $dlg [namespace code {Return ok 0}] + bind $dlg [namespace code {Return dismiss 1}] + bind $dlg [namespace code {Destroy %W}] + bind $dlg.function [namespace code {ReturnInDetails %W}] $dlg.function configure -command [namespace code Details] # 6. Place the window (centered in the display) and deiconify it. -- cgit v0.12