+proc pushContinue {} {
+ global push_canceled
+ set push_canceled = 0
+ destroy .gitLogWindow
+}
+
+proc pushCancel {} {
+ global push_canceled
+ set push_canceled 1
+ destroy .gitLogWindow
+}
+
+
+# git log output window
+proc get_git_log {} {
+ global log_text
+ toplevel .gitLogWindow
+ frame .gitLogWindow.messageFrame
+
+
+ text .gitLogWindow.messageFrame.message_body \
+ -xscrollcommand [list .gitLogWindow.messageFrame.horizontal set] \
+ -yscrollcommand [list .gitLogWindow.messageFrame.vertical set] \
+ -width 60 -height 10 -relief solid -border 2 -wrap none
+ scrollbar .gitLogWindow.messageFrame.horizontal -orient h -command [list .gitLogWindow.messageFrame.message_body xview]
+ scrollbar .gitLogWindow.messageFrame.vertical -orient v -command [list .gitLogWindow.messageFrame.message_body yview]
+
+ frame .gitLogWindow.messageFrame.leftFrame
+ label .gitLogWindow.messageFrame.leftFrame.label \
+ -text "Log of commits in push:"
+ button .gitLogWindow.messageFrame.leftFrame.ok \
+ -text Continue -default active -command pushContinue
+ button .gitLogWindow.messageFrame.leftFrame.cancel -text Cancel -default active \
+ -command pushCancel
+ wm withdraw .gitLogWindow
+ wm title .gitLogWindow "Commits to be pushed"
+
+ pack .gitLogWindow.messageFrame.leftFrame.label
+ pack .gitLogWindow.messageFrame.leftFrame.ok
+ pack .gitLogWindow.messageFrame.leftFrame.cancel
+
+ pack .gitLogWindow.messageFrame.leftFrame -side left
+
+ pack .gitLogWindow.messageFrame.horizontal -side bottom -fill x
+ pack .gitLogWindow.messageFrame.vertical -side right -fill y
+ pack .gitLogWindow.messageFrame.message_body -expand true -anchor nw -fill both
+ pack .gitLogWindow.messageFrame
+
+ wm transient .gitLogWindow .
+ wm deiconify .gitLogWindow
+ .gitLogWindow.messageFrame.message_body insert insert $log_text
+}
+