Confusion about the plugins loading procedure of Kontact.

Kun Xi bookstack at gmail.com
Sat Jul 30 21:47:17 CEST 2005


Hello mentors,

I know what is the problem:

Since I have installed the kdepim-3.4.1 to /usr/kde/3.4; and I
installed the soc-kontact-scripting to /opt/kde. When the kontact
lauched to load other parts,
it may load the library from 3.4.1 instead of scripting.

I would like to check how to override the library path in KDE for a
while, if not,
take the quick and dirty solution: uninstall the kdepim-3.4.1.

Best regards.

Kun Xi


On 7/29/05, Kun Xi <bookstack at gmail.com> wrote:
> Hello mentors,
> 
> Last night, I just refactored the KPIM::ScriptManager to a singleton
> class just as KPIM::KJSEngine. The motivation is since all plugins are
> loaded as shared library, they share the same address space. If there
> is only one scriptManager, then all the scripts in the apps/scripts
> would be added to the menu item. Then I modified the code in
> KAddessBook and Kontact, the stand-alone applications work well.
> 
> However, this does not work for kontact and kaddressbook integration.
> Only the scripts in kontact/scripts are discovered. I copied the
> foo.desktop, foo.js from kaddressbook/scripts to kontact/scripts and
> this time, the kaddressbook script is in the menu, it is supposed to
> popup a New Contact dialog. But there is no response at all.
> 
> Then I check the output of the kontact:
> ========================== snippet starts ============================
> kontact (interfaces): Core::createPart(): libkmailpart
> kontact (interfaces): Creating new KPart
> kmail: KMailPart()
> kmail:   InstanceName: kontact
> kmail: KMailPart()...
> kmail:   InstanceName: kontact
> kontact (core): Part activated: 0x82cff88 with stack id. 3
> kmail: KMailPart::guiActivateEvent
> kontact: WARNING: addBindingsClass() KJSEmbed::KJSEmbedPart not known
> kontact: WARNING: addBindingsClass() KJSEmbed::Bindings::Config not known
> kjsembed: WARNING: findSignature: not supported type
> selectPlugin(Kontact::Plugin*)
> kontact: WARNING: addBindingsClass() Kontact::MainWindow not known
> kontact (core): Loading Add-on: Select Note
> kontact (core): Loading Add-on: New Contact
> bookstack at gentoo ~/work/soc-kdepim-scripting/kontact $ kontact
> (interfaces): Core::createPart(): libkaddressbookpart
> kontact (interfaces): Creating new KPart
> libkdepim: KPimPrefs::usrReadConfig()
> kontact (core): Part activated: 0x85956c0 with stack id. 6
> kmail: KMailPart::guiActivateEvent
> kaddressbook: KAddressbookPart::guiActivateEvent
> libkdepim: KPimPrefs::usrReadConfig()
> libkdepim: KPimPrefs::usrReadConfig()
> libkdepim: KPimPrefs::usrReadConfig()
> ========================== snippet ends ============================
> 
> The default part is kmail. When I clicked the Contacts, there are no
> output from the KABCore. Since kaddressbook_part would new a KABCore,
> in KABCore' s constructor, it is supposed to output more information.
> I wonder whether the kdDebug is re-directed to some other place, or
> the KABCore::KABCore is not called.
> 
> Any idea?
> 
> Thanks.
> 
> Best regards.
> 
> Kun Xi
>


More information about the Kde-soc mailing list