[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: Writing KParts plugins
From: Richard Moore <rich () ipso-facto ! freeserve ! co ! uk>
Date: 2000-07-03 8:18:26
[Download RAW message or body]
Simon Hausmann wrote:
>
> On Sun, 2 Jul 2000, David Faure wrote:
>
> > On Sun, Jul 02, 2000 at 03:54:16PM +0100, Richard Moore wrote:
> > >
> > >
> > > David Faure wrote:
> > > >
> > > > > For instance I cannot see how to write a plugin that adds a page to
> > > > > a properties dialog
> > > > That's more Simon's stuff, but look in koffice/lib/kofficecore/koDocInfoPropsPage or so,
> > > > for an example.
> > >
> > > Does that apply to Konqueror as well as to KOffice stuff?
> >
> > Hmm ? The properties dialog is something completely separate,
> > and defined in kdelibs/kfile/kpropsdlg.*
> > Simon would be able to tell more, but AFAIK the properties dialog queries
> > for services that implement a given service type ('properties dialog page' or something)
> > for the mimetype of the file, and if found, it will create the additionnal pages
> > for it (with a factory, you guessed it).
> > This has in fact nothing to do with KParts plugins at all.
>
> Yep..
>
> All you need to do is to make your KLibFactory based shlib export a
> KPropsPage, create a service .desktop file for your properties dialog
> plugin and make it implement the KPropsDlg/Plugin servicetype and a
> mimetype. Then you'll get the KPropertiesDialog as parent object for your
> KPropsPage object. You can then use the dialog() method of
> KPropertiesDialog to get a reference to the KDialogBase and then call
> addPage to insert your tabs (note the plural :) . Also make sure to emit
> the changed() signal whenever the user edited something in your
> tabwidgets, in order to make KPropsDlg properly call applyChanges() when
> the user presses apply. (-> applyChanges is called on on those plugins
> that emitted the signal at least once, in order to avoid unnecessary
> applyChanges() calls (->less disk traffic, etc.) .
Sounds pretty cool. :-) I'll give this a go.
>
> As David already mentioned: Have a look at the document info properties
> dialog plugin in koffice/lib/kofficecore/ :)
Will do.
Rich.
>
> Bye,
> Simon
--
Richard Moore rich@ipso-facto.freeserve.co.uk
http://www.robocast.com/ richard@robocast.com
http://developer.kde.org/ rich@kde.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic