-
Currently if a user opens multiple file diffs at the same time from a DirDiff or VcView the following happens: - the 1st diff is opened in a new tab and focus is moved to this tab - the 2nd diff is opened in a new tab and focus is moved to this tab - the 3rd diff is opened in a new tab and focus is moved to this tab - etc... This behavior has 2 shortcomings: 1. The user is presented with a window that cycles focus through multiple diff tabs which is visually jarring. 2. During this period of time when tabs are being cycled through the user can't interact with Meld - the focus shifts too fast to allow the user to do anything. This is especially painful if the user initiates a large number of diffs, the diffs are on a slow filesystem (eg over a slow NFS share), or if the diffs are of version-controlled files (VC-diffs have more overhead, which slows them down). To resolve these issues, only transfer focus to a new tab if the current tab is a DirDiff or VcView. This results in the following behavior: - the 1st diff is opened in a new tab and focus is moved to this tab - the 2nd diff is opened in a new background tab - the 3rd diff is opened in a new background tab - etc... While the background tabs are being opened Meld is still usable. Signed-off-by: Peter Tyser <ptyser@gmail.com>
2bbeda64