KXMLGUI question
Christoph Cullmann
crossfire at babylon2k.de
Sun Apr 21 16:36:29 BST 2002
On Sunday 21 April 2002 16:56, Ellis Whitehead wrote:
> On Sunday 21 April 2002 08:23, Christoph Cullmann wrote:
> > but only the icons in the menus/toolbars get
> > the new actions, the shortcuts always be the shortcuts of the last
> > created Kate::view. even after removeClient :(.
>
> Could you explain exactly what you mean by "last create Kate::view"? It
> sounds like you're saying the following: Let's say we have View A, B, and
> C, with bindings A, B, and C. When we first activate View A, presumably
> the Bindings A are also active. But then we create/activate View B, and
> Bindings A are still active. Now we create/activate View C and ... are
> Binding B now active? Or Bindings A?
>
> View Binding
> A A
> B A?
> C B?
Wait, try to explain it my way ;) (as I don'T really know what your stuff
means, too ;)
(starting with no active views)
1. we create a view A (A will be added to the guifactory)
-> working shortcuts for B
2. we create a second view B (B added to guifactory, A removed from
guifactory)
-> working shortcuts for B
3. we change from view B to view A (A added to guifactory, B removed from
guifactory)
-> bindings of B will still be used by the shortcuts, error, if you hit for
example CTRL-X the stuff will be cut from view B !
4. we create a new view C (C added to guifactory, A removed from guifactory)
-> working shortcuts for C
5. we change from view C to any other view (other view added to guifactory, C
removed from guifactory)
-> bindings of C will still be used by the shortcuts, error, if you hit for
example CTRL-X the stuff will be cut from view C !
Code which does that on viewChange (if you create a view that is counted as
viewchange too, as the newly created view will become active):
// was there allready a activeView
if (activeView)
guiFactory()->removeClient (activeView);
// set new active View
activeView = view;
// add the new view to the factory
if (activeView)
guiFactory ()->addClient( activeView );
Is that a better example ?
cu
Christoph
--
Christoph "Crossfire" Cullmann
Kate/KDE developer
cullmann at kde.org
http://kate.kde.org
More information about the kde-core-devel
mailing list