Fix document switcher plugin with multiple splitted view.
Needs ReviewPublic

Authored by tristanp on Sat, Oct 5, 5:22 PM.


Group Reviewers

In differential D20548 an issue with document switcher plugin and
splitted views is described.
The solution is to open/activate document instead of activating
view (aka Sublime::View) as view are linked to area (aka Sublime::Area)
and will show again in same area instead of current active area.

But the differential solution was trying to retrieve the document
from activated view which is not the perfect way as it must handle
Sublime::UrlDocument to have a url for openDocument function.

This patch use the document controller (aka IDocumentController)
instead of sublime components.

The plugin tracks a list of document (aka IDocument) and
enables signals for open/activate/close actions.
Every document is placed in list model via DocumentSwitcherItem
class responsible of extracting text and icon from a document
passed in its constructor.

Without dependency to sublime, the plugin structure is
simplified by not taking care about active main window, active
area, and views. Only documents are tracking independently of the
way they are displayed in UI.

Diff Detail

R32 KDevelop
No Linters Available
No Unit Test Coverage
Build Status
Buildable 17346
Build 17364: arc lint + arc unit
tristanp created this revision.Sat, Oct 5, 5:22 PM
Restricted Application added a project: KDevelop. · View Herald TranscriptSat, Oct 5, 5:22 PM
Restricted Application added a subscriber: kdevelop-devel. · View Herald Transcript
tristanp requested review of this revision.Sat, Oct 5, 5:22 PM
tristanp added a comment.EditedSat, Oct 5, 5:36 PM

With the patch :

Without :

Note that even if the left area is selected documents are switched only in right area.