diff options
author | Timothy Pearson <[email protected]> | 2014-10-09 16:14:40 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2014-10-09 16:14:40 -0500 |
commit | 47d283876b6d291b04dab7da05c2ce1bce9e8eb3 (patch) | |
tree | 5cd42ca1205e0f7bc0ed5d3f76a60f785cffa1bd /tdeutils | |
parent | 232853179360c3d0fc3fb2dc830f02488e2b83e7 (diff) | |
download | tdelibs-47d283876b6d291b04dab7da05c2ce1bce9e8eb3.tar.gz tdelibs-47d283876b6d291b04dab7da05c2ce1bce9e8eb3.zip |
Load proper handbook section when a TDEControl module is loaded via tdecmshell instead of kcontrol
This relates to Bug 1850
Diffstat (limited to 'tdeutils')
-rw-r--r-- | tdeutils/kcmultidialog.cpp | 8 | ||||
-rw-r--r-- | tdeutils/tdecmoduleproxy.cpp | 20 | ||||
-rw-r--r-- | tdeutils/tdecmoduleproxy.h | 5 |
3 files changed, 28 insertions, 5 deletions
diff --git a/tdeutils/kcmultidialog.cpp b/tdeutils/kcmultidialog.cpp index 6a074040b..0ba07fe6b 100644 --- a/tdeutils/kcmultidialog.cpp +++ b/tdeutils/kcmultidialog.cpp @@ -186,12 +186,18 @@ void KCMultiDialog::slotHelp() int curPageIndex = activePageIndex(); ModuleList::Iterator end = m_modules.end(); - for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it ) + for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it ) { if( pageIndex( ( TQWidget * )( *it ).kcm->parent() ) == curPageIndex ) { docPath = ( *it ).kcm->moduleInfo().docPath(); + TDECModuleProxy * m = ( *it ).kcm; + TQString section = m->handbookSection(); + if (section != "") { + docPath = TQString( "%1#%2" ).arg( docPath ).arg( section ); + } break; } + } KURL url( KURL("help:/"), docPath ); diff --git a/tdeutils/tdecmoduleproxy.cpp b/tdeutils/tdecmoduleproxy.cpp index eeac43b02..f1c91e414 100644 --- a/tdeutils/tdecmoduleproxy.cpp +++ b/tdeutils/tdecmoduleproxy.cpp @@ -588,14 +588,26 @@ TQString TDECModuleProxy::quickHelp() const const TDEAboutData * TDECModuleProxy::aboutData() const { - if( !d->rootMode ) + if( !d->rootMode ) { return realModule() ? realModule()->aboutData() : 0; - else - /* This needs fixing, perhaps cache a TDEAboutData copy + } + else { + /* This needs fixing, perhaps cache a TDEAboutData copy * while in root mode? */ return 0; - + } +} +TQString TDECModuleProxy::handbookSection() const +{ + if( !d->rootMode ) { + return realModule() ? realModule()->handbookSection() : TQString::null; + } + else { + /* This needs fixing, perhaps cache a TDEAboutData copy + * while in root mode? */ + return TQString::null; + } } int TDECModuleProxy::buttons() const diff --git a/tdeutils/tdecmoduleproxy.h b/tdeutils/tdecmoduleproxy.h index 728404f1a..3d2b1ca82 100644 --- a/tdeutils/tdecmoduleproxy.h +++ b/tdeutils/tdecmoduleproxy.h @@ -158,6 +158,11 @@ public: const TDEAboutData * aboutData() const; /** + * @return the module's handbookSection() + */ + TQString handbookSection() const; + + /** * @return what buttons the module * needs */ |