diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2012-09-22 09:46:48 +0200 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2012-09-23 16:14:58 +1000 |
commit | f062e50fe69e01376b6ebf7ade8402b782620ac3 (patch) | |
tree | 81303568000beb5245401a8815b05477f7c399e4 | |
parent | 30441a6f2d5459efa8b64332dfc3a95662a1648a (diff) | |
download | git-f062e50fe69e01376b6ebf7ade8402b782620ac3.tar.gz git-f062e50fe69e01376b6ebf7ade8402b782620ac3.tar.xz |
gitk: Work around empty back and forward images when buttons are disabled
On Mac, the back and forward buttons show an empty rectange instead of
a grayed-out arrow when they are disabled. The reason is a Tk bug on Mac
that causes disabled images not to draw correctly (not to draw at all,
that is); see
<https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.tcl/V-nW1JBq0eU>.
To work around this, we explicitly provide gray images for the disabled
state; I think this looks better than the default stipple effect that you
get on Windows as well, but that may be a matter of taste.
Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-x | gitk | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -2161,7 +2161,7 @@ proc makewindow {} { trace add variable sha1string write sha1change pack $sha1entry -side left -pady 2 - image create bitmap bm-left -data { + set bm_left_data { #define left_width 16 #define left_height 16 static unsigned char left_bits[] = { @@ -2169,7 +2169,7 @@ proc makewindow {} { 0x0e, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x0e, 0x00, 0x1c, 0x00, 0x38, 0x00, 0x70, 0x00, 0xe0, 0x00, 0xc0, 0x01}; } - image create bitmap bm-right -data { + set bm_right_data { #define right_width 16 #define right_height 16 static unsigned char right_bits[] = { @@ -2177,11 +2177,16 @@ proc makewindow {} { 0x00, 0x38, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01}; } - ${NS}::button .tf.bar.leftbut -image bm-left -command goback \ - -state disabled -width 26 + image create bitmap bm-left -data $bm_left_data + image create bitmap bm-left-gray -data $bm_left_data -foreground "#999" + image create bitmap bm-right -data $bm_right_data + image create bitmap bm-right-gray -data $bm_right_data -foreground "#999" + + ${NS}::button .tf.bar.leftbut -image [list bm-left disabled bm-left-gray] \ + -command goback -state disabled -width 26 pack .tf.bar.leftbut -side left -fill y - ${NS}::button .tf.bar.rightbut -image bm-right -command goforw \ - -state disabled -width 26 + ${NS}::button .tf.bar.rightbut -image [list bm-right disabled bm-right-gray] \ + -command goforw -state disabled -width 26 pack .tf.bar.rightbut -side left -fill y ${NS}::label .tf.bar.rowlabel -text [mc "Row"] |