summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/mainwindowimp.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings/mainwindowimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index e9429e3..e895971 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -1,24 +1,24 @@
1#include "mainwindowimp.h" 1#include "mainwindowimp.h"
2#include "addconnectionimp.h" 2#include "addconnectionimp.h"
3#include "interfaceinformationimp.h" 3#include "interfaceinformationimp.h"
4#include "interfacesetupimp.h" 4#include "interfacesetupimp.h"
5#include "module.h" 5#include "module.h"
6 6
7#include "kprocess.h" 7#include "kprocess.h"
8#include "namedialog.h"
9 8
10#include <qpushbutton.h> 9#include <qpushbutton.h>
11#include <qtabwidget.h> 10#include <qtabwidget.h>
12#include <qlistbox.h> 11#include <qlistbox.h>
12#include <qlineedit.h>
13#include <qlistview.h> 13#include <qlistview.h>
14#include <qheader.h> 14#include <qheader.h>
15#include <qlabel.h> 15#include <qlabel.h>
16 16
17#include <qmainwindow.h> 17#include <qmainwindow.h>
18#include <qmessagebox.h> 18#include <qmessagebox.h>
19 19
20#include <qpe/config.h> 20#include <qpe/config.h>
21#include <qpe/qlibrary.h> 21#include <qpe/qlibrary.h>
22#include <qpe/resource.h> 22#include <qpe/resource.h>
23 23
24#include <qlist.h> 24#include <qlist.h>
@@ -28,46 +28,48 @@
28 28
29#define TEMP_ALL "/tmp/ifconfig-a" 29#define TEMP_ALL "/tmp/ifconfig-a"
30#define TEMP_UP "/tmp/ifconfig" 30#define TEMP_UP "/tmp/ifconfig"
31 31
32MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){ 32MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){
33 connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); 33 connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
34 connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); 34 connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
35 connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); 35 connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
36 connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked())); 36 connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
37 37
38 connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile())); 38 connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile()));
39 connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile())); 39 connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile()));
40 connect(profilesList, SIGNAL(highlighted(const QString&)), this, SLOT(changeProfile(const QString&))); 40 connect(setCurrentProfileButton, SIGNAL(clicked()), this, SLOT(changeProfile()));
41 41
42 connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&)));
42 // Load connections. 43 // Load connections.
43 loadModules(QDir::homeDirPath() + "/.networksetup/plugins"); 44 loadModules(QDir::homeDirPath() + "/.networksetup/plugins");
44 getInterfaceList(); 45 getInterfaceList();
45 connectionList->header()->hide(); 46 connectionList->header()->hide();
46 47
47 48
48 Config cfg("NetworkSetup"); 49 Config cfg("NetworkSetup");
49 profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All")); 50 profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All"));
50 for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it) 51 for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it)
51 profilesList->insertItem((*it)); 52 profilesList->insertItem((*it));
52 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false); 53 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
53} 54}
54 55
55/** 56/**
56 * Deconstructor. Save profiles. Delete loaded libraries. 57 * Deconstructor. Save profiles. Delete loaded libraries.
57 */ 58 */
58MainWindowImp::~MainWindowImp(){ 59MainWindowImp::~MainWindowImp(){
59 // Save profiles. 60 // Save profiles.
60 if(profiles.count() > 1){ 61 if(profiles.count() > 1){
61 Config cfg("NetworkSetup"); 62 Config cfg("NetworkSetup");
63 cfg.setGroup("General");
62 cfg.writeEntry("Profiles", profiles.join(" ")); 64 cfg.writeEntry("Profiles", profiles.join(" "));
63 } 65 }
64 // Delete Modules and Libraries 66 // Delete Modules and Libraries
65 QMap<Module*, QLibrary*>::Iterator it; 67 QMap<Module*, QLibrary*>::Iterator it;
66 for( it = libraries.begin(); it != libraries.end(); ++it ){ 68 for( it = libraries.begin(); it != libraries.end(); ++it ){
67 delete it.key(); 69 delete it.key();
68 delete it.data(); 70 delete it.data();
69 } 71 }
70} 72}
71 73
72/** 74/**
73 * Load all modules that are found in the path 75 * Load all modules that are found in the path
@@ -363,35 +365,38 @@ void MainWindowImp::updateInterface(Interface *i){
363 typeName = "irda"; 365 typeName = "irda";
364 if(i->getInterfaceName().contains("wlan")) 366 if(i->getInterfaceName().contains("wlan"))
365 typeName = "wlan"; 367 typeName = "wlan";
366 // Actually try to use the Module 368 // Actually try to use the Module
367 if(i->getModuleOwner() != NULL) 369 if(i->getModuleOwner() != NULL)
368 typeName = i->getModuleOwner()->getPixmapName(i); 370 typeName = i->getModuleOwner()->getPixmapName(i);
369 371
370 item->setPixmap(1, (Resource::loadPixmap(typeName))); 372 item->setPixmap(1, (Resource::loadPixmap(typeName)));
371 item->setText(2, i->getHardwareName()); 373 item->setText(2, i->getHardwareName());
372 item->setText(3, (i->getStatus()) ? i->getIp() : QString("")); 374 item->setText(3, (i->getStatus()) ? i->getIp() : QString(""));
373} 375}
374 376
377void MainWindowImp::newProfileChanged(const QString& newText){
378 if(newText.length() > 0)
379 newProfileButton->setEnabled(true);
380 else
381 newProfileButton->setEnabled(false);
382}
383
375/** 384/**
376 * Adds a new profile to the list of profiles. 385 * Adds a new profile to the list of profiles.
377 * Don't add profiles that already exists. 386 * Don't add profiles that already exists.
378 * Appends to the list and QStringList 387 * Appends to the list and QStringList
379 */ 388 */
380void MainWindowImp::addProfile(){ 389void MainWindowImp::addProfile(){
381 NameDialog foo(this, "namedialog", true); 390 QString newProfileName = newProfile->text();
382 QString newProfileName = foo.go();
383 if(newProfileName.length() == 0)
384 return;
385
386 if(profiles.grep(newProfileName).count() > 0){ 391 if(profiles.grep(newProfileName).count() > 0){
387 QMessageBox::information(this, "Can't Add","Profile already exists.", "Ok"); 392 QMessageBox::information(this, "Can't Add","Profile already exists.", "Ok");
388 return; 393 return;
389 } 394 }
390 profiles.append(newProfileName); 395 profiles.append(newProfileName);
391 profilesList->insertItem(newProfileName); 396 profilesList->insertItem(newProfileName);
392} 397}
393 398
394/** 399/**
395 * Removes the currently selected profile in the combo. 400 * Removes the currently selected profile in the combo.
396 * Doesn't delete if there are less then 2 profiles. 401 * Doesn't delete if there are less then 2 profiles.
397 */ 402 */
@@ -405,18 +410,18 @@ void MainWindowImp::removeProfile(){
405 profiles = QStringList::split(" ", profiles.join(" ").replace(QRegExp(profileToRemove), "")); 410 profiles = QStringList::split(" ", profiles.join(" ").replace(QRegExp(profileToRemove), ""));
406 profilesList->clear(); 411 profilesList->clear();
407 for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it) 412 for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it)
408 profilesList->insertItem((*it)); 413 profilesList->insertItem((*it));
409 } 414 }
410 415
411} 416}
412 417
413/** 418/**
414 * A new profile has been selected, change. 419 * A new profile has been selected, change.
415 * @param newProfile the new profile. 420 * @param newProfile the new profile.
416 */ 421 */
417void MainWindowImp::changeProfile(const QString& newProfile){ 422void MainWindowImp::changeProfile(){
418 currentProfileLabel->setText(newProfile); 423 currentProfileLabel->setText(profilesList->text(profilesList->currentItem()));
419} 424}
420 425
421// mainwindowimp.cpp 426// mainwindowimp.cpp
422 427