Using KConfig XT/KConfigDialogManager with "compound" dialogs

Benjamin Meyer ben at meyerhome.net
Sun May 1 21:11:50 BST 2005


On Sunday 01 May 2005 2:47 am, Shaheed wrote:
> Hi,
>
> I'm having a bit of trouble working out how to use KConfig XT with
> KConfigDialogManager, in the case where the actual dialog pages are
> dynamically built up from a fixed set of tabs plus a run-time generated set
> of tabs.
>
> The specific case is kdemultimedia/kioslave/audiocd/kcmaudiocd. Here, I
> recently converted the fixed tabs to KConfigXT, and the per-encoder tabs
> (which already used KConfigXT) are added at run time depending on what the
> user has available. The net result is that the complete audiocd KCM module
> is represented by upto three rc files:
>
>     kcmaudiocdrc
>     kcmaudiocd_encoder_lame_rc
>     kcmaudiocd_encoder_vorbis_rc
>
> I then tried adding this to the settings dialog  in kscd like this (error
> handling removed for clarity):
>
>     KService::Ptr audiocd = KService::serviceByDesktopName("audiocd");
>     KCModuleInfo info(audiocd->desktopEntryPath());
>     KCModule *m = KCModuleLoader::loadModule(info, KCModuleLoader::Inline);
>     KConfigSkeleton *cfg = new KConfigSkeleton(QString::fromLatin1
> ("kcmaudiocdrc"));
>     configDialog->addPage(m, cfg, i18n("CD Audio"), "audiocd", i18n("CD
> Audio Configuration"));
>
> Notice first that I only get to refer to one of the rc files. But even
> given the one I specified, I get this warning followed by an assertion on
> the following line 219:
>
> kdecore (KConfigDialogManager): WARNING: A widget named 'kcfg_replaceInput'
> was found but there is no setting named 'replaceInput'
> kscd: /home/srhaque/kdecvs/kdelibs/kdecore/kconfigdialogmanager.cpp:219:
> bool KConfigDialogManager::parseChildren(const QWidget*, bool): Assertion
> `false' failed.
>
> Firstly, what am I doing wrong with the config for the fixed tabs?
> Secondly, is there any way to make the dynamic tabs work since I have no
> way to specify the extra rc files?
>
> Thanks, Shaheed

I was actually planning on simplifying this whole page to not have tabs (which 
would remove the problem) for 3.5 similar to what KAudioCreator has.

-Benjamin Meyer

-- 
aka icefox
Public Key: http://www.icefox.net/public_key.asc




More information about the kde-core-devel mailing list