summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/mainwindowimp.cpp
authorbenmeyer <benmeyer>2002-10-02 18:52:50 (UTC)
committer benmeyer <benmeyer>2002-10-02 18:52:50 (UTC)
commit56a0a990842a5b57b961c064809aae27f087562d (patch) (side-by-side diff)
treee16ec644bff60c88c710ef6beedc5b033b39624c /noncore/settings/networksettings/mainwindowimp.cpp
parent527e77d8244fb25d0bab39857eebbdfbcbfb807a (diff)
downloadopie-56a0a990842a5b57b961c064809aae27f087562d.zip
opie-56a0a990842a5b57b961c064809aae27f087562d.tar.gz
opie-56a0a990842a5b57b961c064809aae27f087562d.tar.bz2
DHCP works, addProfile works
Diffstat (limited to 'noncore/settings/networksettings/mainwindowimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp73
1 files changed, 46 insertions, 27 deletions
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index 66ec8b5..e9429e3 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -7,2 +7,3 @@
#include "kprocess.h"
+#include "namedialog.h"
@@ -130,2 +131,3 @@ void MainWindowImp::addClicked(){
QMap<QString, QString> list;
+ QMap<QString, Module*> newInterfaceOwners;
list.insert("USB (PPP) / (ADD_TEST)", "A dialup connection over the USB port");
@@ -133,4 +135,5 @@ void MainWindowImp::addClicked(){
for( it = libraries.begin(); it != libraries.end(); ++it ){
- if(it.key())
+ if(it.key()){
(it.key())->possibleNewInterfaces(list);
+ }
}
@@ -145,3 +148,15 @@ void MainWindowImp::addClicked(){
if(QDialog::Accepted == addNewConnection.exec()){
-
+ QListViewItem *item = addNewConnection.registeredServicesList->currentItem();
+ if(!item)
+ return;
+
+ for( it = libraries.begin(); it != libraries.end(); ++it ){
+ if(it.key()){
+ Interface *i = (it.key())->addNewInterface(item->text(0));
+ if(i){
+ interfaceNames.insert(i->getInterfaceName(), i);
+ updateInterface(i);
+ }
+ }
+ }
}
@@ -155,8 +170,9 @@ void MainWindowImp::removeClicked(){
QListViewItem *item = connectionList->currentItem();
- if(item == NULL) {
- QMessageBox::information(this, "Error","Please select an interface.", "Ok");
- return;
+ if(!item) {
+ QMessageBox::information(this, "Error","Please select an interface.", "Ok");
+ return;
}
- if((interfaceItems[item])->getModuleOwner() == NULL){
+ Interface *i = interfaceItems[item];
+ if(i->getModuleOwner() == NULL){
QMessageBox::information(this, "Can't remove interface.", "Interface is built in.", "Ok");
@@ -164,5 +180,10 @@ void MainWindowImp::removeClicked(){
else{
- // Try to remove.
+ if(!i->getModuleOwner()->remove(i))
+ QMessageBox::information(this, "Error", "Unable to remove.", "Ok");
+ else{
+ QMessageBox::information(this, "Success", "Interface was removed.", "Ok");
+ // TODO memory managment....
+ // who deletes the interface?
+ }
}
-
}
@@ -313,3 +334,4 @@ void MainWindowImp::jobDone(KProcess *process){
/**
- *
+ * Update this interface. If no QListViewItem exists create one.
+ * @param Interface* pointer to the interface that needs to be updated.
*/
@@ -318,3 +340,3 @@ void MainWindowImp::updateInterface(Interface *i){
- // See if we already have it
+ // Find the interface, making it if needed.
if(items.find(i) == items.end()){
@@ -327,3 +349,2 @@ void MainWindowImp::updateInterface(Interface *i){
}
-
items.insert(i, item);
@@ -333,8 +354,5 @@ void MainWindowImp::updateInterface(Interface *i){
item = items[i];
-
- QString statusImage = "down";
- if(i->getStatus())
- statusImage = "up";
- QPixmap status = (Resource::loadPixmap(statusImage));
- item->setPixmap(0, status);
+
+ // Update the icons and information
+ item->setPixmap(0, (Resource::loadPixmap(i->getStatus() ? "up": "down")));
@@ -348,10 +366,8 @@ void MainWindowImp::updateInterface(Interface *i){
// Actually try to use the Module
- if(i->getModuleOwner() != NULL){
+ if(i->getModuleOwner() != NULL)
typeName = i->getModuleOwner()->getPixmapName(i);
- }
- QPixmap type = (Resource::loadPixmap(typeName));
- item->setPixmap(1, type);
-
- item->setText(2, i->getHardwareName());
+ item->setPixmap(1, (Resource::loadPixmap(typeName)));
+ item->setText(2, i->getHardwareName());
+ item->setText(3, (i->getStatus()) ? i->getIp() : QString(""));
}
@@ -361,8 +377,12 @@ void MainWindowImp::updateInterface(Interface *i){
* Don't add profiles that already exists.
- * Appends to the combo and QStringList
+ * Appends to the list and QStringList
*/
void MainWindowImp::addProfile(){
- QString newProfileName = "New";
+ NameDialog foo(this, "namedialog", true);
+ QString newProfileName = foo.go();
+ if(newProfileName.length() == 0)
+ return;
+
if(profiles.grep(newProfileName).count() > 0){
- QMessageBox::information(this, "Can't Add.","Profile already exists.", "Ok");
+ QMessageBox::information(this, "Can't Add","Profile already exists.", "Ok");
return;
@@ -371,3 +391,2 @@ void MainWindowImp::addProfile(){
profilesList->insertItem(newProfileName);
-
}