Problem with workingsets and temporary area switching

David Nolden zwabel at googlemail.com
Mon Nov 30 08:20:29 UTC 2009


Am Montag 30 November 2009 01:46:28 schrieb Alexander Dymo:
> Currently when working set is loaded, the workingset controller switches
>  area to another one temporarily, modifies the old area (loads views into
>  it) and then switches back.
> 
> This leads to several problems:
> 1) mainwindow flicker when you open your first tab (flickering is due to
>  area switching)
> 2) opening the first tab is slow
> 3) current file isn't focused after startup (not 100% sure that is caused
>  by temporary area switching, but can't find other reasons)
> 4) this is all broken if just one area exists in kdevelop
> 
> First problem was severe enough for me to start looking at this.
> 
> But svn log says that this switching was done on purpose to
> - work well with split views that might already exist in the area
> - do not let the user observe documents slowly loading
> 
> David, are there any things I need to think about while fixing this?

I'd rather propose to make area-switching not flicker first, then you'd solve 
two problems at the same time ;-)

From what I remember yes, this 'temporary' switch is mainly done so that the 
whole area content can be 'built up' in the background without the user 
noticing it, instead of first seeing the documents disappear one by one, and 
then seeing them reappear one by one. Also there were problems with split-
views, but I don't remember those exactly.

One issue to look at is the connection between the working-set controller and 
the area. Usually each working-set 'watches' the areas where it is active, and 
when a view is added/removed in one area, then it updates itself, and also 
updates the other areas so they contain the document as well. It must be made 
sure that during working-set switching the working-sets stop listening at the 
changes in the area, which works ok currently.

Greetings, David




More information about the KDevelop-devel mailing list