summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/TODO.txt2
-rw-r--r--noncore/net/opietooth/manager/dundialog.cpp8
-rw-r--r--noncore/net/opietooth/manager/dundialog.h1
-rw-r--r--noncore/net/opietooth/manager/dunpopup.cpp3
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
@@ -51,26 +51,32 @@ DunDialog::DunDialog( const QString& device, int port, QWidget* parent,
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;
}
@@ -81,12 +87,14 @@ void DunDialog::connectToDevice() {
*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;
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
@@ -39,12 +39,13 @@ namespace OpieTooth {
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
};
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
@@ -59,14 +59,17 @@ void DunPopup::slotConnect() {
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"));
}