summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindow/mainwindowimp.cpp56
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
*/