Dockwidgets - Only one per Area? (= Left, Right, Top, Bottom)

Andreas Pakulat apaku at gmx.de
Thu Oct 29 09:16:03 UTC 2009


On 29.10.09 00:14:26, Milian Wolff wrote:
> On Wednesday 28 October 2009 22:36:46 Milian Wolff wrote:
> > Hey all!
> > 
> > I finally found the cause for an issue that bugs me personally a lot:
> > 
> > The menu "View -> Tool Views" cannot hide currently shown dock widgets,
> >  i.e. it does not toggle, but only activate. This makes it pretty useless
> >  IMO.
> > 
> > The problem is that the actions have a QActionCollection associated, which
> >  has setExclusive() set. Under that condition, Qt refuses to toggle actions
> >  (see documentation).
> 
> ... <snip> ...
> 
> > My question is now: How should I proceed? Fix the menu (== remove the
> >  action collection), and introduce some code to Ideal that makes sure that
> >  only one dock widget is shown at the same time?
> > 
> > Of course I don't want to make the changes too big before beta6...
> 
> Have committed a small fix that makes the menu usable and lets the current 
> behavior stay, i.e. only one visible dock widget per bar.

So can we now more easily have separators in the toolviews submenu? And
also radio-buttons so its more obvious that you can select one from a list
of x between two separators? There's a bugreport open for that, but I
didn't want to remove the action collection when I looked at the code back
then. Mostly this was because I couldn't see what other side-effects it
might have if I drop the collection.

> Still, I'd like to know whether one should be possible to have multiple (imo 
> would make sense).

The plan was to allow merging similar to QMainWindows implementation for
toolviews/dockwidgets. That is allow splitting of the left/right/top/bottom
area with splitters. And inside these again have a new tabbar (i.e. our
toolbuttons). And obviously at that point we will need drag'n'drop support
too for the toolviews.

Andreas
 
-- 
You'll wish that you had done some of the hard things when they were easier
to do.




More information about the KDevelop-devel mailing list