-rw-r--r-- | noncore/net/opietooth/blue-pin/main.cc | 3 | ||||
-rw-r--r-- | noncore/net/opietooth/blue-pin/pindlg.cc | 63 | ||||
-rw-r--r-- | noncore/net/opietooth/blue-pin/pindlg.h | 15 |
3 files changed, 78 insertions, 3 deletions
diff --git a/noncore/net/opietooth/blue-pin/main.cc b/noncore/net/opietooth/blue-pin/main.cc index aa360aa..29e46ae 100644 --- a/noncore/net/opietooth/blue-pin/main.cc +++ b/noncore/net/opietooth/blue-pin/main.cc @@ -1,14 +1,17 @@ #include <stdio.h> #include <stdlib.h> #include <qpe/qpeapplication.h> +#include <opie2/oapplicationfactory.h> #include "pindlg.h" +using namespace Opie::Core; +OPIE_EXPORT_APP( OApplicationFactory<OpieTooth::PinDlg> ) int main( int argc, char* argv[] ) { if (argc < 2 ) { printf("ERR\n"); exit(0); diff --git a/noncore/net/opietooth/blue-pin/pindlg.cc b/noncore/net/opietooth/blue-pin/pindlg.cc index f0b2309..96be1e5 100644 --- a/noncore/net/opietooth/blue-pin/pindlg.cc +++ b/noncore/net/opietooth/blue-pin/pindlg.cc @@ -20,21 +20,45 @@ PinDlg::PinDlg( const QString& status, const char* name ) : PinDlgBase( parent, name, WType_Modal ) { m_mac = mac; test( mac ); txtStatus->setText(status); - QPEApplication::showDialog( this ); + if(!m_mac.isEmpty()) + QPEApplication::showDialog( this ); +} + +PinDlg::PinDlg(QWidget* parent, + const char* name, + Qt::WFlags f ) + : PinDlgBase( parent, name, f ) +{ + m_mac = makeMacFromArgs(); + + if(m_mac.isEmpty()) + { + // can't obtain MAC + printf("ERR\n"); + qApp->quit(); + } + else + { + test( m_mac ); + txtStatus->setText(makeTextFromArgs()); + QPEApplication::showDialog( this ) ; + } } PinDlg::~PinDlg() {} + void PinDlg::setMac( const QString& mac ) { txtStatus->setText( mac ); } + QString PinDlg::pin() const { return lnePin->text(); } void PinDlg::test( const QString& mac ) @@ -45,20 +69,57 @@ void PinDlg::test( const QString& mac ) cfg.setGroup(mac); lnePin->setText(cfg.readEntryCrypt("pin", QString::null ) ); if ( !lnePin->text().isEmpty() ) { //QTimer::singleShot(100, this, SLOT(accept() ) ); } + } + +} + +QString PinDlg::makeTextFromArgs() +{ + if(qApp->argc() > 2) + { + QCString dir(qApp->argv()[1]) ; + QCString bdaddr(qApp->argv()[2]) ; + + QCString name; + if ( qApp->argc() > 3 ) { + name = qApp->argv()[3]; + } + QString status; + if (dir == "out" ) { + status = QObject::tr("Outgoing connection to "); + } else + status = QObject::tr("Incoming connection from "); + status += name; + status += "<br>"; + status += "[" + bdaddr + "]"; + + return status ; } + else + return QString(); +} +QString PinDlg::makeMacFromArgs() +{ + if(qApp->argc() < 3) + return QString(); + else + return qApp->argv()[2] ; } + void PinDlg::accept() { if ( ckbPin->isChecked() ) { Config cfg("bluepin"); cfg.setGroup(m_mac ); cfg.writeEntryCrypt("pin", lnePin->text() ); } + printf("PIN:%s\n", lnePin->text().latin1()); QDialog::accept(); + qApp->quit(); } diff --git a/noncore/net/opietooth/blue-pin/pindlg.h b/noncore/net/opietooth/blue-pin/pindlg.h index 5e5a763..5f7dc55 100644 --- a/noncore/net/opietooth/blue-pin/pindlg.h +++ b/noncore/net/opietooth/blue-pin/pindlg.h @@ -7,22 +7,33 @@ namespace OpieTooth { class PinDlg : public PinDlgBase { Q_OBJECT public: - PinDlg(const QString& text, - const QString& mac, + PinDlg(const QString& text="", + const QString& mac="", QWidget* parent = 0, const char* name= 0 ); + + PinDlg(QWidget* parent, + const char* name, + Qt::WFlags f ); + ~PinDlg(); void setMac( const QString& ); QString pin() const; + + static QString appName() { return QString::fromLatin1("bluepin") ; } private: void test( const QString& mac ); + + QString makeTextFromArgs(); + QString makeMacFromArgs(); + QString m_mac; protected slots: void accept(); }; |