summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/TODO1
-rw-r--r--noncore/net/networksetup/addconnection.ui (renamed from noncore/net/networksetup/addservice.ui)19
-rw-r--r--noncore/net/networksetup/addconnectionimp.cpp38
-rw-r--r--noncore/net/networksetup/addconnectionimp.h29
-rw-r--r--noncore/net/networksetup/addserviceimp.cpp26
-rw-r--r--noncore/net/networksetup/addserviceimp.h26
-rw-r--r--noncore/net/networksetup/interface.h1
-rw-r--r--noncore/net/networksetup/interfacesetupimp.cpp3
-rw-r--r--noncore/net/networksetup/mainwindow.ui10
-rw-r--r--noncore/net/networksetup/mainwindowimp.cpp205
-rw-r--r--noncore/net/networksetup/mainwindowimp.h1
-rw-r--r--noncore/net/networksetup/module.h55
-rw-r--r--noncore/net/networksetup/networksetup.pro6
-rw-r--r--noncore/net/networksetup/wlan/wlan.ui4
-rw-r--r--noncore/net/networksetup/wlan/wlanmodule.cpp23
-rw-r--r--noncore/net/networksetup/wlan/wlanmodule.h2
-rw-r--r--noncore/settings/networksettings/TODO1
-rw-r--r--noncore/settings/networksettings/addconnection.ui (renamed from noncore/settings/networksettings/addservice.ui)19
-rw-r--r--noncore/settings/networksettings/addconnectionimp.cpp38
-rw-r--r--noncore/settings/networksettings/addconnectionimp.h29
-rw-r--r--noncore/settings/networksettings/addserviceimp.cpp26
-rw-r--r--noncore/settings/networksettings/addserviceimp.h26
-rw-r--r--noncore/settings/networksettings/interface.h1
-rw-r--r--noncore/settings/networksettings/interfacesetupimp.cpp3
-rw-r--r--noncore/settings/networksettings/mainwindow.ui10
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp205
-rw-r--r--noncore/settings/networksettings/mainwindowimp.h1
-rw-r--r--noncore/settings/networksettings/module.h55
-rw-r--r--noncore/settings/networksettings/networksetup.pro6
-rw-r--r--noncore/settings/networksettings/wlan/wlan.ui4
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp23
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.h2
32 files changed, 514 insertions, 384 deletions
diff --git a/noncore/net/networksetup/TODO b/noncore/net/networksetup/TODO
index 9a1657a..e69de29 100644
--- a/noncore/net/networksetup/TODO
+++ b/noncore/net/networksetup/TODO
@@ -1 +0,0 @@
-Fix DHCP obtained and expoired info
diff --git a/noncore/net/networksetup/addservice.ui b/noncore/net/networksetup/addconnection.ui
index 929f4fb..a349804 100644
--- a/noncore/net/networksetup/addservice.ui
+++ b/noncore/net/networksetup/addconnection.ui
@@ -1,3 +1,3 @@
<!DOCTYPE UI><UI>
-<class>AddService</class>
+<class>AddConnection</class>
<widget>
@@ -6,3 +6,3 @@
<name>name</name>
- <cstring>AddService</cstring>
+ <cstring>AddConnection</cstring>
</property>
@@ -13,3 +13,3 @@
<y>0</y>
- <width>245</width>
+ <width>233</width>
<height>268</height>
@@ -19,3 +19,3 @@
<name>caption</name>
- <string>Add Network Service</string>
+ <string>Add Network Connection</string>
</property>
@@ -38,3 +38,3 @@
<name>text</name>
- <string>Cancel</string>
+ <string>&amp;Cancel</string>
</property>
@@ -49,3 +49,3 @@
<name>text</name>
- <string>Add</string>
+ <string>&amp;Add</string>
</property>
@@ -123,4 +123,3 @@
<name>text</name>
- <string>LAN - TCP/IP
-For Local-area network connections through PC_CARD network interfdace cards.</string>
+ <string></string>
</property>
@@ -143,3 +142,3 @@ For Local-area network connections through PC_CARD network interfdace cards.</st
<signal>clicked()</signal>
- <receiver>AddService</receiver>
+ <receiver>AddConnection</receiver>
<slot>reject()</slot>
@@ -149,3 +148,3 @@ For Local-area network connections through PC_CARD network interfdace cards.</st
<signal>clicked()</signal>
- <receiver>AddService</receiver>
+ <receiver>AddConnection</receiver>
<slot>accept()</slot>
diff --git a/noncore/net/networksetup/addconnectionimp.cpp b/noncore/net/networksetup/addconnectionimp.cpp
new file mode 100644
index 0000000..ee7bd97
--- a/dev/null
+++ b/noncore/net/networksetup/addconnectionimp.cpp
@@ -0,0 +1,38 @@
+#include "addconnectionimp.h"
+#include <qlistview.h>
+#include <qlist.h>
+#include <qlabel.h>
+#include <qheader.h>
+
+/**
+ * Constructor
+ */
+AddConnectionImp::AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddConnection(parent, name, f){
+ connect(registeredServicesList, SIGNAL(selectionChanged()), this, SLOT(changed()));
+ registeredServicesList->header()->hide();
+};
+
+/**
+ * The current item changed, update the discription.
+ */
+void AddConnectionImp::changed(){
+ QListViewItem *item = registeredServicesList->currentItem();
+ if(item){
+ help->setText(list[item->text(0)]);
+ }
+}
+
+/**
+ * Save a copy of newList for the discriptions and append them all to the view
+ * @param newList the new list of possible interfaces
+ */
+void AddConnectionImp::addConnections(QMap<QString, QString> newList){
+ list = newList;
+ QMap<QString, QString>::Iterator it;
+ for( it = list.begin(); it != list.end(); ++it )
+ QListViewItem *item = new QListViewItem(registeredServicesList, it.key());
+ registeredServicesList->setCurrentItem(registeredServicesList->firstChild());
+}
+
+// addserviceimp.cpp
+
diff --git a/noncore/net/networksetup/addconnectionimp.h b/noncore/net/networksetup/addconnectionimp.h
new file mode 100644
index 0000000..643cd9a
--- a/dev/null
+++ b/noncore/net/networksetup/addconnectionimp.h
@@ -0,0 +1,29 @@
+#ifndef ADDCONNECTIONIMP_H
+#define ADDCONNECTIONIMP_H
+
+#include "addconnection.h"
+#include <qmap.h>
+#include <qlist.h>
+
+class QListViewItem;
+
+class AddConnectionImp : public AddConnection {
+
+Q_OBJECT
+
+public:
+ AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0);
+ void addConnections(QMap<QString, QString> newList);
+
+private slots:
+ void changed();
+
+private:
+ QMap<QString, QString> list;
+
+};
+
+#endif
+
+// addconectionimp.h
+
diff --git a/noncore/net/networksetup/addserviceimp.cpp b/noncore/net/networksetup/addserviceimp.cpp
deleted file mode 100644
index ac79d06..0000000
--- a/noncore/net/networksetup/addserviceimp.cpp
+++ b/dev/null
@@ -1,26 +0,0 @@
-#include "addserviceimp.h"
-#include <qpe/qlibrary.h>
-#include <qlistview.h>
-#include <qlist.h>
-
-void AddServiceImp::addServices(QList<QString> list){
- list.setAutoDelete(true);
-
- for(uint i = 0; i < list.count(); i++){
- QString pluginFileName = "";
- QLibrary *lib = new QLibrary(pluginFileName);
- void *functionPointer = lib->resolve("info");
- if( !functionPointer ){
- qDebug(QString("AddServiceImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
- delete lib;
- break;
- }
-
- // Try to get an info.
- QString info = ((QString (*)()) functionPointer)();
- QListViewItem *newItem = new QListViewItem(registeredServicesList, info);
- }
-}
-
-
-// addserviceimp.cpp
diff --git a/noncore/net/networksetup/addserviceimp.h b/noncore/net/networksetup/addserviceimp.h
deleted file mode 100644
index 7cacb97..0000000
--- a/noncore/net/networksetup/addserviceimp.h
+++ b/dev/null
@@ -1,26 +0,0 @@
-#ifndef ADDSERVICEIMP_H
-#define ADDSERVICEIMP_H
-
-#include "addservice.h"
-#include <qmap.h>
-#include <qlist.h>
-
-class QListViewItem;
-
-class AddServiceImp : public AddService {
-
-Q_OBJECT
-
-public:
- AddServiceImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddService(parent, name, f){};
- void addServices(QList<QString> list);
-
-private:
- QMap<QListViewItem*, QString> pluginInfo;
-
-};
-
-#endif
-
-// addserviceimp.h
-
diff --git a/noncore/net/networksetup/interface.h b/noncore/net/networksetup/interface.h
index 5dc95a4..1406e99 100644
--- a/noncore/net/networksetup/interface.h
+++ b/noncore/net/networksetup/interface.h
@@ -6,2 +6,3 @@
class Module;
+
class Interface {
diff --git a/noncore/net/networksetup/interfacesetupimp.cpp b/noncore/net/networksetup/interfacesetupimp.cpp
index 6a8449d..951aeee 100644
--- a/noncore/net/networksetup/interfacesetupimp.cpp
+++ b/noncore/net/networksetup/interfacesetupimp.cpp
@@ -15,3 +15,2 @@
-#define INTERFACE_FILE "/home/ben/interfaces"
#define DNSSCRIPT "interfacednsscript"
@@ -24,3 +23,3 @@ InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interfac
interface = i;
- interfaces = new Interfaces(INTERFACE_FILE);
+ interfaces = new Interfaces();
changeProfile(profileCombo->currentText());
diff --git a/noncore/net/networksetup/mainwindow.ui b/noncore/net/networksetup/mainwindow.ui
index a3f7bb1..f5b104a 100644
--- a/noncore/net/networksetup/mainwindow.ui
+++ b/noncore/net/networksetup/mainwindow.ui
@@ -104,3 +104,3 @@
<name>name</name>
- <cstring>serviceList</cstring>
+ <cstring>connectionList</cstring>
</property>
@@ -133,3 +133,3 @@
<name>name</name>
- <cstring>addServiceButton</cstring>
+ <cstring>addConnectionButton</cstring>
</property>
@@ -144,3 +144,3 @@
<name>name</name>
- <cstring>informationServiceButton</cstring>
+ <cstring>informationConnectionButton</cstring>
</property>
@@ -155,3 +155,3 @@
<name>name</name>
- <cstring>configureServiceButton</cstring>
+ <cstring>configureConnectionButton</cstring>
</property>
@@ -166,3 +166,3 @@
<name>name</name>
- <cstring>removeServiceButton</cstring>
+ <cstring>removeConnectionButton</cstring>
</property>
diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp
index 89dac6f..66ec8b5 100644
--- a/noncore/net/networksetup/mainwindowimp.cpp
+++ b/noncore/net/networksetup/mainwindowimp.cpp
@@ -1,8 +1,8 @@
#include "mainwindowimp.h"
-#include "addserviceimp.h"
+#include "addconnectionimp.h"
#include "interfaceinformationimp.h"
#include "interfacesetupimp.h"
-#include "kprocess.h"
#include "module.h"
+#include "kprocess.h"
@@ -27,5 +27,2 @@
-// For library loading.
-#include <dlfcn.h>
-
#define TEMP_ALL "/tmp/ifconfig-a"
@@ -33,7 +30,7 @@
-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()));
- connect(configureServiceButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
+MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){
+ connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
+ connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
+ connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
+ connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
@@ -43,18 +40,6 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
- // Make sure we have a plugin directory to scan.
- QString DirStr = QDir::homeDirPath() + "/.networksetup/" ;
- QDir pluginDir( DirStr );
- pluginDir.mkdir( DirStr );
- pluginDir.mkdir( ( DirStr + "plugins/" ) );
- QString path = DirStr + "plugins";
- pluginDir.setPath(path);
- if(!pluginDir.exists()){
- qDebug(QString("MainWindowImp: ERROR: %1 %2").arg(__FILE__).arg(__LINE__).latin1());
- return;
- }
-
- // Load any saved services.
- loadModules(path);
+ // Load connections.
+ loadModules(QDir::homeDirPath() + "/.networksetup/plugins");
getInterfaceList();
- serviceList->header()->hide();
+ connectionList->header()->hide();
@@ -65,2 +50,3 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
profilesList->insertItem((*it));
+ advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
}
@@ -68,5 +54,6 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
/**
- * Deconstructor. Unload libraries and save profile list.
+ * Deconstructor. Save profiles. Delete loaded libraries.
*/
MainWindowImp::~MainWindowImp(){
+ // Save profiles.
if(profiles.count() > 1){
@@ -75,12 +62,22 @@ MainWindowImp::~MainWindowImp(){
}
+ // Delete Modules and Libraries
+ QMap<Module*, QLibrary*>::Iterator it;
+ for( it = libraries.begin(); it != libraries.end(); ++it ){
+ delete it.key();
+ delete it.data();
+ }
}
+/**
+ * Load all modules that are found in the path
+ * @param path a directory that is scaned for any plugins that can be loaded
+ * and attempts to load them
+ */
void MainWindowImp::loadModules(QString path){
qDebug(path.latin1());
- QDir d;
- d.setPath(path);
- if(!d.exists()){
- qDebug("MainWindowImp:: Path doesn't exists");
+ QDir d(path);
+ if(!d.exists())
return;
- }
+
+ // Don't want sym links
d.setFilter( QDir::Files | QDir::NoSymLinks );
@@ -91,4 +88,3 @@ void MainWindowImp::loadModules(QString path){
if(fi->fileName().contains(".so")){
- qDebug("Found");
- Module *foo = loadPlugin(path + "/" + fi->fileName());
+ loadPlugin(path + "/" + fi->fileName());
}
@@ -105,3 +101,3 @@ void MainWindowImp::loadModules(QString path){
Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){
- qDebug(pluginFileName.latin1());
+ qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1());
QLibrary *lib = new QLibrary(pluginFileName);
@@ -122,3 +118,3 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString)
- // Store for reference
+ // Store for deletion later
libraries.insert(object, lib);
@@ -132,10 +128,21 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString)
void MainWindowImp::addClicked(){
- // Now that we have a list of all of the protocals, list them.
- {
- QMessageBox::information(this, "No Modules", "Nothing to add.", "Ok");
+ QMap<Module*, QLibrary*>::Iterator it;
+ QMap<QString, QString> list;
+ list.insert("USB (PPP) / (ADD_TEST)", "A dialup connection over the USB port");
+ list.insert("IrDa (PPP) / (ADD_TEST)", "A dialup connection over the IdDa port");
+ for( it = libraries.begin(); it != libraries.end(); ++it ){
+ if(it.key())
+ (it.key())->possibleNewInterfaces(list);
+ }
+ // See if the list has anything that we can add.
+ if(list.count() == 0){
+ QMessageBox::information(this, "Sorry", "Nothing to add.", "Ok");
return;
}
- AddServiceImp service(this, "AddService", true);
- service.showMaximized();
- service.exec();
+ AddConnectionImp addNewConnection(this, "AddConnectionImp", true);
+ addNewConnection.addConnections(list);
+ addNewConnection.showMaximized();
+ if(QDialog::Accepted == addNewConnection.exec()){
+
+ }
}
@@ -147,3 +154,3 @@ void MainWindowImp::addClicked(){
void MainWindowImp::removeClicked(){
- QListViewItem *item = serviceList->currentItem();
+ QListViewItem *item = connectionList->currentItem();
if(item == NULL) {
@@ -163,36 +170,32 @@ void MainWindowImp::removeClicked(){
/**
- * See if there is a configuration for the selected protocal.
- * Prompt with errors.
+ * Pull up the configure about the currently selected interface.
+ * Report an error if no interface is selected.
+ * If the interface has a module owner then request its configure with a empty
+ * tab. If tab is !NULL then append the interfaces setup widget to it.
*/
void MainWindowImp::configureClicked(){
- QListViewItem *item = serviceList->currentItem();
- if(item == NULL){
- QMessageBox::information(this, "Error","Please select an interface.", "Ok");
- return;
+ QListViewItem *item = connectionList->currentItem();
+ if(!item){
+ QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok);
+ return;
}
-
- if((interfaceItems[item])->getModuleOwner() == NULL){
- InterfaceSetupImp *conf = new InterfaceSetupImp(0, "InterfaceConfiguration", interfaceItems[item]);
- conf->showMaximized();
- conf->show();
- }
- else{
- 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");
+
+ Interface *i = interfaceItems[item];
+ if(i->getModuleOwner()){
+ QTabWidget *tabWidget = NULL;
+ QWidget *moduleConfigure = i->getModuleOwner()->configure(&tabWidget);
+ if(moduleConfigure != NULL){
+ if(tabWidget != NULL){
+ InterfaceSetupImp *configure = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, true);
+ tabWidget->insertTab(configure, "TCP/IP");
}
- conf->showMaximized();
- conf->show();
- }
- else{
- InterfaceSetupImp *i = new InterfaceSetupImp(0, "TCPIPInformation", interfaceItems[item], true);
- i->showMaximized();
- i->show();
+ moduleConfigure->showMaximized();
+ moduleConfigure->show();
+ return;
}
}
+
+ InterfaceSetupImp *configure = new InterfaceSetupImp(0, "InterfaceSetupImp", i, true);
+ configure->showMaximized();
+ configure->show();
}
@@ -200,35 +203,32 @@ void MainWindowImp::configureClicked(){
/**
- * Pull up the information about the selected interface
- * Report an error
+ * Pull up the information about the currently selected interface.
+ * Report an error if no interface is selected.
+ * If the interface has a module owner then request its configure with a empty
+ * tab. If tab is !NULL then append the interfaces setup widget to it.
*/
void MainWindowImp::informationClicked(){
- QListViewItem *item = serviceList->currentItem();
- if(item == NULL){
- QMessageBox::information(this, "Error","Please select an interface.", "Ok");
+ QListViewItem *item = connectionList->currentItem();
+ if(!item){
+ QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok);
return;
- }
-
- if( (interfaceItems[item])->getModuleOwner() == NULL){
- InterfaceInformationImp *i = new InterfaceInformationImp(0, "InterfaceInformationImp", interfaceItems[item]);
- i->showMaximized();
- i->show();
- }
- else{
- 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");
+ }
+
+ Interface *i = interfaceItems[item];
+ if(i->getModuleOwner()){
+ QTabWidget *tabWidget = NULL;
+ QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget);
+ if(moduleInformation != NULL){
+ if(tabWidget != NULL){
+ InterfaceInformationImp *information = new InterfaceInformationImp(tabWidget, "InterfaceSetupImp", i, true);
+ tabWidget->insertTab(information, "TCP/IP");
}
- conf->showMaximized();
- conf->show();
+ moduleInformation->showMaximized();
+ moduleInformation->show();
+ return;
}
- else{
- InterfaceInformationImp *i = new InterfaceInformationImp(0, "TCPIPInformation", interfaceItems[item], true);
- i->showMaximized();
- i->show();
- }
- }
+ }
+
+ InterfaceInformationImp *information = new InterfaceInformationImp(0, "InterfaceSetupImp", i, true);
+ information->showMaximized();
+ information->show();
}
@@ -274,2 +274,6 @@ void MainWindowImp::jobDone(KProcess *process){
QString interfaceName = line.mid(0, space);
+ if(!advancedUserMode){
+ if(interfaceName == "lo")
+ break;
+ }
Interface *i;
@@ -308,2 +312,5 @@ void MainWindowImp::jobDone(KProcess *process){
+/**
+ *
+ */
void MainWindowImp::updateInterface(Interface *i){
@@ -313,3 +320,3 @@ void MainWindowImp::updateInterface(Interface *i){
if(items.find(i) == items.end()){
- item = new QListViewItem(serviceList, "", "", "");
+ item = new QListViewItem(connectionList, "", "", "");
// See if you can't find a module owner for this interface
diff --git a/noncore/net/networksetup/mainwindowimp.h b/noncore/net/networksetup/mainwindowimp.h
index 19ebaf2..629b758 100644
--- a/noncore/net/networksetup/mainwindowimp.h
+++ b/noncore/net/networksetup/mainwindowimp.h
@@ -50,2 +50,3 @@ private:
+ bool advancedUserMode;
};
diff --git a/noncore/net/networksetup/module.h b/noncore/net/networksetup/module.h
index c1e9488..0c81928 100644
--- a/noncore/net/networksetup/module.h
+++ b/noncore/net/networksetup/module.h
@@ -18,11 +18,56 @@ public:
Module(){};
-
+
+ /**
+ * get the icon name for this device.
+ * @param Interface* can be used in determining the icon.
+ * @return QString the icon name (minus .png, .gif etc)
+ */
+ virtual QString getPixmapName(Interface* i) = 0;
+
+ /**
+ * Check to see if the interface i is owned by this module.
+ * @param Interface* interface to check against
+ * @return bool true if i is owned by this module, false otherwise.
+ */
virtual bool isOwner(Interface *){ return false; };
- virtual QWidget *configure(QTabWidget **tabWidget){ return NULL; } ;
- virtual QWidget *information(QTabWidget **tabWidget){ return NULL; };
+
+ /**
+ * Create, set tabWiget and return the WLANConfigure Module
+ * @param tabWidget a pointer to the tab widget that this configure has.
+ * @return QWidget* pointer to the tab widget in this modules configure.
+ */
+ virtual QWidget *configure(QTabWidget **){ return NULL; } ;
+
+ /**
+ * Create, set tabWiget and return the Information Module
+ * @param tabWidget a pointer to the tab widget that this information has.
+ * @return QWidget* pointer to the tab widget in this modules info.
+ */
+ virtual QWidget *information(QTabWidget **){ return NULL; };
+
+ /**
+ * Get all active (up or down) interfaces
+ * @return QList<Interface> A list of interfaces that exsist that havn't
+ * been called by isOwner()
+ */
virtual QList<Interface> getInterfaces() = 0;
- virtual QMap<QString, QString> possibleNewInterfaces() = 0;
+
+ /**
+ * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp),
+ * modem ppp)
+ */
+ virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0;
+
+ /**
+ * Attempts to create a new interface from name
+ * @return Interface* NULL if it was unable to be created.
+ * @param name the type of interface to create
+ */
virtual Interface *addNewInterface(QString name) = 0;
+
+ /**
+ * Attempts to remove the interface, doesn't delete i
+ * @return bool true if successfull, false otherwise.
+ */
virtual bool remove(Interface* i) = 0;
- virtual QString getPixmapName(Interface* i) = 0;
diff --git a/noncore/net/networksetup/networksetup.pro b/noncore/net/networksetup/networksetup.pro
index 0d48790..ba70180 100644
--- a/noncore/net/networksetup/networksetup.pro
+++ b/noncore/net/networksetup/networksetup.pro
@@ -3,4 +3,4 @@ TEMPLATE = app
CONFIG = qt warn_on release
-HEADERS = mainwindowimp.h addserviceimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h
-SOURCES = main.cpp mainwindowimp.cpp addserviceimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp
+HEADERS = mainwindowimp.h addconnectionimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h
+SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp
#INCLUDEPATH += $(QPEDIR)/include
@@ -8,3 +8,3 @@ SOURCES = main.cpp mainwindowimp.cpp addserviceimp.cpp interface.cpp interfacei
LIBS += -lqpe
-INTERFACES = mainwindow.ui addservice.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui
+INTERFACES = mainwindow.ui addconnection.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui
TARGET = networksetup
diff --git a/noncore/net/networksetup/wlan/wlan.ui b/noncore/net/networksetup/wlan/wlan.ui
index dcacbe8..9f33559 100644
--- a/noncore/net/networksetup/wlan/wlan.ui
+++ b/noncore/net/networksetup/wlan/wlan.ui
@@ -13,3 +13,3 @@
<y>0</y>
- <width>254</width>
+ <width>250</width>
<height>286</height>
@@ -55,3 +55,3 @@
<name>title</name>
- <string>Config</string>
+ <string>WLAN General</string>
</attribute>
diff --git a/noncore/net/networksetup/wlan/wlanmodule.cpp b/noncore/net/networksetup/wlan/wlanmodule.cpp
index 632f7e4..70b1f7a 100644
--- a/noncore/net/networksetup/wlan/wlanmodule.cpp
+++ b/noncore/net/networksetup/wlan/wlanmodule.cpp
@@ -22,2 +22,3 @@ QString WLANModule::getPixmapName(Interface* ){
* Check to see if the interface i is owned by this module.
+ * @param Interface* interface to check against
* @return bool true if i is owned by this module, false otherwise.
@@ -52,13 +53,8 @@ QWidget *WLANModule::information(QTabWidget **tabWidget){
/**
- *
- */
+ * Get all active (up or down) interfaces
+ * @return QList<Interface> A list of interfaces that exsist that havn't
+ * been called by isOwner()
+ */
QList<Interface> WLANModule::getInterfaces(){
- return list
-}
-
-/**
- * Return a list of possible new interfaces
- */
-QMap<QString, QString> WLANModule::possibleNewInterfaces(){
- //return list;
+ return list;
}
@@ -71,3 +67,5 @@ QMap<QString, QString> WLANModule::possibleNewInterfaces(){
*/
-Interface *WLANModule::addNewInterface(QString name){
+Interface *WLANModule::addNewInterface(QString ){
+ // We can't add a 802.11 interface, either the hardware will be there
+ // or it wont.
return NULL;
@@ -79,3 +77,4 @@ Interface *WLANModule::addNewInterface(QString name){
*/
-bool WLANModule::remove(Interface* i){
+bool WLANModule::remove(Interface*){
+ // Can't remove a hardware device, you can stop it though.
return false;
diff --git a/noncore/net/networksetup/wlan/wlanmodule.h b/noncore/net/networksetup/wlan/wlanmodule.h
index 1fbf6a9..7ebe129 100644
--- a/noncore/net/networksetup/wlan/wlanmodule.h
+++ b/noncore/net/networksetup/wlan/wlanmodule.h
@@ -17,3 +17,3 @@ public:
virtual QList<Interface> getInterfaces();
- virtual QMap<QString, QString> possibleNewInterfaces();
+ virtual void possibleNewInterfaces(QMap<QString, QString> &list){};
virtual Interface *addNewInterface(QString name);
diff --git a/noncore/settings/networksettings/TODO b/noncore/settings/networksettings/TODO
index 9a1657a..e69de29 100644
--- a/noncore/settings/networksettings/TODO
+++ b/noncore/settings/networksettings/TODO
@@ -1 +0,0 @@
-Fix DHCP obtained and expoired info
diff --git a/noncore/settings/networksettings/addservice.ui b/noncore/settings/networksettings/addconnection.ui
index 929f4fb..a349804 100644
--- a/noncore/settings/networksettings/addservice.ui
+++ b/noncore/settings/networksettings/addconnection.ui
@@ -1,3 +1,3 @@
<!DOCTYPE UI><UI>
-<class>AddService</class>
+<class>AddConnection</class>
<widget>
@@ -6,3 +6,3 @@
<name>name</name>
- <cstring>AddService</cstring>
+ <cstring>AddConnection</cstring>
</property>
@@ -13,3 +13,3 @@
<y>0</y>
- <width>245</width>
+ <width>233</width>
<height>268</height>
@@ -19,3 +19,3 @@
<name>caption</name>
- <string>Add Network Service</string>
+ <string>Add Network Connection</string>
</property>
@@ -38,3 +38,3 @@
<name>text</name>
- <string>Cancel</string>
+ <string>&amp;Cancel</string>
</property>
@@ -49,3 +49,3 @@
<name>text</name>
- <string>Add</string>
+ <string>&amp;Add</string>
</property>
@@ -123,4 +123,3 @@
<name>text</name>
- <string>LAN - TCP/IP
-For Local-area network connections through PC_CARD network interfdace cards.</string>
+ <string></string>
</property>
@@ -143,3 +142,3 @@ For Local-area network connections through PC_CARD network interfdace cards.</st
<signal>clicked()</signal>
- <receiver>AddService</receiver>
+ <receiver>AddConnection</receiver>
<slot>reject()</slot>
@@ -149,3 +148,3 @@ For Local-area network connections through PC_CARD network interfdace cards.</st
<signal>clicked()</signal>
- <receiver>AddService</receiver>
+ <receiver>AddConnection</receiver>
<slot>accept()</slot>
diff --git a/noncore/settings/networksettings/addconnectionimp.cpp b/noncore/settings/networksettings/addconnectionimp.cpp
new file mode 100644
index 0000000..ee7bd97
--- a/dev/null
+++ b/noncore/settings/networksettings/addconnectionimp.cpp
@@ -0,0 +1,38 @@
+#include "addconnectionimp.h"
+#include <qlistview.h>
+#include <qlist.h>
+#include <qlabel.h>
+#include <qheader.h>
+
+/**
+ * Constructor
+ */
+AddConnectionImp::AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddConnection(parent, name, f){
+ connect(registeredServicesList, SIGNAL(selectionChanged()), this, SLOT(changed()));
+ registeredServicesList->header()->hide();
+};
+
+/**
+ * The current item changed, update the discription.
+ */
+void AddConnectionImp::changed(){
+ QListViewItem *item = registeredServicesList->currentItem();
+ if(item){
+ help->setText(list[item->text(0)]);
+ }
+}
+
+/**
+ * Save a copy of newList for the discriptions and append them all to the view
+ * @param newList the new list of possible interfaces
+ */
+void AddConnectionImp::addConnections(QMap<QString, QString> newList){
+ list = newList;
+ QMap<QString, QString>::Iterator it;
+ for( it = list.begin(); it != list.end(); ++it )
+ QListViewItem *item = new QListViewItem(registeredServicesList, it.key());
+ registeredServicesList->setCurrentItem(registeredServicesList->firstChild());
+}
+
+// addserviceimp.cpp
+
diff --git a/noncore/settings/networksettings/addconnectionimp.h b/noncore/settings/networksettings/addconnectionimp.h
new file mode 100644
index 0000000..643cd9a
--- a/dev/null
+++ b/noncore/settings/networksettings/addconnectionimp.h
@@ -0,0 +1,29 @@
+#ifndef ADDCONNECTIONIMP_H
+#define ADDCONNECTIONIMP_H
+
+#include "addconnection.h"
+#include <qmap.h>
+#include <qlist.h>
+
+class QListViewItem;
+
+class AddConnectionImp : public AddConnection {
+
+Q_OBJECT
+
+public:
+ AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0);
+ void addConnections(QMap<QString, QString> newList);
+
+private slots:
+ void changed();
+
+private:
+ QMap<QString, QString> list;
+
+};
+
+#endif
+
+// addconectionimp.h
+
diff --git a/noncore/settings/networksettings/addserviceimp.cpp b/noncore/settings/networksettings/addserviceimp.cpp
deleted file mode 100644
index ac79d06..0000000
--- a/noncore/settings/networksettings/addserviceimp.cpp
+++ b/dev/null
@@ -1,26 +0,0 @@
-#include "addserviceimp.h"
-#include <qpe/qlibrary.h>
-#include <qlistview.h>
-#include <qlist.h>
-
-void AddServiceImp::addServices(QList<QString> list){
- list.setAutoDelete(true);
-
- for(uint i = 0; i < list.count(); i++){
- QString pluginFileName = "";
- QLibrary *lib = new QLibrary(pluginFileName);
- void *functionPointer = lib->resolve("info");
- if( !functionPointer ){
- qDebug(QString("AddServiceImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1());
- delete lib;
- break;
- }
-
- // Try to get an info.
- QString info = ((QString (*)()) functionPointer)();
- QListViewItem *newItem = new QListViewItem(registeredServicesList, info);
- }
-}
-
-
-// addserviceimp.cpp
diff --git a/noncore/settings/networksettings/addserviceimp.h b/noncore/settings/networksettings/addserviceimp.h
deleted file mode 100644
index 7cacb97..0000000
--- a/noncore/settings/networksettings/addserviceimp.h
+++ b/dev/null
@@ -1,26 +0,0 @@
-#ifndef ADDSERVICEIMP_H
-#define ADDSERVICEIMP_H
-
-#include "addservice.h"
-#include <qmap.h>
-#include <qlist.h>
-
-class QListViewItem;
-
-class AddServiceImp : public AddService {
-
-Q_OBJECT
-
-public:
- AddServiceImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddService(parent, name, f){};
- void addServices(QList<QString> list);
-
-private:
- QMap<QListViewItem*, QString> pluginInfo;
-
-};
-
-#endif
-
-// addserviceimp.h
-
diff --git a/noncore/settings/networksettings/interface.h b/noncore/settings/networksettings/interface.h
index 5dc95a4..1406e99 100644
--- a/noncore/settings/networksettings/interface.h
+++ b/noncore/settings/networksettings/interface.h
@@ -6,2 +6,3 @@
class Module;
+
class Interface {
diff --git a/noncore/settings/networksettings/interfacesetupimp.cpp b/noncore/settings/networksettings/interfacesetupimp.cpp
index 6a8449d..951aeee 100644
--- a/noncore/settings/networksettings/interfacesetupimp.cpp
+++ b/noncore/settings/networksettings/interfacesetupimp.cpp
@@ -15,3 +15,2 @@
-#define INTERFACE_FILE "/home/ben/interfaces"
#define DNSSCRIPT "interfacednsscript"
@@ -24,3 +23,3 @@ InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interfac
interface = i;
- interfaces = new Interfaces(INTERFACE_FILE);
+ interfaces = new Interfaces();
changeProfile(profileCombo->currentText());
diff --git a/noncore/settings/networksettings/mainwindow.ui b/noncore/settings/networksettings/mainwindow.ui
index a3f7bb1..f5b104a 100644
--- a/noncore/settings/networksettings/mainwindow.ui
+++ b/noncore/settings/networksettings/mainwindow.ui
@@ -104,3 +104,3 @@
<name>name</name>
- <cstring>serviceList</cstring>
+ <cstring>connectionList</cstring>
</property>
@@ -133,3 +133,3 @@
<name>name</name>
- <cstring>addServiceButton</cstring>
+ <cstring>addConnectionButton</cstring>
</property>
@@ -144,3 +144,3 @@
<name>name</name>
- <cstring>informationServiceButton</cstring>
+ <cstring>informationConnectionButton</cstring>
</property>
@@ -155,3 +155,3 @@
<name>name</name>
- <cstring>configureServiceButton</cstring>
+ <cstring>configureConnectionButton</cstring>
</property>
@@ -166,3 +166,3 @@
<name>name</name>
- <cstring>removeServiceButton</cstring>
+ <cstring>removeConnectionButton</cstring>
</property>
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index 89dac6f..66ec8b5 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -1,8 +1,8 @@
#include "mainwindowimp.h"
-#include "addserviceimp.h"
+#include "addconnectionimp.h"
#include "interfaceinformationimp.h"
#include "interfacesetupimp.h"
-#include "kprocess.h"
#include "module.h"
+#include "kprocess.h"
@@ -27,5 +27,2 @@
-// For library loading.
-#include <dlfcn.h>
-
#define TEMP_ALL "/tmp/ifconfig-a"
@@ -33,7 +30,7 @@
-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()));
- connect(configureServiceButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
+MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){
+ connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked()));
+ connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
+ connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked()));
+ connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked()));
@@ -43,18 +40,6 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
- // Make sure we have a plugin directory to scan.
- QString DirStr = QDir::homeDirPath() + "/.networksetup/" ;
- QDir pluginDir( DirStr );
- pluginDir.mkdir( DirStr );
- pluginDir.mkdir( ( DirStr + "plugins/" ) );
- QString path = DirStr + "plugins";
- pluginDir.setPath(path);
- if(!pluginDir.exists()){
- qDebug(QString("MainWindowImp: ERROR: %1 %2").arg(__FILE__).arg(__LINE__).latin1());
- return;
- }
-
- // Load any saved services.
- loadModules(path);
+ // Load connections.
+ loadModules(QDir::homeDirPath() + "/.networksetup/plugins");
getInterfaceList();
- serviceList->header()->hide();
+ connectionList->header()->hide();
@@ -65,2 +50,3 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
profilesList->insertItem((*it));
+ advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
}
@@ -68,5 +54,6 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
/**
- * Deconstructor. Unload libraries and save profile list.
+ * Deconstructor. Save profiles. Delete loaded libraries.
*/
MainWindowImp::~MainWindowImp(){
+ // Save profiles.
if(profiles.count() > 1){
@@ -75,12 +62,22 @@ MainWindowImp::~MainWindowImp(){
}
+ // Delete Modules and Libraries
+ QMap<Module*, QLibrary*>::Iterator it;
+ for( it = libraries.begin(); it != libraries.end(); ++it ){
+ delete it.key();
+ delete it.data();
+ }
}
+/**
+ * Load all modules that are found in the path
+ * @param path a directory that is scaned for any plugins that can be loaded
+ * and attempts to load them
+ */
void MainWindowImp::loadModules(QString path){
qDebug(path.latin1());
- QDir d;
- d.setPath(path);
- if(!d.exists()){
- qDebug("MainWindowImp:: Path doesn't exists");
+ QDir d(path);
+ if(!d.exists())
return;
- }
+
+ // Don't want sym links
d.setFilter( QDir::Files | QDir::NoSymLinks );
@@ -91,4 +88,3 @@ void MainWindowImp::loadModules(QString path){
if(fi->fileName().contains(".so")){
- qDebug("Found");
- Module *foo = loadPlugin(path + "/" + fi->fileName());
+ loadPlugin(path + "/" + fi->fileName());
}
@@ -105,3 +101,3 @@ void MainWindowImp::loadModules(QString path){
Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){
- qDebug(pluginFileName.latin1());
+ qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1());
QLibrary *lib = new QLibrary(pluginFileName);
@@ -122,3 +118,3 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString)
- // Store for reference
+ // Store for deletion later
libraries.insert(object, lib);
@@ -132,10 +128,21 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString)
void MainWindowImp::addClicked(){
- // Now that we have a list of all of the protocals, list them.
- {
- QMessageBox::information(this, "No Modules", "Nothing to add.", "Ok");
+ QMap<Module*, QLibrary*>::Iterator it;
+ QMap<QString, QString> list;
+ list.insert("USB (PPP) / (ADD_TEST)", "A dialup connection over the USB port");
+ list.insert("IrDa (PPP) / (ADD_TEST)", "A dialup connection over the IdDa port");
+ for( it = libraries.begin(); it != libraries.end(); ++it ){
+ if(it.key())
+ (it.key())->possibleNewInterfaces(list);
+ }
+ // See if the list has anything that we can add.
+ if(list.count() == 0){
+ QMessageBox::information(this, "Sorry", "Nothing to add.", "Ok");
return;
}
- AddServiceImp service(this, "AddService", true);
- service.showMaximized();
- service.exec();
+ AddConnectionImp addNewConnection(this, "AddConnectionImp", true);
+ addNewConnection.addConnections(list);
+ addNewConnection.showMaximized();
+ if(QDialog::Accepted == addNewConnection.exec()){
+
+ }
}
@@ -147,3 +154,3 @@ void MainWindowImp::addClicked(){
void MainWindowImp::removeClicked(){
- QListViewItem *item = serviceList->currentItem();
+ QListViewItem *item = connectionList->currentItem();
if(item == NULL) {
@@ -163,36 +170,32 @@ void MainWindowImp::removeClicked(){
/**
- * See if there is a configuration for the selected protocal.
- * Prompt with errors.
+ * Pull up the configure about the currently selected interface.
+ * Report an error if no interface is selected.
+ * If the interface has a module owner then request its configure with a empty
+ * tab. If tab is !NULL then append the interfaces setup widget to it.
*/
void MainWindowImp::configureClicked(){
- QListViewItem *item = serviceList->currentItem();
- if(item == NULL){
- QMessageBox::information(this, "Error","Please select an interface.", "Ok");
- return;
+ QListViewItem *item = connectionList->currentItem();
+ if(!item){
+ QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok);
+ return;
}
-
- if((interfaceItems[item])->getModuleOwner() == NULL){
- InterfaceSetupImp *conf = new InterfaceSetupImp(0, "InterfaceConfiguration", interfaceItems[item]);
- conf->showMaximized();
- conf->show();
- }
- else{
- 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");
+
+ Interface *i = interfaceItems[item];
+ if(i->getModuleOwner()){
+ QTabWidget *tabWidget = NULL;
+ QWidget *moduleConfigure = i->getModuleOwner()->configure(&tabWidget);
+ if(moduleConfigure != NULL){
+ if(tabWidget != NULL){
+ InterfaceSetupImp *configure = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, true);
+ tabWidget->insertTab(configure, "TCP/IP");
}
- conf->showMaximized();
- conf->show();
- }
- else{
- InterfaceSetupImp *i = new InterfaceSetupImp(0, "TCPIPInformation", interfaceItems[item], true);
- i->showMaximized();
- i->show();
+ moduleConfigure->showMaximized();
+ moduleConfigure->show();
+ return;
}
}
+
+ InterfaceSetupImp *configure = new InterfaceSetupImp(0, "InterfaceSetupImp", i, true);
+ configure->showMaximized();
+ configure->show();
}
@@ -200,35 +203,32 @@ void MainWindowImp::configureClicked(){
/**
- * Pull up the information about the selected interface
- * Report an error
+ * Pull up the information about the currently selected interface.
+ * Report an error if no interface is selected.
+ * If the interface has a module owner then request its configure with a empty
+ * tab. If tab is !NULL then append the interfaces setup widget to it.
*/
void MainWindowImp::informationClicked(){
- QListViewItem *item = serviceList->currentItem();
- if(item == NULL){
- QMessageBox::information(this, "Error","Please select an interface.", "Ok");
+ QListViewItem *item = connectionList->currentItem();
+ if(!item){
+ QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok);
return;
- }
-
- if( (interfaceItems[item])->getModuleOwner() == NULL){
- InterfaceInformationImp *i = new InterfaceInformationImp(0, "InterfaceInformationImp", interfaceItems[item]);
- i->showMaximized();
- i->show();
- }
- else{
- 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");
+ }
+
+ Interface *i = interfaceItems[item];
+ if(i->getModuleOwner()){
+ QTabWidget *tabWidget = NULL;
+ QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget);
+ if(moduleInformation != NULL){
+ if(tabWidget != NULL){
+ InterfaceInformationImp *information = new InterfaceInformationImp(tabWidget, "InterfaceSetupImp", i, true);
+ tabWidget->insertTab(information, "TCP/IP");
}
- conf->showMaximized();
- conf->show();
+ moduleInformation->showMaximized();
+ moduleInformation->show();
+ return;
}
- else{
- InterfaceInformationImp *i = new InterfaceInformationImp(0, "TCPIPInformation", interfaceItems[item], true);
- i->showMaximized();
- i->show();
- }
- }
+ }
+
+ InterfaceInformationImp *information = new InterfaceInformationImp(0, "InterfaceSetupImp", i, true);
+ information->showMaximized();
+ information->show();
}
@@ -274,2 +274,6 @@ void MainWindowImp::jobDone(KProcess *process){
QString interfaceName = line.mid(0, space);
+ if(!advancedUserMode){
+ if(interfaceName == "lo")
+ break;
+ }
Interface *i;
@@ -308,2 +312,5 @@ void MainWindowImp::jobDone(KProcess *process){
+/**
+ *
+ */
void MainWindowImp::updateInterface(Interface *i){
@@ -313,3 +320,3 @@ void MainWindowImp::updateInterface(Interface *i){
if(items.find(i) == items.end()){
- item = new QListViewItem(serviceList, "", "", "");
+ item = new QListViewItem(connectionList, "", "", "");
// See if you can't find a module owner for this interface
diff --git a/noncore/settings/networksettings/mainwindowimp.h b/noncore/settings/networksettings/mainwindowimp.h
index 19ebaf2..629b758 100644
--- a/noncore/settings/networksettings/mainwindowimp.h
+++ b/noncore/settings/networksettings/mainwindowimp.h
@@ -50,2 +50,3 @@ private:
+ bool advancedUserMode;
};
diff --git a/noncore/settings/networksettings/module.h b/noncore/settings/networksettings/module.h
index c1e9488..0c81928 100644
--- a/noncore/settings/networksettings/module.h
+++ b/noncore/settings/networksettings/module.h
@@ -18,11 +18,56 @@ public:
Module(){};
-
+
+ /**
+ * get the icon name for this device.
+ * @param Interface* can be used in determining the icon.
+ * @return QString the icon name (minus .png, .gif etc)
+ */
+ virtual QString getPixmapName(Interface* i) = 0;
+
+ /**
+ * Check to see if the interface i is owned by this module.
+ * @param Interface* interface to check against
+ * @return bool true if i is owned by this module, false otherwise.
+ */
virtual bool isOwner(Interface *){ return false; };
- virtual QWidget *configure(QTabWidget **tabWidget){ return NULL; } ;
- virtual QWidget *information(QTabWidget **tabWidget){ return NULL; };
+
+ /**
+ * Create, set tabWiget and return the WLANConfigure Module
+ * @param tabWidget a pointer to the tab widget that this configure has.
+ * @return QWidget* pointer to the tab widget in this modules configure.
+ */
+ virtual QWidget *configure(QTabWidget **){ return NULL; } ;
+
+ /**
+ * Create, set tabWiget and return the Information Module
+ * @param tabWidget a pointer to the tab widget that this information has.
+ * @return QWidget* pointer to the tab widget in this modules info.
+ */
+ virtual QWidget *information(QTabWidget **){ return NULL; };
+
+ /**
+ * Get all active (up or down) interfaces
+ * @return QList<Interface> A list of interfaces that exsist that havn't
+ * been called by isOwner()
+ */
virtual QList<Interface> getInterfaces() = 0;
- virtual QMap<QString, QString> possibleNewInterfaces() = 0;
+
+ /**
+ * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp),
+ * modem ppp)
+ */
+ virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0;
+
+ /**
+ * Attempts to create a new interface from name
+ * @return Interface* NULL if it was unable to be created.
+ * @param name the type of interface to create
+ */
virtual Interface *addNewInterface(QString name) = 0;
+
+ /**
+ * Attempts to remove the interface, doesn't delete i
+ * @return bool true if successfull, false otherwise.
+ */
virtual bool remove(Interface* i) = 0;
- virtual QString getPixmapName(Interface* i) = 0;
diff --git a/noncore/settings/networksettings/networksetup.pro b/noncore/settings/networksettings/networksetup.pro
index 0d48790..ba70180 100644
--- a/noncore/settings/networksettings/networksetup.pro
+++ b/noncore/settings/networksettings/networksetup.pro
@@ -3,4 +3,4 @@ TEMPLATE = app
CONFIG = qt warn_on release
-HEADERS = mainwindowimp.h addserviceimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h
-SOURCES = main.cpp mainwindowimp.cpp addserviceimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp
+HEADERS = mainwindowimp.h addconnectionimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h
+SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp
#INCLUDEPATH += $(QPEDIR)/include
@@ -8,3 +8,3 @@ SOURCES = main.cpp mainwindowimp.cpp addserviceimp.cpp interface.cpp interfacei
LIBS += -lqpe
-INTERFACES = mainwindow.ui addservice.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui
+INTERFACES = mainwindow.ui addconnection.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui
TARGET = networksetup
diff --git a/noncore/settings/networksettings/wlan/wlan.ui b/noncore/settings/networksettings/wlan/wlan.ui
index dcacbe8..9f33559 100644
--- a/noncore/settings/networksettings/wlan/wlan.ui
+++ b/noncore/settings/networksettings/wlan/wlan.ui
@@ -13,3 +13,3 @@
<y>0</y>
- <width>254</width>
+ <width>250</width>
<height>286</height>
@@ -55,3 +55,3 @@
<name>title</name>
- <string>Config</string>
+ <string>WLAN General</string>
</attribute>
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp
index 632f7e4..70b1f7a 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.cpp
+++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp
@@ -22,2 +22,3 @@ QString WLANModule::getPixmapName(Interface* ){
* Check to see if the interface i is owned by this module.
+ * @param Interface* interface to check against
* @return bool true if i is owned by this module, false otherwise.
@@ -52,13 +53,8 @@ QWidget *WLANModule::information(QTabWidget **tabWidget){
/**
- *
- */
+ * Get all active (up or down) interfaces
+ * @return QList<Interface> A list of interfaces that exsist that havn't
+ * been called by isOwner()
+ */
QList<Interface> WLANModule::getInterfaces(){
- return list
-}
-
-/**
- * Return a list of possible new interfaces
- */
-QMap<QString, QString> WLANModule::possibleNewInterfaces(){
- //return list;
+ return list;
}
@@ -71,3 +67,5 @@ QMap<QString, QString> WLANModule::possibleNewInterfaces(){
*/
-Interface *WLANModule::addNewInterface(QString name){
+Interface *WLANModule::addNewInterface(QString ){
+ // We can't add a 802.11 interface, either the hardware will be there
+ // or it wont.
return NULL;
@@ -79,3 +77,4 @@ Interface *WLANModule::addNewInterface(QString name){
*/
-bool WLANModule::remove(Interface* i){
+bool WLANModule::remove(Interface*){
+ // Can't remove a hardware device, you can stop it though.
return false;
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.h b/noncore/settings/networksettings/wlan/wlanmodule.h
index 1fbf6a9..7ebe129 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.h
+++ b/noncore/settings/networksettings/wlan/wlanmodule.h
@@ -17,3 +17,3 @@ public:
virtual QList<Interface> getInterfaces();
- virtual QMap<QString, QString> possibleNewInterfaces();
+ virtual void possibleNewInterfaces(QMap<QString, QString> &list){};
virtual Interface *addNewInterface(QString name);