-rw-r--r-- | noncore/settings/networksettings/mainwindow/mainwindowimp.cpp | 56 |
1 files changed, 13 insertions, 43 deletions
diff --git a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp index a4a2875..fb7d7c9 100644 --- a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp @@ -52,18 +52,13 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name, WFlags) : MainWi //remove tab with no function tabWidget->removePage( tab ); // Load connections. // /usr/local/kde/lib/libinterfaces.la -#ifdef QWS loadModules(QPEApplication::qpeDir() + "plugins/networksettings"); -#else - loader = KLibLoader::self(); - loadModules(QString("/usr/")+KStandardDirs::kde_default("lib")); -#endif getAllInterfaces(); Interfaces i; QStringList list = i.getInterfaceList(); QMap<QString, Interface*>::Iterator it; for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) @@ -143,25 +138,21 @@ MainWindowImp::~MainWindowImp() for( iIt = items.begin(); iIt != items.end(); ++iIt ) { if(iIt.key()->getModuleOwner() == NULL) delete iIt.key(); } -#ifdef QWS // Delete Modules and Libraries QMap<Module*, QLibrary*>::Iterator it; for( it = libraries.begin(); it != libraries.end(); ++it ) { delete it.key(); // I wonder why I can't delete the libraries // What fucking shit this is. //delete it.data(); } -#else - // klibloader automaticly deletes the libraries for us... -#endif } /** * Query the kernel for all of the interfaces. */ void MainWindowImp::getAllInterfaces() @@ -281,27 +272,31 @@ void MainWindowImp::loadModules(const QString &path) odebug << "MainWindowImp::loadModules: " << path.latin1() << "" << oendl; #endif QDir d(path); if(!d.exists()) return; + QString lang = ::getenv("LANG"); // Don't want sym links d.setFilter( QDir::Files | QDir::NoSymLinks ); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; while ( (fi=it.current()) ) { -#ifdef QWS if(fi->fileName().contains(".so")) { -#else - if(fi->fileName().contains(".so") && fi->fileName().contains("networksettings_")) - { -#endif - loadPlugin(path + "/" + fi->fileName()); + /* if loaded install translation */ + if( loadPlugin(path + "/" + fi->fileName()) != 0l ){ + QTranslator *trans = new QTranslator(qApp); + QString fn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+ fi->fileName().left( fi->fileName().find(".") )+".qm"; + if( trans->load( fn ) ) + qApp->installTranslator( trans ); + else + delete trans; + } odebug << "loaded plugin: >" << QString(path + "/" + fi->fileName()).latin1() << "< " << oendl; } ++it; } } @@ -313,62 +308,37 @@ void MainWindowImp::loadModules(const QString &path) */ Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString &resolveString) { #ifdef DEBUG odebug << "MainWindowImp::loadPlugin: " << pluginFileName.latin1() << ": resolving " << resolveString.latin1() << "" << oendl; #endif -#ifdef QWS QLibrary *lib = new QLibrary(pluginFileName); void *functionPointer = lib->resolve(resolveString); if( !functionPointer ) { #ifdef DEBUG odebug << "MainWindowImp::loadPlugin: Warning: " << pluginFileName.latin1() << " is not a plugin" << oendl; #endif delete lib; - return NULL; + return 0; } // Try to get an object. Module *object = ((Module* (*)()) functionPointer)(); - if(object == NULL) + if(object == 0) { #ifdef DEBUG odebug << "MainWindowImp: Couldn't create object, but did load library!" << oendl; #endif delete lib; - return NULL; + return 0; } m_handledIfaces += object->handledInterfaceNames(); // Store for deletion later libraries.insert(object, lib); return object; - -#else - QLibrary *lib = loader->library(pluginFileName); - if( !lib || !lib->hasSymbol(resolveString) ) - { - odebug << QString("MainWindowImp::loadPlugin: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1() << oendl; - return NULL; - } - // Try to get an object. - Module *object = ((Module* (*)()) lib->symbol(resolveString))(); - if(object == NULL) - { -#ifdef DEBUG - odebug << "MainWindowImp: Couldn't create object, but did load library!" << oendl; -#endif - return NULL; - } -#ifdef DEBUG - odebug << "MainWindowImp::loadPlugin:: Found object, storing." << oendl; -#endif - // Store for deletion later - libraries.insert(object, lib); - return object; -#endif } /** * The Add button was clicked. Bring up the add dialog and if OK is hit * load the plugin and append it to the list */ |