git-gui: Use git web--browser for web browsing
This patch removes git-gui specific webbrowser guessing and instead relies on git web--browser to do the right thing, removing unnecessary code duplication. New function start_browser encapsulates the browser execution, for usage from other parts of code. This will also make git-gui show the documentation menu item even in cases it might not be able to start up a browser, these cases should be however only very rare. Signed-off-by: Petr Baudis <petr.baudis@novartis.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
adcbd431e7
commit
2db21e709a
30
git-gui.sh
30
git-gui.sh
@ -2493,8 +2493,7 @@ if {![is_MacOSX]} {
|
||||
-command do_about
|
||||
}
|
||||
|
||||
set browser {}
|
||||
catch {set browser $repo_config(instaweb.browser)}
|
||||
|
||||
set doc_path [file dirname [gitexec]]
|
||||
set doc_path [file join $doc_path Documentation index.html]
|
||||
|
||||
@ -2502,34 +2501,19 @@ if {[is_Cygwin]} {
|
||||
set doc_path [exec cygpath --mixed $doc_path]
|
||||
}
|
||||
|
||||
if {$browser eq {}} {
|
||||
if {[is_MacOSX]} {
|
||||
set browser open
|
||||
} elseif {[is_Cygwin]} {
|
||||
set program_files [file dirname [exec cygpath --windir]]
|
||||
set program_files [file join $program_files {Program Files}]
|
||||
set firefox [file join $program_files {Mozilla Firefox} firefox.exe]
|
||||
set ie [file join $program_files {Internet Explorer} IEXPLORE.EXE]
|
||||
if {[file exists $firefox]} {
|
||||
set browser $firefox
|
||||
} elseif {[file exists $ie]} {
|
||||
set browser $ie
|
||||
}
|
||||
unset program_files firefox ie
|
||||
}
|
||||
}
|
||||
|
||||
if {[file isfile $doc_path]} {
|
||||
set doc_url "file:$doc_path"
|
||||
} else {
|
||||
set doc_url {http://www.kernel.org/pub/software/scm/git/docs/}
|
||||
}
|
||||
|
||||
if {$browser ne {}} {
|
||||
.mbar.help add command -label [mc "Online Documentation"] \
|
||||
-command [list exec $browser $doc_url &]
|
||||
proc start_browser {url} {
|
||||
git "web--browse" $url
|
||||
}
|
||||
unset browser doc_path doc_url
|
||||
|
||||
.mbar.help add command -label [mc "Online Documentation"] \
|
||||
-command [list start_browser $doc_url]
|
||||
unset doc_path doc_url
|
||||
|
||||
# -- Standard bindings
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user