18 files changed, 228 insertions, 183 deletions
diff --git a/noncore/settings/networksettings2/bluetooth/bluetoothBNEPGUI.ui b/noncore/settings/networksettings2/bluetooth/bluetoothBNEPGUI.ui index ddb5ddd..498f50b 100644 --- a/noncore/settings/networksettings2/bluetooth/bluetoothBNEPGUI.ui +++ b/noncore/settings/networksettings2/bluetooth/bluetoothBNEPGUI.ui @@ -1,131 +1,171 @@ <!DOCTYPE UI><UI> <class>BluetoothBNEPGUI</class> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>BluetoothBNEP_FRM</cstring> </property> <property stdset="1"> <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>283</width> - <height>199</height> + <width>278</width> + <height>339</height> </rect> </property> <property stdset="1"> <name>caption</name> <string>Bluetooth-bnep</string> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <vbox> <property stdset="1"> <name>margin</name> - <number>2</number> + <number>0</number> </property> <property stdset="1"> <name>spacing</name> - <number>2</number> + <number>0</number> </property> <widget> - <class>QLayoutWidget</class> + <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>Layout4</cstring> + <cstring>AnyPAN_CB</cstring> </property> - <hbox> - <property stdset="1"> - <name>margin</name> - <number>0</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel4</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>Name</string> - </property> - </widget> - <widget> - <class>QLineEdit</class> - <property stdset="1"> - <name>name</name> - <cstring>Name_LE</cstring> - </property> - </widget> - </hbox> - </widget> - <widget> - <class>QLabel</class> <property stdset="1"> - <name>name</name> - <cstring>TextLabel3</cstring> + <name>text</name> + <string>Any available PAN device</string> </property> <property stdset="1"> - <name>text</name> - <string>Description</string> + <name>checked</name> + <bool>true</bool> </property> </widget> <widget> - <class>QMultiLineEdit</class> + <class>QGroupBox</class> <property stdset="1"> <name>name</name> - <cstring>Description_LE</cstring> + <cstring>GroupBox1</cstring> </property> - </widget> - <widget> - <class>QLayoutWidget</class> <property stdset="1"> - <name>name</name> - <cstring>Layout5</cstring> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> + <name>title</name> + <string>Select Card</string> + </property> + <property> + <name>layoutMargin</name> </property> - <hbox> + <vbox> <property stdset="1"> <name>margin</name> - <number>0</number> + <number>5</number> </property> <property stdset="1"> <name>spacing</name> <number>6</number> </property> <widget> - <class>QCheckBox</class> + <class>QListView</class> + <column> + <property> + <name>text</name> + <string>BDAddress</string> + </property> + <property> + <name>clickable</name> + <bool>true</bool> + </property> + <property> + <name>resizeable</name> + <bool>true</bool> + </property> + </column> <property stdset="1"> <name>name</name> - <cstring>Automatic_CB</cstring> + <cstring>BTPANServers_LV</cstring> </property> <property stdset="1"> - <name>text</name> - <string>Start automatically</string> + <name>allColumnsShowFocus</name> + <bool>true</bool> </property> </widget> <widget> - <class>QCheckBox</class> + <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>Confirm_CB</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>Confirm before start</string> + <cstring>Layout2</cstring> </property> + <hbox> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <spacer> + <property> + <name>name</name> + <cstring>Spacer1</cstring> + </property> + <property stdset="1"> + <name>orientation</name> + <enum>Horizontal</enum> + </property> + <property stdset="1"> + <name>sizeType</name> + <enum>Expanding</enum> + </property> + <property> + <name>sizeHint</name> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + <widget> + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>BTManager_BUT</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Rescan</string> + </property> + </widget> + </hbox> </widget> - </hbox> + </vbox> </widget> </vbox> </widget> +<connections> + <connection> + <sender>BTManager_BUT</sender> + <signal>clicked()</signal> + <receiver>BluetoothBNEP_FRM</receiver> + <slot>SLOT_StartBTMgr()</slot> + </connection> + <connection> + <sender>AnyPAN_CB</sender> + <signal>toggled(bool)</signal> + <receiver>GroupBox1</receiver> + <slot>setDisabled(bool)</slot> + </connection> + <slot access="public">SLOT_StartBTMgr()</slot> +</connections> </UI> diff --git a/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.cpp b/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.cpp index a27f1a7..9a3156b 100644 --- a/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.cpp +++ b/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.cpp @@ -1,18 +1,26 @@ +#include <qtopia/qcopenvelope_qws.h> + #include <GUIUtils.h> #include "bluetoothBNEPedit.h" BluetoothBNEPEdit::BluetoothBNEPEdit( QWidget * Parent ) : BluetoothBNEPGUI( Parent ){ } QString BluetoothBNEPEdit::acceptable( void ) { return QString(); } -bool BluetoothBNEPEdit::commit( BluetoothBNEPData & Data ) { +bool BluetoothBNEPEdit::commit( BluetoothBNEPData & ) { return 0; } -void BluetoothBNEPEdit::showData( BluetoothBNEPData & Data ) { +void BluetoothBNEPEdit::showData( BluetoothBNEPData & ) { +} + +void BluetoothBNEPEdit::SLOT_StartBTMgr( void ) { + QCopEnvelope e( "QPE/System", "execute(QString)" ); + e << QString( "bluetooth-manager" ); + } diff --git a/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.h b/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.h index d546f1e..82d23ad 100644 --- a/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.h +++ b/noncore/settings/networksettings2/bluetooth/bluetoothBNEPedit.h @@ -1,13 +1,17 @@ #include "bluetoothBNEPdata.h" #include "bluetoothBNEPGUI.h" class BluetoothBNEPEdit : public BluetoothBNEPGUI { public : BluetoothBNEPEdit( QWidget * parent ); QString acceptable( void ); bool commit( BluetoothBNEPData & Data ); void showData( BluetoothBNEPData & Data ); + +public slots : + + void SLOT_StartBTMgr( void ); }; diff --git a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp index 1d0a0f7..b59b4f0 100644 --- a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp +++ b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp @@ -1,145 +1,153 @@ #include "bluetooth_NN.h" #include "bluetoothBNEP_NNI.h" #include "bluetoothRFCOMM_NNI.h" // // // BLUETOOTH PAN/NAP node // // static const char * BluetoothBNEPNeeds[] = { 0 }; /** * Constructor, find all of the possible interfaces */ BluetoothBNEPNetNode::BluetoothBNEPNetNode() : ANetNode(tr("Bluetooth PAN/NAP")) { InstanceCount = 7; // default } /** * Delete any interfaces that we own. */ BluetoothBNEPNetNode::~BluetoothBNEPNetNode(){ } const QString BluetoothBNEPNetNode::nodeDescription(){ return tr("\ <p>Sets up a bluetooth link using the bluetooth Network profile.</p>\ <p>Use this to connect two computing devices.</p>\ " ); } ANetNodeInstance * BluetoothBNEPNetNode::createInstance( void ) { return new ABluetoothBNEP( this ); } const char ** BluetoothBNEPNetNode::needs( void ) { return BluetoothBNEPNeeds; } const char * BluetoothBNEPNetNode::provides( void ) { return "device"; } bool BluetoothBNEPNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool BluetoothBNEPNetNode::hasDataFor( const QString & S ) { return S == "interfaces"; } bool BluetoothBNEPNetNode::generateDeviceDataForCommonFile( - SystemFile & , - long ) { - return 1; + SystemFile & S , + long DevNr) { + QString NIC = genNic( DevNr ); + + if( S.name() == "interfaces" ) { + // generate mapping stanza for this interface + S << "# check if " << NIC << " can be brought UP" << endl; + S << "mapping " << NIC << endl; + S << " script networksettings2-request" << endl << endl; + } + return 0; } QString BluetoothBNEPNetNode::genNic( long nr ) { QString S; return S.sprintf( "bnep%ld", nr ); } void BluetoothBNEPNetNode::setSpecificAttribute( QString & A, QString & V ) { if( A == "interfacecount" ) { InstanceCount = V.toLong(); } } void BluetoothBNEPNetNode::saveSpecificAttribute( QTextStream & TS) { TS << "interfacecount=" << InstanceCount << endl; } // // // BLUETOOTH RFCOMM // // static const char * BluetoothRFCOMMNeeds[] = { 0 }; BluetoothRFCOMMNetNode::BluetoothRFCOMMNetNode() : ANetNode( tr("Bluetooth serial link") ) { } BluetoothRFCOMMNetNode::~BluetoothRFCOMMNetNode(){ } const QString BluetoothRFCOMMNetNode::nodeDescription(){ return tr("\ <p>Sets up a bluetooth link using the bluetooth serial profile.</p>\ <p>Use this to connect to a GSM.</p>\ " ); } ANetNodeInstance * BluetoothRFCOMMNetNode::createInstance( void ) { return new ABluetoothRFCOMM( this ); } const char ** BluetoothRFCOMMNetNode::needs( void ) { return BluetoothRFCOMMNeeds; } const char * BluetoothRFCOMMNetNode::provides( void ) { return "line"; } bool BluetoothRFCOMMNetNode::generateProperFilesFor( ANetNodeInstance * ) { return 0; } bool BluetoothRFCOMMNetNode::hasDataFor( const QString & ) { return 0; } bool BluetoothRFCOMMNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { return 0; } void BluetoothRFCOMMNetNode::setSpecificAttribute( QString &, QString & ) { } void BluetoothRFCOMMNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new BluetoothBNEPNetNode() ); PNN.append( new BluetoothRFCOMMNetNode() ); } } diff --git a/noncore/settings/networksettings2/cable/cable_NN.cpp b/noncore/settings/networksettings2/cable/cable_NN.cpp index e95b4f6..b8c690b 100644 --- a/noncore/settings/networksettings2/cable/cable_NN.cpp +++ b/noncore/settings/networksettings2/cable/cable_NN.cpp @@ -1,60 +1,60 @@ #include "cable_NN.h" #include "cable_NNI.h" static const char * CableNeeds[] = { 0 }; /** * Constructor, find all of the possible interfaces */ CableNetNode::CableNetNode() : ANetNode(tr("Cable Connection")) { } /** * Delete any interfaces that we own. */ CableNetNode::~CableNetNode(){ } const QString CableNetNode::nodeDescription(){ return tr("\ <p>Sets up a wired serial or parallel.</p>\ " ); } ANetNodeInstance * CableNetNode::createInstance( void ) { return new ACable( this ); } const char ** CableNetNode::needs( void ) { return CableNeeds; } const char * CableNetNode::provides( void ) { return "line"; } bool CableNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool CableNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } void CableNetNode::setSpecificAttribute( QString & , QString & ) { } void CableNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new CableNetNode() ); } } diff --git a/noncore/settings/networksettings2/irda/irda_NN.cpp b/noncore/settings/networksettings2/irda/irda_NN.cpp index f2fda5c..49bc06e 100644 --- a/noncore/settings/networksettings2/irda/irda_NN.cpp +++ b/noncore/settings/networksettings2/irda/irda_NN.cpp @@ -1,60 +1,60 @@ #include "irda_NN.h" #include "irda_NNI.h" static const char * IRDANeeds[] = { 0 }; /** * Constructor, find all of the possible interfaces */ IRDANetNode::IRDANetNode() : ANetNode(tr("Infrared link")) { } /** * Delete any interfaces that we own. */ IRDANetNode::~IRDANetNode(){ } const QString IRDANetNode::nodeDescription(){ return tr("\ <p>Sets up a infra red serial link.</p>\ " ); } ANetNodeInstance * IRDANetNode::createInstance( void ) { return new AIRDA( this ); } const char ** IRDANetNode::needs( void ) { return IRDANeeds; } const char * IRDANetNode::provides( void ) { return "line"; } bool IRDANetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool IRDANetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } void IRDANetNode::setSpecificAttribute( QString & , QString & ) { } void IRDANetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new IRDANetNode() ); } } diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.cpp b/noncore/settings/networksettings2/lancard/lancard_NN.cpp index a4afab1..05cd06d 100644 --- a/noncore/settings/networksettings2/lancard/lancard_NN.cpp +++ b/noncore/settings/networksettings2/lancard/lancard_NN.cpp @@ -1,94 +1,94 @@ #include "lancard_NN.h" #include "lancard_NNI.h" static const char * LanCardNeeds[] = { 0 }; /** * Constructor, find all of the possible interfaces */ LanCardNetNode::LanCardNetNode() : ANetNode(tr("LAN card")), NICMACAddresses() { InstanceCount = 2; } /** * Delete any interfaces that we own. */ LanCardNetNode::~LanCardNetNode(){ } const QString LanCardNetNode::nodeDescription(){ return tr("\ <p>Sets up a wired regular LAN card.</p>\ <p>Use this to set up 10/100/1000 MBit LAN cards.</p>\ " ); } ANetNodeInstance * LanCardNetNode::createInstance( void ) { return new ALanCard( this ); } const char ** LanCardNetNode::needs( void ) { return LanCardNeeds; } const char * LanCardNetNode::provides( void ) { return "device"; } bool LanCardNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool LanCardNetNode::hasDataFor( const QString & S ) { return S == "interfaces"; } bool LanCardNetNode::generateDeviceDataForCommonFile( SystemFile & S , long DevNr ) { QString NIC = genNic( DevNr ); if( S.name() == "interfaces" ) { // generate mapping stanza for this interface S << "# check if " << NIC << " can be brought UP" << endl; S << "mapping " << NIC << endl; S << " script networksettings2-request" << endl << endl; } return 0; } QString LanCardNetNode::genNic( long nr ) { QString S; return S.sprintf( "eth%ld", nr ); } void LanCardNetNode::setSpecificAttribute( QString & A, QString & V ) { if( A == "interfacecount" ) { InstanceCount = V.toLong(); } else if ( A == "macaddress" ) { NICMACAddresses.append( V ); } } void LanCardNetNode::saveSpecificAttribute( QTextStream & TS) { TS << "interfacecount=" << InstanceCount << endl; for( QStringList::Iterator it = NICMACAddresses.begin(); it != NICMACAddresses.end(); ++it ) { TS << "macaddress=" << (*it) << endl; } } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new LanCardNetNode() ); } } diff --git a/noncore/settings/networksettings2/modem/modem_NN.cpp b/noncore/settings/networksettings2/modem/modem_NN.cpp index 9d70d7a..18aa480 100644 --- a/noncore/settings/networksettings2/modem/modem_NN.cpp +++ b/noncore/settings/networksettings2/modem/modem_NN.cpp @@ -1,61 +1,61 @@ #include "modem_NN.h" #include "modem_NNI.h" static const char * ModemNeeds[] = { "line" }; /** * Constructor, find all of the possible interfaces */ ModemNetNode::ModemNetNode() : ANetNode(tr("Dialup modem")) { } /** * Delete any interfaces that we own. */ ModemNetNode::~ModemNetNode(){ } const QString ModemNetNode::nodeDescription(){ return tr("\ <p>Sets up a dialing procedures.</p>\ <p>Use this to dial up over modems, ISDN, GSM, ...</p>\ " ); } ANetNodeInstance * ModemNetNode::createInstance( void ) { return new AModem( this ); } const char ** ModemNetNode::needs( void ) { return ModemNeeds; } const char * ModemNetNode::provides( void ) { return "line"; } bool ModemNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool ModemNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } void ModemNetNode::setSpecificAttribute( QString & , QString & ) { } void ModemNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new ModemNetNode() ); } } diff --git a/noncore/settings/networksettings2/network/network_NN.cpp b/noncore/settings/networksettings2/network/network_NN.cpp index b5989df..b4313c4 100644 --- a/noncore/settings/networksettings2/network/network_NN.cpp +++ b/noncore/settings/networksettings2/network/network_NN.cpp @@ -1,62 +1,62 @@ #include "network_NN.h" #include "network_NNI.h" static const char * NetworkNeeds[] = { "device", 0 }; /** * Constructor, find all of the possible interfaces */ NetworkNetNode::NetworkNetNode() : ANetNode(tr("IP Configuration")) { } /** * Delete any interfaces that we own. */ NetworkNetNode::~NetworkNetNode(){ } const QString NetworkNetNode::nodeDescription(){ return tr("\ <p>Sets up TCP/IP options.</p>\ <p>Use this to configure the TCP/IP protocol</p>\ " ); } ANetNodeInstance * NetworkNetNode::createInstance( void ) { return new ANetwork( this ); } const char ** NetworkNetNode::needs( void ) { return NetworkNeeds; } const char * NetworkNetNode::provides( void ) { return "connection"; } bool NetworkNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool NetworkNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } void NetworkNetNode::setSpecificAttribute( QString & , QString & ) { } void NetworkNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new NetworkNetNode() ); } } diff --git a/noncore/settings/networksettings2/networksettings.pro b/noncore/settings/networksettings2/networksettings.pro index 34b9cde..ff147b1 100644 --- a/noncore/settings/networksettings2/networksettings.pro +++ b/noncore/settings/networksettings2/networksettings.pro @@ -1,21 +1,21 @@ # CONFIG = qt warn_on debug #CONFIG = qt warn_on release HEADERS = networksettings.h \ activateprofile.h \ editconnection.h SOURCES = main.cpp \ networksettings.cpp \ nsdata.cpp \ activateprofile.cpp \ editconnection.cpp INCLUDEPATH += $(OPIEDIR)/include networksettings2/ DEPENDPATH += $(OPIEDIR)/include networksettings2/ -LIBS += -lqpe -L$(OPIEDIR)/plugins/networksettings2 -lnetworksettings2 -lopie +LIBS += -lqpe -L$(OPIEDIR)/plugins/networksettings2 -lnetworksettings2 -lopiecore2 INTERFACES = networksettingsGUI.ui \ editconnectionGUI.ui \ activateprofileGUI.ui TARGET = $(OPIEDIR)/bin/networksettings2 include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/networksettings2/networksettings2/networksettings2.pro b/noncore/settings/networksettings2/networksettings2/networksettings2.pro index c9945ff..11b5f84 100644 --- a/noncore/settings/networksettings2/networksettings2/networksettings2.pro +++ b/noncore/settings/networksettings2/networksettings2/networksettings2.pro @@ -1,26 +1,26 @@ TEMPLATE = lib CONFIG += qt warn_on release #CONFIG += qt warn_on debug DESTDIR = $(OPIEDIR)/lib$(PROJMAK) HEADERS = netnode.h \ resources.h \ system.h \ asline.h \ GUIUtils.h \ asconnection.h \ asfullsetup.h \ systemfile.h \ asdevice.h SOURCES = netnode.cpp \ GUIUtils.cpp \ system.cpp \ systemfile.cpp \ resources.cpp INCLUDEPATH += $(OPIEDIR)/include ../networksettings2 DEPENDPATH += $(OPIEDIR)/include -LIBS += -lqpe -lopie +LIBS += -lqpe -lopiecore2 INTERFACES = TARGET = networksettings2 VERSION = 1.0.0 include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/networksettings2/nsdata.cpp b/noncore/settings/networksettings2/nsdata.cpp index 64b83f7..bb37f10 100644 --- a/noncore/settings/networksettings2/nsdata.cpp +++ b/noncore/settings/networksettings2/nsdata.cpp @@ -1,582 +1,582 @@ #include <stdlib.h> #include <qpe/qpeapplication.h> #include <qtextstream.h> #include <qdir.h> #include <qfile.h> #include <qfileinfo.h> #include "nsdata.h" #include <asdevice.h> #include <resources.h> static QString CfgFile; NetworkSettingsData::NetworkSettingsData( void ) { // init global resources structure new TheNSResources(); CfgFile.sprintf( "%s/Settings/NS2.conf", NSResources->currentUser().HomeDir.latin1() ); fprintf( stderr, "Cfg from %s\n", CfgFile.latin1() ); // load settings Force = 0; IsModified = 0; loadSettings(); } // saving is done by caller NetworkSettingsData::~NetworkSettingsData( void ) { delete NSResources; } void NetworkSettingsData::loadSettings( void ) { QString Line, S; QString Attr, Value; long idx; QFile F( CfgFile ); QTextStream TS( &F ); do { if( ! F.open(IO_ReadOnly) ) break; /* load the file -> FORMAT : [NETNODETYPE] Entries ... <EMPTYLINE> [connection] Name=Name Node=Name <EMPTYLINE> */ while( ! TS.atEnd() ) { S = Line = TS.readLine(); if ( S.isEmpty() || S[0] != '[' ) continue; S = S.mid( 1, S.length()-2 ); if( ! NSResources ) { continue; } if( S == "connection" ) { // load connections -> collections of nodes NodeCollection * NC = new NodeCollection( TS ); NSResources->addConnection( NC ); } else { ANetNode * NN = 0; ANetNodeInstance* NNI = 0; if( S.startsWith( "nodetype " ) ) { S = S.mid( 9, S.length()-9 ); S = deQuote(S); // try to find netnode NN = NSResources->findNetNode( S ); fprintf( stderr, "Node %s : %p\n", S.latin1(), NN ); } else { // try to find instance NNI = NSResources->createNodeInstance( S ); fprintf( stderr, "NodeInstance %s : %p\n", S.latin1(), NNI ); } if( NN == 0 && NNI == 0 ) { LeftOvers.append( Line ); } do { S = Line = TS.readLine(); if( NN || NNI ) { if( S.isEmpty() ) { // empty line break; } idx = S.find( '=' ); if( idx > 0 ) { Attr = S.left( idx ); Value = S.mid( idx+1, S.length() ); } else { Value=""; Attr = S; } Value.stripWhiteSpace(); Attr.stripWhiteSpace(); Attr.lower(); // dequote Attr Value = deQuote(Value); if( NN ) { // set the attribute NN->setAttribute( Attr, Value ); } else { // set the attribute NNI->setAttribute( Attr, Value ); } } else { LeftOvers.append( Line ); // add empty line too as delimiter if( S.isEmpty() ) { // empty line break; } } } while( 1 ); if( NNI ) { // loading from file -> exists NNI->setNew( FALSE ); NSResources->addNodeInstance( NNI ); } } } } while( 0 ); } QString NetworkSettingsData::saveSettings( void ) { QString ErrS = ""; if( ! isModified() ) return ErrS; QString S; QFile F( CfgFile + ".bup" ); printf( "Saving settings to %s\n", CfgFile.latin1() ); if( ! F.open( IO_WriteOnly | IO_Truncate ) ) { ErrS = qApp->translate( "NetworkSettings", "<p>Could not save setup to \"%1\" !</p>" ). arg(CfgFile); // problem return ErrS; } QTextStream TS( &F ); // save leftovers for ( QStringList::Iterator it = LeftOvers.begin(); it != LeftOvers.end(); ++it ) { TS << (*it) << endl; } // save global configs for( QDictIterator<NetNode_t> it( NSResources->netNodes() ); it.current(); ++it ) { TS << "[nodetype " << quote( QString( it.current()->NetNode->name() ) ) << "]" << endl; it.current()->NetNode->saveAttributes( TS ); TS << endl; } { Name2Connection_t & M = NSResources->connections(); ANetNodeInstance * NNI; // for all connections for( QDictIterator<NodeCollection> it(M); it.current(); ++it ) { // all nodes in those connections for( QListIterator<ANetNodeInstance> nit(*(it.current())); nit.current(); ++nit ) { // header NNI = nit.current(); TS << '[' << QString(NNI->nodeClass()->name()) << ']' << endl; NNI->saveAttributes( TS ); TS << endl; } TS << "[connection]" << endl; it.current()->save(TS); } } QDir D("."); D.rename( CfgFile + ".bup", CfgFile ); // // proper files AND system files regenerated // setModified( 0 ); return ErrS; } QString NetworkSettingsData::generateSettings( bool ForceReq ) { bool ForceIt; QString S = ""; // include own force flag ForceIt = (Force) ? 1 : ForceReq; if( ! ForceIt && ! isModified() ) return S; // regenerate system files fprintf( stderr, "Generating settings from %s\n", CfgFile.latin1() ); { Name2SystemFile_t & SFM = NSResources->systemFiles(); Name2Connection_t & M = NSResources->connections(); NodeCollection * NC; ANetNodeInstance * NNI; SystemFile * SF; AsDevice * CurDev; ANetNode * CurDevNN; bool needToRegenerate = ForceIt; // // check if we need to generate at least one of the system files // if( ! ForceIt ) { for( QDictIterator<SystemFile> sfit(SFM); sfit.current(); ++sfit ) { SF = sfit.current(); // check if there are nodes that are modified and require // data for this system file // for all connections for( QDictIterator<NodeCollection> ncit(M); ncit.current(); ++ncit ) { NC = ncit.current(); if( NC->isModified() ) { // does this connection 'touch' this system file ? for( QListIterator<ANetNodeInstance> cncit(*NC); cncit.current(); ++cncit ) { NNI = cncit.current(); if( ( NNI->nodeClass()->hasDataFor( SF->name() ) || NNI->hasDataFor( SF->name() ) ) && NNI->isModified() ) { needToRegenerate = 1; break; } } } if( needToRegenerate ) break; } if( needToRegenerate ) break; } } // we cannot renumber with a FORCE request since // we probably are NOT going to save the config // e.g. when using --regen option if( ! ForceReq && needToRegenerate ) { NSResources->renumberConnections(); setModified(1); } // // generate files proper to each netnodeinstance // { Name2Instance_t & NNIs = NSResources->netNodeInstances(); for( QDictIterator<ANetNodeInstance> NNIIt(NNIs); NNIIt.current(); ++NNIIt ){ // for all nodes find those that are modified NNI = NNIIt.current(); if( ForceIt || NNI->isModified() ) { - if( ! NNI->nodeClass()->generateProperFilesFor( NNI ) ) { + if( NNI->nodeClass()->generateProperFilesFor( NNI ) ) { // problem generating S = qApp->translate( "NetworkSettings", "<p>Cannot generate files proper to \"%1\"</p>" ). arg(NNI->nodeClass()->name()) ; return S; } } } } // // generate all system files // for( QDictIterator<SystemFile> sfit(SFM); sfit.current(); ++sfit ) { SF = sfit.current(); fprintf( stderr, "Generating %s\n", SF->name().latin1() ); SF->open(); do { // so we can break; // global presection for this system file if( SF->preSection() ) { S = qApp->translate( "NetworkSettings", "<p>Error in preSection for file \"%1\"</p>" ). arg( SF->name() ); return S; } // find all netnodes and figure out if // for that node there are instances for( QDictIterator<NetNode_t> nnit( NSResources->netNodes() ); nnit.current(); ++nnit ) { CurDevNN = nnit.current()->NetNode; // are there instances for this netnode ? NNI = 0; for( QDictIterator<ANetNodeInstance> nniit( NSResources->netNodeInstances() ); nniit.current(); ++nniit ) { if( nniit.current()->nodeClass() == CurDevNN ) { NNI = nniit.current(); break; } } if( ! NNI ) // no instances -> next netnode type continue; // has this node data for this system file ? if( (CurDev = NNI->runtime()->asDevice() ) ) { // generate start for this nodetype for all possible devices of this type for( int i = 0; i < CurDevNN->instanceCount(); i ++ ) { S = generateSystemFileNode( *SF, CurDev, NNI, i ); if( ! S.isEmpty() ) return S; } } else { S = generateSystemFileNode( *SF, 0, NNI, -1 ); if( ! S.isEmpty() ) return S; } } if( SF->postSection() ) { S = qApp->translate( "NetworkSettings", "<p>Error in postSection for file \"%1\"</p>" ). arg( SF->name() ); return S; } } while( 0 ); SF->close(); } } Force = 0; return S; } QList<NodeCollection> NetworkSettingsData::collectPossible( const char * Interface ) { // collect connections that can work on top of this interface NodeCollection * NC; QList<NodeCollection> PossibleConnections; Name2Connection_t & M = NSResources->connections(); // for all connections for( QDictIterator<NodeCollection> it(M); it.current(); ++it ) { NC = it.current(); // check if this profile handles the requested interface if( NC->handlesInterface( Interface ) && // if different Intf. NC->state() != Disabled && // if not enabled NC->state() != IsUp // if already used ) { fprintf( stderr, "Append %s for %s\n", NC->name().latin1(), Interface); PossibleConnections.append( NC ); } } return PossibleConnections; } /* Called by the system to see if interface can be brought UP if allowed, echo Interface-allowed else Interface-disallowed */ bool NetworkSettingsData::canStart( const char * Interface ) { // load situation NodeCollection * NC = 0; QList<NodeCollection> PossibleConnections; PossibleConnections = collectPossible( Interface ); fprintf( stderr, "Possiblilies %d\n", PossibleConnections.count() ); switch( PossibleConnections.count() ) { case 0 : // no connections break; case 1 : // one connection NC = PossibleConnections.first(); break; default : // need to ask user ? return 1; } if( NC ) { switch( NC->state() ) { case Unchecked : case Unknown : case Unavailable : case Disabled : // this profile does not allow interface to be UP // -> try others break; case Off : // try to UP the device if( ! NC->setState( Activate ) ) { // cannot bring device Online -> try other alters break; } // FT case Available : case IsUp : // also called for 'ifdown' // device is ready -> done printf( "%s-c%d-allowed\n", Interface, NC->number() ); return 0; } } // if we come here no alternatives are possible printf( "%s-cnn-disallowed\n", Interface ); return 0; } /* Called by the system to regenerate config files */ bool NetworkSettingsData::regenerate( void ) { QString S; // load situation S = generateSettings( TRUE ); if( ! S.isEmpty() ) { fprintf( stdout, "%s\n", S.latin1() ); return 1; } return 0; } QString NetworkSettingsData::generateSystemFileNode( SystemFile &SF, AsDevice * CurDev, ANetNodeInstance * DevNNI, long DevInstNr ) { QString S=""; ANetNode * CurDevNN = DevNNI->nodeClass(); Name2Connection_t & M = NSResources->connections(); if( SF.preDeviceSection( CurDevNN ) ) { S = qApp->translate( "NetworkSettings", - "<p>Error in preDeviceSection for file \"%1\" and nodetype \"%2\"</p>" ). + "<p>Error in \"Pre-Device Part\" for file \"%1\" and nodetype \"%2\"</p>" ). arg( SF.name() ). arg( CurDevNN->name() ); return S; } if( CurDevNN->hasDataFor( SF.name() ) ) { if( CurDevNN->generateDeviceDataForCommonFile( SF, DevInstNr ) ) { S = qApp->translate( "NetworkSettings", - "<p>Error in node Device part for file \"%1\" and node \"%2\"</p>" ). + "<p>Error in \"Device Part\" for file \"%1\" and node \"%2\"</p>" ). arg( SF.name() ). arg( CurDevNN->name() ); return S; } } // now generate profile specific data for all // connections working on a device of the current // netnode type for( QDictIterator<NodeCollection> ncit(M); ncit.current(); ++ncit ) { NodeCollection * NC = ncit.current(); // currenly only those connections that work on // the current device (or on no device if no current) AsDevice * Dev = NC->device(); if( CurDev ) { if( CurDevNN != Dev->netNode()->nodeClass() ) { // other device type -> later continue; } } else { if( Dev ) { // other continue; } } // generate 'entry' if( SF.preNodeSection( DevNNI, DevInstNr ) ) { S = qApp->translate( "NetworkSettings", - "<p>Error in preNodeSection for file \"%1\" and node \"%2\"</p>" ). + "<p>Error in \"Pre-Node Part\" for file \"%1\" and node \"%2\"</p>" ). arg( SF.name() ). arg( CurDevNN->name() ); return S; } // ask all nodes in connection for( QListIterator<ANetNodeInstance> cncit(*NC); cncit.current(); ++cncit ) { ANetNodeInstance * NNI = cncit.current(); if( NNI->hasDataFor( SF.name() ) ) { if( NNI->generateDataForCommonFile(SF,DevInstNr) ) { S = qApp->translate( "NetworkSettings", - "<p>Error in node part for file \"%1\" and node \"%2\"</p>" ). + "<p>Error in \"Node Part\" for file \"%1\" and node \"%2\"</p>" ). arg( SF.name() ). arg( NNI->nodeClass()->name() ); return S; } } } if( SF.postNodeSection( DevNNI, DevInstNr ) ) { S = qApp->translate( "NetworkSettings", - "<p>Error in postNodeSection for file \"%1\" and node \"%2\"</p>" ). + "<p>Error in \"Post-Node Part\" for file \"%1\" and node \"%2\"</p>" ). arg( SF.name() ). arg( CurDevNN->name() ); return S; } SF << endl; } if( SF.postDeviceSection( CurDevNN ) ) { S = qApp->translate( "NetworkSettings", - "<p>Error in postDeviceSection for file \"%1\" and node \"%2\"</p>" ). + "<p>Error in \"Post-Device Part\" for file \"%1\" and node \"%2\"</p>" ). arg( SF.name() ). arg( CurDevNN->name() ); return S; } return S; } diff --git a/noncore/settings/networksettings2/ppp/ppp_NN.cpp b/noncore/settings/networksettings2/ppp/ppp_NN.cpp index 208c7c2..b7edf87 100644 --- a/noncore/settings/networksettings2/ppp/ppp_NN.cpp +++ b/noncore/settings/networksettings2/ppp/ppp_NN.cpp @@ -1,68 +1,68 @@ #include "ppp_NN.h" #include "ppp_NNI.h" static const char * PPPNeeds[] = { "line", "modem", 0 }; /** * Constructor, find all of the possible interfaces */ PPPNetNode::PPPNetNode() : ANetNode(tr("PPP Connection")) { } /** * Delete any interfaces that we own. */ PPPNetNode::~PPPNetNode(){ } const QString PPPNetNode::nodeDescription(){ return tr("\ <p>Sets up IP using PPP.</p>\ <p>Use this for dialup devices or serial setups</p>\ " ); } ANetNodeInstance * PPPNetNode::createInstance( void ) { return new APPP( this ); } const char ** PPPNetNode::needs( void ) { return PPPNeeds; } const char * PPPNetNode::provides( void ) { return "connection"; } bool PPPNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool PPPNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } QString PPPNetNode::genNic( long NicNr ) { QString S; return S.sprintf( "ppp%ld", NicNr ); } void PPPNetNode::setSpecificAttribute( QString & , QString & ) { } void PPPNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new PPPNetNode() ); } } diff --git a/noncore/settings/networksettings2/profile/profile_NN.cpp b/noncore/settings/networksettings2/profile/profile_NN.cpp index d06b7ef..59c34a3 100644 --- a/noncore/settings/networksettings2/profile/profile_NN.cpp +++ b/noncore/settings/networksettings2/profile/profile_NN.cpp @@ -1,62 +1,62 @@ #include "profile_NN.h" #include "profile_NNI.h" static const char * ProfileNeeds[] = { "connection", 0 }; /** * Constructor, find all of the possible interfaces */ ProfileNetNode::ProfileNetNode() : ANetNode( tr("Regular profile")) { } /** * Delete any interfaces that we own. */ ProfileNetNode::~ProfileNetNode(){ } const QString ProfileNetNode::nodeDescription(){ return tr("\ <p>Define use of an IP connection.</p>\ <p>Configure if and when this connection needs to be established</p>\ " ); } ANetNodeInstance * ProfileNetNode::createInstance( void ) { return new AProfile( this ); } const char ** ProfileNetNode::needs( void ) { return ProfileNeeds; } const char * ProfileNetNode::provides( void ) { return "fullsetup"; } bool ProfileNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool ProfileNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } void ProfileNetNode::setSpecificAttribute( QString & , QString & ) { } void ProfileNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new ProfileNetNode() ); } } diff --git a/noncore/settings/networksettings2/usb/usb_NN.cpp b/noncore/settings/networksettings2/usb/usb_NN.cpp index 9101490..c10a09c 100644 --- a/noncore/settings/networksettings2/usb/usb_NN.cpp +++ b/noncore/settings/networksettings2/usb/usb_NN.cpp @@ -1,77 +1,77 @@ #include "usb_NN.h" #include "usb_NNI.h" static const char * USBNeeds[] = { 0 }; /** * Constructor, find all of the possible interfaces */ USBNetNode::USBNetNode() : ANetNode(tr("USB Cable Connect")) { } /** * Delete any interfaces that we own. */ USBNetNode::~USBNetNode(){ } const QString USBNetNode::nodeDescription(){ return tr("\ <p>Configure Ethernet over USB.</p>\ <p>Use this for a computer to computer USB cable connection</p>\ " ); } ANetNodeInstance * USBNetNode::createInstance( void ) { return new AUSB( this ); } const char ** USBNetNode::needs( void ) { return USBNeeds; } const char * USBNetNode::provides( void ) { return "device"; } bool USBNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool USBNetNode::hasDataFor( const QString & S ) { return (S== "interfaces"); } bool USBNetNode::generateDeviceDataForCommonFile( SystemFile & S , long DevNr ) { QString NIC = genNic( DevNr ); if( S.name() == "interfaces" ) { // generate mapping stanza for this interface S << "# check if " << NIC << " can be brought UP" << endl; S << "mapping " << NIC << endl; S << " script networksettings2-request" << endl << endl; } return 0; } QString USBNetNode::genNic( long ) { return QString( "usbf" ); } void USBNetNode::setSpecificAttribute( QString & , QString & ) { } void USBNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new USBNetNode() ); } } diff --git a/noncore/settings/networksettings2/vpn/vpn_NN.cpp b/noncore/settings/networksettings2/vpn/vpn_NN.cpp index bfc30f9..6c7b308 100644 --- a/noncore/settings/networksettings2/vpn/vpn_NN.cpp +++ b/noncore/settings/networksettings2/vpn/vpn_NN.cpp @@ -1,62 +1,62 @@ #include "vpn_NN.h" #include "vpn_NNI.h" static const char * VPNNeeds[] = { "connection", 0 }; /** * Constructor, find all of the possible interfaces */ VPNNetNode::VPNNetNode() : ANetNode(tr("VPN Connection")) { } /** * Delete any interfaces that we own. */ VPNNetNode::~VPNNetNode(){ } const QString VPNNetNode::nodeDescription(){ return tr("\ <p>Configure private IP connection.</p>\ <p>Defines Secure tunnels over non secure IP sessions</p>\ " ); } ANetNodeInstance * VPNNetNode::createInstance( void ) { return new AVPN( this ); } const char ** VPNNetNode::needs( void ) { return VPNNeeds; } const char * VPNNetNode::provides( void ) { return "connection"; } bool VPNNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool VPNNetNode::generateDeviceDataForCommonFile( SystemFile & , long ) { - return 1; + return 0; } void VPNNetNode::setSpecificAttribute( QString & , QString & ) { } void VPNNetNode::saveSpecificAttribute( QTextStream & ) { } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new VPNNetNode() ); } } diff --git a/noncore/settings/networksettings2/wlan/wlanGUI.ui b/noncore/settings/networksettings2/wlan/wlanGUI.ui index 23d6f86..9614369 100644 --- a/noncore/settings/networksettings2/wlan/wlanGUI.ui +++ b/noncore/settings/networksettings2/wlan/wlanGUI.ui @@ -1,990 +1,975 @@ <!DOCTYPE UI><UI> <class>WLanGUI</class> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>WLanGUI</cstring> </property> <property stdset="1"> <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>196</width> + <width>192</width> <height>329</height> </rect> </property> <property stdset="1"> <name>caption</name> <string>Form1</string> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <vbox> <property stdset="1"> <name>margin</name> <number>0</number> </property> <property stdset="1"> <name>spacing</name> <number>0</number> </property> <widget> <class>QTabWidget</class> <property stdset="1"> <name>name</name> - <cstring>tabWidget</cstring> + <cstring>WLan_TAB</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>true</bool> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>ConfigPage</cstring> </property> <attribute> <name>title</name> <string>General</string> </attribute> <vbox> <property stdset="1"> <name>margin</name> <number>0</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout6</cstring> </property> <property> <name>layoutMargin</name> </property> <grid> <property stdset="1"> <name>margin</name> <number>1</number> </property> <property stdset="1"> <name>spacing</name> <number>6</number> </property> <widget row="1" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>essidLabel</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>true</bool> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>1</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>text</name> <string>ESS-ID</string> </property> </widget> <widget row="1" column="1" > <class>QComboBox</class> <item> <property> <name>text</name> <string>any</string> </property> </item> <property stdset="1"> <name>name</name> - <cstring>essid</cstring> + <cstring>ESSID_CB</cstring> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>7</hsizetype> <vsizetype>0</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>editable</name> <bool>true</bool> </property> <property stdset="1"> <name>currentItem</name> <number>0</number> </property> <property stdset="1"> <name>sizeLimit</name> <number>5</number> </property> <property stdset="1"> <name>autoCompletion</name> <bool>true</bool> </property> <property stdset="1"> <name>duplicatesEnabled</name> <bool>false</bool> </property> </widget> <widget row="0" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>modeLabel</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>true</bool> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>1</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>text</name> <string>Mode</string> </property> </widget> <widget row="0" column="1" > <class>QComboBox</class> <item> <property> <name>text</name> <string>Infrastructure</string> </property> </item> <item> <property> <name>text</name> <string>Auto</string> </property> </item> <item> <property> <name>text</name> <string>Managed</string> </property> </item> <item> <property> <name>text</name> <string>Ad-Hoc</string> </property> </item> <property stdset="1"> <name>name</name> - <cstring>mode</cstring> + <cstring>Mode_CB</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>true</bool> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>1</hsizetype> <vsizetype>0</vsizetype> </sizepolicy> </property> </widget> </grid> </widget> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout8</cstring> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <grid> <property stdset="1"> <name>margin</name> <number>1</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget row="0" column="0" rowspan="1" colspan="3" > <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>specifyAp</cstring> + <cstring>SpecifyAP_CB</cstring> </property> <property stdset="1"> <name>text</name> <string>Specify &Access Point</string> </property> </widget> <widget row="1" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>macLabel</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>false</bool> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>0</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>text</name> <string>MAC</string> </property> </widget> <widget row="1" column="2" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> - <cstring>macEdit</cstring> + <cstring>APMac_LE</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>false</bool> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>7</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </property> </widget> <spacer row="1" column="0" > <property> <name>name</name> <cstring>Spacer8</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Horizontal</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Fixed</enum> </property> <property> <name>sizeHint</name> <size> <width>20</width> <height>20</height> </size> </property> </spacer> </grid> </widget> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout7</cstring> </property> <property> <name>layoutMargin</name> </property> <hbox> <property stdset="1"> <name>margin</name> <number>1</number> </property> <property stdset="1"> <name>spacing</name> <number>6</number> </property> <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>specifyChan</cstring> + <cstring>SpecifyChannel_CB</cstring> </property> <property stdset="1"> <name>text</name> <string>Specific &Channel</string> </property> </widget> <widget> <class>QSpinBox</class> <property stdset="1"> <name>name</name> - <cstring>networkChannel</cstring> + <cstring>ChannelNr_SB</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>false</bool> </property> <property stdset="1"> <name>maxValue</name> <number>15</number> </property> <property stdset="1"> <name>minValue</name> <number>1</number> </property> <property stdset="1"> <name>value</name> <number>1</number> </property> </widget> </hbox> </widget> <spacer> <property> <name>name</name> <cstring>Spacer7</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Vertical</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Expanding</enum> </property> <property> <name>sizeHint</name> <size> <width>20</width> <height>20</height> </size> </property> </spacer> </vbox> </widget> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>WepPage</cstring> </property> <attribute> <name>title</name> <string>Encryption</string> </attribute> <vbox> <property stdset="1"> <name>margin</name> - <number>0</number> + <number>2</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>wepEnabled</cstring> + <cstring>EnableWEB_CB</cstring> </property> <property stdset="1"> <name>text</name> <string>&Enable Encryption</string> </property> </widget> <widget> <class>QButtonGroup</class> <property stdset="1"> <name>name</name> <cstring>KeyButtonGroup</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>false</bool> </property> <property stdset="1"> <name>title</name> <string>&Key Setting</string> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <grid> <property stdset="1"> <name>margin</name> <number>2</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget row="0" column="0" > <class>QRadioButton</class> <property stdset="1"> <name>name</name> - <cstring>keyRadio0</cstring> + <cstring>Key1_RB</cstring> </property> <property stdset="1"> <name>text</name> <string>Key &1</string> </property> <property stdset="1"> <name>checked</name> <bool>true</bool> </property> </widget> <widget row="3" column="0" > <class>QRadioButton</class> <property stdset="1"> <name>name</name> - <cstring>keyRadio3</cstring> + <cstring>Key4_RB</cstring> </property> <property stdset="1"> <name>text</name> <string>Key &4</string> </property> </widget> <widget row="0" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> - <cstring>LineEdit6</cstring> + <cstring>Key1_LE</cstring> + </property> + <property stdset="1"> + <name>frame</name> + <bool>true</bool> </property> </widget> <widget row="1" column="0" > <class>QRadioButton</class> <property stdset="1"> <name>name</name> - <cstring>keyRadio1</cstring> + <cstring>Key2_RB</cstring> </property> <property stdset="1"> <name>text</name> <string>Key &2</string> </property> </widget> <widget row="2" column="0" > <class>QRadioButton</class> <property stdset="1"> <name>name</name> - <cstring>keyRadio2</cstring> + <cstring>Key3_RB</cstring> </property> <property stdset="1"> <name>text</name> <string>Key &3</string> </property> </widget> <widget row="1" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> - <cstring>LineEdit6_2</cstring> + <cstring>Key2_LE</cstring> </property> </widget> <widget row="3" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> - <cstring>LineEdit6_4</cstring> + <cstring>Key4_LE</cstring> </property> </widget> <widget row="2" column="1" > <class>QLineEdit</class> <property stdset="1"> <name>name</name> - <cstring>LineEdit6_3</cstring> + <cstring>Key3_LE</cstring> </property> </widget> </grid> </widget> <widget> - <class>QButtonGroup</class> + <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>NonEncButtonGroup</cstring> + <cstring>CheckBox4</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>false</bool> </property> <property stdset="1"> - <name>title</name> - <string>Non-encrypted Packets</string> - </property> - <property stdset="1"> - <name>radioButtonExclusive</name> - <bool>true</bool> - </property> - <property> - <name>layoutMargin</name> + <name>text</name> + <string>Accept Non-Encrypted packets</string> </property> - <grid> - <property stdset="1"> - <name>margin</name> - <number>2</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget row="0" column="0" > - <class>QRadioButton</class> - <property stdset="1"> - <name>name</name> - <cstring>acceptNonEnc</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>&Accept</string> - </property> - <property stdset="1"> - <name>checked</name> - <bool>true</bool> - </property> - <property stdset="1"> - <name>buttonGroupId</name> - <number>0</number> - </property> - </widget> - <widget row="0" column="1" > - <class>QRadioButton</class> - <property stdset="1"> - <name>name</name> - <cstring>rejectNonEnc</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>&Reject</string> - </property> - <property stdset="1"> - <name>buttonGroupId</name> - <number>1</number> - </property> - </widget> - </grid> </widget> <spacer> <property> <name>name</name> <cstring>Spacer30</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Vertical</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Expanding</enum> </property> <property> <name>sizeHint</name> <size> <width>20</width> <height>20</height> </size> </property> </spacer> </vbox> </widget> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>tab</cstring> </property> <attribute> <name>title</name> <string>State</string> </attribute> <vbox> <property stdset="1"> <name>margin</name> <number>0</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout12</cstring> </property> <property> <name>layoutSpacing</name> </property> <grid> <property stdset="1"> <name>margin</name> <number>0</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget row="0" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel1_3</cstring> </property> <property stdset="1"> <name>text</name> <string>Station</string> </property> </widget> <widget row="3" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>Channel_LBL</cstring> </property> <property stdset="1"> <name>frameShape</name> <enum>Panel</enum> </property> <property stdset="1"> <name>frameShadow</name> - <enum>Sunken</enum> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>indent</name> + <number>0</number> </property> </widget> <widget row="3" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel4_3</cstring> </property> <property stdset="1"> <name>text</name> <string>Channel</string> </property> </widget> <widget row="2" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel3_3</cstring> </property> <property stdset="1"> <name>text</name> <string>Mode</string> </property> </widget> <widget row="1" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel2_3</cstring> </property> <property stdset="1"> <name>text</name> <string>ESSID</string> </property> </widget> <widget row="4" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel9_2</cstring> </property> <property stdset="1"> <name>text</name> <string>AP</string> </property> </widget> <widget row="0" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>Station_LBL</cstring> </property> <property stdset="1"> <name>frameShape</name> <enum>Panel</enum> </property> <property stdset="1"> <name>frameShadow</name> - <enum>Sunken</enum> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>indent</name> + <number>0</number> </property> </widget> <widget row="5" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>Rate_LBL</cstring> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>7</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>frameShape</name> <enum>Panel</enum> </property> <property stdset="1"> <name>frameShadow</name> - <enum>Sunken</enum> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>indent</name> + <number>0</number> </property> </widget> <widget row="5" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel4_2_2</cstring> </property> <property stdset="1"> <name>text</name> <string>Rate</string> </property> </widget> <widget row="4" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>AP_LBL</cstring> </property> <property stdset="1"> <name>frameShape</name> <enum>Panel</enum> </property> <property stdset="1"> <name>frameShadow</name> - <enum>Sunken</enum> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>indent</name> + <number>0</number> </property> </widget> <widget row="1" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>essidLabel_3</cstring> + <cstring>ESSID_LBL</cstring> </property> <property stdset="1"> <name>frameShape</name> <enum>Panel</enum> </property> <property stdset="1"> <name>frameShadow</name> - <enum>Sunken</enum> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>indent</name> + <number>0</number> </property> </widget> <widget row="2" column="1" > <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>modeLabel_3</cstring> + <cstring>Mode_LBL</cstring> </property> <property stdset="1"> <name>frameShape</name> <enum>Panel</enum> </property> <property stdset="1"> <name>frameShadow</name> - <enum>Sunken</enum> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>indent</name> + <number>0</number> </property> </widget> </grid> </widget> <widget> <class>QGroupBox</class> <property stdset="1"> <name>name</name> <cstring>GroupBox1</cstring> </property> <property stdset="1"> <name>title</name> <string>Link Quality</string> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <grid> <property stdset="1"> <name>margin</name> <number>2</number> </property> <property stdset="1"> <name>spacing</name> <number>2</number> </property> <widget row="1" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel2_2_2</cstring> </property> <property stdset="1"> <name>text</name> <string>Noise</string> </property> </widget> <widget row="2" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel3_2_2</cstring> </property> <property stdset="1"> <name>text</name> <string>Quality</string> </property> </widget> <widget row="1" column="2" > <class>QProgressBar</class> <property stdset="1"> <name>name</name> <cstring>Noise_PB</cstring> </property> <property stdset="1"> <name>progress</name> <number>0</number> </property> </widget> <widget row="2" column="2" > <class>QProgressBar</class> <property stdset="1"> <name>name</name> <cstring>Quality_PB</cstring> </property> <property stdset="1"> <name>progress</name> <number>0</number> </property> </widget> <widget row="0" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel1_2_2</cstring> </property> <property stdset="1"> <name>text</name> <string>Signal</string> </property> </widget> <spacer row="0" column="1" > <property> <name>name</name> <cstring>Spacer28</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Horizontal</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Fixed</enum> </property> <property> <name>sizeHint</name> <size> <width>16</width> <height>20</height> </size> </property> </spacer> <widget row="0" column="2" > <class>QProgressBar</class> <property stdset="1"> <name>name</name> <cstring>Signal_PB</cstring> </property> <property stdset="1"> + <name>frameShadow</name> + <enum>Plain</enum> + </property> + <property stdset="1"> + <name>lineWidth</name> + <number>1</number> + </property> + <property stdset="1"> <name>progress</name> <number>0</number> </property> </widget> </grid> </widget> <spacer> <property> <name>name</name> <cstring>Spacer11</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Vertical</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Expanding</enum> </property> <property> <name>sizeHint</name> <size> <width>20</width> <height>20</height> </size> </property> </spacer> </vbox> </widget> </widget> </vbox> </widget> <connections> <connection> - <sender>wepEnabled</sender> + <sender>EnableWEB_CB</sender> <signal>toggled(bool)</signal> <receiver>KeyButtonGroup</receiver> <slot>setEnabled(bool)</slot> </connection> <connection> - <sender>wepEnabled</sender> + <sender>SpecifyAP_CB</sender> <signal>toggled(bool)</signal> - <receiver>NonEncButtonGroup</receiver> + <receiver>APMac_LE</receiver> <slot>setEnabled(bool)</slot> </connection> <connection> - <sender>specifyAp</sender> + <sender>SpecifyAP_CB</sender> <signal>toggled(bool)</signal> - <receiver>macEdit</receiver> + <receiver>macLabel</receiver> <slot>setEnabled(bool)</slot> </connection> <connection> - <sender>specifyAp</sender> + <sender>SpecifyChannel_CB</sender> <signal>toggled(bool)</signal> - <receiver>macLabel</receiver> + <receiver>ChannelNr_SB</receiver> <slot>setEnabled(bool)</slot> </connection> <connection> - <sender>specifyChan</sender> + <sender>EnableWEB_CB</sender> <signal>toggled(bool)</signal> - <receiver>networkChannel</receiver> + <receiver>CheckBox4</receiver> <slot>setEnabled(bool)</slot> </connection> </connections> </UI> diff --git a/noncore/settings/networksettings2/wlan/wlan_NN.cpp b/noncore/settings/networksettings2/wlan/wlan_NN.cpp index 7a2c1a7..ce8a734 100644 --- a/noncore/settings/networksettings2/wlan/wlan_NN.cpp +++ b/noncore/settings/networksettings2/wlan/wlan_NN.cpp @@ -1,85 +1,85 @@ #include "wlan_NN.h" #include "wlan_NNI.h" static const char * WLanNeeds[] = { 0 }; /** * Constructor, find all of the possible interfaces */ WLanNetNode::WLanNetNode() : ANetNode(tr("WLan Device")) { InstanceCount = 2; } /** * Delete any interfaces that we own. */ WLanNetNode::~WLanNetNode(){ } const QString WLanNetNode::nodeDescription(){ return tr("\ <p>Configure Wi/Fi or WLan network cards.</p>\ <p>Defines Wireless options for those cards</p>\ " ); } ANetNodeInstance * WLanNetNode::createInstance( void ) { return new AWLan( this ); } const char ** WLanNetNode::needs( void ) { return WLanNeeds; } const char * WLanNetNode::provides( void ) { return "device"; } bool WLanNetNode::generateProperFilesFor( ANetNodeInstance * ) { - return 1; + return 0; } bool WLanNetNode::hasDataFor( const QString & S ) { return S == "interfaces"; } bool WLanNetNode::generateDeviceDataForCommonFile( SystemFile & S, long DevNr ) { QString NIC = genNic( DevNr ); if( S.name() == "interfaces" ) { // generate mapping stanza for this interface S << "# check if " << NIC << " can be brought UP" << endl; S << "mapping " << NIC << endl; S << " script networksettings2-request" << endl << endl; } return 0; } QString WLanNetNode::genNic( long nr ) { QString S; return S.sprintf( "wlan%ld", nr ); } void WLanNetNode::setSpecificAttribute( QString & A, QString & V ) { if( A == "interfacecount" ) { InstanceCount = V.toLong(); } } void WLanNetNode::saveSpecificAttribute( QTextStream & TS ) { TS << "interfacecount=" << InstanceCount << endl; } extern "C" { void create_plugin( QList<ANetNode> & PNN ) { PNN.append( new WLanNetNode() ); } } |