Merge git-gui 0.14.0
[gitweb.git] / git-gui / lib / index.tcl
index 0b58bd88768d38782131bfc7916f652a606e6403..5d7bbf23eddeb2ff146487b28a79feee1d296289 100644 (file)
@@ -8,26 +8,28 @@ proc _delete_indexlock {} {
 }
 
 proc _close_updateindex {fd after} {
+       global use_ttk NS
        fconfigure $fd -blocking 1
        if {[catch {close $fd} err]} {
                set w .indexfried
-               toplevel $w
+               Dialog $w
+               wm withdraw $w
                wm title $w [strcat "[appname] ([reponame]): " [mc "Index Error"]]
                wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
                set s [mc "Updating the Git index failed.  A rescan will be automatically started to resynchronize git-gui."]
                text $w.msg -yscrollcommand [list $w.vs set] \
                        -width [string length $s] -relief flat \
                        -borderwidth 0 -highlightthickness 0 \
-                       -background [$w cget -background]
+                       -background [get_bg_color $w]
                $w.msg tag configure bold -font font_uibold -justify center
-               scrollbar $w.vs -command [list $w.msg yview]
+               ${NS}::scrollbar $w.vs -command [list $w.msg yview]
                $w.msg insert end $s bold \n\n$err {}
                $w.msg configure -state disabled
 
-               button $w.continue \
+               ${NS}::button $w.continue \
                        -text [mc "Continue"] \
                        -command [list destroy $w]
-               button $w.unlock \
+               ${NS}::button $w.unlock \
                        -text [mc "Unlock Index"] \
                        -command "destroy $w; _delete_indexlock"
                grid $w.msg - $w.vs -sticky news
@@ -40,6 +42,7 @@ proc _close_updateindex {fd after} {
                        grab $w
                        focus %W
                "
+               wm deiconify $w
                tkwait window $w
 
                $::main_status stop
@@ -100,8 +103,11 @@ proc write_update_indexinfo {fd pathList totalCnt batch after} {
                set s $file_states($path)
                switch -glob -- [lindex $s 0] {
                A? {set new _O}
-               M? {set new _M}
+               MT -
+               TM -
                T_ {set new _T}
+               M? {set new _M}
+               TD -
                D_ {set new _D}
                D? {set new _?}
                ?? {continue}
@@ -164,7 +170,10 @@ proc write_update_index {fd pathList totalCnt batch after} {
                AD {set new __}
                ?D {set new D_}
                _O -
+               AT -
                AM {set new A_}
+               TM -
+               MT -
                _T {set new T_}
                _U -
                U? {
@@ -258,7 +267,7 @@ proc unstage_helper {txt paths} {
                switch -glob -- [lindex $file_states($path) 0] {
                A? -
                M? -
-               T_ -
+               T? -
                D? {
                        lappend pathList $path
                        if {$path eq $current_diff_path} {