git-gui: Fixes for Mac OS X TkAqua

- detect more Tk.framework variants
- fix apple menu setup, use native preferences menu item
- don't set menu font

Signed-off-by: Daniel A. Steffen <das@users.sourceforge.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Daniel A. Steffen 2008-08-16 03:20:09 +02:00 committed by Shawn O. Pearce
parent c736b4c83b
commit a91be3fcbe
2 changed files with 22 additions and 19 deletions

View File

@ -105,8 +105,11 @@ endif
ifeq ($(uname_S),Darwin) ifeq ($(uname_S),Darwin)
TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app
ifeq ($(shell expr "$(uname_R)" : '9\.'),2) ifeq ($(shell echo "$(uname_R)" | awk -F. '{if ($$1 >= 9) print "y"}')_$(shell test -d $(TKFRAMEWORK) || echo n),y_n)
TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish.app
ifeq ($(shell test -d $(TKFRAMEWORK) || echo n),n)
TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app
endif
endif endif
TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app) TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app)
endif endif

View File

@ -663,10 +663,13 @@ font create font_diffbold
font create font_diffitalic font create font_diffitalic
foreach class {Button Checkbutton Entry Label foreach class {Button Checkbutton Entry Label
Labelframe Listbox Menu Message Labelframe Listbox Message
Radiobutton Spinbox Text} { Radiobutton Spinbox Text} {
option add *$class.font font_ui option add *$class.font font_ui
} }
if {![is_MacOSX]} {
option add *Menu.font font_ui
}
unset class unset class
if {[is_Windows] || [is_MacOSX]} { if {[is_Windows] || [is_MacOSX]} {
@ -2301,6 +2304,12 @@ set ui_comm {}
# -- Menu Bar # -- Menu Bar
# #
menu .mbar -tearoff 0 menu .mbar -tearoff 0
if {[is_MacOSX]} {
# -- Apple Menu (Mac OS X only)
#
.mbar add cascade -label Apple -menu .mbar.apple
menu .mbar.apple
}
.mbar add cascade -label [mc Repository] -menu .mbar.repository .mbar add cascade -label [mc Repository] -menu .mbar.repository
.mbar add cascade -label [mc Edit] -menu .mbar.edit .mbar add cascade -label [mc Edit] -menu .mbar.edit
if {[is_enabled branch]} { if {[is_enabled branch]} {
@ -2316,7 +2325,6 @@ if {[is_enabled transport]} {
if {[is_enabled multicommit] || [is_enabled singlecommit]} { if {[is_enabled multicommit] || [is_enabled singlecommit]} {
.mbar add cascade -label [mc Tools] -menu .mbar.tools .mbar add cascade -label [mc Tools] -menu .mbar.tools
} }
. configure -menu .mbar
# -- Repository Menu # -- Repository Menu
# #
@ -2569,19 +2577,7 @@ if {[is_enabled transport]} {
} }
if {[is_MacOSX]} { if {[is_MacOSX]} {
# -- Apple Menu (Mac OS X only) proc ::tk::mac::ShowPreferences {} {do_options}
#
.mbar add cascade -label Apple -menu .mbar.apple
menu .mbar.apple
.mbar.apple add command -label [mc "About %s" [appname]] \
-command do_about
.mbar.apple add separator
.mbar.apple add command \
-label [mc "Preferences..."] \
-command do_options \
-accelerator $M1T-,
bind . <$M1B-,> do_options
} else { } else {
# -- Edit Menu # -- Edit Menu
# #
@ -2609,11 +2605,15 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
.mbar add cascade -label [mc Help] -menu .mbar.help .mbar add cascade -label [mc Help] -menu .mbar.help
menu .mbar.help menu .mbar.help
if {![is_MacOSX]} { if {[is_MacOSX]} {
.mbar.apple add command -label [mc "About %s" [appname]] \
-command do_about
.mbar.apple add separator
} else {
.mbar.help add command -label [mc "About %s" [appname]] \ .mbar.help add command -label [mc "About %s" [appname]] \
-command do_about -command do_about
} }
. configure -menu .mbar
set doc_path [githtmldir] set doc_path [githtmldir]
if {$doc_path ne {}} { if {$doc_path ne {}} {