12 files changed, 121 insertions, 25 deletions
diff --git a/noncore/settings/networksettings2/bluetooth/bluetoothRFCOMMrun.cpp b/noncore/settings/networksettings2/bluetooth/bluetoothRFCOMMrun.cpp index cd7bb4a..63b214e 100644 --- a/noncore/settings/networksettings2/bluetooth/bluetoothRFCOMMrun.cpp +++ b/noncore/settings/networksettings2/bluetooth/bluetoothRFCOMMrun.cpp | |||
@@ -1,6 +1,16 @@ | |||
1 | #include <qapplication.h> | 1 | #include <qapplication.h> |
2 | #include <resources.h> | 2 | #include <resources.h> |
3 | |||
4 | #include <OTPeer.h> | ||
3 | #include <OTDevice.h> | 5 | #include <OTDevice.h> |
4 | #include <OTGateway.h> | 6 | #include <OTGateway.h> |
7 | #include <Opietooth.h> | ||
8 | |||
9 | #include <qlistbox.h> | ||
10 | #include <qframe.h> | ||
11 | #include <qlabel.h> | ||
12 | #include <qlayout.h> | ||
13 | #include <qdialog.h> | ||
14 | |||
5 | #include "bluetoothRFCOMMrun.h" | 15 | #include "bluetoothRFCOMMrun.h" |
6 | 16 | ||
@@ -8,4 +18,6 @@ using Opietooth2::OTGateway; | |||
8 | using Opietooth2::OTDevice; | 18 | using Opietooth2::OTDevice; |
9 | using Opietooth2::OTDeviceAddress; | 19 | using Opietooth2::OTDeviceAddress; |
20 | using Opietooth2::OTScan; | ||
21 | using Opietooth2::OTPeer; | ||
10 | 22 | ||
11 | BluetoothRFCOMMRun::~BluetoothRFCOMMRun( void ) { | 23 | BluetoothRFCOMMRun::~BluetoothRFCOMMRun( void ) { |
@@ -56,4 +68,7 @@ QString BluetoothRFCOMMRun::setMyState( NetworkSetup *, | |||
56 | << QString().setNum( Ch->Channel ); | 68 | << QString().setNum( Ch->Channel ); |
57 | 69 | ||
70 | // no longer needed | ||
71 | delete Ch; | ||
72 | |||
58 | if( Sys.runAsRoot( S ) ) { | 73 | if( Sys.runAsRoot( S ) ) { |
59 | return QString( "Error starting %1").arg(S.join(" ")); | 74 | return QString( "Error starting %1").arg(S.join(" ")); |
@@ -79,10 +94,4 @@ QString BluetoothRFCOMMRun::setMyState( NetworkSetup *, | |||
79 | } | 94 | } |
80 | 95 | ||
81 | #include <qlistbox.h> | ||
82 | #include <qframe.h> | ||
83 | #include <qlabel.h> | ||
84 | #include <qlayout.h> | ||
85 | #include <qdialog.h> | ||
86 | |||
87 | RFCOMMChannel * BluetoothRFCOMMRun::getChannel( void ) { | 96 | RFCOMMChannel * BluetoothRFCOMMRun::getChannel( void ) { |
88 | 97 | ||
@@ -93,4 +102,20 @@ RFCOMMChannel * BluetoothRFCOMMRun::getChannel( void ) { | |||
93 | 102 | ||
94 | RFCOMMChannel * Ch = 0; | 103 | RFCOMMChannel * Ch = 0; |
104 | |||
105 | if( Data->Devices.count() == 0 ) { | ||
106 | OTPeer * Peer; | ||
107 | int Channel; | ||
108 | |||
109 | if( OTScan::getDevice( Peer, Channel, OT ) == QDialog::Accepted ) { | ||
110 | Ch = new RFCOMMChannel; | ||
111 | Ch->BDAddress = Peer->address().toString(); | ||
112 | Ch->Name = Peer->name(); | ||
113 | Ch->Channel = Channel; | ||
114 | return Ch; | ||
115 | } | ||
116 | |||
117 | return 0; | ||
118 | } | ||
119 | |||
95 | QDialog * Dlg = new QDialog( qApp->mainWidget(), 0, TRUE ); | 120 | QDialog * Dlg = new QDialog( qApp->mainWidget(), 0, TRUE ); |
96 | QVBoxLayout * V = new QVBoxLayout( Dlg ); | 121 | QVBoxLayout * V = new QVBoxLayout( Dlg ); |
@@ -121,5 +146,8 @@ RFCOMMChannel * BluetoothRFCOMMRun::getChannel( void ) { | |||
121 | if( LB->isSelected(i) ) { | 146 | if( LB->isSelected(i) ) { |
122 | odebug << "Selected " << Data->Devices[i]->Name << oendl; | 147 | odebug << "Selected " << Data->Devices[i]->Name << oendl; |
123 | Ch = Data->Devices[i]; | 148 | Ch = new RFCOMMChannel; |
149 | Ch->BDAddress = Data->Devices[i]->BDAddress; | ||
150 | Ch->Name = Data->Devices[i]->Name; | ||
151 | Ch->Channel = Data->Devices[i]->Channel; | ||
124 | break; | 152 | break; |
125 | } | 153 | } |
diff --git a/noncore/settings/networksettings2/gprs/GPRS_NNI.cpp b/noncore/settings/networksettings2/gprs/GPRS_NNI.cpp index bf8cc59..2dd54ff 100644 --- a/noncore/settings/networksettings2/gprs/GPRS_NNI.cpp +++ b/noncore/settings/networksettings2/gprs/GPRS_NNI.cpp | |||
@@ -208,6 +208,7 @@ short AGPRSDevice::generateFile( SystemFile & SF, | |||
208 | } | 208 | } |
209 | 209 | ||
210 | bool AGPRSDevice::openFile( SystemFile & SF ) { | 210 | bool AGPRSDevice::openFile( SystemFile & SF, QStringList & SL ) { |
211 | if( SF.name() == "peers" ) { | 211 | if( SF.name() == "peers" ) { |
212 | SL << "/etc" << "ppp" << "peers"; | ||
212 | SF.setPath( | 213 | SF.setPath( |
213 | QString( "/etc/ppp/peers/" ) + | 214 | QString( "/etc/ppp/peers/" ) + |
@@ -216,4 +217,5 @@ bool AGPRSDevice::openFile( SystemFile & SF ) { | |||
216 | return 1; | 217 | return 1; |
217 | } else if ( SF.name() == "chatscripts" ) { | 218 | } else if ( SF.name() == "chatscripts" ) { |
219 | SL << "/etc" << "chatscripts"; | ||
218 | SF.setPath( | 220 | SF.setPath( |
219 | QString( "/etc/chatscripts/" ) + | 221 | QString( "/etc/chatscripts/" ) + |
@@ -221,4 +223,5 @@ bool AGPRSDevice::openFile( SystemFile & SF ) { | |||
221 | ); | 223 | ); |
222 | return 1; | 224 | return 1; |
225 | SL << "/etc" << "ppp"; | ||
223 | } else if ( SF.name() == "extra" ) { | 226 | } else if ( SF.name() == "extra" ) { |
224 | SF.setPath( | 227 | SF.setPath( |
diff --git a/noncore/settings/networksettings2/gprs/GPRS_NNI.h b/noncore/settings/networksettings2/gprs/GPRS_NNI.h index 1060a6e..b5bf1b9 100644 --- a/noncore/settings/networksettings2/gprs/GPRS_NNI.h +++ b/noncore/settings/networksettings2/gprs/GPRS_NNI.h | |||
@@ -25,5 +25,6 @@ public : | |||
25 | void commit( void ); | 25 | void commit( void ); |
26 | 26 | ||
27 | virtual bool openFile( SystemFile & SF ); | 27 | virtual bool openFile( SystemFile & SF, |
28 | QStringList & SL ); | ||
28 | 29 | ||
29 | virtual void * data( void ) | 30 | virtual void * data( void ) |
diff --git a/noncore/settings/networksettings2/networksettings.cpp b/noncore/settings/networksettings2/networksettings.cpp index 80dcb3d..2714dd5 100644 --- a/noncore/settings/networksettings2/networksettings.cpp +++ b/noncore/settings/networksettings2/networksettings.cpp | |||
@@ -252,5 +252,5 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) { | |||
252 | Profiles_LB->setSelected( ci, TRUE ); | 252 | Profiles_LB->setSelected( ci, TRUE ); |
253 | } | 253 | } |
254 | updateProfileState( LBI ); | 254 | SLOT_RefreshStates(); |
255 | } | 255 | } |
256 | } else { | 256 | } else { |
diff --git a/noncore/settings/networksettings2/networksettings2/netnode.cpp b/noncore/settings/networksettings2/networksettings2/netnode.cpp index 0ab0e5b..1bcd95c 100644 --- a/noncore/settings/networksettings2/networksettings2/netnode.cpp +++ b/noncore/settings/networksettings2/networksettings2/netnode.cpp | |||
@@ -90,6 +90,7 @@ bool ANetNode::isToplevel( void ) { | |||
90 | 90 | ||
91 | bool ANetNode::openFile( SystemFile & SF, | 91 | bool ANetNode::openFile( SystemFile & SF, |
92 | ANetNodeInstance * NNI ) { | 92 | ANetNodeInstance * NNI, |
93 | return (NNI ) ? NNI->openFile( SF ) : 0 ; | 93 | QStringList & SL ) { |
94 | return (NNI ) ? NNI->openFile( SF, SL ) : 0 ; | ||
94 | } | 95 | } |
95 | 96 | ||
@@ -407,4 +408,5 @@ QString NetworkSetup::setState( Action_t A, bool Force ) { | |||
407 | switch( A ) { | 408 | switch( A ) { |
408 | case Disable : | 409 | case Disable : |
410 | /* | ||
409 | if( CurrentState < Disabled ) { | 411 | if( CurrentState < Disabled ) { |
410 | // disabled | 412 | // disabled |
@@ -412,4 +414,5 @@ QString NetworkSetup::setState( Action_t A, bool Force ) { | |||
412 | return QString(); | 414 | return QString(); |
413 | } | 415 | } |
416 | */ | ||
414 | 417 | ||
415 | if( CurrentState == IsUp ) { | 418 | if( CurrentState == IsUp ) { |
diff --git a/noncore/settings/networksettings2/networksettings2/netnode.h b/noncore/settings/networksettings2/networksettings2/netnode.h index 8aebdc0..fa4ab70 100644 --- a/noncore/settings/networksettings2/networksettings2/netnode.h +++ b/noncore/settings/networksettings2/networksettings2/netnode.h | |||
@@ -122,8 +122,13 @@ public: | |||
122 | // by each of the NNI needs to be put in one file | 122 | // by each of the NNI needs to be put in one file |
123 | // | 123 | // |
124 | // the function can return a set of folders that should | ||
125 | // be created (or perhaps already exist) prior to opening | ||
126 | // the file | ||
127 | // | ||
124 | // if this is the case the file should be (re)opened in append | 128 | // if this is the case the file should be (re)opened in append |
125 | // return 0 if file cannot be opened | 129 | // return 0 if file cannot be opened |
126 | virtual bool openFile( SystemFile &SF, | 130 | virtual bool openFile( SystemFile &SF, |
127 | ANetNodeInstance * NNI ); | 131 | ANetNodeInstance * NNI, |
132 | QStringList & PathToCreate ); | ||
128 | 133 | ||
129 | // generate instance independent stuff | 134 | // generate instance independent stuff |
@@ -260,5 +265,6 @@ public: | |||
260 | 265 | ||
261 | // open proper file identified by S | 266 | // open proper file identified by S |
262 | virtual bool openFile( SystemFile & ) | 267 | virtual bool openFile( SystemFile &, |
268 | QStringList & ) | ||
263 | { return 0; } | 269 | { return 0; } |
264 | 270 | ||
diff --git a/noncore/settings/networksettings2/nsdata.cpp b/noncore/settings/networksettings2/nsdata.cpp index 835c7c3..6b87399 100644 --- a/noncore/settings/networksettings2/nsdata.cpp +++ b/noncore/settings/networksettings2/nsdata.cpp | |||
@@ -337,10 +337,21 @@ QString NetworkSettingsData::generateSettings( void ) { | |||
337 | // open proper file | 337 | // open proper file |
338 | { SystemFile SF( (*it) ); | 338 | { SystemFile SF( (*it) ); |
339 | QStringList SL; | ||
339 | 340 | ||
340 | if( ! CurDevNN->openFile( SF, nniit.current()) ) { | 341 | if( ! CurDevNN->openFile( SF, nniit.current(), SL) ) { |
341 | // cannot open | 342 | // cannot open |
342 | S = qApp->translate( "NetworkSettings", | 343 | S = qApp->translate( "NetworkSettings", |
343 | "<p>Cannot open proper file \"%1\" for node \"%2\"</p>" ). | 344 | "<p>Cannot build proper file \"%1\" for node \"%2\"</p>" ). |
344 | arg( (*it) ).arg( CurDevNN->name() ); | 345 | arg( (*it) ). |
346 | arg( CurDevNN->name() ); | ||
347 | return S; | ||
348 | } | ||
349 | |||
350 | if( ! createPath( SL ) ) { | ||
351 | S = qApp->translate( "NetworkSettings", | ||
352 | "<p>Cannot create path \"%1\" for proper file \"%2\" for node \"%3\"</p>" ). | ||
353 | arg( SL.join("/") ). | ||
354 | arg( (*it) ). | ||
355 | arg( CurDevNN->name() ); | ||
345 | return S; | 356 | return S; |
346 | } | 357 | } |
@@ -380,13 +391,24 @@ QString NetworkSettingsData::generateSettings( void ) { | |||
380 | if( Generated ) { | 391 | if( Generated ) { |
381 | SystemFile SF( (*it) ); | 392 | SystemFile SF( (*it) ); |
393 | QStringList SL; | ||
382 | 394 | ||
383 | if( CurDevNN->openFile( SF, 0 ) && | 395 | if( CurDevNN->openFile( SF, 0, SL ) && |
384 | ! SF.path().isEmpty() | 396 | ! SF.path().isEmpty() |
385 | ) { | 397 | ) { |
386 | 398 | ||
399 | if( ! createPath( SL ) ) { | ||
400 | S = qApp->translate( "NetworkSettings", | ||
401 | "<p>Cannot create path \"%1\" for proper file \"%2\" for node \"%3\"</p>" ). | ||
402 | arg( SL.join("/") ). | ||
403 | arg( (*it) ). | ||
404 | arg( CurDevNN->name() ); | ||
405 | return S; | ||
406 | } | ||
407 | |||
387 | if( ! SF.open() ) { | 408 | if( ! SF.open() ) { |
388 | S = qApp->translate( "NetworkSettings", | 409 | S = qApp->translate( "NetworkSettings", |
389 | "<p>Cannot open proper file \"%1\" for node \"%2\"</p>" ). | 410 | "<p>Cannot open proper file \"%1\" for node \"%2\"</p>" ). |
390 | arg( (*it) ).arg( CurDevNN->name() ); | 411 | arg( (*it) ). |
412 | arg( CurDevNN->name() ); | ||
391 | return S; | 413 | return S; |
392 | } | 414 | } |
@@ -786,2 +808,25 @@ QList<NetworkSetup> NetworkSettingsData::collectTriggered( | |||
786 | } | 808 | } |
787 | 809 | ||
810 | bool NetworkSettingsData::createPath( const QStringList & SL ) { | ||
811 | |||
812 | QDir D( SL[0] ); | ||
813 | |||
814 | for ( QStringList::ConstIterator it = SL.begin(); | ||
815 | it != SL.end(); | ||
816 | ++it ) { | ||
817 | |||
818 | printf( "Create %s\n", (*it).latin1() ); | ||
819 | if( it == SL.begin() ) | ||
820 | continue; | ||
821 | |||
822 | if( ! D.exists( *it ) ) { | ||
823 | if( ! D.mkdir( *it ) ) { | ||
824 | printf( "Failed %s %s\n", D.path().latin1(), (*it).latin1() ); | ||
825 | return 0; | ||
826 | } | ||
827 | } | ||
828 | |||
829 | D.cd( *it ); | ||
830 | } | ||
831 | return 1; | ||
832 | } | ||
diff --git a/noncore/settings/networksettings2/nsdata.h b/noncore/settings/networksettings2/nsdata.h index b9c216d..65b61a3 100644 --- a/noncore/settings/networksettings2/nsdata.h +++ b/noncore/settings/networksettings2/nsdata.h | |||
@@ -30,4 +30,5 @@ private : | |||
30 | 30 | ||
31 | QList<NetworkSetup> collectTriggered( const QString &Interface ); | 31 | QList<NetworkSetup> collectTriggered( const QString &Interface ); |
32 | bool createPath( const QStringList & SL ); | ||
32 | bool ForceModified; | 33 | bool ForceModified; |
33 | 34 | ||
diff --git a/noncore/settings/networksettings2/opietooth2/Opietooth.cpp b/noncore/settings/networksettings2/opietooth2/Opietooth.cpp index 8323549..fc30bf8 100644 --- a/noncore/settings/networksettings2/opietooth2/Opietooth.cpp +++ b/noncore/settings/networksettings2/opietooth2/Opietooth.cpp | |||
@@ -185,5 +185,4 @@ void OTSniffing::SLOT_Trace( bool Run ) { | |||
185 | 185 | ||
186 | void OTSniffing::SLOT_Show( const QString & S ) { | 186 | void OTSniffing::SLOT_Show( const QString & S ) { |
187 | printf( "%s\n", S.latin1() ); | ||
188 | Output_TV->setText( Output_TV->text() + S + "\n" ); | 187 | Output_TV->setText( Output_TV->text() + S + "\n" ); |
189 | 188 | ||
@@ -378,4 +377,5 @@ OTScan::OTScan( QWidget * parent, OTIcons * _IC ) : | |||
378 | 377 | ||
379 | OT = OTGateway::getOTGateway(); | 378 | OT = OTGateway::getOTGateway(); |
379 | |||
380 | Icons = (_IC ) ? _IC : new OTIcons(); | 380 | Icons = (_IC ) ? _IC : new OTIcons(); |
381 | MyIcons = (_IC == 0 ); | 381 | MyIcons = (_IC == 0 ); |
@@ -445,4 +445,12 @@ int OTScan::getDevice( OTPeer *& Peer, | |||
445 | unsigned int i; | 445 | unsigned int i; |
446 | 446 | ||
447 | if( ! OT->isEnabled() ) { | ||
448 | QMessageBox::warning( 0, | ||
449 | tr("Scanning problem"), | ||
450 | tr("Bluetooth not enabled" ) | ||
451 | ); | ||
452 | return QDialog::Rejected; | ||
453 | } | ||
454 | |||
447 | // check if bluetooth is up | 455 | // check if bluetooth is up |
448 | OTDriverList & DL = OT->getDriverList(); | 456 | OTDriverList & DL = OT->getDriverList(); |
diff --git a/noncore/settings/networksettings2/ppp/ppp_NNI.cpp b/noncore/settings/networksettings2/ppp/ppp_NNI.cpp index 7286d96..9cdd51e 100644 --- a/noncore/settings/networksettings2/ppp/ppp_NNI.cpp +++ b/noncore/settings/networksettings2/ppp/ppp_NNI.cpp | |||
@@ -147,10 +147,12 @@ void APPP::commit( void ) { | |||
147 | } | 147 | } |
148 | 148 | ||
149 | bool APPP::openFile( SystemFile & SF ) { | 149 | bool APPP::openFile( SystemFile & SF, QStringList & SL ) { |
150 | if( SF.name() == "peers" ) { | 150 | if( SF.name() == "peers" ) { |
151 | SL << "/tmp/ppp" << "peers" ; | ||
151 | SF.setPath( removeSpaces( | 152 | SF.setPath( removeSpaces( |
152 | QString( "/tmp/ppp/peers/" ) + networkSetup()->name() ) ); | 153 | QString( "/tmp/ppp/peers/" ) + networkSetup()->name() ) ); |
153 | return 1; | 154 | return 1; |
154 | } else if ( SF.name() == "chatscripts" ) { | 155 | } else if ( SF.name() == "chatscripts" ) { |
156 | SL << "/tmp/chatscripts"; | ||
155 | SF.setPath( removeSpaces( | 157 | SF.setPath( removeSpaces( |
156 | QString( "/tmp/chatscripts/" ) + networkSetup()->name() ) ); | 158 | QString( "/tmp/chatscripts/" ) + networkSetup()->name() ) ); |
diff --git a/noncore/settings/networksettings2/ppp/ppp_NNI.h b/noncore/settings/networksettings2/ppp/ppp_NNI.h index 76afb21..7830a4a 100644 --- a/noncore/settings/networksettings2/ppp/ppp_NNI.h +++ b/noncore/settings/networksettings2/ppp/ppp_NNI.h | |||
@@ -26,5 +26,5 @@ public : | |||
26 | { return (void *)&Data; } | 26 | { return (void *)&Data; } |
27 | 27 | ||
28 | virtual bool openFile( SystemFile & Sf ); | 28 | virtual bool openFile( SystemFile & Sf, QStringList &SL ); |
29 | short generateFile( SystemFile & TS, | 29 | short generateFile( SystemFile & TS, |
30 | long DevNr ); | 30 | long DevNr ); |
diff --git a/noncore/settings/networksettings2/profile/profilerun.cpp b/noncore/settings/networksettings2/profile/profilerun.cpp index 48011ea..77bf9ac 100644 --- a/noncore/settings/networksettings2/profile/profilerun.cpp +++ b/noncore/settings/networksettings2/profile/profilerun.cpp | |||
@@ -4,8 +4,7 @@ | |||
4 | 4 | ||
5 | State_t ProfileRun::detectState( void ) { | 5 | State_t ProfileRun::detectState( void ) { |
6 | InterfaceInfo * II = networkSetup()->assignedInterface(); | ||
7 | 6 | ||
8 | Log(( "Interface %p %p %p: %d\n", II, | 7 | Log(( "Profile %sabled\n", (Data->Disabled) ? "dis" : "en" )); |
9 | netNode(), netNode()->networkSetup(), (II) ? II->IsUp : 0 )); | 8 | |
10 | if( Data->Disabled ) { | 9 | if( Data->Disabled ) { |
11 | return Disabled; | 10 | return Disabled; |