summaryrefslogtreecommitdiffstats
path: root/tdeutils
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-09 16:14:40 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-09 16:14:40 -0500
commit47d283876b6d291b04dab7da05c2ce1bce9e8eb3 (patch)
tree5cd42ca1205e0f7bc0ed5d3f76a60f785cffa1bd /tdeutils
parent232853179360c3d0fc3fb2dc830f02488e2b83e7 (diff)
downloadtdelibs-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.cpp8
-rw-r--r--tdeutils/tdecmoduleproxy.cpp20
-rw-r--r--tdeutils/tdecmoduleproxy.h5
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
*/