summaryrefslogtreecommitdiff
path: root/core/obex/obexsend.cpp
Side-by-side diff
Diffstat (limited to 'core/obex/obexsend.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/obex/obexsend.cpp289
1 files changed, 0 insertions, 289 deletions
diff --git a/core/obex/obexsend.cpp b/core/obex/obexsend.cpp
deleted file mode 100644
index 675c5e4..0000000
--- a/core/obex/obexsend.cpp
+++ b/dev/null
@@ -1,289 +0,0 @@
-#include "obex.h"
-#include "obexsend.h"
-using namespace OpieObex;
-
-/* OPIE */
-#include <opie2/odebug.h>
-#include <qpe/qcopenvelope_qws.h>
-using namespace Opie::Core;
-
-/* QT */
-#include <qpushbutton.h>
-#include <qlabel.h>
-#include <qlayout.h>
-#include <qtimer.h>
-
-/* TRANSLATOR OpieObex::SendWidget */
-
-SendWidget::SendWidget( QWidget* parent, const char* name )
- : QWidget( parent, name ) {
- initUI();
-}
-SendWidget::~SendWidget() {
-}
-void SendWidget::initUI() {
- m_obex = new Obex(this, "obex");
- connect(m_obex, SIGNAL(error(int) ),
- this, SLOT(slotIrError(int) ) );
- connect(m_obex, SIGNAL(sent(bool) ),
- this, SLOT(slotIrSent(bool) ) );
- connect(m_obex, SIGNAL(currentTry(unsigned int) ),
- this, SLOT(slotIrTry(unsigned int) ) );
-
- QCopChannel* chan = new QCopChannel("QPE/IrDaAppletBack", this );
- connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ),
- this, SLOT(dispatchIrda(const QCString&,const QByteArray&) ) );
-
- chan = new QCopChannel("QPE/BluetoothBack", this );
- connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ),
- this, SLOT(dispatchBt(const QCString&,const QByteArray&) ) );
-
- QVBoxLayout* lay = new QVBoxLayout(this);
-
- QHBox* nameBox = new QHBox(this);
- QLabel* name = new QLabel(nameBox);
- name->setText( tr("<qt><h1>Sending:</h1></qt>") );
- name->setAlignment( AlignLeft | AlignTop );
- m_lblFile = new QLabel(nameBox);
- lay->addWidget(nameBox, 0);
-
- QFrame* frame = new QFrame(this);
- frame->setFrameShape( QFrame::HLine );
- frame->setFrameShadow( QFrame::Sunken );
- lay->addWidget(frame, 10);
-
- QLabel* devices = new QLabel(this);
- devices->setText("<qt><b>Devices:</b></qt>");
- devices->setAlignment( AlignLeft | AlignTop );
- lay->addWidget( devices,10 );
-
- m_devBox = new DeviceBox(this);
- lay->addWidget( m_devBox, 50 );
- connect(m_devBox, SIGNAL(selectedDevice(int,int) ),
- this, SLOT(slotSelectedDevice(int,int) ) );
-
- QPushButton *but = new QPushButton(this);
- but->setText(tr("Done") );
- connect(but, SIGNAL(clicked() ),
- this, SLOT(slotDone() ) );
-
- lay->addWidget( but );
- m_lay = lay;
-
- // QT does not like if you add items to an layout which already exits....
- // and was layouted invalidate() does not help too
- // so we use RichText....
-}
-
-/*
- * in send we'll first set everything up
- * and then wait for a list of devices.
- */
-void SendWidget::send( const QString& file, const QString& desc ) {
- m_file = file;
- m_irDa.clear();
- m_start = 0;
- m_lblFile->setText(desc.isEmpty() ? file : desc );
-
- if ( !QCopChannel::isRegistered("QPE/IrDaApplet") ) {
- m_irDeSearch = m_devBox->addDevice( tr("IrDa is not enabled!"), DeviceBox::Error );
- m_start++;
- }else
- m_irDeSearch = m_devBox->addDevice( tr("Searching for IrDa Devices."), DeviceBox::Search );
-
- if ( !QCopChannel::isRegistered("QPE/Bluetooth") ) {
- m_btDeSearch = m_devBox->addDevice( tr("Bluetooth is not available"), DeviceBox::Error );
- m_start++;
- }else
- m_btDeSearch = m_devBox->addDevice( tr("Searching for bluetooth Devices."), DeviceBox::Search );
-
- if (m_start != 2 ) {
- QCopEnvelope e0("QPE/IrDaApplet", "enableIrda()");
- QCopEnvelope e1("QPE/Bluetooth", "enableBluetooth()");
- QCopEnvelope e2("QPE/IrDaApplet", "listDevices()");
- QCopEnvelope e3("QPE/Bluetooth", "listDevices()");
- }
-}
-void SendWidget::slotIrDaDevices( const QStringList& list) {
- for (QStringList::ConstIterator it = list.begin(); it != list.end(); ++it ) {
- int id = m_devBox->addDevice( (*it), DeviceBox::IrDa, tr("Scheduling for beam.") );
- m_irDa.insert( id, (*it) );
- }
- m_devBox->removeDevice( m_irDeSearch );
- m_irDaIt = m_irDa.begin();
-
- slotStartIrda();
-}
-
-void SendWidget::slotBTDevices( const QMap<QString, QString>& str ) {
- for(QMap<QString, QString>::ConstIterator it = str.begin(); it != str.end(); ++it ) {
- int id = m_devBox->addDevice( it.key(), DeviceBox::BT, tr("Click to beam") );
- m_bt.insert( id, Pair( it.key(), it.data() ) );
- }
- m_devBox->removeDevice( m_btDeSearch );
-}
-void SendWidget::slotSelectedDevice( int name, int ) {
- if ( name == m_irDeSearch ) {
- for (QMap<int, QString>::Iterator it= m_irDa.begin(); it != m_irDa.end(); ++it )
- m_devBox->removeDevice( it.key() );
-
- QCopEnvelope e2("QPE/IrDaApplet", "listDevices()");
- }
-}
-void SendWidget::dispatchIrda( const QCString& str, const QByteArray& ar ) {
- if ( str == "devices(QStringList)" ) {
- QDataStream stream( ar, IO_ReadOnly );
- QStringList list;
- stream >> list;
- slotIrDaDevices( list );
- }
-}
-void SendWidget::dispatchBt( const QCString&, const QByteArray& ) {
-
-}
-void SendWidget::slotIrError( int ) {
-
-}
-void SendWidget::slotIrSent( bool b) {
- QString text = b ? tr("Sent") : tr("Failure");
- m_devBox->setStatus( m_irDaIt.key(), text );
- ++m_irDaIt;
- slotStartIrda();
-}
-void SendWidget::slotIrTry(unsigned int trI) {
- m_devBox->setStatus( m_irDaIt.key(), tr("Try %1").arg( QString::number( trI ) ) );
-}
-void SendWidget::slotStartIrda() {
- if (m_irDaIt == m_irDa.end() ) {
- m_irDeSearch = m_devBox->addDevice(tr("Search again for IrDa."), DeviceBox::Search );
- return;
- }
- m_devBox->setStatus( m_irDaIt.key(), tr("Start sending") );
- m_obex->send( m_file );
-}
-void SendWidget::closeEvent( QCloseEvent* e) {
- e->accept(); // make sure
- QTimer::singleShot(0, this, SLOT(slotDone() ) );
-}
-void SendWidget::slotDone() {
- QCopEnvelope e0("QPE/IrDaApplet", "disableIrda()");
- QCopEnvelope e1("QPE/Bluetooth", "disableBluetooth()");
- emit done();
-}
-QString SendWidget::file()const {
- return m_file;
-}
-DeviceBox::DeviceBox( QWidget* parent )
- : QTextBrowser( parent ) {
-
-}
-DeviceBox::~DeviceBox() {
-
-}
-int DeviceBox::addDevice( const QString& name, int dev, const QString& status ) {
- /* return a id for a range of devices */
- int id = idFor ( dev );
- DeviceItem item( name, status, dev,id );
- m_dev.insert( id, item );
- setText( allText() );
-
- return id;
-}
-void DeviceBox::removeDevice( int id ) {
- if (!m_dev.contains(id) ) return;
-
- m_dev.remove( id );
- setText( allText() );
-}
-void DeviceBox::setStatus( int id, const QString& status ) {
- if ( !m_dev.contains(id) ) return;
- m_dev[id].setStatus(status );
- setText( allText() );
-}
-void DeviceBox::setSource( const QString& str ) {
- int id = str.toInt();
- emit selectedDevice( id, m_dev[id].device() );
-}
-int DeviceBox::idFor ( int id ) {
- static int irId = 1501;
- static int irBT = 1001;
- static int irSr = 501;
- static int irEr = 0;
-
- int ret = -1;
- switch(id ) {
- case IrDa:
- ret = irId;
- irId++;
- break;
- case BT:
- ret = irBT;
- irBT++;
- break;
- case Search:
- ret = irSr;
- irSr++;
- break;
- case Error:
- ret = irEr;
- irEr++;
- break;
- }
- return ret;
-}
-QString DeviceBox::allText() {
- QString str;
- typedef QMap<int, DeviceItem> DeviceMap;
-
- for (QMap<int, DeviceItem>::Iterator it = m_dev.begin(); it != m_dev.end(); ++it ) {
- str += it.data().toString() + "<br>";
- }
- return str;
-}
-
-DeviceItem::DeviceItem( const QString& name,
- const QString& status, int dev, int id)
-{
- m_name = name;
- m_status = status;
- m_dev = dev;
- m_id = id;
-}
-int DeviceItem::id()const {
- return m_id;
-}
-QString DeviceItem::name()const {
- return m_name;
-}
-QString DeviceItem::status()const {
- return m_status;
-}
-int DeviceItem::device()const {
- return m_dev;
-}
-QString DeviceItem::pixmap()const{
- QString str;
- switch(m_dev) {
- case DeviceBox::IrDa:
- str ="obex/irda";
- break;
- case DeviceBox::BT:
- str ="obex/bt";
- break;
- case DeviceBox::Search:
- str = "mag";
- break;
- case DeviceBox::Error:
- str = "editdelete";
- break;
- };
- return str;
-}
-DeviceItem::~DeviceItem() {
-}
-void DeviceItem::setStatus(const QString& status ) {
- m_status = status;
-}
-QString DeviceItem::toString()const {
- return "<p><a href=\""+QString::number(m_id) +"\" ><img src=\""+pixmap()+"\" >"+m_name+" "+m_status+" </a></p>" ;
-}