diff options
Diffstat (limited to 'third_party/git/git-gui/lib/option.tcl')
-rw-r--r-- | third_party/git/git-gui/lib/option.tcl | 349 |
1 files changed, 0 insertions, 349 deletions
diff --git a/third_party/git/git-gui/lib/option.tcl b/third_party/git/git-gui/lib/option.tcl deleted file mode 100644 index e43971bfa3e0..000000000000 --- a/third_party/git/git-gui/lib/option.tcl +++ /dev/null @@ -1,349 +0,0 @@ -# git-gui options editor -# Copyright (C) 2006, 2007 Shawn Pearce - -proc config_check_encodings {} { - global repo_config_new global_config_new - - set enc $global_config_new(gui.encoding) - if {$enc eq {}} { - set global_config_new(gui.encoding) [encoding system] - } elseif {[tcl_encoding $enc] eq {}} { - error_popup [mc "Invalid global encoding '%s'" $enc] - return 0 - } - - set enc $repo_config_new(gui.encoding) - if {$enc eq {}} { - set repo_config_new(gui.encoding) [encoding system] - } elseif {[tcl_encoding $enc] eq {}} { - error_popup [mc "Invalid repo encoding '%s'" $enc] - return 0 - } - - return 1 -} - -proc save_config {} { - global default_config font_descs - global repo_config global_config system_config - global repo_config_new global_config_new - global ui_comm_spell - - foreach option $font_descs { - set name [lindex $option 0] - set font [lindex $option 1] - font configure $font \ - -family $global_config_new(gui.$font^^family) \ - -size $global_config_new(gui.$font^^size) - font configure ${font}bold \ - -family $global_config_new(gui.$font^^family) \ - -size $global_config_new(gui.$font^^size) - font configure ${font}italic \ - -family $global_config_new(gui.$font^^family) \ - -size $global_config_new(gui.$font^^size) - set global_config_new(gui.$name) [font configure $font] - unset global_config_new(gui.$font^^family) - unset global_config_new(gui.$font^^size) - } - - foreach name [array names default_config] { - set value $global_config_new($name) - if {$value ne $global_config($name)} { - if {$value eq $system_config($name)} { - catch {git config --global --unset $name} - } else { - regsub -all "\[{}\]" $value {"} value - git config --global $name $value - } - set global_config($name) $value - if {$value eq $repo_config($name)} { - catch {git config --unset $name} - set repo_config($name) $value - } - } - } - - foreach name [array names default_config] { - set value $repo_config_new($name) - if {$value ne $repo_config($name)} { - if {$value eq $global_config($name)} { - catch {git config --unset $name} - } else { - regsub -all "\[{}\]" $value {"} value - git config $name $value - } - set repo_config($name) $value - } - } - - if {[info exists repo_config(gui.spellingdictionary)]} { - set value $repo_config(gui.spellingdictionary) - if {$value eq {none}} { - if {[info exists ui_comm_spell]} { - $ui_comm_spell stop - } - } elseif {[info exists ui_comm_spell]} { - $ui_comm_spell lang $value - } - } -} - -proc do_options {} { - global repo_config global_config font_descs - global repo_config_new global_config_new - global ui_comm_spell use_ttk NS - - array unset repo_config_new - array unset global_config_new - foreach name [array names repo_config] { - set repo_config_new($name) $repo_config($name) - } - load_config 1 - foreach name [array names repo_config] { - switch -- $name { - gui.diffcontext {continue} - } - set repo_config_new($name) $repo_config($name) - } - foreach name [array names global_config] { - set global_config_new($name) $global_config($name) - } - - set w .options_editor - Dialog $w - wm withdraw $w - wm transient $w [winfo parent $w] - wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - - ${NS}::frame $w.buttons - ${NS}::button $w.buttons.restore -text [mc "Restore Defaults"] \ - -default normal \ - -command do_restore_defaults - pack $w.buttons.restore -side left - ${NS}::button $w.buttons.save -text [mc Save] \ - -default active \ - -command [list do_save_config $w] - pack $w.buttons.save -side right - ${NS}::button $w.buttons.cancel -text [mc "Cancel"] \ - -default normal \ - -command [list destroy $w] - pack $w.buttons.cancel -side right -padx 5 - pack $w.buttons -side bottom -fill x -pady 10 -padx 10 - - ${NS}::labelframe $w.repo -text [mc "%s Repository" [reponame]] - ${NS}::labelframe $w.global -text [mc "Global (All Repositories)"] - pack $w.repo -side left -fill both -expand 1 -pady 5 -padx 5 - pack $w.global -side right -fill both -expand 1 -pady 5 -padx 5 - - set optid 0 - foreach option { - {t user.name {mc "User Name"}} - {t user.email {mc "Email Address"}} - - {b merge.summary {mc "Summarize Merge Commits"}} - {i-1..5 merge.verbosity {mc "Merge Verbosity"}} - {b merge.diffstat {mc "Show Diffstat After Merge"}} - {t merge.tool {mc "Use Merge Tool"}} - - {b gui.trustmtime {mc "Trust File Modification Timestamps"}} - {b gui.pruneduringfetch {mc "Prune Tracking Branches During Fetch"}} - {b gui.matchtrackingbranch {mc "Match Tracking Branches"}} - {b gui.textconv {mc "Use Textconv For Diffs and Blames"}} - {b gui.fastcopyblame {mc "Blame Copy Only On Changed Files"}} - {i-0..100 gui.maxrecentrepo {mc "Maximum Length of Recent Repositories List"}} - {i-20..200 gui.copyblamethreshold {mc "Minimum Letters To Blame Copy On"}} - {i-0..300 gui.blamehistoryctx {mc "Blame History Context Radius (days)"}} - {i-1..99 gui.diffcontext {mc "Number of Diff Context Lines"}} - {t gui.diffopts {mc "Additional Diff Parameters"}} - {i-0..99 gui.commitmsgwidth {mc "Commit Message Text Width"}} - {t gui.newbranchtemplate {mc "New Branch Name Template"}} - {c gui.encoding {mc "Default File Contents Encoding"}} - {b gui.warndetachedcommit {mc "Warn before committing to a detached head"}} - {s gui.stageuntracked {mc "Staging of untracked files"} {list "yes" "no" "ask"}} - {b gui.displayuntracked {mc "Show untracked files"}} - {i-1..99 gui.tabsize {mc "Tab spacing"}} - } { - set type [lindex $option 0] - set name [lindex $option 1] - set text [eval [lindex $option 2]] - incr optid - foreach f {repo global} { - switch -glob -- $type { - b { - ${NS}::checkbutton $w.$f.$optid -text $text \ - -variable ${f}_config_new($name) \ - -onvalue true \ - -offvalue false - pack $w.$f.$optid -side top -anchor w - } - i-* { - regexp -- {-(\d+)\.\.(\d+)$} $type _junk min max - ${NS}::frame $w.$f.$optid - ${NS}::label $w.$f.$optid.l -text [mc "%s:" $text] - pack $w.$f.$optid.l -side left -anchor w -fill x - tspinbox $w.$f.$optid.v \ - -textvariable ${f}_config_new($name) \ - -from $min \ - -to $max \ - -increment 1 \ - -width [expr {1 + [string length $max]}] - bind $w.$f.$optid.v <FocusIn> {%W selection range 0 end} - pack $w.$f.$optid.v -side right -anchor e -padx 5 - pack $w.$f.$optid -side top -anchor w -fill x - } - c - - t { - ${NS}::frame $w.$f.$optid - ${NS}::label $w.$f.$optid.l -text [mc "%s:" $text] - ${NS}::entry $w.$f.$optid.v \ - -width 20 \ - -textvariable ${f}_config_new($name) - pack $w.$f.$optid.l -side left -anchor w - pack $w.$f.$optid.v -side left -anchor w \ - -fill x -expand 1 \ - -padx 5 - if {$type eq {c}} { - menu $w.$f.$optid.m - build_encoding_menu $w.$f.$optid.m \ - [list set ${f}_config_new($name)] 1 - ${NS}::button $w.$f.$optid.b \ - -text [mc "Change"] \ - -command [list popup_btn_menu \ - $w.$f.$optid.m $w.$f.$optid.b] - pack $w.$f.$optid.b -side left -anchor w - } - pack $w.$f.$optid -side top -anchor w -fill x - } - s { - set opts [eval [lindex $option 3]] - ${NS}::frame $w.$f.$optid - ${NS}::label $w.$f.$optid.l -text [mc "%s:" $text] - if {$use_ttk} { - ttk::combobox $w.$f.$optid.v \ - -textvariable ${f}_config_new($name) \ - -values $opts -state readonly - } else { - eval tk_optionMenu $w.$f.$optid.v \ - ${f}_config_new($name) \ - $opts - } - pack $w.$f.$optid.l -side left -anchor w -fill x - pack $w.$f.$optid.v -side right -anchor e -padx 5 - pack $w.$f.$optid -side top -anchor w -fill x - } - } - } - } - - set all_dicts [linsert \ - [spellcheck::available_langs] \ - 0 \ - none] - incr optid - foreach f {repo global} { - if {![info exists ${f}_config_new(gui.spellingdictionary)]} { - if {[info exists ui_comm_spell]} { - set value [$ui_comm_spell lang] - } else { - set value none - } - set ${f}_config_new(gui.spellingdictionary) $value - } - - ${NS}::frame $w.$f.$optid - ${NS}::label $w.$f.$optid.l -text [mc "Spelling Dictionary:"] - if {$use_ttk} { - ttk::combobox $w.$f.$optid.v \ - -textvariable ${f}_config_new(gui.spellingdictionary) \ - -values $all_dicts -state readonly - } else { - eval tk_optionMenu $w.$f.$optid.v \ - ${f}_config_new(gui.spellingdictionary) \ - $all_dicts - } - pack $w.$f.$optid.l -side left -anchor w -fill x - pack $w.$f.$optid.v -side right -anchor e -padx 5 - pack $w.$f.$optid -side top -anchor w -fill x - } - unset all_dicts - - set all_fonts [lsort [font families]] - foreach option $font_descs { - set name [lindex $option 0] - set font [lindex $option 1] - set text [eval [lindex $option 2]] - - set global_config_new(gui.$font^^family) \ - [font configure $font -family] - set global_config_new(gui.$font^^size) \ - [font configure $font -size] - - ${NS}::frame $w.global.$name - ${NS}::label $w.global.$name.l -text [mc "%s:" $text] - ${NS}::button $w.global.$name.b \ - -text [mc "Change Font"] \ - -command [list \ - tchoosefont \ - $w \ - [mc "Choose %s" $text] \ - global_config_new(gui.$font^^family) \ - global_config_new(gui.$font^^size) \ - ] - ${NS}::label $w.global.$name.f -textvariable global_config_new(gui.$font^^family) - ${NS}::label $w.global.$name.s -textvariable global_config_new(gui.$font^^size) - ${NS}::label $w.global.$name.pt -text [mc "pt."] - pack $w.global.$name.l -side left -anchor w - pack $w.global.$name.b -side right -anchor e - pack $w.global.$name.pt -side right -anchor w - pack $w.global.$name.s -side right -anchor w - pack $w.global.$name.f -side right -anchor w - pack $w.global.$name -side top -anchor w -fill x - } - - bind $w <Visibility> "grab $w; focus $w.buttons.save" - bind $w <Key-Escape> "destroy $w" - bind $w <Key-Return> [list do_save_config $w] - - if {[is_MacOSX]} { - set t [mc "Preferences"] - } else { - set t [mc "Options"] - } - wm title $w "[appname] ([reponame]): $t" - wm deiconify $w - tkwait window $w -} - -proc do_restore_defaults {} { - global font_descs default_config repo_config system_config - global repo_config_new global_config_new - - foreach name [array names default_config] { - set repo_config_new($name) $system_config($name) - set global_config_new($name) $system_config($name) - } - - foreach option $font_descs { - set name [lindex $option 0] - set repo_config(gui.$name) $system_config(gui.$name) - } - apply_config - - foreach option $font_descs { - set name [lindex $option 0] - set font [lindex $option 1] - set global_config_new(gui.$font^^family) \ - [font configure $font -family] - set global_config_new(gui.$font^^size) \ - [font configure $font -size] - } -} - -proc do_save_config {w} { - if {![config_check_encodings]} return - if {[catch {save_config} err]} { - error_popup [strcat [mc "Failed to completely save options:"] "\n\n$err"] - } - reshow_diff - destroy $w -} |