summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/mainwindowimp.cpp36
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp36
2 files changed, 46 insertions, 26 deletions
diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp
index 24af1ec..b46362f 100644
--- a/noncore/net/networksetup/mainwindowimp.cpp
+++ b/noncore/net/networksetup/mainwindowimp.cpp
@@ -239,8 +239,12 @@ void MainWindowImp::informationClicked(){
239 return; 239 return;
240 } 240 }
241 241
242 Interface *i = interfaceItems[item]; 242 Interface *i = interfaceItems[item];
243 if(!i->isAttached()){
244 QMessageBox::information(this, "Error","No information about\na disconnected interface.", QMessageBox::Ok);
245 return;
246 }
243 if(i->getModuleOwner()){ 247 if(i->getModuleOwner()){
244 QTabWidget *tabWidget = NULL; 248 QTabWidget *tabWidget = NULL;
245 QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget); 249 QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget);
246 if(moduleInformation != NULL){ 250 if(moduleInformation != NULL){
@@ -268,15 +272,16 @@ void MainWindowImp::getInterfaceList(){
268 *processAll << "/sbin/ifconfig" << "-a" << " > " TEMP_ALL; 272 *processAll << "/sbin/ifconfig" << "-a" << " > " TEMP_ALL;
269 connect(processAll, SIGNAL(processExited(KProcess *)), 273 connect(processAll, SIGNAL(processExited(KProcess *)),
270 this, SLOT(jobDone(KProcess *))); 274 this, SLOT(jobDone(KProcess *)));
271 threads.insert(processAll, TEMP_ALL); 275 threads.insert(processAll, TEMP_ALL);
272 processAll->start(KShellProcess::NotifyOnExit);
273 276
274 KShellProcess *process = new KShellProcess(); 277 KShellProcess *process = new KShellProcess();
275 *process << "/sbin/ifconfig" << " > " TEMP_UP; 278 *process << "/sbin/ifconfig" << " > " TEMP_UP;
276 connect(process, SIGNAL(processExited(KProcess *)), 279 connect(process, SIGNAL(processExited(KProcess *)),
277 this, SLOT(jobDone(KProcess *))); 280 this, SLOT(jobDone(KProcess *)));
278 threads.insert(process, TEMP_UP); 281 threads.insert(process, TEMP_UP);
282
283 processAll->start(KShellProcess::NotifyOnExit);
279 process->start(KShellProcess::NotifyOnExit); 284 process->start(KShellProcess::NotifyOnExit);
280} 285}
281 286
282void MainWindowImp::jobDone(KProcess *process){ 287void MainWindowImp::jobDone(KProcess *process){
@@ -297,12 +302,8 @@ void MainWindowImp::jobDone(KProcess *process){
297 int space = line.find(" "); 302 int space = line.find(" ");
298 if(space > 1){ 303 if(space > 1){
299 // We have found an interface 304 // We have found an interface
300 QString interfaceName = line.mid(0, space); 305 QString interfaceName = line.mid(0, space);
301 if(!advancedUserMode){
302 if(interfaceName == "lo")
303 break;
304 }
305 Interface *i; 306 Interface *i;
306 // See if we already have it 307 // See if we already have it
307 if(interfaceNames.find(interfaceName) == interfaceNames.end()){ 308 if(interfaceNames.find(interfaceName) == interfaceNames.end()){
308 if(fileName == TEMP_ALL) 309 if(fileName == TEMP_ALL)
@@ -333,22 +334,26 @@ void MainWindowImp::jobDone(KProcess *process){
333 } 334 }
334 } 335 }
335 file.close(); 336 file.close();
336 QFile::remove(fileName); 337 QFile::remove(fileName);
338
337 if(threads.count() == 0){ 339 if(threads.count() == 0){
338 Interfaces i; 340 Interfaces i;
339 QStringList list = i.getInterfaceList(); 341 QStringList list = i.getInterfaceList();
340 QMap<QString, Interface*>::Iterator it; 342 QMap<QString, Interface*>::Iterator it;
341 for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) { 343 for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) {
344 bool found = false;
342 for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){ 345 for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){
343 if(it.key() == (*ni)){ 346 if(it.key() == (*ni))
344 Interface *i = new Interface(*ni, false); 347 found = true;
345 i->setAttached(false); 348 }
346 i->setHardwareName(QString("Disconnected (%1)").arg(*ni)); 349 if(!found){
347 i->setInterfaceName(*ni); 350 Interface *i = new Interface(*ni, false);
348 interfaceNames.insert(i->getInterfaceName(), i); 351 i->setAttached(false);
349 updateInterface(i); 352 i->setHardwareName(QString("Disconnected (%1)").arg(*ni));
350 } 353 i->setInterfaceName(*ni);
354 interfaceNames.insert(i->getInterfaceName(), i);
355 updateInterface(i);
351 } 356 }
352 } 357 }
353 } 358 }
354} 359}
@@ -357,8 +362,13 @@ void MainWindowImp::jobDone(KProcess *process){
357 * Update this interface. If no QListViewItem exists create one. 362 * Update this interface. If no QListViewItem exists create one.
358 * @param Interface* pointer to the interface that needs to be updated. 363 * @param Interface* pointer to the interface that needs to be updated.
359 */ 364 */
360void MainWindowImp::updateInterface(Interface *i){ 365void MainWindowImp::updateInterface(Interface *i){
366 if(!advancedUserMode){
367 if(i->getInterfaceName() == "lo")
368 return;
369 }
370
361 QListViewItem *item = NULL; 371 QListViewItem *item = NULL;
362 372
363 // Find the interface, making it if needed. 373 // Find the interface, making it if needed.
364 if(items.find(i) == items.end()){ 374 if(items.find(i) == items.end()){
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index 24af1ec..b46362f 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -239,8 +239,12 @@ void MainWindowImp::informationClicked(){
239 return; 239 return;
240 } 240 }
241 241
242 Interface *i = interfaceItems[item]; 242 Interface *i = interfaceItems[item];
243 if(!i->isAttached()){
244 QMessageBox::information(this, "Error","No information about\na disconnected interface.", QMessageBox::Ok);
245 return;
246 }
243 if(i->getModuleOwner()){ 247 if(i->getModuleOwner()){
244 QTabWidget *tabWidget = NULL; 248 QTabWidget *tabWidget = NULL;
245 QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget); 249 QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget);
246 if(moduleInformation != NULL){ 250 if(moduleInformation != NULL){
@@ -268,15 +272,16 @@ void MainWindowImp::getInterfaceList(){
268 *processAll << "/sbin/ifconfig" << "-a" << " > " TEMP_ALL; 272 *processAll << "/sbin/ifconfig" << "-a" << " > " TEMP_ALL;
269 connect(processAll, SIGNAL(processExited(KProcess *)), 273 connect(processAll, SIGNAL(processExited(KProcess *)),
270 this, SLOT(jobDone(KProcess *))); 274 this, SLOT(jobDone(KProcess *)));
271 threads.insert(processAll, TEMP_ALL); 275 threads.insert(processAll, TEMP_ALL);
272 processAll->start(KShellProcess::NotifyOnExit);
273 276
274 KShellProcess *process = new KShellProcess(); 277 KShellProcess *process = new KShellProcess();
275 *process << "/sbin/ifconfig" << " > " TEMP_UP; 278 *process << "/sbin/ifconfig" << " > " TEMP_UP;
276 connect(process, SIGNAL(processExited(KProcess *)), 279 connect(process, SIGNAL(processExited(KProcess *)),
277 this, SLOT(jobDone(KProcess *))); 280 this, SLOT(jobDone(KProcess *)));
278 threads.insert(process, TEMP_UP); 281 threads.insert(process, TEMP_UP);
282
283 processAll->start(KShellProcess::NotifyOnExit);
279 process->start(KShellProcess::NotifyOnExit); 284 process->start(KShellProcess::NotifyOnExit);
280} 285}
281 286
282void MainWindowImp::jobDone(KProcess *process){ 287void MainWindowImp::jobDone(KProcess *process){
@@ -297,12 +302,8 @@ void MainWindowImp::jobDone(KProcess *process){
297 int space = line.find(" "); 302 int space = line.find(" ");
298 if(space > 1){ 303 if(space > 1){
299 // We have found an interface 304 // We have found an interface
300 QString interfaceName = line.mid(0, space); 305 QString interfaceName = line.mid(0, space);
301 if(!advancedUserMode){
302 if(interfaceName == "lo")
303 break;
304 }
305 Interface *i; 306 Interface *i;
306 // See if we already have it 307 // See if we already have it
307 if(interfaceNames.find(interfaceName) == interfaceNames.end()){ 308 if(interfaceNames.find(interfaceName) == interfaceNames.end()){
308 if(fileName == TEMP_ALL) 309 if(fileName == TEMP_ALL)
@@ -333,22 +334,26 @@ void MainWindowImp::jobDone(KProcess *process){
333 } 334 }
334 } 335 }
335 file.close(); 336 file.close();
336 QFile::remove(fileName); 337 QFile::remove(fileName);
338
337 if(threads.count() == 0){ 339 if(threads.count() == 0){
338 Interfaces i; 340 Interfaces i;
339 QStringList list = i.getInterfaceList(); 341 QStringList list = i.getInterfaceList();
340 QMap<QString, Interface*>::Iterator it; 342 QMap<QString, Interface*>::Iterator it;
341 for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) { 343 for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) {
344 bool found = false;
342 for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){ 345 for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){
343 if(it.key() == (*ni)){ 346 if(it.key() == (*ni))
344 Interface *i = new Interface(*ni, false); 347 found = true;
345 i->setAttached(false); 348 }
346 i->setHardwareName(QString("Disconnected (%1)").arg(*ni)); 349 if(!found){
347 i->setInterfaceName(*ni); 350 Interface *i = new Interface(*ni, false);
348 interfaceNames.insert(i->getInterfaceName(), i); 351 i->setAttached(false);
349 updateInterface(i); 352 i->setHardwareName(QString("Disconnected (%1)").arg(*ni));
350 } 353 i->setInterfaceName(*ni);
354 interfaceNames.insert(i->getInterfaceName(), i);
355 updateInterface(i);
351 } 356 }
352 } 357 }
353 } 358 }
354} 359}
@@ -357,8 +362,13 @@ void MainWindowImp::jobDone(KProcess *process){
357 * Update this interface. If no QListViewItem exists create one. 362 * Update this interface. If no QListViewItem exists create one.
358 * @param Interface* pointer to the interface that needs to be updated. 363 * @param Interface* pointer to the interface that needs to be updated.
359 */ 364 */
360void MainWindowImp::updateInterface(Interface *i){ 365void MainWindowImp::updateInterface(Interface *i){
366 if(!advancedUserMode){
367 if(i->getInterfaceName() == "lo")
368 return;
369 }
370
361 QListViewItem *item = NULL; 371 QListViewItem *item = NULL;
362 372
363 // Find the interface, making it if needed. 373 // Find the interface, making it if needed.
364 if(items.find(i) == items.end()){ 374 if(items.find(i) == items.end()){