summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 7f09cfa)
raw | patch | inline | side by side (parent: 7f09cfa)
author | Shawn O. Pearce <spearce@spearce.org> | |
Mon, 13 Nov 2006 02:11:12 +0000 (21:11 -0500) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Mon, 13 Nov 2006 05:10:40 +0000 (00:10 -0500) |
There's a lot of reasons why the user might need to obtain the
complete (or just part of) path of a file which they are currently
viewing in the diff viewer pane. So now we allow selection on this
widget by using a text widget instead of a label. We also offer a
context menu which has actions for copying the selection or the entire
value onto the clipboard.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
complete (or just part of) path of a file which they are currently
viewing in the diff viewer pane. So now we allow selection on this
widget by using a text widget instead of a label. We also offer a
context menu which has actions for copying the selection or the entire
value onto the clipboard.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui | patch | blob | history |
index 7e28328cf0d5eca0d5c3085954e5bff5c135594f..1e5b0d049d069f68fe63c53d8c52255ef2cce04b 100755 (executable)
--- a/git-gui
+++ b/git-gui
set m [lindex $s 0]
set diff_3way 0
set diff_active 1
- set ui_fname_value [escape_path $path]
+ set ui_fname_value $path
set ui_fstatus_value [mapdesc $m $path]
set ui_status_value "Loading diff of [escape_path $path]..."
label .vpane.lower.diff.header.l1 -text {File:} \
-background orange \
-font font_ui
-label .vpane.lower.diff.header.l2 -textvariable ui_fname_value \
+set ui_fname .vpane.lower.diff.header.l2
+text $ui_fname \
-background orange \
- -anchor w \
- -justify left \
+ -height 1 \
+ -relief flat \
+ -state disabled \
-font font_ui
+menu $ui_fname.ctxm -tearoff 0
+$ui_fname.ctxm add command -label "Copy Only Selection" \
+ -font font_ui \
+ -command "tk_textCopy $ui_fname"
+$ui_fname.ctxm add command -label "Copy Complete Name" \
+ -font font_ui \
+ -command "
+ $ui_fname tag add sel 0.0 {end -1c}
+ tk_textCopy $ui_fname
+ $ui_fname tag remove sel 0.0 end
+ "
+bind_button3 $ui_fname "tk_popup $ui_fname.ctxm %X %Y"
+trace add variable ui_fname_value write $ui_fname.update
+proc $ui_fname.update {varname args} {
+ global ui_fname ui_fname_value
+ $ui_fname configure -state normal
+ $ui_fname delete 0.0 end
+ $ui_fname insert end [escape_path $ui_fname_value]
+ $ui_fname configure -state disabled
+}
label .vpane.lower.diff.header.l3 -text {Status:} \
-background orange \
-font font_ui