summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/networksettings.cpp
authorwimpie <wimpie>2004-08-09 02:31:25 (UTC)
committer wimpie <wimpie>2004-08-09 02:31:25 (UTC)
commit0784cfdbd261c43856b45be6ab7439841e69b858 (patch) (unidiff)
treef6a27d6b2e1e6d8dcc908b2ef5836cd320ddfab1 /noncore/settings/networksettings2/networksettings.cpp
parent5e10278e748608766245ff9f59a54d1ae8ff6f7e (diff)
downloadopie-0784cfdbd261c43856b45be6ab7439841e69b858.zip
opie-0784cfdbd261c43856b45be6ab7439841e69b858.tar.gz
opie-0784cfdbd261c43856b45be6ab7439841e69b858.tar.bz2
Many changes :
bluetooth and usb seems to work added preliminary support for VPN on top of any network This version is still very much crippled yet is does DO some things
Diffstat (limited to 'noncore/settings/networksettings2/networksettings.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/networksettings.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/noncore/settings/networksettings2/networksettings.cpp b/noncore/settings/networksettings2/networksettings.cpp
index b36c7a0..6ee4106 100644
--- a/noncore/settings/networksettings2/networksettings.cpp
+++ b/noncore/settings/networksettings2/networksettings.cpp
@@ -1,7 +1,8 @@
1#include <stdio.h> 1#include <stdio.h>
2#include <unistd.h>
2 3
3#include <qpe/qpeapplication.h> 4#include <qpe/qpeapplication.h>
4#include <qlistbox.h> 5#include <qlistbox.h>
5#include <qgroupbox.h> 6#include <qgroupbox.h>
6#include <qtimer.h> 7#include <qtimer.h>
7#include <qlistbox.h> 8#include <qlistbox.h>
@@ -58,12 +59,16 @@ NetworkSettings::NetworkSettings( QWidget *parent,
58 59
59 // if no profiles -> auto popup editing 60 // if no profiles -> auto popup editing
60 if( NSResources->connections().count() == 0 ) { 61 if( NSResources->connections().count() == 0 ) {
61 QTimer::singleShot( 100, this, SLOT(SLOT_AddNode() ) ); 62 QTimer::singleShot( 100, this, SLOT(SLOT_AddNode() ) );
62 } 63 }
63 64
65 connect( &(NSResources->system()),
66 SIGNAL( lineFromCommand(const QString &) ),
67 this, SLOT( SLOT_CmdMessage(const QString &) ) );
68
64 UpdateTimer->start( 5000 ); 69 UpdateTimer->start( 5000 );
65 connect( UpdateTimer, SIGNAL( timeout() ), 70 connect( UpdateTimer, SIGNAL( timeout() ),
66 this, SLOT( SLOT_RefreshStates() ) ); 71 this, SLOT( SLOT_RefreshStates() ) );
67 72
68 /* Add QCopChannel */ 73 /* Add QCopChannel */
69 connect( qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), 74 connect( qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)),
@@ -88,12 +93,18 @@ NetworkSettings::~NetworkSettings() {
88 QMessageBox::warning( 93 QMessageBox::warning(
89 0, 94 0,
90 tr( "Saving setup" ), S ); 95 tr( "Saving setup" ), S );
91 } 96 }
92} 97}
93 98
99void NetworkSettings::SLOT_CmdMessage( const QString & S ) {
100 Messages_LB->insertItem( S );
101 Messages_LB->setCurrentItem( Messages_LB->count()-1 );
102 Messages_LB->ensureCurrentVisible();
103}
104
94void NetworkSettings::SLOT_RefreshStates( void ) { 105void NetworkSettings::SLOT_RefreshStates( void ) {
95 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() ); // remember 106 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() ); // remember
96 107
97 if( LBI ) { 108 if( LBI ) {
98 NodeCollection * NC; 109 NodeCollection * NC;
99 NSResources->system().probeInterfaces(); 110 NSResources->system().probeInterfaces();
@@ -131,12 +142,15 @@ void NetworkSettings::SLOT_RefreshStates( void ) {
131 } 142 }
132 if( ci >= 0 ) 143 if( ci >= 0 )
133 Profiles_LB->setCurrentItem( ci ); 144 Profiles_LB->setCurrentItem( ci );
134 */ 145 */
135} 146}
136 147
148void NetworkSettings::SLOT_NoLongerBusy( void ) {
149 NSResources->busy( FALSE );
150}
137void NetworkSettings::SLOT_AddNode( void ) { 151void NetworkSettings::SLOT_AddNode( void ) {
138 SLOT_EditNode( 0 ); 152 SLOT_EditNode( 0 );
139} 153}
140 154
141void NetworkSettings::SLOT_DeleteNode( void ) { 155void NetworkSettings::SLOT_DeleteNode( void ) {
142 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() ); 156 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() );
@@ -169,12 +183,14 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) {
169 EC.setConnection( NC ); 183 EC.setConnection( NC );
170 } 184 }
171 185
172 EC.showMaximized(); 186 EC.showMaximized();
173 // disable refresh timer 187 // disable refresh timer
174 UpdateTimer->stop(); 188 UpdateTimer->stop();
189 NSResources->busy( TRUE );
190 QTimer::singleShot( 1000, this, SLOT( SLOT_NoLongerBusy() ));
175 // we need to retry 191 // we need to retry
176 while( 1 ) { 192 while( 1 ) {
177 if( EC.exec() == QDialog::Accepted ) { 193 if( EC.exec() == QDialog::Accepted ) {
178 // toplevel item -> store 194 // toplevel item -> store
179 NodeCollection * NC = EC.connection(); 195 NodeCollection * NC = EC.connection();
180 if( NC->isModified() ) { 196 if( NC->isModified() ) {
@@ -203,13 +219,13 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) {
203 Profiles_LB->index( LBI ) 219 Profiles_LB->index( LBI )
204 ); 220 );
205 } else { 221 } else {
206 // new item 222 // new item
207 int ci = Profiles_LB->count(); 223 int ci = Profiles_LB->count();
208 NSResources->addConnection( NC ); 224 NSResources->addConnection( NC );
209 NC->setNumber( NC->maxConnectionNumber()+1 ); 225 NC->setNumber( NSResources->assignConnectionNumber() );
210 Profiles_LB->insertItem( NC->devicePixmap(), NC->name() ); 226 Profiles_LB->insertItem( NC->devicePixmap(), NC->name() );
211 Profiles_LB->setSelected( ci, TRUE ); 227 Profiles_LB->setSelected( ci, TRUE );
212 } 228 }
213 updateProfileState( LBI ); 229 updateProfileState( LBI );
214 } 230 }
215 } else { 231 } else {
@@ -254,37 +270,42 @@ void NetworkSettings::SLOT_ShowNode( QListBoxItem * LBI ) {
254 break; 270 break;
255 case Off : 271 case Off :
256 DisabledOn = 0; 272 DisabledOn = 0;
257 break; 273 break;
258 case Available : 274 case Available :
259 OnOn = 1; 275 OnOn = 1;
276 Connect_TB->setPixmap( NSResources->getPixmap( "disconnected" ) );
260 DisabledOn = 0; 277 DisabledOn = 0;
261 break; 278 break;
262 case IsUp : 279 case IsUp :
263 OnOn = ConnectOn = 1; 280 OnOn = ConnectOn = 1;
281 Connect_TB->setPixmap( NSResources->getPixmap( "connected" ) );
264 DisabledOn = 0; 282 DisabledOn = 0;
265 break; 283 break;
266 } 284 }
267 285
286 if( ! OnOn ) {
287 Connect_TB->setPixmap( NSResources->getPixmap( "disconnected" ) );
288 }
289
268 // set button state 290 // set button state
269 Enable_TB->setEnabled( EnabledPossible ); 291 Enable_TB->setEnabled( EnabledPossible );
270 On_TB->setEnabled( OnPossible ); 292 On_TB->setEnabled( OnPossible );
271 Connect_TB->setEnabled( ConnectPossible ); 293 Connect_TB->setEnabled( ConnectPossible );
272 294
273 Enable_TB->setOn( DisabledOn ); 295 Enable_TB->setOn( DisabledOn );
274 On_TB->setOn( OnOn ); 296 On_TB->setOn( OnOn );
275 Connect_TB->setOn( ConnectOn ); 297 Connect_TB->setOn( ConnectOn );
276 298
277 if( NC->description().isEmpty() ) { 299 if( NC->description().isEmpty() ) {
278 Description_LBL->setText( tr( "No description" ) ); 300 Description_LBL->setText( tr( "<<No description>>" ) );
279 } else { 301 } else {
280 Description_LBL->setText( NC->description() ); 302 Description_LBL->setText( NC->description() );
281 } 303 }
282 304
283 Profile_GB->setTitle( LBI->text() ); 305 Profile_GB->setTitle( LBI->text() + " : " + NC->stateName() );
284 State_LBL->setText( NC->stateName() );
285} 306}
286 307
287void NetworkSettings::SLOT_CheckState( void ) { 308void NetworkSettings::SLOT_CheckState( void ) {
288 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() ); 309 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() );
289 if ( ! LBI ) 310 if ( ! LBI )
290 return; 311 return;
@@ -411,21 +432,26 @@ void NetworkSettings::SLOT_Connect( void ) {
411 } 432 }
412 433
413 // we do not update the GUI but wait for the REAL upping of the device 434 // we do not update the GUI but wait for the REAL upping of the device
414} 435}
415 436
416void NetworkSettings::SLOT_Disconnect( void ) { 437void NetworkSettings::SLOT_Disconnect( void ) {
438 QString S;
417 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() ); 439 QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() );
418 440
419 if ( ! LBI ) 441 if ( ! LBI )
420 return; 442 return;
421 443
422 NodeCollection * NC = 444 NodeCollection * NC =
423 NSResources->findConnection( LBI->text() ); 445 NSResources->findConnection( LBI->text() );
424 446
447 Log(( "Force interface %s down\n", NC->name().latin1() ));
425 NC->setState( Down, 1 ); 448 NC->setState( Down, 1 );
449 // remove 'up' file to make sure
450 S.sprintf( "/tmp/Profile-%d.up", NC->number() );
451 unlink( S.latin1() );
426} 452}
427 453
428void NetworkSettings::SLOT_ToMessages( void ) { 454void NetworkSettings::SLOT_ToMessages( void ) {
429 Profile_GB->hide(); 455 Profile_GB->hide();
430 Messages_GB->show(); 456 Messages_GB->show();
431} 457}