Comment 2 for bug 1680350

Revision history for this message
Adam Reichold (adamreichold) wrote :

Hello Avner,

thank you for your suggestion and code contribution. Also, I am sorry for taking so long to reply to your report, but I wanted to try out a few approaches to this before answering.

As you say, the patch is a proof of concept implementation that cannot be merged as-is. After reviewing your use case and remembering a few other wishlist bugs from the past, I think it would be better if we implemented a split view feature to facilitate proof reading documents with or without synchronized navigation. Having both document visible at once should make this particular task much easier and the parallel navigation feature can then be implemented by directly connecting signals and slots from the two views of a split with each other.

The linked branch add-split-view contains another proof of concept implementation, albeit one that does not affect the normal usage of the application. It adds two configurable actions to the main view and tab context menus called splitViewHorizontally and splitViewVertically, i.e. they have to be added to these menus using the "Interface" tab of the settings dialog. Using these, a single main view can be split into several views which use parallel navigation if the "Synchronize split views" setting is enabled (which is the default). Theoretically, this can be nested, but if have not really tested this until now.

Apropos testing, please try out this branch and determine whether it helps your use case. Also note that there are certainly a lot of places where the UI does not work as expected, e.g. restoring closed tabs is not possible for split views and a split view stays a split view even if the second view is closed. Also restoring tabs looses the splitting relationships. But they should not impede any existing functionality or work using the feature for proof reading. Also I would be glad if you could for any bugs, i.e. program crashes and blocking inconsistencies with or without using the feature.

As it is, the necessary code changes are quite minimal but also pretty invasive, so I am not yet sure whether I would merge this before releasing 0.4.17 or not...

Best regards, Adam.