KXMLGUI question

Christoph Cullmann crossfire at babylon2k.de
Sun Apr 21 16:57:13 BST 2002


Ah,
now my stuff is in CVS, just test it and you will see the problem 
(open some files, switch between them, use for example the copy/paste 
shortcuts ;)

On Sunday 21 April 2002 17:36, Christoph Cullmann wrote:
> 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