summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/obex/obexsend.cpp4
-rw-r--r--core/obex/obexsend.h3
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;