summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/networksettings.cpp
Side-by-side diff
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,5 +1,6 @@
#include <stdio.h>
+#include <unistd.h>
#include <qpe/qpeapplication.h>
#include <qlistbox.h>
#include <qgroupbox.h>
@@ -60,8 +61,12 @@ NetworkSettings::NetworkSettings( QWidget *parent,
if( NSResources->connections().count() == 0 ) {
QTimer::singleShot( 100, this, SLOT(SLOT_AddNode() ) );
}
+ connect( &(NSResources->system()),
+ SIGNAL( lineFromCommand(const QString &) ),
+ this, SLOT( SLOT_CmdMessage(const QString &) ) );
+
UpdateTimer->start( 5000 );
connect( UpdateTimer, SIGNAL( timeout() ),
this, SLOT( SLOT_RefreshStates() ) );
@@ -90,8 +95,14 @@ NetworkSettings::~NetworkSettings() {
tr( "Saving setup" ), S );
}
}
+void NetworkSettings::SLOT_CmdMessage( const QString & S ) {
+ Messages_LB->insertItem( S );
+ Messages_LB->setCurrentItem( Messages_LB->count()-1 );
+ Messages_LB->ensureCurrentVisible();
+}
+
void NetworkSettings::SLOT_RefreshStates( void ) {
QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() ); // remember
if( LBI ) {
@@ -133,8 +144,11 @@ void NetworkSettings::SLOT_RefreshStates( void ) {
Profiles_LB->setCurrentItem( ci );
*/
}
+void NetworkSettings::SLOT_NoLongerBusy( void ) {
+ NSResources->busy( FALSE );
+}
void NetworkSettings::SLOT_AddNode( void ) {
SLOT_EditNode( 0 );
}
@@ -171,8 +185,10 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) {
EC.showMaximized();
// disable refresh timer
UpdateTimer->stop();
+ NSResources->busy( TRUE );
+ QTimer::singleShot( 1000, this, SLOT( SLOT_NoLongerBusy() ));
// we need to retry
while( 1 ) {
if( EC.exec() == QDialog::Accepted ) {
// toplevel item -> store
@@ -205,9 +221,9 @@ void NetworkSettings::SLOT_EditNode( QListBoxItem * LBI ) {
} else {
// new item
int ci = Profiles_LB->count();
NSResources->addConnection( NC );
- NC->setNumber( NC->maxConnectionNumber()+1 );
+ NC->setNumber( NSResources->assignConnectionNumber() );
Profiles_LB->insertItem( NC->devicePixmap(), NC->name() );
Profiles_LB->setSelected( ci, TRUE );
}
updateProfileState( LBI );
@@ -256,16 +272,22 @@ void NetworkSettings::SLOT_ShowNode( QListBoxItem * LBI ) {
DisabledOn = 0;
break;
case Available :
OnOn = 1;
+ Connect_TB->setPixmap( NSResources->getPixmap( "disconnected" ) );
DisabledOn = 0;
break;
case IsUp :
OnOn = ConnectOn = 1;
+ Connect_TB->setPixmap( NSResources->getPixmap( "connected" ) );
DisabledOn = 0;
break;
}
+ if( ! OnOn ) {
+ Connect_TB->setPixmap( NSResources->getPixmap( "disconnected" ) );
+ }
+
// set button state
Enable_TB->setEnabled( EnabledPossible );
On_TB->setEnabled( OnPossible );
Connect_TB->setEnabled( ConnectPossible );
@@ -274,15 +296,14 @@ void NetworkSettings::SLOT_ShowNode( QListBoxItem * LBI ) {
On_TB->setOn( OnOn );
Connect_TB->setOn( ConnectOn );
if( NC->description().isEmpty() ) {
- Description_LBL->setText( tr( "No description" ) );
+ Description_LBL->setText( tr( "<<No description>>" ) );
} else {
Description_LBL->setText( NC->description() );
}
- Profile_GB->setTitle( LBI->text() );
- State_LBL->setText( NC->stateName() );
+ Profile_GB->setTitle( LBI->text() + " : " + NC->stateName() );
}
void NetworkSettings::SLOT_CheckState( void ) {
QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() );
@@ -413,17 +434,22 @@ void NetworkSettings::SLOT_Connect( void ) {
// we do not update the GUI but wait for the REAL upping of the device
}
void NetworkSettings::SLOT_Disconnect( void ) {
+ QString S;
QListBoxItem * LBI = Profiles_LB->item( Profiles_LB->currentItem() );
if ( ! LBI )
return;
NodeCollection * NC =
NSResources->findConnection( LBI->text() );
+ Log(( "Force interface %s down\n", NC->name().latin1() ));
NC->setState( Down, 1 );
+ // remove 'up' file to make sure
+ S.sprintf( "/tmp/Profile-%d.up", NC->number() );
+ unlink( S.latin1() );
}
void NetworkSettings::SLOT_ToMessages( void ) {
Profile_GB->hide();