Code

git-gui: Refactor current branch menu items to make i18n easier
authorShawn O. Pearce <spearce@spearce.org>
Mon, 23 Jul 2007 05:11:08 +0000 (01:11 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 23 Jul 2007 05:11:08 +0000 (01:11 -0400)
The i18n team has also identified a rather ugly block of code in
git-gui that is used to make a pair of Repository menu items show
the current branch name.  This code is difficult to convert to use
[mc ...] to lookup the translation, so I'm refactoring it into a
procedure.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui.sh

index 2912872d2e81e0f5dfb6a5b9a8a8920d28a87c01..a38293a347d12bf717c0e02638e465d9efc06c4c 100755 (executable)
@@ -1682,7 +1682,7 @@ menu .mbar.repository
 .mbar.repository add command \
        -label {Browse Current Branch's Files} \
        -command {browser::new $current_branch}
-trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Browse \$current_branch's Files\" ;#"
+set ui_browse_current [.mbar.repository index last]
 .mbar.repository add command \
        -label {Browse Branch Files...} \
        -command browser_open::dialog
@@ -1691,12 +1691,21 @@ trace add variable current_branch write ".mbar.repository entryconf [.mbar.repos
 .mbar.repository add command \
        -label {Visualize Current Branch's History} \
        -command {do_gitk $current_branch}
-trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Visualize \$current_branch's History\" ;#"
+set ui_visualize_current [.mbar.repository index last]
 .mbar.repository add command \
        -label {Visualize All Branch History} \
        -command {do_gitk --all}
 .mbar.repository add separator
 
+proc current_branch_write {args} {
+       global current_branch
+       .mbar.repository entryconf $::ui_browse_current \
+               -label "Browse $current_branch's Files"
+       .mbar.repository entryconf $::ui_visualize_current \
+               -label "Visualize $current_branch's History"
+}
+trace add variable current_branch write current_branch_write
+
 if {[is_enabled multicommit]} {
        .mbar.repository add command -label {Database Statistics} \
                -command do_stats