Show More
@@ -399,6 +399,7 b' proc makewindow {} {' | |||||
399 | global entries sha1entry sha1string sha1but |
|
399 | global entries sha1entry sha1string sha1but | |
400 | global maincursor textcursor curtextcursor |
|
400 | global maincursor textcursor curtextcursor | |
401 | global rowctxmenu gaudydiff mergemax |
|
401 | global rowctxmenu gaudydiff mergemax | |
|
402 | global hgvdiff | |||
402 |
|
403 | |||
403 | menu .bar |
|
404 | menu .bar | |
404 | .bar add cascade -label "File" -menu .bar.file |
|
405 | .bar add cascade -label "File" -menu .bar.file | |
@@ -602,6 +603,12 b' proc makewindow {} {' | |||||
602 | $rowctxmenu add command -label "Make patch" -command mkpatch |
|
603 | $rowctxmenu add command -label "Make patch" -command mkpatch | |
603 | $rowctxmenu add command -label "Create tag" -command mktag |
|
604 | $rowctxmenu add command -label "Create tag" -command mktag | |
604 | $rowctxmenu add command -label "Write commit to file" -command writecommit |
|
605 | $rowctxmenu add command -label "Write commit to file" -command writecommit | |
|
606 | if { $hgvdiff ne "" } { | |||
|
607 | $rowctxmenu add command -label "Visual diff with parent" \ | |||
|
608 | -command {vdiff 1} | |||
|
609 | $rowctxmenu add command -label "Visual diff with selected" \ | |||
|
610 | -command {vdiff 0} | |||
|
611 | } | |||
605 | } |
|
612 | } | |
606 |
|
613 | |||
607 | # when we make a key binding for the toplevel, make sure |
|
614 | # when we make a key binding for the toplevel, make sure | |
@@ -3373,7 +3380,7 b' proc mstime {} {' | |||||
3373 | } |
|
3380 | } | |
3374 |
|
3381 | |||
3375 | proc rowmenu {x y id} { |
|
3382 | proc rowmenu {x y id} { | |
3376 | global rowctxmenu idline selectedline rowmenuid |
|
3383 | global rowctxmenu idline selectedline rowmenuid hgvdiff | |
3377 |
|
3384 | |||
3378 | if {![info exists selectedline] || $idline($id) eq $selectedline} { |
|
3385 | if {![info exists selectedline] || $idline($id) eq $selectedline} { | |
3379 | set state disabled |
|
3386 | set state disabled | |
@@ -3383,6 +3390,9 b' proc rowmenu {x y id} {' | |||||
3383 | $rowctxmenu entryconfigure 0 -state $state |
|
3390 | $rowctxmenu entryconfigure 0 -state $state | |
3384 | $rowctxmenu entryconfigure 1 -state $state |
|
3391 | $rowctxmenu entryconfigure 1 -state $state | |
3385 | $rowctxmenu entryconfigure 2 -state $state |
|
3392 | $rowctxmenu entryconfigure 2 -state $state | |
|
3393 | if { $hgvdiff ne "" } { | |||
|
3394 | $rowctxmenu entryconfigure 6 -state $state | |||
|
3395 | } | |||
3386 | set rowmenuid $id |
|
3396 | set rowmenuid $id | |
3387 | tk_popup $rowctxmenu $x $y |
|
3397 | tk_popup $rowctxmenu $x $y | |
3388 | } |
|
3398 | } | |
@@ -3695,6 +3705,26 b' proc rereadrefs {} {' | |||||
3695 | } |
|
3705 | } | |
3696 | } |
|
3706 | } | |
3697 |
|
3707 | |||
|
3708 | proc vdiff {withparent} { | |||
|
3709 | global env rowmenuid selectedline lineid | |||
|
3710 | ||||
|
3711 | if {![info exists rowmenuid]} return | |||
|
3712 | set curid $rowmenuid | |||
|
3713 | ||||
|
3714 | if {$withparent} { | |||
|
3715 | set parents [exec $env(HG) --config ui.report_untrusted=false parents --rev $curid --template "{node}\n"] | |||
|
3716 | set firstparent [lindex [split $parents "\n"] 0] | |||
|
3717 | set otherid $firstparent | |||
|
3718 | } else { | |||
|
3719 | if {![info exists selectedline]} return | |||
|
3720 | set otherid $lineid($selectedline) | |||
|
3721 | } | |||
|
3722 | set range "$otherid:$curid" | |||
|
3723 | if {[catch {exec $env(HG) --config ui.report_untrusted=false vdiff -r $range} err]} { | |||
|
3724 | # Ignore errors, this is just visualization | |||
|
3725 | } | |||
|
3726 | } | |||
|
3727 | ||||
3698 | proc showtag {tag isnew} { |
|
3728 | proc showtag {tag isnew} { | |
3699 | global ctext cflist tagcontents tagids linknum |
|
3729 | global ctext cflist tagcontents tagids linknum | |
3700 |
|
3730 | |||
@@ -3774,6 +3804,9 b' set stopped 0' | |||||
3774 | set redisplaying 0 |
|
3804 | set redisplaying 0 | |
3775 | set stuffsaved 0 |
|
3805 | set stuffsaved 0 | |
3776 | set patchnum 0 |
|
3806 | set patchnum 0 | |
|
3807 | ||||
|
3808 | array set config [getconfig] | |||
|
3809 | set hgvdiff $config(vdiff) | |||
3777 | setcoords |
|
3810 | setcoords | |
3778 | makewindow |
|
3811 | makewindow | |
3779 | readrefs |
|
3812 | readrefs |
General Comments 0
You need to be logged in to leave comments.
Login now