Diffstat (limited to 'noncore/net/networksetup/mainwindowimp.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/networksetup/mainwindowimp.cpp | 74 |
1 files changed, 36 insertions, 38 deletions
diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp index 2f821a9..0f48a4b 100644 --- a/noncore/net/networksetup/mainwindowimp.cpp +++ b/noncore/net/networksetup/mainwindowimp.cpp @@ -1,12 +1,12 @@ #include "mainwindowimp.h"
#include "addserviceimp.h"
#include "interfaceinformationimp.h"
#include "interfacesetupimp.h"
-#include "interface.h"
#include "kprocess.h"
#include "module.h"
+
#include <qpushbutton.h>
#include <qtabwidget.h>
#include <qlistbox.h>
#include <qlistview.h>
@@ -30,13 +30,8 @@ #define TEMP_ALL "/tmp/ifconfig-a"
#define TEMP_UP "/tmp/ifconfig"
-#define NO_SELECT_ERROR_AND_RETURN { \
- QMessageBox::information(this, "Error","Please select an interface.", "Ok"); \
- return; \
-}
-
MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true) {
connect(addServiceButton, SIGNAL(clicked()), this, SLOT(addClicked()));
connect(removeServiceButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
connect(informationServiceButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
@@ -80,8 +75,26 @@ MainWindowImp::~MainWindowImp(){ }
}
void MainWindowImp::loadModules(QString path){
+ qDebug(path.latin1());
+ QDir d;
+ d.setPath(path);
+ if(!d.exists()){
+ qDebug("MainWindowImp:: Path doesn't exists");
+ return;
+ }
+ d.setFilter( QDir::Files | QDir::NoSymLinks );
+ const QFileInfoList *list = d.entryInfoList();
+ QFileInfoListIterator it( *list );
+ QFileInfo *fi;
+ while ( (fi=it.current()) ) {
+ if(fi->fileName().contains(".so")){
+ qDebug("Found");
+ Module *foo = loadPlugin(path + "/" + fi->fileName());
+ }
+ ++it;
+ }
}
/**
* Attempt to load a function and resolve a function.
@@ -89,9 +102,9 @@ void MainWindowImp::loadModules(QString path){ * @param resolveString - function pointer to resolve
* @return pointer to the function with name resolveString or NULL
*/
Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){
- //qDebug(pluginFileName.latin1());
+ qDebug(pluginFileName.latin1());
QLibrary *lib = new QLibrary(pluginFileName);
void *functionPointer = lib->resolve(resolveString);
if( !functionPointer ){
qDebug(QString("MainWindowImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
@@ -111,36 +124,8 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString) libraries.insert(object, lib);
return object;
}
-/*
-QList<QString> MainWindowImp::retrieveUnloadedPluginList(){
- QString DirStr = QDir::homeDirPath() + "/.networksetup/" ;
- QString path = DirStr + "plugins";
- QDir d(path);
- d.setFilter( QDir::Files | QDir::Hidden );
-
- QMap<QObject*, QLibrary*>::Iterator libraryIt;
- QList<QString> rlist;
- rlist.setAutoDelete(false);
-
- const QFileInfoList *list = d.entryInfoList();
- QFileInfoListIterator it( *list );
- QFileInfo *fi;
- while ( (fi=it.current()) ) {
- if(fi->fileName().contains(".so")){
- for( libraryIt = libraries.begin(); libraryIt != libraries.end(); ++libraryIt )
- if((path + "/" + fi->fileName()) != (libraryIt.data())->library()){
- QString *s = new QString(path + "/" + fi->fileName());
- rlist.append(s);
- }
- }
- ++it;
- }
- return rlist;
-}
-*/
-
/**
* The Add button was clicked. Bring up the add dialog and if OK is hit
* load the plugin and append it to the list
*/
@@ -160,9 +145,12 @@ void MainWindowImp::addClicked(){ * If they do then remove from the list and unload.
*/
void MainWindowImp::removeClicked(){
QListViewItem *item = serviceList->currentItem();
- if(item == NULL) NO_SELECT_ERROR_AND_RETURN
+ if(item == NULL) {
+ QMessageBox::information(this, "Error","Please select an interface.", "Ok");
+ return;
+ }
if(modules.find(interfaceItems[item]) == modules.end()){
QMessageBox::information(this, "Can't remove interface.", "Interface is built in.", "Ok");
}
@@ -177,9 +165,12 @@ void MainWindowImp::removeClicked(){ * Prompt with errors.
*/
void MainWindowImp::configureClicked(){
QListViewItem *item = serviceList->currentItem();
- if(item == NULL) NO_SELECT_ERROR_AND_RETURN
+ if(item == NULL){
+ QMessageBox::information(this, "Error","Please select an interface.", "Ok");
+ return;
+ }
if(modules.find(interfaceItems[item]) == modules.end()){
InterfaceSetupImp *conf = new InterfaceSetupImp(0, "InterfaceConfiguration", interfaceItems[item]);
conf->showMaximized();
@@ -196,9 +187,12 @@ void MainWindowImp::configureClicked(){ * Report an error
*/
void MainWindowImp::informationClicked(){
QListViewItem *item = serviceList->currentItem();
- if(item == NULL)NO_SELECT_ERROR_AND_RETURN
+ if(item == NULL){
+ QMessageBox::information(this, "Error","Please select an interface.", "Ok");
+ return;
+ }
if(modules.find(interfaceItems[item]) == modules.end()){
InterfaceInformationImp *i = new InterfaceInformationImp(0, "InterfaceInformationImp", interfaceItems[item]);
i->showMaximized();
@@ -310,8 +304,12 @@ void MainWindowImp::updateInterface(Interface *i){ QString typeName = "lan";
if(i->getHardwareName().contains("Local Loopback"))
typeName = "lo";
+ if(i->getInterfaceName().contains("irda"))
+ typeName = "irda";
+ if(i->getInterfaceName().contains("wlan"))
+ typeName = "wlan";
QPixmap type = (Resource::loadPixmap(typeName));
item->setPixmap(1, type);
item->setText(2, i->getHardwareName());
|