gitk: use text labels for commit ID buttons

gitk maintains a stack of commit ids visited, and allows navigating
these using a pair of buttons shown with arrows using bitmaps. An attempt
is made to recolor these bitmaps to handle different color schemes, but
this is unreliable across multiple themes as the required colors are not
universally known. Let's just use text labels for these buttons,
allowing the themes to recolor the text along with everything else. Use
utf code points for the text, presuming that these arrow glyphs are
available in the selected font.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
main^2^2
Mark Levedahl 2025-09-21 15:13:54 -04:00
parent 7754656a4c
commit 61c0cfe08c
1 changed files with 4 additions and 25 deletions

29
gitk
View File

@ -2507,32 +2507,11 @@ proc makewindow {} {
trace add variable sha1string write sha1change
pack $sha1entry -side left -pady 2

set bm_left_data {
#define left_width 16
#define left_height 16
static unsigned char left_bits[] = {
0x00, 0x00, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00, 0x38, 0x00, 0x1c, 0x00,
0x0e, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x0e, 0x00, 0x1c, 0x00,
0x38, 0x00, 0x70, 0x00, 0xe0, 0x00, 0xc0, 0x01};
}
set bm_right_data {
#define right_width 16
#define right_height 16
static unsigned char right_bits[] = {
0x00, 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x1c,
0x00, 0x38, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x00, 0x38, 0x00, 0x1c,
0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01};
}
image create bitmap bm-left -data $bm_left_data -foreground $uifgcolor
image create bitmap bm-left-gray -data $bm_left_data -foreground $uifgdisabledcolor
image create bitmap bm-right -data $bm_right_data -foreground $uifgcolor
image create bitmap bm-right-gray -data $bm_right_data -foreground $uifgdisabledcolor

ttk::button .tf.bar.leftbut -command goback -state disabled -width 26
.tf.bar.leftbut configure -image [list bm-left disabled bm-left-gray]
ttk::button .tf.bar.leftbut -command goback -state disabled
.tf.bar.leftbut configure -text \u2190 -width 3
pack .tf.bar.leftbut -side left -fill y
ttk::button .tf.bar.rightbut -command goforw -state disabled -width 26
.tf.bar.rightbut configure -image [list bm-right disabled bm-right-gray]
ttk::button .tf.bar.rightbut -command goforw -state disabled
.tf.bar.rightbut configure -text \u2192 -width 3
pack .tf.bar.rightbut -side left -fill y

ttk::label .tf.bar.rowlabel -text [mc "Row"]