author | mickeyl <mickeyl> | 2004-07-13 19:34:46 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-07-13 19:34:46 (UTC) |
commit | a309681894af2632f9db2fcc252a058f218a82b2 (patch) (side-by-side diff) | |
tree | ea4e36b019cdc25c1043e5e3d000fbaacca71596 | |
parent | 03930fa4871365efb6438b74b3a68f8f06aa7e4f (diff) | |
download | opie-a309681894af2632f9db2fcc252a058f218a82b2.zip opie-a309681894af2632f9db2fcc252a058f218a82b2.tar.gz opie-a309681894af2632f9db2fcc252a058f218a82b2.tar.bz2 |
convert blue-pin to be quicklaunchable. patch courtesy Thomas Themel.
-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,38 +1,41 @@ #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); } QCString dir(argv[1] ); QCString bdaddr( argv[2] ); QCString name; if ( argc > 3 ) { name = argv[3]; } QPEApplication a(argc, argv ); QString status; if (dir == "out" ) { status = QObject::tr("Outgoing connection to "); }else status = QObject::tr("Incoming connection from "); status += name; status += "<br>"; status += "[" + bdaddr + "]"; OpieTooth::PinDlg dlg( status, bdaddr ); if ( dlg.exec() ) { printf("PIN:%s\n", dlg.pin().stripWhiteSpace().latin1() ); }else printf("ERR\n"); return 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 @@ -1,64 +1,125 @@ #include "pindlg.h" /* OPIE */ #include <qpe/config.h> #include <qpe/qpeapplication.h> /* QT */ #include <qcheckbox.h> #include <qlabel.h> #include <qlineedit.h> /* STD */ #include <stdio.h> using namespace OpieTooth; PinDlg::PinDlg( const QString& status, const QString& mac, QWidget* parent, 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 ) { if (!mac.isEmpty() ) { Config cfg("bluepin"); 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 @@ -1,29 +1,40 @@ #include <qdialog.h> #include "pindlgbase.h" 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(); }; }; |