-rw-r--r-- | core/obex/obexsend.cpp | 4 | ||||
-rw-r--r-- | core/obex/obexsend.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/core/obex/obexsend.cpp b/core/obex/obexsend.cpp index 0da57ca..1b19c6b 100644 --- a/core/obex/obexsend.cpp +++ b/core/obex/obexsend.cpp @@ -145,48 +145,52 @@ void SendWidget::dispatchIrda( const QCString& str, const QByteArray& ar ) { void SendWidget::dispatchBt( const QCString&, const QByteArray& ) { } void SendWidget::slotIrError( int ) { } void SendWidget::slotIrSent( bool b) { qWarning("irda sent!!"); 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; } diff --git a/core/obex/obexsend.h b/core/obex/obexsend.h index 02100f7..bf901cb 100644 --- a/core/obex/obexsend.h +++ b/core/obex/obexsend.h @@ -18,48 +18,51 @@ class QVBoxLayout; */ namespace OpieObex { class DeviceBox; class Obex; struct Pair { Pair(const QString& first = QString::null, const QString& second = QString::null) : m_first(first), m_second(second ) { } QString first()const{ return m_first; } QString second()const { return m_second; } private: QString m_first; QString m_second; }; class SendWidget : public QWidget{ Q_OBJECT public: SendWidget( QWidget* parent = 0, const char* name = 0); ~SendWidget(); QString file()const; + protected: + void closeEvent( QCloseEvent* ); + public slots: void send( const QString& file, const QString& desc ); signals: void done(); private slots: // QCOP slots /* IrDa Names*/ void slotIrDaDevices( const QStringList& ); /* Bt Names + BD-Addr */ void slotBTDevices( const QMap<QString, QString>& ); void slotSelectedDevice( int id, int dev ); void dispatchIrda( const QCString& str, const QByteArray& ar ); void dispatchBt( const QCString& str, const QByteArray& ar ); void slotIrError( int ); void slotIrSent(bool); void slotIrTry(unsigned int ); void slotStartIrda(); void slotDone(); private: void initUI(); QLabel* m_lblFile; DeviceBox* m_devBox; |