Diffstat (limited to 'noncore/net/opietooth/manager') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opietooth/manager/bluebase.cpp | 84 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/bluebase.h | 11 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/btlistitem.cpp | 60 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/btlistitem.h | 21 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/manager.pro | 4 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/popuphelper.cpp | 9 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/popuphelper.h | 6 |
7 files changed, 78 insertions, 117 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp index 85c6717..9cfeaa2 100644 --- a/noncore/net/opietooth/manager/bluebase.cpp +++ b/noncore/net/opietooth/manager/bluebase.cpp @@ -46,2 +46,4 @@ +#include "btconnectionitem.h" + using namespace OpieTooth; @@ -89,6 +91,9 @@ using namespace OpieTooth; - BTListItem *topLV2 = new BTListItem( ListView2, "Siemens S45", "", "device" ); + BTDeviceItem *topLV2 = new BTDeviceItem( ListView2, RemoteDevice("xx:", "Siemens S45" ) ); topLV2->setPixmap( 1, m_onPix ); - (void) new BTListItem( topLV2, "Serial" ,"", "service" ); - (void) new BTListItem( topLV2, "BlueNiC" , "", "service" ); + Services s1; + s1.setServiceName( "Serial" ); + (void) new BTServiceItem( topLV2, s1 ); + s1.setServiceName( "BlueNic" ); + (void) new BTServiceItem( topLV2, s1 ); @@ -186,9 +191,15 @@ using namespace OpieTooth; QListViewItemIterator it( ListView2 ); + BTListItem* item; + BTDeviceItem* device; for ( ; it.current(); ++it ) { + item = (BTListItem*)it.current(); + if(item->typeId() != BTListItem::Device ) + continue; + device = (BTDeviceItem*)item; // seperate config file for each device, to store more information in future. - qDebug( "/Settings/bluetooth/" + (((BTListItem*)it.current())->mac()) + ".conf"); - Config conf( QDir::homeDirPath() + "/Settings/bluetooth/" + (((BTListItem*)it.current())->mac()) + ".conf", Config::File ); + qDebug( "/Settings/bluetooth/" + device->mac() + ".conf"); + Config conf( QDir::homeDirPath() + "/Settings/bluetooth/" + device->mac() + ".conf", Config::File ); conf.setGroup( "Info" ); - conf.writeEntry( "name", ((BTListItem*)it.current())->name() ); + conf.writeEntry( "name", device->name() ); } @@ -247,3 +258,3 @@ using namespace OpieTooth; void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) { - BTListItem * deviceItem; + BTDeviceItem * deviceItem; QValueList<RemoteDevice>::ConstIterator it; @@ -251,3 +262,4 @@ using namespace OpieTooth; for( it = newDevices.begin(); it != newDevices.end() ; ++it ) { - deviceItem = new BTListItem( ListView2 , (*it).name(), (*it).mac(), "device" ); + + deviceItem = new BTDeviceItem( ListView2 , (*it) ); deviceItem->setExpandable ( true ); @@ -328,6 +340,6 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin */ - void BlueBase::addServicesToDevice( BTListItem * item ) { + void BlueBase::addServicesToDevice( BTDeviceItem * item ) { qDebug("addServicesToDevice"); // row of mac adress text(3) - RemoteDevice device( item->mac(), item->name() ); + RemoteDevice device = item->remoteDevice(); m_deviceList.insert( item->mac() , item ); @@ -346,14 +358,13 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin - QMap<QString,BTListItem*>::Iterator it; - BTListItem* deviceItem = 0; + QMap<QString,BTDeviceItem*>::Iterator it; + BTDeviceItem* deviceItem = 0; // get the right devices which requested the search - for( it = m_deviceList.begin(); it != m_deviceList.end(); ++it ) { - if ( it.key() == device ) { - deviceItem = it.data(); - } - } + it = m_deviceList.find( device ); + if( it == m_deviceList.end() ) + return; + deviceItem = it.data(); QValueList<OpieTooth::Services>::Iterator it2; - BTListItem * serviceItem; + BTServiceItem * serviceItem; @@ -362,3 +373,3 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin for( it2 = servicesList.begin(); it2 != servicesList.end(); ++it2 ) { - serviceItem = new BTListItem( deviceItem , (*it2).serviceName() , "" , "service" ); + serviceItem = new BTServiceItem( deviceItem , (*it2) ); serviceItem->setPixmap( 0, m_iconLoader->serviceIcon( (*it2).classIdList() ) ); @@ -366,4 +377,8 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin } else { - serviceItem = new BTListItem( deviceItem , tr("no services found"), "" , "service" ); + Services s1; + s1.setServiceName( tr("no serives found") ); + serviceItem = new BTServiceItem( deviceItem, s1 ); } + // now remove them from the list + m_deviceList.remove( it ); } @@ -380,5 +395,5 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin - void BlueBase::addConnectedDevices( Connection::ValueList connectionList ) { - QValueList<OpieTooth::Connection>::Iterator it; - BTListItem * connectionItem; + void BlueBase::addConnectedDevices( ConnectionState::ValueList connectionList ) { + QValueList<OpieTooth::ConnectionState>::Iterator it; + BTConnectionItem * connectionItem; @@ -387,6 +402,8 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin for (it = connectionList.begin(); it != connectionList.end(); ++it) { - connectionItem = new BTListItem( ListView4 , (*it).mac() , (*it).mac() , "connection" ); + connectionItem = new BTConnectionItem( ListView4 , (*it) ); } } else { - connectionItem = new BTListItem( ListView4 , tr("No connections found"), "", "connection" ); + ConnectionState con; + con.setMac( tr("No connections found") ); + connectionItem = new BTConnectionItem( ListView4 , con ); } @@ -402,2 +419,3 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin // search by mac, async, gets a signal back + // We should have a BTDeviceItem there or where does it get added to the map -zecke m_localDevice->isAvailable( device.mac() ); @@ -413,11 +431,10 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin - QMap<QString,BTListItem*>::Iterator it; - BTListItem* deviceItem = 0; + QMap<QString,BTDeviceItem*>::Iterator it; + + it = m_deviceList.find( device ); + if( it == m_deviceList.end() ) + return; + + BTDeviceItem* deviceItem = it.data(); - // get the right devices which requested the search - for( it = m_deviceList.begin(); it != m_deviceList.end(); ++it ) { - if ( it.key() == device ) { - deviceItem = it.data(); - } - } @@ -428,2 +445,3 @@ void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & poin } + m_deviceList.remove( it ); } diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h index 73fac97..a8f4fe4 100644 --- a/noncore/net/opietooth/manager/bluebase.h +++ b/noncore/net/opietooth/manager/bluebase.h @@ -12,3 +12,6 @@ #include "bluetoothbase.h" -#include "btlistitem.h" + +#include "btserviceitem.h" +#include "btdeviceitem.h" + #include "bticonloader.h" @@ -53,3 +56,3 @@ namespace OpieTooth { Manager *m_localDevice; - QMap<QString,BTListItem*> m_deviceList; + QMap<QString,BTDeviceItem*> m_deviceList; @@ -71,6 +74,6 @@ namespace OpieTooth { void addSearchedDevices( const QValueList<RemoteDevice> &newDevices ); - void addServicesToDevice( BTListItem *item ); + void addServicesToDevice( BTDeviceItem *item ); void addServicesToDevice( const QString& device, Services::ValueList ); void addConnectedDevices(); - void addConnectedDevices( Connection::ValueList ); + void addConnectedDevices( ConnectionState::ValueList ); void startServiceActionClicked( QListViewItem *item ); diff --git a/noncore/net/opietooth/manager/btlistitem.cpp b/noncore/net/opietooth/manager/btlistitem.cpp index 82e7c00..36816f8 100644 --- a/noncore/net/opietooth/manager/btlistitem.cpp +++ b/noncore/net/opietooth/manager/btlistitem.cpp @@ -3,59 +3,9 @@ -namespace OpieTooth { +using namespace OpieTooth; - BTListItem::BTListItem( QListView * parent ) : QListViewItem( parent ) { - } +BTListItem::BTListItem( QListView * parent ) : QListViewItem( parent ) { +} - BTListItem::BTListItem( QListViewItem * parent ) : QListViewItem( parent ) { - } - - - // name, and then mac and then servicetype - BTListItem::BTListItem( QListView * parent, const QString &name , const QString& mac, const QString& type ) - : QListViewItem( parent, name ){ - - m_name = name; - m_mac = mac; - m_type = type; - - } - - BTListItem::BTListItem( QListViewItem * parent , const QString& name, const QString& mac, const QString& type ) - : QListViewItem( parent, name ){ - - m_name = name; - m_mac = mac; - m_type = type; - } - - - void BTListItem::setMac( const QString& mac ) { - m_mac = mac; - } - - QString BTListItem::mac() const { - return m_mac; - } - - void BTListItem::setName( const QString& name ) { - m_name = name; - } - - QString BTListItem::name() const { - return m_name; - } - - void BTListItem::setType( const QString& type ) { - m_type = type; - } - - QString BTListItem::type() const { - return m_type; - } - - - BTListItem::~BTListItem() { - } - -}; +BTListItem::BTListItem( QListViewItem * parent ) : QListViewItem( parent ) { +} diff --git a/noncore/net/opietooth/manager/btlistitem.h b/noncore/net/opietooth/manager/btlistitem.h index d7ce03b..6b529d1 100644 --- a/noncore/net/opietooth/manager/btlistitem.h +++ b/noncore/net/opietooth/manager/btlistitem.h @@ -8,23 +8,8 @@ namespace OpieTooth { class BTListItem : public QListViewItem { - public: + enum Types { Device =0, Service, Connection }; BTListItem( QListView * parent ); BTListItem( QListViewItem * parent ); - - // name, and then mac and then servicetype - BTListItem( QListView * , const QString&, const QString&, const QString& ); - BTListItem( QListViewItem * parent , const QString&, const QString& , const QString& ); - ~BTListItem(); - - void setMac( const QString& ); - QString mac()const; - void setName( const QString& ); - QString name()const; - void setType( const QString& ); - QString type()const; - private: - QString m_name; - QString m_mac; - QString m_type; - + virtual QString type() const = 0; + virtual int typeId() const = 0; }; diff --git a/noncore/net/opietooth/manager/manager.pro b/noncore/net/opietooth/manager/manager.pro index 4f0ea60..d36b8df2 100644 --- a/noncore/net/opietooth/manager/manager.pro +++ b/noncore/net/opietooth/manager/manager.pro @@ -3,4 +3,4 @@ CONFIG = qt warn_on debug #CONFIG = qt warn_on release -HEADERS = popuphelper.h bluebase.h scandialog.h btlistitem.h hciconfwrapper.h bticonloader.h -SOURCES = popuphelper.cpp main.cpp bluebase.cpp scandialog.cpp btlistitem.cpp hciconfwrapper.cpp bticonloader.cpp +HEADERS = btconnectionitem.h btdeviceitem.h btserviceitem.h stdpopups.h popuphelper.h bluebase.h scandialog.h btlistitem.h hciconfwrapper.h bticonloader.h +SOURCES = btconnectionitem.cpp btdeviceitem.cpp btserviceitem.h stdpopups.cpp popuphelper.cpp main.cpp bluebase.cpp scandialog.cpp btlistitem.cpp hciconfwrapper.cpp bticonloader.cpp INCLUDEPATH += $(OPIEDIR)/include diff --git a/noncore/net/opietooth/manager/popuphelper.cpp b/noncore/net/opietooth/manager/popuphelper.cpp index 2a6dad0..d8404d6 100644 --- a/noncore/net/opietooth/manager/popuphelper.cpp +++ b/noncore/net/opietooth/manager/popuphelper.cpp @@ -1,2 +1,4 @@ +#include "stdpopups.h" + #include "popuphelper.h" @@ -14,3 +16,3 @@ void PopupHelper::insert( int id, popupFactory fact ) { } -QPopupMenu* PopupHelper::find( int id ) { +QPopupMenu* PopupHelper::find( int id, const Services& ser, QListViewItem* item ) { FactoryMap::Iterator it = m_map.find(id ); @@ -18,3 +20,3 @@ QPopupMenu* PopupHelper::find( int id ) { popupFactory fact = it.data(); - return (*fact)(); + return (*fact)(ser, item); } @@ -23,3 +25,4 @@ QPopupMenu* PopupHelper::find( int id ) { void PopupHelper::init() { - + insert( 1, newRfcComPopup ); + insert(2, newObexPushPopup ); } diff --git a/noncore/net/opietooth/manager/popuphelper.h b/noncore/net/opietooth/manager/popuphelper.h index 7485f71..7541ac5 100644 --- a/noncore/net/opietooth/manager/popuphelper.h +++ b/noncore/net/opietooth/manager/popuphelper.h @@ -4,2 +4,3 @@ +#include <qlistview.h> #include <qpopupmenu.h> @@ -7,5 +8,6 @@ +#include <services.h> namespace OpieTooth { - typedef QPopupMenu* (*popupFactory)(void); + typedef QPopupMenu* (*popupFactory)(const Services&, QListViewItem*); typedef QMap<int, popupFactory> FactoryMap; @@ -16,3 +18,3 @@ namespace OpieTooth { void insert( int id, popupFactory fact ); - QPopupMenu* find( int id ); + QPopupMenu* find( int id, const Services&, QListViewItem* ); private: |