diff --git a/lib/files.tcl b/lib/files.tcl index 23b58ea..ae1930a 100644 --- a/lib/files.tcl +++ b/lib/files.tcl @@ -233,10 +233,13 @@ namespace eval FileOper { $tree delete $treeItem } } - unset modified($nbItem) + if [info exists modified($nbItem)] { + unset modified($nbItem) + } .frmStatus.lblPosition configure -text "" .frmStatus.lblEncoding configure -text "" .frmStatus.lblSize configure -text "" + NB::NextTab $nbEditor 0 } proc Save {} { @@ -439,9 +442,10 @@ namespace eval FileOper { set res [SearchStringInFolder $str] } } - FindInFilesDialog $txt $res - .find.entryFind delete 0 end - .find.entryFind insert end $str + if [FindInFilesDialog $txt $res] { + .find.entryFind delete 0 end + .find.entryFind insert end $str + } } proc ReplaceInFiles {} { diff --git a/lib/gui.tcl b/lib/gui.tcl index b8f706c..0f359bb 100644 --- a/lib/gui.tcl +++ b/lib/gui.tcl @@ -188,6 +188,7 @@ ttk::style layout TNotebook.Tab { bind TNotebook "catch {NB::PressTab %W %x %y}\;[bind TNotebook ];break" # bind <> "NB::PressTab %W %x %y" bind TNotebook "NB::PressTab %W %x %y" +# bind TNotebook FileOper::Close # bind . "NB::NextTab $nbEditor" bind . "NB::NextTab $nbEditor 1" bind . "NB::NextTab $nbEditor -1" diff --git a/lib/notebook.tcl b/lib/notebook.tcl index 338d4fb..af24975 100644 --- a/lib/notebook.tcl +++ b/lib/notebook.tcl @@ -61,6 +61,9 @@ namespace eval NB { proc NextTab {w step} { global tree set i [expr [$w index end] - 1] + if {[$w select] eq ""} { + return + } set nbItemIndex [$w index [$w select]] if {$nbItemIndex eq 0 && $step eq "-1"} { $w select $i diff --git a/lib/procedure.tcl b/lib/procedure.tcl index 51b3f07..5135199 100644 --- a/lib/procedure.tcl +++ b/lib/procedure.tcl @@ -511,7 +511,7 @@ proc FindInFilesDialog {txt {args ""}} { } set win .find - if { [winfo exists $win] } { destroy $win } + if { [winfo exists $win] } { destroy $win; return false} toplevel $win wm transient $win . wm overrideredirect $win 1 @@ -639,6 +639,7 @@ proc FindInFilesDialog {txt {args ""}} { focus -force $win.entryFind } # $win.lBox focus I001 + return true } proc ShowMessage {title msg} {