author | korovkin <korovkin> | 2006-04-04 18:53:07 (UTC) |
---|---|---|
committer | korovkin <korovkin> | 2006-04-04 18:53:07 (UTC) |
commit | 31ea6e9f697d72a31ce319f7f42254fe90e48a36 (patch) (side-by-side diff) | |
tree | 694ad373b6ac80ebdf93137029b0b6c5d335d3f6 | |
parent | 76276b77e99897ae264aa5b171191521edada420 (diff) | |
download | opie-31ea6e9f697d72a31ce319f7f42254fe90e48a36.zip opie-31ea6e9f697d72a31ce319f7f42254fe90e48a36.tar.gz opie-31ea6e9f697d72a31ce319f7f42254fe90e48a36.tar.bz2 |
Added persist mode for dund.
-rw-r--r-- | noncore/net/opietooth/manager/TODO.txt | 2 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/dundialog.cpp | 8 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/dundialog.h | 1 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/dunpopup.cpp | 3 |
4 files changed, 13 insertions, 1 deletions
diff --git a/noncore/net/opietooth/manager/TODO.txt b/noncore/net/opietooth/manager/TODO.txt index 1914d8b..ed512cd 100644 --- a/noncore/net/opietooth/manager/TODO.txt +++ b/noncore/net/opietooth/manager/TODO.txt @@ -1,4 +1,4 @@ -1. Try and run and correct authentification and encoding. +1. Improve hcid.conf parsing algorithm. 2. Collect requirements from others. //eof diff --git a/noncore/net/opietooth/manager/dundialog.cpp b/noncore/net/opietooth/manager/dundialog.cpp index 7aac271..c6d8619 100644 --- a/noncore/net/opietooth/manager/dundialog.cpp +++ b/noncore/net/opietooth/manager/dundialog.cpp @@ -33,78 +33,86 @@ DunDialog::DunDialog( const QString& device, int port, QWidget* parent, m_device = device; m_port = port; m_dunConnect = NULL; layout = new QVBoxLayout( this ); QLabel* info = new QLabel( this ); info->setText( tr("Enter an ppp script name:") ); cmdLine = new QLineEdit( this ); outPut = new QMultiLineEdit( this ); QFont outPut_font( outPut->font() ); outPut_font.setPointSize( 8 ); outPut->setFont( outPut_font ); outPut->setWordWrap( QMultiLineEdit::WidgetWidth ); connectButton = new QPushButton( this ); connectButton->setText( tr( "Connect" ) ); doEncryption = new QCheckBox(this, "encrypt"); doEncryption->setText( tr( "encrypt" ) ); + persist = new QCheckBox(this, "persist"); + persist->setText( tr( "persist" ) ); + layout->addWidget(info); layout->addWidget(cmdLine); layout->addWidget(doEncryption); + layout->addWidget(persist); layout->addWidget(outPut); layout->addWidget(connectButton); connect( connectButton, SIGNAL( clicked() ), this, SLOT( connectToDevice() ) ); } DunDialog::~DunDialog() { } void DunDialog::connectToDevice() { bool doEnc = doEncryption->isChecked(); + bool doPersist = persist->isChecked(); + if (cmdLine->text() == "") return; if (m_dunConnect) { outPut->append(tr("Work in progress")); return; } m_dunConnect = new OProcess(); outPut->clear(); // Fill process command line *m_dunConnect << tr("dund") << tr("--connect") << m_device << tr("--channel") << QString::number(m_port) << tr("--nodetach"); if (doEnc) *m_dunConnect << tr("--encrypt"); + if (doPersist) + *m_dunConnect << tr("--persist"); *m_dunConnect << tr("call") << cmdLine->text(); if (!m_dunConnect->start(OProcess::NotifyOnExit, OProcess::All)) { outPut->append(tr("Couldn't start")); delete m_dunConnect; m_dunConnect = NULL; } else { m_dunConnect->resume(); outPut->append(tr("Started")); connect(m_dunConnect, SIGNAL(receivedStdout(Opie::Core::OProcess*, char*, int)), this, SLOT(fillOutPut(Opie::Core::OProcess*, char*, int))); connect(m_dunConnect, SIGNAL(receivedStderr(Opie::Core::OProcess*, char*, int)), this, SLOT(fillErr(Opie::Core::OProcess*, char*, int))); connect(m_dunConnect, SIGNAL(processExited(Opie::Core::OProcess*)), this, SLOT(slotProcessExited(Opie::Core::OProcess*))); } } diff --git a/noncore/net/opietooth/manager/dundialog.h b/noncore/net/opietooth/manager/dundialog.h index 9e219cd..a0d16ad 100644 --- a/noncore/net/opietooth/manager/dundialog.h +++ b/noncore/net/opietooth/manager/dundialog.h @@ -21,32 +21,33 @@ class QMultiLineEdit; class QLineEdit; class QCheckBox; namespace OpieTooth { class DunDialog : public QDialog { Q_OBJECT public: DunDialog(const QString& device = 0, int port = 0, QWidget* parent = 0, const char* name = 0, bool modal = TRUE, WFlags fl = 0); ~DunDialog(); private slots: void connectToDevice(); void fillOutPut( Opie::Core::OProcess* pppDial, char* cha, int len ); void fillErr(Opie::Core::OProcess*, char*, int); void slotProcessExited(Opie::Core::OProcess* proc); void closeEvent(QCloseEvent* e); protected: QVBoxLayout* layout; QLineEdit* cmdLine; QPushButton* connectButton; QMultiLineEdit* outPut; QCheckBox* doEncryption; + QCheckBox* persist; private: QString m_device; //device BT address int m_port; //device process Opie::Core::OProcess* m_dunConnect; //DUN process }; } #endif diff --git a/noncore/net/opietooth/manager/dunpopup.cpp b/noncore/net/opietooth/manager/dunpopup.cpp index c304b2d..6844988 100644 --- a/noncore/net/opietooth/manager/dunpopup.cpp +++ b/noncore/net/opietooth/manager/dunpopup.cpp @@ -41,40 +41,43 @@ DunPopup::DunPopup( const Services& service, b->addTo( this ); connect( b, SIGNAL( activated() ), this, SLOT( slotConnectAndConfig() ) ); c = new QAction(); c->setText( tr( "disconnect" ) ); c->addTo( this ); connect( c, SIGNAL( activated() ), this, SLOT( slotDisconnect() ) ); }; DunPopup::~DunPopup() { } void DunPopup::slotConnect() { odebug << "connect" << oendl; DunDialog dundlg(m_item->mac(), m_service.protocolDescriptorList().last().port()); QPEApplication::execDialog( &dundlg ); } void DunPopup::slotDisconnect() { OProcess dunDis; OProcess pppDis; + OProcess dunKill; dunDis << tr("dund") << tr("--kill") << m_item->mac(); dunDis.start(OProcess::DontCare, OProcess::NoCommunication); + dunKill << tr("killall") << tr("-q") << tr("dund"); + dunKill.start(OProcess::DontCare, OProcess::NoCommunication); pppDis << tr("killall") << tr("-q") << tr("pppd"); pppDis.start(OProcess::DontCare, OProcess::NoCommunication); sleep(1); QMessageBox::information(this, tr("DUN Disconnect"), tr("DUN Disconnected")); } void DunPopup::slotConnectAndConfig() { slotConnect(); // more intelligence here later like passing the device ( bnepX ) QCopEnvelope e( "QPE/System", "execute(QString)" ); e << QString( "networksettings" ); } |