Skip to content

Commit

Permalink
gitk: Improve behaviour of drop-down lists
Browse files Browse the repository at this point in the history
The drop-down lists used for things like the criteria for finding
commits (containing/touching paths/etc.) use a combobox if we are
using the ttk widgets.  By default the combobox exports its value
as the selection when it is changed, which is unnecessary, and sometimes
the combobox wouldn't release the selection, which is annoying.

To fix this, we make these comboboxes not export their selection,
and also clear their selection whenever they are changed.  This makes
them more like a simple selection of alternatives, improving the look
and feel of gitk.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed May 11, 2013
1 parent 252c52d commit 39c1269
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion gitk
Original file line number Diff line number Diff line change
Expand Up @@ -1998,6 +1998,9 @@ proc mca {str} {
return [string map {&& & & {}} [mc $str]]
}

proc cleardropsel {w} {
$w selection clear
}
proc makedroplist {w varname args} {
global use_ttk
if {$use_ttk} {
Expand All @@ -2007,7 +2010,9 @@ proc makedroplist {w varname args} {
if {$cx > $width} {set width $cx}
}
set gm [ttk::combobox $w -width $width -state readonly\
-textvariable $varname -values $args]
-textvariable $varname -values $args \
-exportselection false]
bind $gm <<ComboboxSelected>> [list $gm selection clear]
} else {
set gm [eval [linsert $args 0 tk_optionMenu $w $varname]]
}
Expand Down

0 comments on commit 39c1269

Please sign in to comment.