summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp6
-rw-r--r--noncore/settings/networksettings2/bluetooth/bluetooth_NN.h6
-rw-r--r--noncore/settings/networksettings2/cable/cable_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/cable/cable_NN.h3
-rw-r--r--noncore/settings/networksettings2/editconnection.cpp12
-rw-r--r--noncore/settings/networksettings2/irda/irda_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/irda/irda_NN.h3
-rw-r--r--noncore/settings/networksettings2/lancard/lancardGUI.ui88
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NN.cpp11
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NN.h8
-rw-r--r--noncore/settings/networksettings2/lancard/lancard_NNI.cpp2
-rw-r--r--noncore/settings/networksettings2/lancard/lancardedit.cpp189
-rw-r--r--noncore/settings/networksettings2/lancard/lancardedit.h12
-rw-r--r--noncore/settings/networksettings2/lancard/lancardrun.cpp34
-rw-r--r--noncore/settings/networksettings2/lancard/lancardrun.h6
-rw-r--r--noncore/settings/networksettings2/modem/modem_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/modem/modem_NN.h3
-rw-r--r--noncore/settings/networksettings2/network/networkGUI.ui131
-rw-r--r--noncore/settings/networksettings2/network/network_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/network/network_NN.h3
-rw-r--r--noncore/settings/networksettings2/network/networkedit.cpp66
-rw-r--r--noncore/settings/networksettings2/network/networkedit.h8
-rw-r--r--noncore/settings/networksettings2/networksettings2/netnode.cpp12
-rw-r--r--noncore/settings/networksettings2/networksettings2/netnode.h13
-rw-r--r--noncore/settings/networksettings2/networksettings2/resources.cpp8
-rw-r--r--noncore/settings/networksettings2/networksettings2/resources.h2
-rw-r--r--noncore/settings/networksettings2/networksettings2/systemfile.cpp8
-rw-r--r--noncore/settings/networksettings2/nsdata.cpp49
-rw-r--r--noncore/settings/networksettings2/ppp/ppp_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/ppp/ppp_NN.h3
-rw-r--r--noncore/settings/networksettings2/profile/profile_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/profile/profile_NN.h3
-rw-r--r--noncore/settings/networksettings2/usb/usb_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/usb/usb_NN.h3
-rw-r--r--noncore/settings/networksettings2/vpn/vpn_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/vpn/vpn_NN.h3
-rw-r--r--noncore/settings/networksettings2/wlan/wlan_NN.cpp2
-rw-r--r--noncore/settings/networksettings2/wlan/wlan_NN.h3
38 files changed, 549 insertions, 167 deletions
diff --git a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp
index 4579e37..1d0a0f7 100644
--- a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp
+++ b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.cpp
@@ -14,9 +14,10 @@ static const char * BluetoothBNEPNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-BluetoothBNEPNetNode::BluetoothBNEPNetNode() : ANetNode() {
+BluetoothBNEPNetNode::BluetoothBNEPNetNode() :
+ ANetNode(tr("Bluetooth PAN/NAP")) {
InstanceCount = 7; // default
}
/**
@@ -87,9 +88,10 @@ void BluetoothBNEPNetNode::saveSpecificAttribute( QTextStream & TS) {
static const char * BluetoothRFCOMMNeeds[] =
{ 0
};
-BluetoothRFCOMMNetNode::BluetoothRFCOMMNetNode() : ANetNode() {
+BluetoothRFCOMMNetNode::BluetoothRFCOMMNetNode() :
+ ANetNode( tr("Bluetooth serial link") ) {
}
BluetoothRFCOMMNetNode::~BluetoothRFCOMMNetNode(){
}
diff --git a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h
index 882d2e3..2e5e1d2 100644
--- a/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h
+++ b/noncore/settings/networksettings2/bluetooth/bluetooth_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/bluetooth"; }
- virtual const QString nodeName()
- { return tr("Bluetooth PAN/NAP"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
@@ -57,11 +54,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/bluetooth"; }
- virtual const QString nodeName()
- { return tr("Bluetooth serial link"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/cable/cable_NN.cpp b/noncore/settings/networksettings2/cable/cable_NN.cpp
index dd41c1f..e95b4f6 100644
--- a/noncore/settings/networksettings2/cable/cable_NN.cpp
+++ b/noncore/settings/networksettings2/cable/cable_NN.cpp
@@ -7,9 +7,9 @@ static const char * CableNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-CableNetNode::CableNetNode() : ANetNode() {
+CableNetNode::CableNetNode() : ANetNode(tr("Cable Connection")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/cable/cable_NN.h b/noncore/settings/networksettings2/cable/cable_NN.h
index b37f31a..c48037a 100644
--- a/noncore/settings/networksettings2/cable/cable_NN.h
+++ b/noncore/settings/networksettings2/cable/cable_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/cable"; }
- virtual const QString nodeName()
- { return tr("Cable Connection"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/editconnection.cpp b/noncore/settings/networksettings2/editconnection.cpp
index 4bbe502..77826d1 100644
--- a/noncore/settings/networksettings2/editconnection.cpp
+++ b/noncore/settings/networksettings2/editconnection.cpp
@@ -132,9 +132,9 @@ NodeCollection * EditConnection::getTmpCollection( void ) {
if( ((QCheckListItem *)it)->isOn() ) {
// this radio is selected -> go deeper
if( SelectedNodes == 0 ||
NNI == 0 ||
- NNI->nodeClass()->nodeName() != it->text(0) ) {
+ it->text(0) != NNI->nodeClass()->name() ) {
// new item not in previous collection
ANetNodeInstance * NNI = (*Mapping)[it]->createInstance();
NNI->initialize();
// this node type not in collection
@@ -195,9 +195,9 @@ void EditConnection::setConnection( NodeCollection * NC ) {
// check if one radio is selected
it = it->firstChild();
Found = 0;
while( it ) {
- if( NNI && NNI->nodeClass()->nodeName() == it->text(0) ) {
+ if( NNI && it->text(0) == NNI->nodeClass()->name() ) {
// this radio is part of the collection
((QCheckListItem *)it)->setOn( 1 );
updateGUI( it, NNI->nodeClass() );
// check its children
@@ -281,9 +281,9 @@ void EditConnection::buildFullTree( void ) {
continue;
}
MyQCheckListItem * it = new MyQCheckListItem( TheTop,
- NN->nodeName(),
+ NN->name(),
QCheckListItem::RadioButton );
it->setPixmap( 0, NSResources->getPixmap( "Devices/commprofile" ) );
// remember that this node maps to this listitem
Mapping->insert( it, NN );
@@ -309,16 +309,16 @@ void EditConnection::buildSubTree( QListViewItem * it, ANetNode *NN ) {
if( NNL.size() > 1 ) {
// generate radio buttons
CI = new MyQCheckListItem(
(QCheckListItem *)it,
- NNL[i]->nodeName(), QCheckListItem::RadioButton );
+ NNL[i]->name(), QCheckListItem::RadioButton );
// remember that this node maps to this listitem
CI->setPixmap( 0, NSResources->getPixmap( NNL[i]->pixmapName() ) );
Mapping->insert( CI, NNL[i] );
CI->setSelectable( FALSE );
} else {
// Single item
- CI = new MyQListViewItem( it, NNL[i]->nodeName() );
+ CI = new MyQListViewItem( it, NNL[i]->name() );
// remember that this node maps to this listitem
Mapping->insert( CI, NNL[i] );
CI->setSelectable( FALSE );
CI->setPixmap( 0, NSResources->getPixmap( NNL[i]->pixmapName() ) );
@@ -443,9 +443,9 @@ void EditConnection::SLOT_AlterTab( const QString & S ) {
for ( ; it.current(); ++it ) {
NNI = it.current();
Devices_CB->insertItem(
NSResources->getPixmap( NNI->nodeClass()->pixmapName() ),
- NNI->nodeClass()->nodeName()
+ NNI->nodeClass()->name()
);
// add edit widget
W = NNI->edit( Setup_WS );
diff --git a/noncore/settings/networksettings2/irda/irda_NN.cpp b/noncore/settings/networksettings2/irda/irda_NN.cpp
index 49b7707..f2fda5c 100644
--- a/noncore/settings/networksettings2/irda/irda_NN.cpp
+++ b/noncore/settings/networksettings2/irda/irda_NN.cpp
@@ -7,9 +7,9 @@ static const char * IRDANeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-IRDANetNode::IRDANetNode() : ANetNode() {
+IRDANetNode::IRDANetNode() : ANetNode(tr("Infrared link")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/irda/irda_NN.h b/noncore/settings/networksettings2/irda/irda_NN.h
index 2dcef74..fa6408d 100644
--- a/noncore/settings/networksettings2/irda/irda_NN.h
+++ b/noncore/settings/networksettings2/irda/irda_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/irda"; }
- virtual const QString nodeName()
- { return tr("Infrared link"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/lancard/lancardGUI.ui b/noncore/settings/networksettings2/lancard/lancardGUI.ui
index 8d94816..c407175 100644
--- a/noncore/settings/networksettings2/lancard/lancardGUI.ui
+++ b/noncore/settings/networksettings2/lancard/lancardGUI.ui
@@ -10,9 +10,9 @@
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>362</width>
+ <width>354</width>
<height>359</height>
</rect>
</property>
<property stdset="1">
@@ -68,9 +68,9 @@
</property>
<vbox>
<property stdset="1">
<name>margin</name>
- <number>11</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
@@ -79,9 +79,9 @@
<class>QListView</class>
<column>
<property>
<name>text</name>
- <string>Name</string>
+ <string>MACAddress</string>
</property>
<property>
<name>clickable</name>
<bool>true</bool>
@@ -90,31 +90,77 @@
<name>resizeable</name>
<bool>true</bool>
</property>
</column>
- <column>
- <property>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>LanCards_LV</cstring>
+ </property>
+ <property stdset="1">
+ <name>allColumnsShowFocus</name>
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <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>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>RemoveUnknown_BUT</cstring>
+ </property>
+ <property stdset="1">
<name>text</name>
- <string>MACAddress</string>
+ <string>Remove Unknown</string>
</property>
+ </widget>
+ <spacer>
<property>
- <name>clickable</name>
- <bool>true</bool>
+ <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>resizeable</name>
- <bool>true</bool>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- </column>
+ </spacer>
+ <widget>
+ <class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>LanCards_LV</cstring>
+ <cstring>RescanCards_BUT</cstring>
</property>
<property stdset="1">
- <name>allColumnsShowFocus</name>
- <bool>true</bool>
+ <name>text</name>
+ <string>Rescan</string>
</property>
</widget>
+ </hbox>
+ </widget>
</vbox>
</widget>
</vbox>
</widget>
@@ -124,6 +170,20 @@
<signal>toggled(bool)</signal>
<receiver>GroupBox1</receiver>
<slot>setDisabled(bool)</slot>
</connection>
+ <connection>
+ <sender>RescanCards_BUT</sender>
+ <signal>clicked()</signal>
+ <receiver>Lancard_FRM</receiver>
+ <slot>SLOT_ScanCards()</slot>
+ </connection>
+ <connection>
+ <sender>RemoveUnknown_BUT</sender>
+ <signal>clicked()</signal>
+ <receiver>Lancard_FRM</receiver>
+ <slot>SLOT_RemoveUnknown()</slot>
+ </connection>
+ <slot access="public">SLOT_ScanCards()</slot>
+ <slot access="public">SLOT_RemoveUnknown()</slot>
</connections>
</UI>
diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.cpp b/noncore/settings/networksettings2/lancard/lancard_NN.cpp
index ba1c1f8..a4afab1 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NN.cpp
+++ b/noncore/settings/networksettings2/lancard/lancard_NN.cpp
@@ -6,9 +6,9 @@ static const char * LanCardNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-LanCardNetNode::LanCardNetNode() : ANetNode() {
+LanCardNetNode::LanCardNetNode() : ANetNode(tr("LAN card")), NICMACAddresses() {
InstanceCount = 2;
}
/**
@@ -68,15 +68,24 @@ QString LanCardNetNode::genNic( long 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 ) {
diff --git a/noncore/settings/networksettings2/lancard/lancard_NN.h b/noncore/settings/networksettings2/lancard/lancard_NN.h
index 5f2b25d..d58823c 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NN.h
+++ b/noncore/settings/networksettings2/lancard/lancard_NN.h
@@ -1,7 +1,8 @@
#ifndef LANCARD_NETNODE_H
#define LANCARD_NETNODE_H
+#include <qstringlist.h>
#include "netnode.h"
class ALanCard;
@@ -16,11 +17,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/card"; }
- virtual const QString nodeName()
- { return tr("LAN card"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
@@ -35,8 +33,10 @@ public:
virtual long instanceCount( void )
{ return InstanceCount; }
virtual QString genNic( long );
+ virtual QStringList & addressesOfNIC( void )
+ { return NICMACAddresses; }
private:
virtual void setSpecificAttribute( QString & Attr, QString & Value );
@@ -44,8 +44,10 @@ private:
// number of interfaces for this device
long InstanceCount;
+ QStringList NICMACAddresses;
+
};
extern "C"
{
diff --git a/noncore/settings/networksettings2/lancard/lancard_NNI.cpp b/noncore/settings/networksettings2/lancard/lancard_NNI.cpp
index 5962d52..99c033e 100644
--- a/noncore/settings/networksettings2/lancard/lancard_NNI.cpp
+++ b/noncore/settings/networksettings2/lancard/lancard_NNI.cpp
@@ -29,9 +29,9 @@ void ALanCard::saveSpecificAttribute( QTextStream & TS) {
}
QWidget * ALanCard::edit( QWidget * parent ) {
GUI = new LanCardEdit( parent );
- GUI->showData( Data );
+ GUI->showData( this );
return GUI;
}
QString ALanCard::acceptable( void ) {
diff --git a/noncore/settings/networksettings2/lancard/lancardedit.cpp b/noncore/settings/networksettings2/lancard/lancardedit.cpp
index fa7f6dc..ffe9bf6 100644
--- a/noncore/settings/networksettings2/lancard/lancardedit.cpp
+++ b/noncore/settings/networksettings2/lancard/lancardedit.cpp
@@ -1,95 +1,208 @@
#include <GUIUtils.h>
#include <resources.h>
+#include <qarray.h>
#include <qlistview.h>
#include <qcheckbox.h>
#include <qheader.h>
#include <qregexp.h>
+
#include "lancardedit.h"
+#include "lancard_NN.h"
+#include "lancard_NNI.h"
LanCardEdit::LanCardEdit( QWidget * Parent ) : LanCardGUI( Parent ){
- System & S = NSResources->system();
- QRegExp R( "eth[0-9]" );
- QCheckListItem * CLI;
-
LanCards_LV->header()->hide();
- // populate with all lancards in system
- for( QDictIterator<InterfaceInfo> It(S.interfaces());
- It.current();
- ++It ) {
- if( R.match( It.current()->Name ) >= 0 &&
- It.current()->CardType == ARPHRD_ETHER
- ) {
- CLI = new QCheckListItem( LanCards_LV, It.current()->Name,
- QCheckListItem::CheckBox );
- CLI->setText( 1, It.current()->MACAddress );
- }
- }
}
QString LanCardEdit::acceptable( void ) {
return QString();
}
-
bool LanCardEdit::commit( LanCardData & Data ) {
bool SM = 0;
CBM( Data.AnyLanCard, AnyCard_CB, SM );
if( ! Data.AnyLanCard ) {
- // collect set of lancards that match
+ // take copy for orig list
+ QStringList NewList( Data.HWAddresses );
+
+ // update HWAddresses to new state
+ // remove item also from NewList
int idx;
QCheckListItem * CLI = (QCheckListItem *)LanCards_LV->firstChild();
while( CLI ) {
- idx = Data.HWAddresses.findIndex(CLI->text(1));
+ idx = Data.HWAddresses.findIndex(CLI->text(0));
if( CLI->isOn() ) {
if( idx < 0 ) {
// should be in list
- Data.HWAddresses.append( CLI->text(1) );
+ Data.HWAddresses.append( CLI->text(0) );
SM = 1;
}
} else {
// should not be in list
if( idx >= 0 ) {
- Data.HWAddresses.remove( Data.HWAddresses.at(idx) );
+ NewList.remove( CLI->text(0) );
+ Data.HWAddresses.remove( CLI->text(0) );
SM = 1;
}
}
CLI = (QCheckListItem *)CLI->nextSibling();
}
+
+ // if newlist still contains items. it were items
+ // that were checked but no longer are present in the system
+ SM |= ( NewList.count() > 0 ) ;
}
- return SM || ContainedObsoleteMAC ;
+ return SM;
}
-void LanCardEdit::showData( LanCardData & Data ) {
+void LanCardEdit::showData( ALanCard * LC ) {
+ NNI = LC;
+ LanCardData & Data = *((LanCardData *)LC->data());
+
AnyCard_CB->setChecked( Data.AnyLanCard );
+ // load all cards
+ populateList();
+
+ // set checks
QCheckListItem * CLI = (QCheckListItem *)LanCards_LV->firstChild();
+ while( CLI ) {
+ CLI->setOn( Data.HWAddresses.findIndex(CLI->text(0)) >= 0 );
+ CLI = (QCheckListItem *)CLI->nextSibling();
+ }
+}
+
+// load all known cards in list
+void LanCardEdit::populateList( void ) {
+ LanCardNetNode *NN = (LanCardNetNode *)NNI->nodeClass();
+ QCheckListItem * CLI;
+ bool Found;
+
+ LanCards_LV->clear();
+
+ for( QStringList::Iterator it = NN->addressesOfNIC().begin();
+ it != NN->addressesOfNIC().end();
+ ++it ) {
+ CLI = new QCheckListItem( LanCards_LV, (*it), QCheckListItem::CheckBox );
- ContainedObsoleteMAC = 0;
- // remove obsolete address
- for( QStringList::Iterator it=Data.HWAddresses.begin();
- it != Data.HWAddresses.end();
+ // check interfaces and see if this card is present
+ Found = 0;
+ for( QDictIterator<InterfaceInfo> NIt(NSResources->system().interfaces());
+ NIt.current();
+ ++NIt ) {
+ if( NIt.current()->MACAddress == (*it) ) {
+ Found = 1;
+ break;
+ }
+ }
+
+ CLI->setPixmap( 0, NSResources->getPixmap(
+ (Found) ? "add" : "remove" ) );
+ }
+}
+
+// rescan system for new cards
+void LanCardEdit::SLOT_ScanCards( void ) {
+ LanCardNetNode *NN = (LanCardNetNode *)NNI->nodeClass();
+
+ // add any NIC that is new and matches our interfacename
+ System & S = NSResources->system();
+ QRegExp R( "eth[0-9]" );
+ // populate with all lancards in system
+ for( QDictIterator<InterfaceInfo> It(S.interfaces());
+ It.current();
+ ++It ) {
+ fprintf( stderr, "TEST %s %s\n",
+ It.current()->Name.latin1(),
+ It.current()->MACAddress.latin1() );
+ if( R.match( It.current()->Name ) >= 0 &&
+ ( It.current()->CardType == ARPHRD_ETHER
+#ifdef ARPHRD_IEEE1394
+ || It.current()->CardType == ARPHRD_IEEE1394
+#endif
+ )
) {
- CLI = (QCheckListItem *)LanCards_LV->firstChild();
+ // old item ?
+ QCheckListItem * CLI =
+ (QCheckListItem *)LanCards_LV->firstChild();
while( CLI ) {
- if( CLI->text(1) == (*it) )
- // still valid
+ if( CLI->text(0) == It.current()->MACAddress ) {
break;
+ }
CLI = (QCheckListItem *)CLI->nextSibling();
}
- if( CLI == 0 ) {
- // address not found -> remove
- ContainedObsoleteMAC = 1;
- Data.HWAddresses.remove( it );
- } else {
- ++ it;
+
+ if( ! CLI ) {
+ // new item
+ CLI = new QCheckListItem( LanCards_LV,
+ It.current()->MACAddress,
+ QCheckListItem::CheckBox );
+ }
+
+ // mark present
+ CLI->setPixmap( 0, NSResources->getPixmap(
+ "add" ) );
+
+ if( NN->addressesOfNIC().findIndex( It.current()->MACAddress) < 0 ) {
+ // new
+ NN->addressesOfNIC().append( It.current()->MACAddress );
+ }
}
}
- // set checks
+}
+
+// remove all cards that are not present -> flagged with 'remove'
+// and unchecked
+void LanCardEdit::SLOT_RemoveUnknown( void ) {
+ QArray<QCheckListItem *> AllItems;
+
+ LanCardNetNode *NN = (LanCardNetNode *)NNI->nodeClass();
+
+ QCheckListItem * CLI = (QCheckListItem *)LanCards_LV->firstChild();
while( CLI ) {
- CLI->setOn( Data.HWAddresses.findIndex(CLI->text(1)) >= 0 );
+ AllItems.resize( AllItems.size()+1 );
+ AllItems[ AllItems.size()-1 ] = CLI;
CLI = (QCheckListItem *)CLI->nextSibling();
}
+
+ // force update of system
+ System & S = NSResources->system();
+ S.probeInterfaces();
+
+ // add any NIC that is new and matches our interfacename
+ QRegExp R( "eth[0-9]" );
+
+
+ for( QDictIterator<InterfaceInfo> It(S.interfaces());
+ It.current();
+ ++It ) {
+ if( R.match( It.current()->Name ) >= 0 &&
+ ( It.current()->CardType == ARPHRD_ETHER
+#ifdef ARPHRD_IEEE1394
+ || It.current()->CardType == ARPHRD_IEEE1394
+#endif
+ )
+ ) {
+
+ for ( unsigned i = 0; i< AllItems.size(); i++ ) {
+ if( AllItems[i] &&
+ AllItems[i]->text(0) == It.current()->MACAddress ) {
+ AllItems[i] = 0;
+ break;
+ }
+ }
+ }
+ }
+
+ // AllItems now contains all cards NOT present
+ // remove all items non null and not ON
+ for ( unsigned i = 0; i< AllItems.size(); i++ ) {
+ if( AllItems[i] && ! AllItems[i]->isOn() ) {
+ NN->addressesOfNIC().remove( AllItems[i]->text(0) );
+ delete AllItems[i];
+ }
+ }
}
diff --git a/noncore/settings/networksettings2/lancard/lancardedit.h b/noncore/settings/networksettings2/lancard/lancardedit.h
index 8def789..282db1f 100644
--- a/noncore/settings/networksettings2/lancard/lancardedit.h
+++ b/noncore/settings/networksettings2/lancard/lancardedit.h
@@ -1,16 +1,24 @@
#include "lancarddata.h"
#include "lancardGUI.h"
+class ALanCard;
+
class LanCardEdit : public LanCardGUI {
public :
LanCardEdit( QWidget * parent );
QString acceptable( void );
bool commit( LanCardData & Data );
- void showData( LanCardData & Data );
+ void showData( ALanCard * NNI );
+
+public slots :
+
+ void SLOT_ScanCards( void );
+ void SLOT_RemoveUnknown( void );
private :
- bool ContainedObsoleteMAC;
+ void populateList( void );
+ ALanCard * NNI;
};
diff --git a/noncore/settings/networksettings2/lancard/lancardrun.cpp b/noncore/settings/networksettings2/lancard/lancardrun.cpp
index 951756d..2e4fc43 100644
--- a/noncore/settings/networksettings2/lancard/lancardrun.cpp
+++ b/noncore/settings/networksettings2/lancard/lancardrun.cpp
@@ -1,6 +1,7 @@
#include <qfile.h>
#include <qtextstream.h>
+#include <qstringlist.h>
#include <resources.h>
#include "lancardrun.h"
void LanCardRun::detectState( NodeCollection * NC ) {
@@ -52,10 +53,14 @@ void LanCardRun::detectState( NodeCollection * NC ) {
for( QDictIterator<InterfaceInfo> It(Sys.interfaces());
It.current();
++It ) {
Run = It.current();
- if( handlesInterface( Run->Name ) &&
- Run->CardType == ARPHRD_ETHER &&
+ if( handlesInterface( *Run ) &&
+ ( Run->CardType == ARPHRD_ETHER
+#ifdef ARPHRD_IEEE1394
+ || Run->CardType == ARPHRD_IEEE1394
+#endif
+ ) &&
! Run->IsUp
) {
// proper type, and Not UP -> free
NC->setCurrentState( Off );
@@ -144,10 +149,14 @@ InterfaceInfo * LanCardRun::getInterface( void ) {
for( QDictIterator<InterfaceInfo> It(S.interfaces());
It.current();
++It ) {
Run = It.current();
- if( handlesInterface( Run->Name ) &&
- Run->CardType == ARPHRD_ETHER
+ if( handlesInterface( *Run ) &&
+ ( Run->CardType == ARPHRD_ETHER
+#ifdef ARPHRD_IEEE1394
+ || Run->CardType == ARPHRD_IEEE1394
+#endif
+ )
) {
// this is a LAN card
if( Run->assignedNode() == netNode() ) {
// assigned to us
@@ -161,6 +170,23 @@ InterfaceInfo * LanCardRun::getInterface( void ) {
return best; // can be 0
}
bool LanCardRun::handlesInterface( const QString & S ) {
+ InterfaceInfo * II;
+ II = NSResources->system().interface( S );
+ if( ( II = NSResources->system().interface( S ) ) ) {
+ return handlesInterface( *II );
+ }
return Pat.match( S ) >= 0;
}
+
+bool LanCardRun::handlesInterface( const InterfaceInfo & II ) {
+ if( Pat.match( II.Name ) < 0 )
+ return 0;
+
+ if( Data->AnyLanCard ) {
+ return 1;
+ }
+
+ // must also match hardware address
+ return ( Data->HWAddresses.findIndex( II.MACAddress ) >= 0 );
+}
diff --git a/noncore/settings/networksettings2/lancard/lancardrun.h b/noncore/settings/networksettings2/lancard/lancardrun.h
index 499b417..e8a535a 100644
--- a/noncore/settings/networksettings2/lancard/lancardrun.h
+++ b/noncore/settings/networksettings2/lancard/lancardrun.h
@@ -9,11 +9,11 @@ class LanCardRun : public AsDevice {
public :
LanCardRun( ANetNodeInstance * NNI,
- LanCardData & Data ) : AsDevice( NNI ),
+ LanCardData & D ) : AsDevice( NNI ),
Pat( "eth[0-9]" )
- { }
+ { Data = &D; }
virtual AsDevice * device( void )
{ return (AsDevice *)this; }
@@ -26,12 +26,14 @@ protected :
bool setState( NodeCollection * NC, Action_t A );
bool canSetState( State_t Curr, Action_t A );
bool handlesInterface( const QString & I );
+ bool handlesInterface( const InterfaceInfo & II );
private :
InterfaceInfo * getInterface( void );
QRegExp Pat;
+ LanCardData * Data;
};
#endif
diff --git a/noncore/settings/networksettings2/modem/modem_NN.cpp b/noncore/settings/networksettings2/modem/modem_NN.cpp
index 1cc8524..9d70d7a 100644
--- a/noncore/settings/networksettings2/modem/modem_NN.cpp
+++ b/noncore/settings/networksettings2/modem/modem_NN.cpp
@@ -7,9 +7,9 @@ static const char * ModemNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-ModemNetNode::ModemNetNode() : ANetNode() {
+ModemNetNode::ModemNetNode() : ANetNode(tr("Dialup modem")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/modem/modem_NN.h b/noncore/settings/networksettings2/modem/modem_NN.h
index 849f928..2f496dd 100644
--- a/noncore/settings/networksettings2/modem/modem_NN.h
+++ b/noncore/settings/networksettings2/modem/modem_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/modem"; }
- virtual const QString nodeName()
- { return tr("Dialup modem"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/network/networkGUI.ui b/noncore/settings/networksettings2/network/networkGUI.ui
index 9115ec0..5f71f82 100644
--- a/noncore/settings/networksettings2/network/networkGUI.ui
+++ b/noncore/settings/networksettings2/network/networkGUI.ui
@@ -10,9 +10,9 @@
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>293</width>
+ <width>289</width>
<height>254</height>
</rect>
</property>
<property stdset="1">
@@ -37,9 +37,9 @@
<widget>
<class>QTabWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>TabWidget11</cstring>
+ <cstring>MainTab_TAB</cstring>
</property>
<property>
<name>layoutMargin</name>
</property>
@@ -482,9 +482,9 @@
<widget>
<class>QTabWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>Tab_TB</cstring>
+ <cstring>Tab_TAB</cstring>
</property>
<property>
<name>layoutMargin</name>
</property>
@@ -1057,9 +1057,134 @@
<signal>toggled(bool)</signal>
<receiver>Hostname_LE</receiver>
<slot>setEnabled(bool)</slot>
</connection>
+ <connection>
+ <sender>AddPreUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Add()</slot>
+ </connection>
+ <connection>
+ <sender>DeletePreUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Remove()</slot>
+ </connection>
+ <connection>
+ <sender>UpPreUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Up()</slot>
+ </connection>
+ <connection>
+ <sender>DownPreUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Down()</slot>
+ </connection>
+ <connection>
+ <sender>AddPostUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Add()</slot>
+ </connection>
+ <connection>
+ <sender>DeletePostUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Remove()</slot>
+ </connection>
+ <connection>
+ <sender>UpPostUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Up()</slot>
+ </connection>
+ <connection>
+ <sender>DownPostUp_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Down()</slot>
+ </connection>
+ <connection>
+ <sender>AddPreDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Add()</slot>
+ </connection>
+ <connection>
+ <sender>DeletePreDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Remove()</slot>
+ </connection>
+ <connection>
+ <sender>UpPreDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Up()</slot>
+ </connection>
+ <connection>
+ <sender>DownPreDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Down()</slot>
+ </connection>
+ <connection>
+ <sender>AddPostDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Add()</slot>
+ </connection>
+ <connection>
+ <sender>DeletePostDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Remove()</slot>
+ </connection>
+ <connection>
+ <sender>UpPostDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Up()</slot>
+ </connection>
+ <connection>
+ <sender>DownPostDown_TB</sender>
+ <signal>clicked()</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_Down()</slot>
+ </connection>
+ <connection>
+ <sender>PreUp_LB</sender>
+ <signal>doubleClicked(QListBoxItem*)</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_ShowCommand( QListBoxItem *)</slot>
+ </connection>
+ <connection>
+ <sender>PreDown_LB</sender>
+ <signal>doubleClicked(QListBoxItem*)</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_ShowCommand( QListBoxItem *)</slot>
+ </connection>
+ <connection>
+ <sender>PostDown_LB</sender>
+ <signal>doubleClicked(QListBoxItem*)</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_ShowCommand( QListBoxItem *)</slot>
+ </connection>
+ <connection>
+ <sender>PostUp_LB</sender>
+ <signal>doubleClicked(QListBoxItem*)</signal>
+ <receiver>NetworkGUI</receiver>
+ <slot>SLOT_ShowCommand( QListBoxItem *)</slot>
+ </connection>
+ <slot access="public">SLOT_Add()</slot>
+ <slot access="public">SLOT_Down()</slot>
<slot access="public">SLOT_NetmaskModified( const QString &amp; )</slot>
+ <slot access="public">SLOT_Remove()</slot>
+ <slot access="public">SLOT_Up()</slot>
+ <slot access="public">SLOT_ShowCommand( QListBoxItem *)</slot>
</connections>
<tabstops>
<tabstop>DHCP_CB</tabstop>
<tabstop>IPAddress_LE</tabstop>
diff --git a/noncore/settings/networksettings2/network/network_NN.cpp b/noncore/settings/networksettings2/network/network_NN.cpp
index d27d54a..b5989df 100644
--- a/noncore/settings/networksettings2/network/network_NN.cpp
+++ b/noncore/settings/networksettings2/network/network_NN.cpp
@@ -8,9 +8,9 @@ static const char * NetworkNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-NetworkNetNode::NetworkNetNode() : ANetNode() {
+NetworkNetNode::NetworkNetNode() : ANetNode(tr("IP Configuration")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/network/network_NN.h b/noncore/settings/networksettings2/network/network_NN.h
index 0f87e1b..6548c32 100644
--- a/noncore/settings/networksettings2/network/network_NN.h
+++ b/noncore/settings/networksettings2/network/network_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/tcpip"; }
- virtual const QString nodeName()
- { return tr("IP Configuration"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/network/networkedit.cpp b/noncore/settings/networksettings2/network/networkedit.cpp
index 182213b..05110d9 100644
--- a/noncore/settings/networksettings2/network/networkedit.cpp
+++ b/noncore/settings/networksettings2/network/networkedit.cpp
@@ -1,6 +1,7 @@
#include <qtoolbutton.h>
#include <qcheckbox.h>
+#include <qtabwidget.h>
#include <qlineedit.h>
#include <qlistbox.h>
#include <GUIUtils.h>
#include <resources.h>
@@ -109,9 +110,15 @@ bool NetworkEdit::updateList( QStringList & SL, QListBox * LB ) {
for( unsigned int i = 0; i < LB->count() ; i ++ ) {
NewSL.append( LB->text(i) );
}
- // check if at least ONE item in new list is NEW
+ if( NewSL.count() != SL.count() ) {
+ // less or more items
+ SL= NewSL;
+ return 1;
+ }
+
+ // Same size -> same content ?
Changed = 0;
for ( QStringList::Iterator it = NewSL.begin();
it != NewSL.end();
++it ) {
@@ -157,4 +164,61 @@ void NetworkEdit::SLOT_NetmaskModified( const QString & ) {
arg( ipal[3].toShort() | ( ~ nmal[3].toShort() & 0x00ff) );
Broadcast_LE->setText( NW );
}
}
+
+QListBox * NetworkEdit::getActiveLB( void ) {
+ switch( Tab_TAB->currentPageIndex() ) {
+ case 0 :
+ return PreUp_LB;
+ case 1 :
+ return PostUp_LB;
+ case 2 :
+ return PreDown_LB;
+ }
+ return PostDown_LB;
+}
+
+void NetworkEdit::SLOT_Add( void ) {
+ if( Command_LE->text().isEmpty() )
+ return;
+ QListBox * LB = getActiveLB();
+
+ LB->insertItem( Command_LE->text() );
+}
+
+void NetworkEdit::SLOT_Remove( void ) {
+ QListBox * LB = getActiveLB();
+ int i;
+
+ if( ( i = LB->currentItem() ) >= 0 ) {
+ LB->removeItem( i );
+ }
+}
+
+void NetworkEdit::SLOT_Up( void ) {
+ QListBox * LB = getActiveLB();
+ int i;
+
+ if( ( i = LB->currentItem() ) > 0 ) {
+ QListBoxItem * LBI = LB->item(i);
+ LB->takeItem( LBI );
+ LB->insertItem( LBI, --i );
+ LB->setCurrentItem( i );
+ }
+}
+
+void NetworkEdit::SLOT_Down( void ) {
+ QListBox * LB = getActiveLB();
+ int i;
+
+ if( ( i = LB->currentItem() ) >= 0 && (unsigned)(i+1) != LB->count() ) {
+ QListBoxItem * LBI = LB->item(i);
+ LB->takeItem( LBI );
+ LB->insertItem( LBI, ++i );
+ LB->setCurrentItem( i );
+ }
+}
+
+void NetworkEdit::SLOT_ShowCommand( QListBoxItem * It ) {
+ Command_LE->setText( It->text() );
+}
diff --git a/noncore/settings/networksettings2/network/networkedit.h b/noncore/settings/networksettings2/network/networkedit.h
index 9ed4e84..adc20e0 100644
--- a/noncore/settings/networksettings2/network/networkedit.h
+++ b/noncore/settings/networksettings2/network/networkedit.h
@@ -1,7 +1,9 @@
#include "networkdata.h"
#include "networkGUI.h"
+class QListBox;
+
class NetworkEdit : public NetworkGUI {
public :
@@ -12,10 +14,16 @@ public :
public slots :
void SLOT_NetmaskModified( const QString & S );
+ void SLOT_ShowCommand( QListBoxItem * LBI );
+ void SLOT_Add( void );
+ void SLOT_Remove( void );
+ void SLOT_Up( void );
+ void SLOT_Down( void );
private :
+ QListBox * getActiveLB( void );
bool updateList( QStringList &SL, QListBox * LB );
void populateList( QStringList &SL, QListBox * LB );
};
diff --git a/noncore/settings/networksettings2/networksettings2/netnode.cpp b/noncore/settings/networksettings2/networksettings2/netnode.cpp
index 3691e5a..417fba8 100644
--- a/noncore/settings/networksettings2/networksettings2/netnode.cpp
+++ b/noncore/settings/networksettings2/networksettings2/netnode.cpp
@@ -73,22 +73,22 @@ void ANetNodeInstance::initialize( void ) {
InstanceCounter = time(0);
// set name
QString N;
N.sprintf( "-%ld", InstanceCounter++ );
- N.prepend( NodeType->nodeName() );
- setNodeName( N );
+ N.prepend( NodeType->name() );
+ setName( N.latin1() );
}
void ANetNodeInstance::setAttribute( QString & Attr, QString & Value ){
if( Attr == "name" ) {
- NodeName = Value;
+ setName( Value.latin1() );
} else {
setSpecificAttribute( Attr, Value );
}
}
void ANetNodeInstance::saveAttributes( QTextStream & TS ) {
- TS << "name=" << quote( NodeName ) << endl;
+ TS << "name=" << name() << endl;
saveSpecificAttribute( TS );
}
ANetNodeInstance * ANetNodeInstance::nextNode( void ) {
@@ -179,9 +179,9 @@ void NodeCollection::save( QTextStream & TS ) {
for( QListIterator<ANetNodeInstance> it(*this);
it.current();
++it ) {
NNI = it.current();
- TS << "node=" << quote( NNI->nodeName() ) << endl;
+ TS << "node=" << NNI->name() << endl;
}
TS << endl;
IsNew = 0;
}
@@ -232,9 +232,9 @@ int NodeCollection::compareItems( QCollection::Item I1,
QCollection::Item I2 ) {
ANetNodeInstance * NNI1, * NNI2;
NNI1 = (ANetNodeInstance *)I1;
NNI2 = (ANetNodeInstance *)I2;
- return NNI1->nodeName().compare( NNI2->nodeName() );
+ return strcmp( NNI1->name(), NNI2->name() );
}
static char * State2PixmapTbl[] = {
"NULL", // Unchecked : no pixmap
diff --git a/noncore/settings/networksettings2/networksettings2/netnode.h b/noncore/settings/networksettings2/networksettings2/netnode.h
index 6ec9ef6..27d54f8 100644
--- a/noncore/settings/networksettings2/networksettings2/netnode.h
+++ b/noncore/settings/networksettings2/networksettings2/netnode.h
@@ -71,17 +71,14 @@ class ANetNode : public QObject{
public:
typedef QArray<ANetNode *> NetNodeList;
- ANetNode(){};
+ ANetNode( const char * Name ) : QObject( 0, Name ) {}
virtual ~ANetNode(){};
// pixmap needed for this NetNode
virtual const QString pixmapName() = 0;
- // name of this NetNode
- virtual const QString nodeName() = 0;
-
// description for this NetNode
virtual const QString nodeDescription() = 0;
// create a blank instance of a net node
@@ -183,13 +180,8 @@ public:
{ IsNew = IsN; }
bool isNew( void )
{ return IsNew; }
- // return logical name of this instance
- QString & nodeName( void )
- { return NodeName; }
- void setNodeName( const QString & S )
- { NodeName = S; }
// return description for this instance
QString & description( void )
{ return Description; }
void setDescription( const QString & S )
@@ -224,9 +216,8 @@ protected :
ANetNode * NodeType;
// connection to which this node belongs to
NodeCollection * Connection;
- QString NodeName;
QString Description;
bool IsModified;
bool IsNew;
@@ -255,8 +246,10 @@ public :
// does this node handles this interface e.g.eth0
// recurse deeper if this node cannot answer that question
virtual bool handlesInterface( const QString & )
{ return 0; }
+ virtual bool handlesInterface( const InterfaceInfo & )
+ { return 0; }
virtual InterfaceInfo * assignedInterface( void );
virtual AsDevice * device( void );
ANetNodeInstance * netNode()
diff --git a/noncore/settings/networksettings2/networksettings2/resources.cpp b/noncore/settings/networksettings2/networksettings2/resources.cpp
index e6ce2b7..4b7a62f 100644
--- a/noncore/settings/networksettings2/networksettings2/resources.cpp
+++ b/noncore/settings/networksettings2/networksettings2/resources.cpp
@@ -166,18 +166,18 @@ bool TheNSResources::loadNetNode(
NN->TheLibrary = lib;
NN->NodeCountInLib = PNN.count();
// store mapping
- AllNodeTypes.insert( NN->NetNode->nodeName(), NN );
+ printf( "Store %s\n", NN->NetNode->name() );
+ AllNodeTypes.insert( NN->NetNode->name(), NN );
}
return 1;
}
QPixmap TheNSResources::getPixmap( const QString & QS ) {
QString S("networksettings2/");
S += QS;
- printf( " pixmap %s\n", S.latin1() );
return Resource::loadPixmap( QString("networksettings2/")+QS );
}
QString TheNSResources::tr( const char * s ) {
@@ -199,9 +199,9 @@ void TheNSResources::addConnection( NodeCollection * NC ) {
for( QListIterator<ANetNodeInstance> it(*NC);
it.current();
++it ) {
NNI = it.current();
- if( findNodeInstance( NNI->nodeName() ) == 0 ) {
+ if( findNodeInstance( NNI->name() ) == 0 ) {
// new item
addNodeInstance( NNI );
}
}
@@ -214,9 +214,9 @@ void TheNSResources::removeConnection( const QString & N ) {
// delete netnodes in this connection
ANetNodeInstance * NNI;
for( NNI = NC->first(); NNI != 0; NNI = NC->next() ) {
- removeNodeInstance( NNI->nodeName() );
+ removeNodeInstance( NNI->name() );
}
ConnectionsMap.remove( N );
}
diff --git a/noncore/settings/networksettings2/networksettings2/resources.h b/noncore/settings/networksettings2/networksettings2/resources.h
index 7050f10..3d6a44f 100644
--- a/noncore/settings/networksettings2/networksettings2/resources.h
+++ b/noncore/settings/networksettings2/networksettings2/resources.h
@@ -78,9 +78,9 @@ public :
Name2Instance_t & netNodeInstances( void )
{ return AllNodes; }
void addNodeInstance( ANetNodeInstance * I )
- { AllNodes.insert( I->nodeName(), I ); }
+ { AllNodes.insert( I->name(), I ); }
void removeNodeInstance( const QString & N )
{ AllNodes.remove( N );}
ANetNodeInstance * findNodeInstance( const QString & S )
{ return (AllNodes.find(S)!=0) ? AllNodes[S] : 0; }
diff --git a/noncore/settings/networksettings2/networksettings2/systemfile.cpp b/noncore/settings/networksettings2/networksettings2/systemfile.cpp
index 62bb6af..b3fc1a5 100644
--- a/noncore/settings/networksettings2/networksettings2/systemfile.cpp
+++ b/noncore/settings/networksettings2/networksettings2/systemfile.cpp
@@ -123,9 +123,9 @@ bool SystemFile::preNodeSection( ANetNodeInstance * NNI, long ) {
QString Out;
QString S = TX.readLine();
while( ! TX.eof() ) {
Out = S.
- arg(NNI->nodeClass()->nodeName());
+ arg(NNI->nodeClass()->name());
(*this) << Out << endl;
S = TX.readLine();
}
}
@@ -141,9 +141,9 @@ bool SystemFile::postNodeSection( ANetNodeInstance * NNI, long ) {
QString Out;
QString S = TX.readLine();
while( ! TX.eof() ) {
Out = S.
- arg(NNI->nodeName());
+ arg(NNI->name());
(*this) << Out << endl;
S = TX.readLine();
}
}
@@ -158,9 +158,9 @@ bool SystemFile::preDeviceSection( ANetNode * NN ) {
QTextStream TX( &Fl );
QString Out;
QString S = TX.readLine();
while( ! TX.eof() ) {
- Out = S.arg(NN->nodeName());
+ Out = S.arg(NN->name());
(*this) << Out << endl;
S = TX.readLine();
}
}
@@ -175,9 +175,9 @@ bool SystemFile::postDeviceSection( ANetNode * NN ) {
QTextStream TX( &Fl );
QString Out;
QString S = TX.readLine();
while( ! TX.eof() ) {
- Out = S.arg(NN->nodeName());
+ Out = S.arg(NN->name());
(*this) << Out << endl;
S = TX.readLine();
}
}
diff --git a/noncore/settings/networksettings2/nsdata.cpp b/noncore/settings/networksettings2/nsdata.cpp
index 13979ce..64b83f7 100644
--- a/noncore/settings/networksettings2/nsdata.cpp
+++ b/noncore/settings/networksettings2/nsdata.cpp
@@ -14,9 +14,9 @@ static QString CfgFile;
NetworkSettingsData::NetworkSettingsData( void ) {
// init global resources structure
new TheNSResources();
- CfgFile.sprintf( "%s/NETCONFIG",
+ CfgFile.sprintf( "%s/Settings/NS2.conf",
NSResources->currentUser().HomeDir.latin1() );
fprintf( stderr, "Cfg from %s\n", CfgFile.latin1() );
// load settings
@@ -74,19 +74,25 @@ void NetworkSettingsData::loadSettings( void ) {
} else {
ANetNode * NN = 0;
ANetNodeInstance* NNI = 0;
if( S.startsWith( "nodetype " ) ) {
- S = S.mid( 9, S.length()-9-1 );
- fprintf( stderr, "Node %s\n", S.latin1() );
+ 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 = TS.readLine();
+ S = Line = TS.readLine();
if( NN || NNI ) {
if( S.isEmpty() ) {
// empty line
@@ -108,9 +114,9 @@ void NetworkSettingsData::loadSettings( void ) {
Value = deQuote(Value);
if( NN ) {
// set the attribute
- NNI->setAttribute( Attr, Value );
+ NN->setAttribute( Attr, Value );
} else {
// set the attribute
NNI->setAttribute( Attr, Value );
}
@@ -122,8 +128,9 @@ void NetworkSettingsData::loadSettings( void ) {
break;
}
}
} while( 1 );
+
if( NNI ) {
// loading from file -> exists
NNI->setNew( FALSE );
NSResources->addNodeInstance( NNI );
@@ -165,13 +172,14 @@ QString NetworkSettingsData::saveSettings( void ) {
for( QDictIterator<NetNode_t> it( NSResources->netNodes() );
it.current();
++it ) {
TS << "[nodetype "
- << it.current()->NetNode->name()
+ << quote( QString( it.current()->NetNode->name() ) )
<< "]"
<< endl;
it.current()->NetNode->saveAttributes( TS );
+ TS << endl;
}
{ Name2Connection_t & M = NSResources->connections();
ANetNodeInstance * NNI;
@@ -185,9 +193,12 @@ QString NetworkSettingsData::saveSettings( void ) {
nit.current();
++nit ) {
// header
NNI = nit.current();
- TS << '[' <<NNI->nodeClass()->nodeName() << ']' << endl;
+ TS << '['
+ << QString(NNI->nodeClass()->name())
+ << ']'
+ << endl;
NNI->saveAttributes( TS );
TS << endl;
}
@@ -294,9 +305,9 @@ QString NetworkSettingsData::generateSettings( bool ForceReq ) {
if( ! NNI->nodeClass()->generateProperFilesFor( NNI ) ) {
// problem generating
S = qApp->translate( "NetworkSettings",
"<p>Cannot generate files proper to \"%1\"</p>" ).
- arg(NNI->nodeClass()->nodeName()) ;
+ arg(NNI->nodeClass()->name()) ;
return S;
}
}
}
@@ -389,14 +400,13 @@ QList<NodeCollection> NetworkSettingsData::collectPossible( const char * Interfa
it.current();
++it ) {
NC = it.current();
// check if this profile handles the requested interface
- fprintf( stderr, "check %s\n", NC->name().latin1() );
if( NC->handlesInterface( Interface ) && // if different Intf.
NC->state() != Disabled && // if not enabled
NC->state() != IsUp // if already used
) {
- fprintf( stderr, "Append %s\n", NC->name().latin1() );
+ fprintf( stderr, "Append %s for %s\n", NC->name().latin1(), Interface);
PossibleConnections.append( NC );
}
}
return PossibleConnections;
@@ -485,27 +495,22 @@ QString NetworkSettingsData::generateSystemFileNode(
if( SF.preDeviceSection( CurDevNN ) ) {
S = qApp->translate( "NetworkSettings",
"<p>Error in preDeviceSection for file \"%1\" and nodetype \"%2\"</p>" ).
arg( SF.name() ).
- arg( CurDevNN->nodeName() );
+ 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>" ).
arg( SF.name() ).
- arg( CurDevNN->nodeName() );
+ arg( CurDevNN->name() );
return S;
}
}
- if( CurDev )
- fprintf( stderr, "Cur %s\n", CurDevNN->nodeName().latin1() );
- else
- fprintf( stderr, "Cur NO\n" );
-
// now generate profile specific data for all
// connections working on a device of the current
// netnode type
for( QDictIterator<NodeCollection> ncit(M);
@@ -516,13 +521,11 @@ QString NetworkSettingsData::generateSystemFileNode(
// currenly only those connections that work on
// the current device (or on no device if no current)
AsDevice * Dev = NC->device();
- fprintf( stderr, "%s\n", Dev->netNode()->nodeName().latin1() );
if( CurDev ) {
if( CurDevNN != Dev->netNode()->nodeClass() ) {
// other device type -> later
- fprintf( stderr, "Other Dev type\n" );
continue;
}
} else {
if( Dev ) {
@@ -535,9 +538,9 @@ QString NetworkSettingsData::generateSystemFileNode(
if( SF.preNodeSection( DevNNI, DevInstNr ) ) {
S = qApp->translate( "NetworkSettings",
"<p>Error in preNodeSection for file \"%1\" and node \"%2\"</p>" ).
arg( SF.name() ).
- arg( CurDevNN->nodeName() );
+ arg( CurDevNN->name() );
return S;
}
// ask all nodes in connection
@@ -550,9 +553,9 @@ QString NetworkSettingsData::generateSystemFileNode(
if( NNI->generateDataForCommonFile(SF,DevInstNr) ) {
S = qApp->translate( "NetworkSettings",
"<p>Error in node part for file \"%1\" and node \"%2\"</p>" ).
arg( SF.name() ).
- arg( NNI->nodeClass()->nodeName() );
+ arg( NNI->nodeClass()->name() );
return S;
}
}
}
@@ -560,9 +563,9 @@ QString NetworkSettingsData::generateSystemFileNode(
if( SF.postNodeSection( DevNNI, DevInstNr ) ) {
S = qApp->translate( "NetworkSettings",
"<p>Error in postNodeSection for file \"%1\" and node \"%2\"</p>" ).
arg( SF.name() ).
- arg( CurDevNN->nodeName() );
+ arg( CurDevNN->name() );
return S;
}
SF << endl;
}
@@ -570,9 +573,9 @@ QString NetworkSettingsData::generateSystemFileNode(
if( SF.postDeviceSection( CurDevNN ) ) {
S = qApp->translate( "NetworkSettings",
"<p>Error in postDeviceSection for file \"%1\" and node \"%2\"</p>" ).
arg( SF.name() ).
- arg( CurDevNN->nodeName() );
+ 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 0bf415b..208c7c2 100644
--- a/noncore/settings/networksettings2/ppp/ppp_NN.cpp
+++ b/noncore/settings/networksettings2/ppp/ppp_NN.cpp
@@ -9,9 +9,9 @@ static const char * PPPNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-PPPNetNode::PPPNetNode() : ANetNode() {
+PPPNetNode::PPPNetNode() : ANetNode(tr("PPP Connection")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/ppp/ppp_NN.h b/noncore/settings/networksettings2/ppp/ppp_NN.h
index fbbbbe1..b1483c4 100644
--- a/noncore/settings/networksettings2/ppp/ppp_NN.h
+++ b/noncore/settings/networksettings2/ppp/ppp_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/ppp"; }
- virtual const QString nodeName()
- { return tr("PPP Connection"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/profile/profile_NN.cpp b/noncore/settings/networksettings2/profile/profile_NN.cpp
index 0f71dc7..d06b7ef 100644
--- a/noncore/settings/networksettings2/profile/profile_NN.cpp
+++ b/noncore/settings/networksettings2/profile/profile_NN.cpp
@@ -8,9 +8,9 @@ static const char * ProfileNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-ProfileNetNode::ProfileNetNode() : ANetNode() {
+ProfileNetNode::ProfileNetNode() : ANetNode( tr("Regular profile")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/profile/profile_NN.h b/noncore/settings/networksettings2/profile/profile_NN.h
index 1313ab2..e602bd7 100644
--- a/noncore/settings/networksettings2/profile/profile_NN.h
+++ b/noncore/settings/networksettings2/profile/profile_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/commprofile"; }
- virtual const QString nodeName()
- { return tr("Regular profile"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/usb/usb_NN.cpp b/noncore/settings/networksettings2/usb/usb_NN.cpp
index d5971cf..9101490 100644
--- a/noncore/settings/networksettings2/usb/usb_NN.cpp
+++ b/noncore/settings/networksettings2/usb/usb_NN.cpp
@@ -7,9 +7,9 @@ static const char * USBNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-USBNetNode::USBNetNode() : ANetNode() {
+USBNetNode::USBNetNode() : ANetNode(tr("USB Cable Connect")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/usb/usb_NN.h b/noncore/settings/networksettings2/usb/usb_NN.h
index 0b83ea6..fea89f0 100644
--- a/noncore/settings/networksettings2/usb/usb_NN.h
+++ b/noncore/settings/networksettings2/usb/usb_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/usb"; }
- virtual const QString nodeName()
- { return tr("USB Cable Connect"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/vpn/vpn_NN.cpp b/noncore/settings/networksettings2/vpn/vpn_NN.cpp
index 307e9dd..bfc30f9 100644
--- a/noncore/settings/networksettings2/vpn/vpn_NN.cpp
+++ b/noncore/settings/networksettings2/vpn/vpn_NN.cpp
@@ -8,9 +8,9 @@ static const char * VPNNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-VPNNetNode::VPNNetNode() : ANetNode() {
+VPNNetNode::VPNNetNode() : ANetNode(tr("VPN Connection")) {
}
/**
* Delete any interfaces that we own.
diff --git a/noncore/settings/networksettings2/vpn/vpn_NN.h b/noncore/settings/networksettings2/vpn/vpn_NN.h
index 1cd3fcc..5b6632e 100644
--- a/noncore/settings/networksettings2/vpn/vpn_NN.h
+++ b/noncore/settings/networksettings2/vpn/vpn_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/vpn"; }
- virtual const QString nodeName()
- { return tr("VPN Connection"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
diff --git a/noncore/settings/networksettings2/wlan/wlan_NN.cpp b/noncore/settings/networksettings2/wlan/wlan_NN.cpp
index e0c4db2..7a2c1a7 100644
--- a/noncore/settings/networksettings2/wlan/wlan_NN.cpp
+++ b/noncore/settings/networksettings2/wlan/wlan_NN.cpp
@@ -7,9 +7,9 @@ static const char * WLanNeeds[] =
/**
* Constructor, find all of the possible interfaces
*/
-WLanNetNode::WLanNetNode() : ANetNode() {
+WLanNetNode::WLanNetNode() : ANetNode(tr("WLan Device")) {
InstanceCount = 2;
}
/**
diff --git a/noncore/settings/networksettings2/wlan/wlan_NN.h b/noncore/settings/networksettings2/wlan/wlan_NN.h
index e93a89a..b5ff3fd 100644
--- a/noncore/settings/networksettings2/wlan/wlan_NN.h
+++ b/noncore/settings/networksettings2/wlan/wlan_NN.h
@@ -16,11 +16,8 @@ public:
virtual const QString pixmapName()
{ return "Devices/wlan"; }
- virtual const QString nodeName()
- { return tr("WLan Device"); }
-
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );