-rw-r--r-- | core/obex/obexsend.h | 47 |
1 files changed, 35 insertions, 12 deletions
diff --git a/core/obex/obexsend.h b/core/obex/obexsend.h index fd819bc..02100f7 100644 --- a/core/obex/obexsend.h +++ b/core/obex/obexsend.h @@ -14,16 +14,28 @@ class QVBoxLayout; * This is the new sending widget for Obex * It will attemp to smart and be able to send * it to multiple devices. * It'll support BT + IrDa */ 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; @@ -33,67 +45,78 @@ namespace OpieObex { 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( const QString& name, int dev ); + 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; QVBoxLayout* m_lay; int m_start; - QStringList m_irDa; - QMap<QString, QString> m_bt; + QMap<int, QString> m_irDa; + QMap<int, QString>::Iterator m_irDaIt; + QMap<int, Pair > m_bt; QString m_file; Obex* m_obex; + int m_irDeSearch; // search of irda and bt devices + int m_btDeSearch; }; class DeviceItem { public: DeviceItem( const QString& name = QString::null, - const QString& status = QString::null, int dev = 3); + const QString& status = QString::null, int dev = 3, int id = -1); ~DeviceItem(); void setStatus( const QString& text ); QString name()const; QString status()const; QString pixmap()const; int device()const; + int id()const; QString toString()const; private: QString m_name; QString m_status; int m_dev; + int m_id; }; + + /* + * The text field which contains the information about sending... + * + */ class DeviceBox : public QTextBrowser { Q_OBJECT public: enum Device { IrDa, BT, Search, Error }; DeviceBox( QWidget* parent ); ~DeviceBox(); void setSource( const QString& str ); - void addDevice( const QString& name, int dev, - const QString& status = QString::null ); - void removeDevice( const QString& name ); - void setStatus( const QString& name, const QString& ); + int addDevice( const QString& name, int dev, + const QString& status = QString::null ); + void removeDevice( int ); + void setStatus( int, const QString& ); signals: - void selectedDevice( const QString& name, int dev ); + void selectedDevice( int id, int dev ); private: - QMap<QString, DeviceItem> m_dev; - QStringList m_devices; - + /* returns a id for a device from a device range */ + int idFor (int deviceType ); + QString allText(); + QMap<int, DeviceItem> m_dev; }; } #endif |