Resize the panes in the paned windows (commit list and details)
to keep the proportionality of the pane widths as the overall window is resized.main
parent
e47120cb93
commit
43bddeb43d
58
gitk
58
gitk
|
@ -7,7 +7,7 @@ exec wish "$0" -- "${1+$@}"
|
||||||
# and distributed under the terms of the GNU General Public Licence,
|
# and distributed under the terms of the GNU General Public Licence,
|
||||||
# either version 2, or (at your option) any later version.
|
# either version 2, or (at your option) any later version.
|
||||||
|
|
||||||
# CVS $Revision: 1.11 $
|
# CVS $Revision: 1.12 $
|
||||||
|
|
||||||
proc getcommits {rargs} {
|
proc getcommits {rargs} {
|
||||||
global commits commfd phase canv mainfont
|
global commits commfd phase canv mainfont
|
||||||
|
@ -155,6 +155,7 @@ proc makewindow {} {
|
||||||
canvas $canv3 -height $height -width [expr 15 * $charspc] \
|
canvas $canv3 -height $height -width [expr 15 * $charspc] \
|
||||||
-bg white -bd 0 -yscrollincr $linespc
|
-bg white -bd 0 -yscrollincr $linespc
|
||||||
.ctop.top.clist add $canv3
|
.ctop.top.clist add $canv3
|
||||||
|
bind .ctop.top.clist <Configure> {resizeclistpanes %W %w}
|
||||||
|
|
||||||
set sha1entry .ctop.top.bar.sha1
|
set sha1entry .ctop.top.bar.sha1
|
||||||
label .ctop.top.bar.sha1label -text "SHA1 ID: "
|
label .ctop.top.bar.sha1label -text "SHA1 ID: "
|
||||||
|
@ -185,6 +186,7 @@ proc makewindow {} {
|
||||||
pack .ctop.cdet.left.sb -side right -fill y
|
pack .ctop.cdet.left.sb -side right -fill y
|
||||||
pack $ctext -side left -fill both -expand 1
|
pack $ctext -side left -fill both -expand 1
|
||||||
.ctop.cdet add .ctop.cdet.left
|
.ctop.cdet add .ctop.cdet.left
|
||||||
|
bind .ctop.cdet <Configure> {resizecdetpanes %W %w}
|
||||||
|
|
||||||
$ctext tag conf filesep -font [concat $textfont bold]
|
$ctext tag conf filesep -font [concat $textfont bold]
|
||||||
$ctext tag conf hunksep -back blue -fore white
|
$ctext tag conf hunksep -back blue -fore white
|
||||||
|
@ -232,6 +234,58 @@ proc makewindow {} {
|
||||||
bind $cflist <<ListboxSelect>> listboxsel
|
bind $cflist <<ListboxSelect>> listboxsel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc resizeclistpanes {win w} {
|
||||||
|
global oldwidth
|
||||||
|
if [info exists oldwidth($win)] {
|
||||||
|
set s0 [$win sash coord 0]
|
||||||
|
set s1 [$win sash coord 1]
|
||||||
|
if {$w < 60} {
|
||||||
|
set sash0 [expr {int($w/2 - 2)}]
|
||||||
|
set sash1 [expr {int($w*5/6 - 2)}]
|
||||||
|
} else {
|
||||||
|
set factor [expr {1.0 * $w / $oldwidth($win)}]
|
||||||
|
set sash0 [expr {int($factor * [lindex $s0 0])}]
|
||||||
|
set sash1 [expr {int($factor * [lindex $s1 0])}]
|
||||||
|
if {$sash0 < 30} {
|
||||||
|
set sash0 30
|
||||||
|
}
|
||||||
|
if {$sash1 < $sash0 + 20} {
|
||||||
|
set sash1 [expr $sash0 + 20]
|
||||||
|
}
|
||||||
|
if {$sash1 > $w - 10} {
|
||||||
|
set sash1 [expr $w - 10]
|
||||||
|
if {$sash0 > $sash1 - 20} {
|
||||||
|
set sash0 [expr $sash1 - 20]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$win sash place 0 $sash0 [lindex $s0 1]
|
||||||
|
$win sash place 1 $sash1 [lindex $s1 1]
|
||||||
|
}
|
||||||
|
set oldwidth($win) $w
|
||||||
|
}
|
||||||
|
|
||||||
|
proc resizecdetpanes {win w} {
|
||||||
|
global oldwidth
|
||||||
|
if [info exists oldwidth($win)] {
|
||||||
|
set s0 [$win sash coord 0]
|
||||||
|
if {$w < 60} {
|
||||||
|
set sash0 [expr {int($w*3/4 - 2)}]
|
||||||
|
} else {
|
||||||
|
set factor [expr {1.0 * $w / $oldwidth($win)}]
|
||||||
|
set sash0 [expr {int($factor * [lindex $s0 0])}]
|
||||||
|
if {$sash0 < 45} {
|
||||||
|
set sash0 45
|
||||||
|
}
|
||||||
|
if {$sash0 > $w - 15} {
|
||||||
|
set sash0 [expr $w - 15]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$win sash place 0 $sash0 [lindex $s0 1]
|
||||||
|
}
|
||||||
|
set oldwidth($win) $w
|
||||||
|
}
|
||||||
|
|
||||||
proc allcanvs args {
|
proc allcanvs args {
|
||||||
global canv canv2 canv3
|
global canv canv2 canv3
|
||||||
eval $canv $args
|
eval $canv $args
|
||||||
|
@ -261,7 +315,7 @@ Copyright
|
||||||
|
|
||||||
Use and redistribute under the terms of the GNU General Public License
|
Use and redistribute under the terms of the GNU General Public License
|
||||||
|
|
||||||
(CVS $Revision: 1.11 $)} \
|
(CVS $Revision: 1.12 $)} \
|
||||||
-justify center -aspect 400
|
-justify center -aspect 400
|
||||||
pack $w.m -side top -fill x -padx 20 -pady 20
|
pack $w.m -side top -fill x -padx 20 -pady 20
|
||||||
button $w.ok -text Close -command "destroy $w"
|
button $w.ok -text Close -command "destroy $w"
|
||||||
|
|
Loading…
Reference in New Issue