Merge branch 'maint' of git://repo.or.cz/alt-git

This commit is contained in:
Johannes Sixt
2007-06-25 15:35:36 +02:00
46 changed files with 1173 additions and 306 deletions

View File

@@ -78,5 +78,3 @@ test "$VN" = "$VC" || {
echo >&2 "GITGUI_VERSION = $VN"
echo "GITGUI_VERSION = $VN" >$GVF
}

View File

@@ -20,6 +20,22 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA}
######################################################################
##
## Tcl/Tk sanity check
if {[catch {package require Tcl 8.4} err]
|| [catch {package require Tk 8.4} err]
} {
catch {wm withdraw .}
tk_messageBox \
-icon error \
-type ok \
-title "git-gui: fatal error" \
-message $err
exit 1
}
######################################################################
##
## configure our library
@@ -455,7 +471,8 @@ proc rescan {after {honor_trustmtime 1}} {
if {![$ui_comm edit modified]
|| [string trim [$ui_comm get 0.0 end]] eq {}} {
if {[load_message GITGUI_MSG]} {
if {[string match amend* $commit_type]} {
} elseif {[load_message GITGUI_MSG]} {
} elseif {[load_message MERGE_MSG]} {
} elseif {[load_message SQUASH_MSG]} {
}
@@ -1008,6 +1025,7 @@ proc incr_font_size {font {amt 1}} {
incr sz $amt
font configure $font -size $sz
font configure ${font}bold -size $sz
font configure ${font}italic -size $sz
}
######################################################################
@@ -1200,12 +1218,14 @@ catch {
destroy .dummy
}
font create font_uiitalic
font create font_uibold
font create font_diffbold
font create font_diffitalic
foreach class {Button Checkbutton Entry Label
Labelframe Listbox Menu Message
Radiobutton Text} {
Radiobutton Spinbox Text} {
option add *$class.font font_ui
}
unset class
@@ -1233,8 +1253,10 @@ proc apply_config {} {
}
foreach {cn cv} [font configure $font] {
font configure ${font}bold $cn $cv
font configure ${font}italic $cn $cv
}
font configure ${font}bold -weight bold
font configure ${font}italic -slant italic
}
}
@@ -1600,7 +1622,7 @@ unset browser doc_path doc_url
# -- Standard bindings
#
bind . <Destroy> do_quit
wm protocol . WM_DELETE_WINDOW do_quit
bind all <$M1B-Key-q> do_quit
bind all <$M1B-Key-Q> do_quit
bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}
@@ -1715,7 +1737,7 @@ pack .vpane -anchor n -side top -fill both -expand 1
#
frame .vpane.files.index -height 100 -width 200
label .vpane.files.index.title -text {Staged Changes (Will Be Committed)} \
-background green
-background lightgreen
text $ui_index -background white -borderwidth 0 \
-width 20 -height 10 \
-wrap none \
@@ -1735,7 +1757,7 @@ pack $ui_index -side left -fill both -expand 1
#
frame .vpane.files.workdir -height 100 -width 200
label .vpane.files.workdir.title -text {Unstaged Changes (Will Not Be Committed)} \
-background red
-background lightsalmon
text $ui_workdir -background white -borderwidth 0 \
-width 20 -height 10 \
-wrap none \
@@ -1752,10 +1774,8 @@ pack $ui_workdir -side left -fill both -expand 1
.vpane.files add .vpane.files.workdir -sticky nsew
foreach i [list $ui_index $ui_workdir] {
$i tag conf in_diff -font font_uibold
$i tag conf in_sel \
-background [$i cget -foreground] \
-foreground [$i cget -background]
$i tag conf in_diff -background lightgray
$i tag conf in_sel -background lightgray
}
unset i
@@ -1913,18 +1933,18 @@ proc trace_current_diff_path {varname args} {
}
trace add variable current_diff_path write trace_current_diff_path
frame .vpane.lower.diff.header -background orange
frame .vpane.lower.diff.header -background gold
label .vpane.lower.diff.header.status \
-background orange \
-background gold \
-width $max_status_desc \
-anchor w \
-justify left
label .vpane.lower.diff.header.file \
-background orange \
-background gold \
-anchor w \
-justify left
label .vpane.lower.diff.header.path \
-background orange \
-background gold \
-anchor w \
-justify left
pack .vpane.lower.diff.header.status -side left
@@ -2038,17 +2058,17 @@ lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
$ctxm add command \
-label {Show Less Context} \
-command {if {$repo_config(gui.diffcontext) >= 2} {
-command {if {$repo_config(gui.diffcontext) >= 1} {
incr repo_config(gui.diffcontext) -1
reshow_diff
}}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
-label {Show More Context} \
-command {
-command {if {$repo_config(gui.diffcontext) < 99} {
incr repo_config(gui.diffcontext)
reshow_diff
}
}}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
$ctxm add command -label {Options...} \

File diff suppressed because it is too large Load Diff

View File

@@ -201,12 +201,14 @@ proc do_create_branch {} {
pack $w.desc -anchor nw -fill x -pady 5 -padx 5
labelframe $w.from -text {Starting Revision}
radiobutton $w.from.head_r \
-text {Local Branch:} \
-value head \
-variable create_branch_revtype
eval tk_optionMenu $w.from.head_m create_branch_head $all_heads
grid $w.from.head_r $w.from.head_m -sticky w
if {$all_heads ne {}} {
radiobutton $w.from.head_r \
-text {Local Branch:} \
-value head \
-variable create_branch_revtype
eval tk_optionMenu $w.from.head_m create_branch_head $all_heads
grid $w.from.head_r $w.from.head_m -sticky w
}
set all_trackings [all_tracking_branches]
if {$all_trackings ne {}} {
set create_branch_trackinghead [lindex $all_trackings 0]

View File

@@ -70,7 +70,6 @@ constructor new {commit} {
bind $w_list <Right> break
bind $w_list <Visibility> [list focus $w_list]
bind $w_list <Destroy> [list delete_this $this]
set w $w_list
_ls $this $browser_commit
return $this

View File

@@ -120,10 +120,21 @@ proc delete_this {{t {}}} {
if {[namespace exists $t]} {namespace delete $t}
}
proc make_toplevel {t w} {
upvar $t top $w pfx
proc make_toplevel {t w args} {
upvar $t top $w pfx this this
if {[llength $args] % 2} {
error "make_toplevel topvar winvar {options}"
}
set autodelete 1
foreach {name value} $args {
switch -exact -- $name {
-autodelete {set autodelete $value}
default {error "unsupported option $name"}
}
}
if {[winfo ismapped .]} {
upvar this this
regsub -all {::} $this {__} w
set top .$w
set pfx $top
@@ -132,6 +143,13 @@ proc make_toplevel {t w} {
set top .
set pfx {}
}
if {$autodelete} {
wm protocol $top WM_DELETE_WINDOW "
[list delete_this $this]
[list destroy $top]
"
}
}
@@ -151,4 +169,3 @@ auto_mkindex_parser::command constructor {name args} {
[format { [list source [file join $dir %s]]} \
[file split $scriptFile]] "\n"
}

View File

@@ -17,7 +17,7 @@ constructor new {short_title long_title} {
method _init {} {
global M1B
make_toplevel top w
make_toplevel top w -autodelete 0
wm title $top "[appname] ([reponame]): $t_short"
set console_cr 1.0

View File

@@ -145,7 +145,7 @@ proc show_diff {path w {lno {}}} {
lappend cmd -p
lappend cmd --no-color
if {$repo_config(gui.diffcontext) > 0} {
if {$repo_config(gui.diffcontext) >= 0} {
lappend cmd "-U$repo_config(gui.diffcontext)"
}
if {$w eq $ui_index} {

View File

@@ -125,7 +125,8 @@ Please select fewer branches. To merge more than 15 branches, merge the branche
set cons [console::new "Merge" $msg]
console::exec $cons $cmd \
[namespace code [list _finish $revcnt $cons]]
bind $w <Destroy> {}
wm protocol $w WM_DELETE_WINDOW {}
destroy $w
}
@@ -250,7 +251,7 @@ proc dialog {} {
bind $w <$M1B-Key-Return> $_start
bind $w <Visibility> "grab $w; focus $w.source.l"
bind $w <Key-Escape> "unlock_index;destroy $w"
bind $w <Destroy> unlock_index
wm protocol $w WM_DELETE_WINDOW "unlock_index;destroy $w"
wm title $w "[appname] ([reponame]): Merge"
tkwait window $w
}

View File

@@ -15,6 +15,9 @@ proc save_config {} {
font configure ${font}bold \
-family $global_config_new(gui.$font^^family) \
-size $global_config_new(gui.$font^^size)
font configure ${font}italic \
-family $global_config_new(gui.$font^^family) \
-size $global_config_new(gui.$font^^size)
set global_config_new(gui.$name) [font configure $font]
unset global_config_new(gui.$font^^family)
unset global_config_new(gui.$font^^size)
@@ -173,7 +176,7 @@ proc do_options {} {
{i-1..5 merge.verbosity {Merge Verbosity}}
{b gui.trustmtime {Trust File Modification Timestamps}}
{i-1..99 gui.diffcontext {Number of Diff Context Lines}}
{i-0..99 gui.diffcontext {Number of Diff Context Lines}}
{t gui.newbranchtemplate {New Branch Name Template}}
} {
set type [lindex $option 0]