Branch: master

9a6735bb 2014-10-09 22:06:23 Timothy Pearson
Add handbookSection method to TDECModuleContainer
This relates to Bug 1850
M tdeutils/tdecmodulecontainer.cpp
M tdeutils/tdecmodulecontainer.h
diff --git a/tdeutils/tdecmodulecontainer.cpp b/tdeutils/tdecmodulecontainer.cpp
index 004ceb7..2df7a04 100644
--- a/tdeutils/tdecmodulecontainer.cpp
+++ b/tdeutils/tdecmodulecontainer.cpp
@@ -60,6 +60,7 @@
 		KPushButton *btnRootMode;
 		TQHBoxLayout *btnLayout;
 		TQVBoxLayout *topLayout;
+		TQString handbookSection;
 
 
 };
@@ -134,10 +135,14 @@
 		return;
 	}
 
-	if( !TDECModuleLoader::testModule( module ))
+	if( !TDECModuleLoader::testModule( module )) {
 		return;
+	}
 
 	TDECModuleProxy* proxy = new TDECModuleProxy( module, false, d->tabWidget, module.latin1());
+	if (allModules.count() < 1) {
+		d->handbookSection = proxy->handbookSection();
+	}
 	allModules.append( proxy );
 
 	d->tabWidget->addTab( proxy, TQIconSet(TDEGlobal::iconLoader()->loadIcon(
@@ -153,37 +158,42 @@
 	d->buttons = d->buttons | proxy->realModule()->buttons();
 
 	/* If we should add an Administrator Mode button */
-	if ( proxy->moduleInfo().needsRootPrivileges() )
+	if ( proxy->moduleInfo().needsRootPrivileges() ) {
 		d->hasRootKCM=true;
-
-
+	}
 }
 
 void TDECModuleContainer::tabSwitched( TQWidget * module )
 {
-	if ( !d->hasRootKCM )
+	TDECModuleProxy* mod = (TDECModuleProxy *) module;
+	d->handbookSection = mod->handbookSection();
+
+	if ( !d->hasRootKCM ) {
 		return;
+	}
 
 	/* Not like this. Not like this. */
 	disconnect( d->btnRootMode, 0, 0, 0 );
 	/* Welcome to the real world huh baby? */
-	
-	TDECModuleProxy* mod = (TDECModuleProxy *) module;
 
-	if ( mod->moduleInfo().needsRootPrivileges() && !mod->rootMode() )
-	{
+	if ( mod->moduleInfo().needsRootPrivileges() && !mod->rootMode() ) {
 		d->btnRootMode->setEnabled( true );
 		connect( d->btnRootMode, TQT_SIGNAL( clicked() ), 
 				TQT_SLOT( runAsRoot() ));
 		connect( mod, TQT_SIGNAL( childClosed() ), 
 				TQT_SLOT ( rootExited() ));
 	}
-	else
+	else {
 		d->btnRootMode->setEnabled( false );
+	}
 
 	setQuickHelp( mod->quickHelp() );
 	setAboutData( const_cast<TDEAboutData*>(mod->aboutData()) );
+}
 
+TQString TDECModuleContainer::handbookSection() const
+{
+	return d->handbookSection;
 }
 
 void TDECModuleContainer::runAsRoot()
diff --git a/tdeutils/tdecmodulecontainer.h b/tdeutils/tdecmodulecontainer.h
index d4af182..6d67173 100644
--- a/tdeutils/tdecmodulecontainer.h
+++ b/tdeutils/tdecmodulecontainer.h
@@ -118,6 +118,12 @@
 		 */
 		void defaults();
 
+		/**
+		 * Reimplemented for internal purposes.
+		 * @internal
+		 */
+		virtual TQString handbookSection() const;
+
 	protected:
 
 		/**