author | benmeyer <benmeyer> | 2002-10-01 21:21:48 (UTC) |
---|---|---|
committer | benmeyer <benmeyer> | 2002-10-01 21:21:48 (UTC) |
commit | 1ed782f91c1af59e31c117809ca5d9150b8b6654 (patch) (side-by-side diff) | |
tree | d29c3f84dee9a01649d246a625a71d38274dbaae /noncore/net/networksetup/mainwindowimp.cpp | |
parent | 2987dafbdfa6602c5e165fe862546ea32f5fd3ca (diff) | |
download | opie-1ed782f91c1af59e31c117809ca5d9150b8b6654.zip opie-1ed782f91c1af59e31c117809ca5d9150b8b6654.tar.gz opie-1ed782f91c1af59e31c117809ca5d9150b8b6654.tar.bz2 |
Getting modules to work
Diffstat (limited to 'noncore/net/networksetup/mainwindowimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/networksetup/mainwindowimp.cpp | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp index 0f48a4b..89dac6f 100644 --- a/noncore/net/networksetup/mainwindowimp.cpp +++ b/noncore/net/networksetup/mainwindowimp.cpp @@ -148,13 +148,13 @@ void MainWindowImp::removeClicked(){ QListViewItem *item = serviceList->currentItem();
if(item == NULL) {
QMessageBox::information(this, "Error","Please select an interface.", "Ok");
return;
}
- if(modules.find(interfaceItems[item]) == modules.end()){
+ if((interfaceItems[item])->getModuleOwner() == NULL){
QMessageBox::information(this, "Can't remove interface.", "Interface is built in.", "Ok");
}
else{
// Try to remove.
}
@@ -168,20 +168,35 @@ void MainWindowImp::configureClicked(){ QListViewItem *item = serviceList->currentItem();
if(item == NULL){
QMessageBox::information(this, "Error","Please select an interface.", "Ok");
return;
}
- if(modules.find(interfaceItems[item]) == modules.end()){
+ if((interfaceItems[item])->getModuleOwner() == NULL){
InterfaceSetupImp *conf = new InterfaceSetupImp(0, "InterfaceConfiguration", interfaceItems[item]);
conf->showMaximized();
conf->show();
}
else{
- InterfaceSetupImp *conf = new InterfaceSetupImp(this, "InterfaceConfiguration");
- conf->show();
+ QTabWidget *t = NULL;
+ QWidget *conf = (interfaceItems[item])->getModuleOwner()->configure(&t);
+ if(conf != NULL){
+ qDebug("Conf found");
+ if(t != NULL){
+ qDebug("Adding Interface");
+ InterfaceSetupImp *i = new InterfaceSetupImp(t, "TCPIPInformation", interfaceItems[item], true);
+ t->insertTab(i, "TCP/IP");
+ }
+ conf->showMaximized();
+ conf->show();
+ }
+ else{
+ InterfaceSetupImp *i = new InterfaceSetupImp(0, "TCPIPInformation", interfaceItems[item], true);
+ i->showMaximized();
+ i->show();
+ }
}
}
/**
* Pull up the information about the selected interface
* Report an error
@@ -190,22 +205,34 @@ void MainWindowImp::informationClicked(){ QListViewItem *item = serviceList->currentItem();
if(item == NULL){
QMessageBox::information(this, "Error","Please select an interface.", "Ok");
return;
}
- if(modules.find(interfaceItems[item]) == modules.end()){
+ if( (interfaceItems[item])->getModuleOwner() == NULL){
InterfaceInformationImp *i = new InterfaceInformationImp(0, "InterfaceInformationImp", interfaceItems[item]);
i->showMaximized();
i->show();
}
else{
- QTabWidget *t = new QTabWidget(this, "InterfaceInformationTAB");
- InterfaceInformationImp *i = new InterfaceInformationImp(t, "TCPIPInformation", interfaceItems[item], true);
- t->insertTab(i, "TCP/IP");
- t->show();
+ QTabWidget *t = NULL;
+ QWidget *conf = (interfaceItems[item])->getModuleOwner()->information(&t);
+ if(conf != NULL){
+ if(t){
+ qDebug("Adding Interface");
+ InterfaceInformationImp *i = new InterfaceInformationImp(t, "TCPIPInformation", interfaceItems[item], true);
+ t->insertTab(i, "TCP/IP");
+ }
+ conf->showMaximized();
+ conf->show();
+ }
+ else{
+ InterfaceInformationImp *i = new InterfaceInformationImp(0, "TCPIPInformation", interfaceItems[item], true);
+ i->showMaximized();
+ i->show();
+ }
}
}
/**
* Aquire the list of active interfaces from ifconfig
* Call ifconfig and ifconfig -a
@@ -283,16 +310,18 @@ void MainWindowImp::updateInterface(Interface *i){ QListViewItem *item = NULL;
// See if we already have it
if(items.find(i) == items.end()){
item = new QListViewItem(serviceList, "", "", "");
// See if you can't find a module owner for this interface
- //EmployeeMap::Iterator it;
- //for( it = map.begin(); it != map.end(); ++it )
- // printf( "%s, %s earns %d\n", it.key().latin1(), it.data().name().latin1(), it.data().salary() );
-
+ QMap<Module*, QLibrary*>::Iterator it;
+ for( it = libraries.begin(); it != libraries.end(); ++it ){
+ if(it.key()->isOwner(i))
+ i->setModuleOwner(it.key());
+ }
+
items.insert(i, item);
interfaceItems.insert(item, i);
}
else
item = items[i];
@@ -306,12 +335,16 @@ void MainWindowImp::updateInterface(Interface *i){ if(i->getHardwareName().contains("Local Loopback"))
typeName = "lo";
if(i->getInterfaceName().contains("irda"))
typeName = "irda";
if(i->getInterfaceName().contains("wlan"))
typeName = "wlan";
+ // Actually try to use the Module
+ if(i->getModuleOwner() != NULL){
+ typeName = i->getModuleOwner()->getPixmapName(i);
+ }
QPixmap type = (Resource::loadPixmap(typeName));
item->setPixmap(1, type);
item->setText(2, i->getHardwareName());
}
|