summaryrefslogtreecommitdiff
authortille <tille>2003-06-16 16:56:06 (UTC)
committer tille <tille>2003-06-16 16:56:06 (UTC)
commitad64cf15ac6ac064619079592f7656464e88baac (patch) (side-by-side diff)
tree54ed14a9cff9bdefcadb5ac5e04e5b3c104207ac
parentc6e6ec7a25dd0acfd970d0b9e2f43a8ea500b98b (diff)
downloadopie-ad64cf15ac6ac064619079592f7656464e88baac.zip
opie-ad64cf15ac6ac064619079592f7656464e88baac.tar.gz
opie-ad64cf15ac6ac064619079592f7656464e88baac.tar.bz2
add support for multiline qcop calls
and macaddrs
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp7
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp120
2 files changed, 62 insertions, 65 deletions
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index 5029525..544498f 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -600,68 +600,61 @@ void MainWindowImp::removeProfile(){
* @param newProfile the new profile.
*/
void MainWindowImp::changeProfile(){
if(profilesList->currentItem() == -1){
QMessageBox::information(this, "Can't Change.","Please select a profile.", QMessageBox::Ok);
return;
}
QString newProfile = profilesList->text(profilesList->currentItem());
if(newProfile != currentProfileLabel->text()){
currentProfileLabel->setText(newProfile);
QFile::remove(scheme);
QFile file(scheme);
if ( file.open(IO_ReadWrite) ) {
QTextStream stream( &file );
stream << QString("SCHEME=%1").arg(newProfile);
file.close();
}
// restart all up devices?
if(QMessageBox::information(this, "Question","Restart all running interfaces?", QMessageBox::Ok, QMessageBox::No) == QMessageBox::Ok){
// Go through them one by one
QMap<Interface*, QListViewItem*>::Iterator it;
for( it = items.begin(); it != items.end(); ++it ){
if(it.key()->getStatus() == true)
it.key()->restart();
}
}
}
// TODO change the profile in the modules
}
void MainWindowImp::makeChannel()
{
channel = new QCopChannel( "QPE/Application/networksettings", this );
connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
this, SLOT(receive(const QCString&, const QByteArray&)) );
}
void MainWindowImp::receive(const QCString &msg, const QByteArray &arg)
{
bool found = false;
qDebug("MainWindowImp::receive QCop msg >"+msg+"<");
QString dest = msg.left(msg.find("("));
QCString param = msg.right(msg.length() - msg.find("(") - 1);
param = param.left( param.length() - 1 );
qDebug("dest >%s< param >"+param+"<",dest.latin1());
-// if (param.contains("QString,QString,QString")) {
-// QDataStream stream(arg,IO_ReadOnly);
-// QString arg1, arg2, arg3;
-// stream >> arg1 >> arg2 >> arg3 ;
-// qDebug("args: >%s< >%s< >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1());
-// }
-
QMap<Module*, QLibrary*>::Iterator it;
for( it = libraries.begin(); it != libraries.end(); ++it ){
qDebug("plugin >%s<", it.key()->type().latin1() );
if(it.key()->type() == dest){
it.key()->receive( param, arg );
found = true;
}
}
if (found) QPEApplication::setKeepRunning();
else qDebug("Huh what do ya want");
}
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp
index bc467bb..e34f0ce 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.cpp
+++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp
@@ -1,57 +1,58 @@
#include "wlanmodule.h"
#include "wlanimp.h"
#include "infoimp.h"
#include "wextensions.h"
#include "interfaceinformationimp.h"
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qlabel.h>
+#include <qlineedit.h>
#include <qprogressbar.h>
#include <qspinbox.h>
#include <qtabwidget.h>
/**
* Constructor, find all of the possible interfaces
*/
WLANModule::WLANModule()
: Module(),
wlanconfigWiget(0)
{
}
/**
* Delete any interfaces that we own.
*/
WLANModule::~WLANModule(){
Interface *i;
for ( i=list.first(); i != 0; i=list.next() )
delete i;
}
/**
* Change the current profile
*/
void WLANModule::setProfile(const QString &newProfile){
profile = newProfile;
}
/**
* 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)
*/
QString WLANModule::getPixmapName(Interface* ){
return "wlan";
}
/**
* 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.
*/
bool WLANModule::isOwner(Interface *i){
@@ -86,124 +87,127 @@ QWidget *WLANModule::information(Interface *i){
return getInfo( i );
}
/**
* 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;
}
/**
* Attempt to add a new interface as defined by name
* @param name the name of the type of interface that should be created given
* by possibleNewInterfaces();
* @return Interface* NULL if it was unable to be created.
*/
Interface *WLANModule::addNewInterface(const QString &){
// We can't add a 802.11 interface, either the hardware will be there
// or it wont.
return NULL;
}
/**
* Attempts to remove the interface, doesn't delete i
* @return bool true if successfull, false otherwise.
*/
bool WLANModule::remove(Interface*){
// Can't remove a hardware device, you can stop it though.
return false;
}
void WLANModule::receive(const QCString &param, const QByteArray &arg)
{
qDebug("WLANModule::receive "+param);
QStringList params = QStringList::split(",",param);
int count = params.count();
qDebug("WLANModule got %i params", count );
if (count < 2){
qDebug("Erorr less than 2 parameter");
qDebug("RETURNING");
return;
}
QDataStream stream(arg,IO_ReadOnly);
QString interface;
QString action;
-
- stream >> interface;
- stream >> action;
- qDebug("WLANModule got interface %s and acion %s", interface.latin1(), action.latin1());
- // find interfaces
- Interface *ifa=0;
- for ( Interface *i=list.first(); i != 0; i=list.next() ){
- if (i->getInterfaceName() == interface){
- qDebug("WLANModule found interface %s",interface.latin1());
- ifa = i;
+ while (! stream.atEnd() ){
+ stream >> interface;
+ stream >> action;
+ qDebug("WLANModule got interface %s and acion %s", interface.latin1(), action.latin1());
+ // find interfaces
+ Interface *ifa=0;
+ for ( Interface *i=list.first(); i != 0; i=list.next() ){
+ if (i->getInterfaceName() == interface){
+ qDebug("WLANModule found interface %s",interface.latin1());
+ ifa = i;
+ }
}
- }
-
- if (ifa == 0){
- qFatal("WLANModule Did not find %s",interface.latin1());
- }
- if (count == 2){
- // those should call the interface directly
- QWidget *info = getInfo( ifa );
- info->showMaximized();
-
- if ( action.contains("start" ) ){
- ifa->start();
- } else if ( action.contains("restart" ) ){
- ifa->restart();
- } else if ( action.contains("stop" ) ){
- ifa->stop();
- }else if ( action.contains("refresh" ) ){
- ifa->refresh();
- }
- }else if (count == 3){
- QString value;
- if (!wlanconfigWiget){
- //FIXME: what if it got closed meanwhile?
- wlanconfigWiget = (WLANImp*) configure(ifa);
+ if (ifa == 0){
+ qFatal("WLANModule Did not find %s",interface.latin1());
}
- wlanconfigWiget->showMaximized();
- stream >> value;
- qDebug("WLANModule is setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() );
- if ( action.contains("ESSID") ){
- QComboBox *combo = wlanconfigWiget->essid;
- bool found = false;
- for ( int i = 0; i < combo->count(); i++)
- if ( combo->text( i ) == value ){
- combo->setCurrentItem( i );
- found = true;
+
+ if (count == 2){
+ // those should call the interface directly
+ QWidget *info = getInfo( ifa );
+ info->showMaximized();
+
+ if ( action.contains("start" ) ){
+ ifa->start();
+ } else if ( action.contains("restart" ) ){
+ ifa->restart();
+ } else if ( action.contains("stop" ) ){
+ ifa->stop();
+ }else if ( action.contains("refresh" ) ){
+ ifa->refresh();
+ }
+ }else if (count == 3){
+ QString value;
+ if (!wlanconfigWiget){
+ //FIXME: what if it got closed meanwhile?
+ wlanconfigWiget = (WLANImp*) configure(ifa);
+ }
+ wlanconfigWiget->showMaximized();
+ stream >> value;
+ qDebug("WLANModule is setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() );
+ if ( action.contains("ESSID") ){
+ QComboBox *combo = wlanconfigWiget->essid;
+ bool found = false;
+ for ( int i = 0; i < combo->count(); i++)
+ if ( combo->text( i ) == value ){
+ combo->setCurrentItem( i );
+ found = true;
}
- if (!found) combo->insertItem( value, 0 );
- }else if ( action.contains("Mode") ){
- QComboBox *combo = wlanconfigWiget->mode;
- for ( int i = 0; i < combo->count(); i++)
- if ( combo->text( i ) == value ){
+ if (!found) combo->insertItem( value, 0 );
+ }else if ( action.contains("Mode") ){
+ QComboBox *combo = wlanconfigWiget->mode;
+ for ( int i = 0; i < combo->count(); i++)
+ if ( combo->text( i ) == value ){
combo->setCurrentItem( i );
- }
-
- }else if (action.contains("Channel")){
- wlanconfigWiget->specifyChan->setChecked( true );
- wlanconfigWiget->networkChannel->setValue( value.toInt() );
- }else
- qDebug("wlan plugin has no clue");
- }
-
+ }
+
+ }else if (action.contains("Channel")){
+ wlanconfigWiget->specifyChan->setChecked( true );
+ wlanconfigWiget->networkChannel->setValue( value.toInt() );
+ }else if (action.contains("MacAddr")){
+ wlanconfigWiget->specifyAp->setChecked( true );
+ wlanconfigWiget->macEdit->setText( value );
+ }else
+ qDebug("wlan plugin has no clue");
+ }
+ }// while stream
}
QWidget *WLANModule::getInfo( Interface *i)
{
qDebug("WLANModule::getInfo start");
WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
info->tabWidget->insertTab(information, "TCP/IP", 0);
qDebug("WLANModule::getInfo return");
return info;
}