summaryrefslogtreecommitdiffstats
path: root/kcminit/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kcminit/main.cpp')
-rw-r--r--kcminit/main.cpp31
1 files changed, 20 insertions, 11 deletions
diff --git a/kcminit/main.cpp b/kcminit/main.cpp
index f1fbf8987..3a2d7c362 100644
--- a/kcminit/main.cpp
+++ b/kcminit/main.cpp
@@ -112,16 +112,25 @@ void KCMInit::runModules( int phase )
TQString libName = TQString("kcm_%1").arg(library);
+ TQString factoryName = service->property("X-TDE-FactoryName", TQVariant::String).toString();
+ if (!factoryName.isEmpty())
+ {
+ factoryName = ":" + factoryName;
+ }
+ TQString libFactoryName = libName + factoryName;
+
// try to load the library
- if (! alreadyInitialized.contains( libName.ascii() )) {
+ if (!alreadyInitialized.contains( libFactoryName.ascii() )) {
if (!runModule(libName, service)) {
libName = TQString("libkcm_%1").arg(library);
- if (! alreadyInitialized.contains( libName.ascii() )) {
+ libFactoryName = libName + factoryName;
+ if (!alreadyInitialized.contains( libFactoryName.ascii() )) {
runModule(libName, service);
- alreadyInitialized.append( libName.ascii() );
+ alreadyInitialized.append( libFactoryName.ascii() );
}
- } else
- alreadyInitialized.append( libName.ascii() );
+ } else {
+ alreadyInitialized.append( libFactoryName.ascii() );
+ }
}
}
}
@@ -171,8 +180,8 @@ KCMInit::KCMInit( TDECmdLineArgs* args )
}
- if ( !kapp->dcopClient()->isAttached() )
- kapp->dcopClient()->attach();
+ if ( !tdeApp->dcopClient()->isAttached() )
+ tdeApp->dcopClient()->attach();
// This key has no GUI apparently
TDEConfig config("kcmdisplayrc", true );
@@ -185,15 +194,15 @@ KCMInit::KCMInit( TDECmdLineArgs* args )
TQByteArray params;
TQDataStream stream(params, IO_WriteOnly);
stream << name << value;
- kapp->dcopClient()->send("tdelauncher", "tdelauncher", "setLaunchEnv(TQCString,TQCString)", params);
+ tdeApp->dcopClient()->send("tdelauncher", "tdelauncher", "setLaunchEnv(TQCString,TQCString)", params);
setenv( name, value, 1 ); // apply effect also to itself
if( startup )
{
runModules( 0 );
- kapp->dcopClient()->send( "ksplash", "", "upAndRunning(TQString)", TQString("kcminit"));
+ tdeApp->dcopClient()->send( "ksplash", "", "upAndRunning(TQString)", TQString("kcminit"));
sendReady();
- TQTimer::singleShot( 300 * 1000, tqApp, TQT_SLOT( quit())); // just in case
+ TQTimer::singleShot( 300 * 1000, tqApp, TQ_SLOT( quit())); // just in case
tqApp->exec(); // wait for runPhase1() and runPhase2()
}
else
@@ -218,7 +227,7 @@ void KCMInit::runPhase2()
tqApp->exit( 0 );
}
-extern "C" KDE_EXPORT int kdemain(int argc, char *argv[])
+extern "C" TDE_EXPORT int kdemain(int argc, char *argv[])
{
// tdeinit waits for kcminit to finish, but during KDE startup
// only important kcm's are started very early in the login process,