git-gui: Refactor our ui_status_value update technique
I'm really starting to dislike global variables. The ui_status_value global varible is just one of those that seems to appear in a lot of code and in many cases we didn't even declare it "global" within the proc that updates it so we haven't always been getting all of the updates we expected to see. This change introduces two new global procs: ui_status $msg; # Sets the status bar to show $msg. ui_ready; # Changes the status bar to show "Ready." The second (special) form is used because we often update the area with this message once we are done processing a block of work and want the user to know we have completed it. I'm not fixing the cases that appear in lib/branch.tcl right now as I'm actually in the middle of a huge refactoring of that code to support making a detached HEAD checkout. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
# Copyright (C) 2006, 2007 Shawn Pearce
|
||||
|
||||
proc update_indexinfo {msg pathList after} {
|
||||
global update_index_cp ui_status_value
|
||||
global update_index_cp
|
||||
|
||||
if {![lock_index update]} return
|
||||
|
||||
@ -12,7 +12,7 @@ proc update_indexinfo {msg pathList after} {
|
||||
set batch [expr {int($totalCnt * .01) + 1}]
|
||||
if {$batch > 25} {set batch 25}
|
||||
|
||||
set ui_status_value [format \
|
||||
ui_status [format \
|
||||
"$msg... %i/%i files (%.2f%%)" \
|
||||
$update_index_cp \
|
||||
$totalCnt \
|
||||
@ -36,7 +36,7 @@ proc update_indexinfo {msg pathList after} {
|
||||
}
|
||||
|
||||
proc write_update_indexinfo {fd pathList totalCnt batch msg after} {
|
||||
global update_index_cp ui_status_value
|
||||
global update_index_cp
|
||||
global file_states current_diff_path
|
||||
|
||||
if {$update_index_cp >= $totalCnt} {
|
||||
@ -67,7 +67,7 @@ proc write_update_indexinfo {fd pathList totalCnt batch msg after} {
|
||||
display_file $path $new
|
||||
}
|
||||
|
||||
set ui_status_value [format \
|
||||
ui_status [format \
|
||||
"$msg... %i/%i files (%.2f%%)" \
|
||||
$update_index_cp \
|
||||
$totalCnt \
|
||||
@ -75,7 +75,7 @@ proc write_update_indexinfo {fd pathList totalCnt batch msg after} {
|
||||
}
|
||||
|
||||
proc update_index {msg pathList after} {
|
||||
global update_index_cp ui_status_value
|
||||
global update_index_cp
|
||||
|
||||
if {![lock_index update]} return
|
||||
|
||||
@ -85,7 +85,7 @@ proc update_index {msg pathList after} {
|
||||
set batch [expr {int($totalCnt * .01) + 1}]
|
||||
if {$batch > 25} {set batch 25}
|
||||
|
||||
set ui_status_value [format \
|
||||
ui_status [format \
|
||||
"$msg... %i/%i files (%.2f%%)" \
|
||||
$update_index_cp \
|
||||
$totalCnt \
|
||||
@ -109,7 +109,7 @@ proc update_index {msg pathList after} {
|
||||
}
|
||||
|
||||
proc write_update_index {fd pathList totalCnt batch msg after} {
|
||||
global update_index_cp ui_status_value
|
||||
global update_index_cp
|
||||
global file_states current_diff_path
|
||||
|
||||
if {$update_index_cp >= $totalCnt} {
|
||||
@ -144,7 +144,7 @@ proc write_update_index {fd pathList totalCnt batch msg after} {
|
||||
display_file $path $new
|
||||
}
|
||||
|
||||
set ui_status_value [format \
|
||||
ui_status [format \
|
||||
"$msg... %i/%i files (%.2f%%)" \
|
||||
$update_index_cp \
|
||||
$totalCnt \
|
||||
@ -152,7 +152,7 @@ proc write_update_index {fd pathList totalCnt batch msg after} {
|
||||
}
|
||||
|
||||
proc checkout_index {msg pathList after} {
|
||||
global update_index_cp ui_status_value
|
||||
global update_index_cp
|
||||
|
||||
if {![lock_index update]} return
|
||||
|
||||
@ -162,7 +162,7 @@ proc checkout_index {msg pathList after} {
|
||||
set batch [expr {int($totalCnt * .01) + 1}]
|
||||
if {$batch > 25} {set batch 25}
|
||||
|
||||
set ui_status_value [format \
|
||||
ui_status [format \
|
||||
"$msg... %i/%i files (%.2f%%)" \
|
||||
$update_index_cp \
|
||||
$totalCnt \
|
||||
@ -192,7 +192,7 @@ proc checkout_index {msg pathList after} {
|
||||
}
|
||||
|
||||
proc write_checkout_index {fd pathList totalCnt batch msg after} {
|
||||
global update_index_cp ui_status_value
|
||||
global update_index_cp
|
||||
global file_states current_diff_path
|
||||
|
||||
if {$update_index_cp >= $totalCnt} {
|
||||
@ -217,7 +217,7 @@ proc write_checkout_index {fd pathList totalCnt batch msg after} {
|
||||
}
|
||||
}
|
||||
|
||||
set ui_status_value [format \
|
||||
ui_status [format \
|
||||
"$msg... %i/%i files (%.2f%%)" \
|
||||
$update_index_cp \
|
||||
$totalCnt \
|
||||
@ -249,7 +249,7 @@ proc unstage_helper {txt paths} {
|
||||
update_indexinfo \
|
||||
$txt \
|
||||
$pathList \
|
||||
[concat $after {set ui_status_value {Ready.}}]
|
||||
[concat $after [list ui_ready]]
|
||||
}
|
||||
}
|
||||
|
||||
@ -293,7 +293,7 @@ proc add_helper {txt paths} {
|
||||
update_index \
|
||||
$txt \
|
||||
$pathList \
|
||||
[concat $after {set ui_status_value {Ready to commit.}}]
|
||||
[concat $after {ui_status {Ready to commit.}}]
|
||||
}
|
||||
}
|
||||
|
||||
@ -370,7 +370,7 @@ Any unadded changes will be permanently lost by the revert." \
|
||||
checkout_index \
|
||||
$txt \
|
||||
$pathList \
|
||||
[concat $after {set ui_status_value {Ready.}}]
|
||||
[concat $after [list ui_ready]]
|
||||
} else {
|
||||
unlock_index
|
||||
}
|
||||
|
Reference in New Issue
Block a user