-rw-r--r-- | noncore/net/opietooth/manager/bluebase.cpp | 114 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/bluebase.h | 12 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/bluetoothbase.ui | 16 |
3 files changed, 122 insertions, 20 deletions
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp index c993c7c..d45fbe0 100644 --- a/noncore/net/opietooth/manager/bluebase.cpp +++ b/noncore/net/opietooth/manager/bluebase.cpp @@ -38,24 +38,34 @@ #include <qpe/resource.h> #include <qpe/config.h> +#include <remotedevice.h> -namespace OpieTooth { +namespace OpieTooth { - #include <remotedevice.h> BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl ) : BluetoothBase( parent, name, fl ) { QObject::connect( (QObject*) PushButton2, SIGNAL( clicked() ), this, SLOT(startScan())); QObject::connect((QObject*)configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges())); + QObject::connect( (QObject*)ListView2, SIGNAL( expanded( QListViewItem * item ) ), + this, SLOT( addServicesToDevice( QListViewItem * item ) ) ); + QObject::connect( (QObject*)ListView2, SIGNAL( clicked( QListViewItem * )), + this, SLOT( startServiceActionClicked( QListViewItem * item ) ) ); + // + // QObject::connect( (QObject*) Manager, SIGNAL (foundServices( const QString& device, Services::ValueList ), this () ) ); + //Load all icons needed + QPixmap offPix = Resource::loadPixmap( "editdelete" ); + QPixmap onPix = Resource::loadPixmap( "installed" ); + QPalette pal = this->palette(); QColor col = pal.color(QPalette::Active, QColorGroup::Background); pal.setColor(QPalette::Active, QColorGroup::Button, col); pal.setColor(QPalette::Inactive, QColorGroup::Button, col); @@ -66,10 +76,27 @@ namespace OpieTooth { setCaption( tr( "Bluetooth Manager" ) ); readConfig(); initGui(); + + + //TESTING + + ListView2->setRootIsDecorated(true); + + QListViewItem *topLV = new QListViewItem( ListView2, "Harlekins Dongle" , "yes"); + topLV->setPixmap(0, offPix); + (void) new QListViewItem( topLV, "on" ); + (void) new QListViewItem( topLV, "off" ); + + QListViewItem *topLV2 = new QListViewItem( ListView2, "Siemens S45" , "no" ); + topLV2->setPixmap(0, onPix); + (void) new QListViewItem( topLV2, "on" ); + (void) new QListViewItem( topLV2, "off" ); + } + /** * Reads all options from the config file */ void BlueBase::readConfig() { @@ -95,9 +122,8 @@ namespace OpieTooth { Config cfg("bluetoothmanager"); cfg.setGroup("bluezsettings"); - cfg.writeEntry("name", deviceName); cfg.writeEntryCrypt("passkey", defaultPasskey); cfg.writeEntry("useEncryption", useEncryption); cfg.writeEntry("enableAuthentification", enableAuthentification); @@ -105,8 +131,26 @@ namespace OpieTooth { cfg.writeEntry("enableInquiryscan", enableInquiryscan); } + /* + * Read the list of allready known devices + * + */ + void BlueBase::readSavedDevices() { + + } + + /* + * Read the list of allready known devices + * + */ + void BlueBase::writeSavedDevices() { + + + } + + /** * Set up the gui */ void BlueBase::initGui() { @@ -118,8 +162,10 @@ namespace OpieTooth { pagescanCheckBox->setChecked(enablePagescan); inquiryscanCheckBox->setChecked(enableInquiryscan); deviceNameLine->setText(deviceName); passkeyLine->setText(defaultPasskey); + // set info tab + setInfo(); } /** @@ -127,9 +173,13 @@ namespace OpieTooth { * @return QString the status informations gathered */ QString BlueBase::getStatus(){ - return ("manger.h need also a status method"); + QString infoString = tr("<b>Device name : </b> Ipaq" ); + infoString += QString("<br><b>" + tr("MAC adress: ") +"</b> No idea"); + infoString += QString("<br><b>" + tr("Class") + "</b> PDA"); + + return (infoString); } @@ -154,8 +204,12 @@ namespace OpieTooth { // falls nötig hcid killhupen - die funktionalität adden } + /* + * Add fresh found devices from scan dialog to the listing + * + */ void BlueBase::addSearchedDevices( QList<RemoteDevice> &newDevices ) { QListViewItem * deviceItem; @@ -164,25 +218,75 @@ namespace OpieTooth { for( ; it.current(); ++it ) { RemoteDevice *dev = it.current(); - deviceItem = new QListViewItem( ListView4, dev->name() ); + deviceItem = new QListViewItem( ListView2, dev->name() ); + + if (deviceActive( dev ) ) { + deviceItem->setPixmap(0, onPix); + } else { + deviceItem->setPixmap(0, offPix); + } + deviceItem->setText(1, dev->mac() ); } } + /* + * Action that is toggled on entrys on click + */ + void BlueBase::startServiceActionClicked( QListViewItem * item ) { + + + } + + /* + * Action that are toggled on hold (mostly QPopups i guess) + */ + void BlueBase::startServiceActionHold( QListViewItem * item, const QPoint & point, int column) { + + + } + + /* + * Search and display avail. services for a device (on expand from device listing) + * + */ + void BlueBase::addServicesToDevice( QListViewItem * item ) { + // row of mac adress + RemoteDevice *device = new RemoteDevice(item->text(1), item->text(0)); + //dann nen manager und darauf dann searchServises, das liefert nen signal, das wieder connected + // werden muss. + + // delete + } + + /* + * Find out if a device can currently be reached + */ + bool BlueBase::deviceActive( RemoteDevice *device ) { + + return true; + } + /** * Open the "scan for devices" dialog */ void BlueBase::startScan() { + ScanDialog *scan = new ScanDialog( this, "", true); QObject::connect((QObject*)scan, SIGNAL( selectedDevices(QList<RemoteDevice>&) ), this, SLOT( addSearchedDevices(QList<RemoteDevice>& ) )); scan->showMaximized(); } + + void BlueBase::setInfo() { + StatusLabel->setText(getStatus()); + } + /** * Decontructor */ BlueBase::~BlueBase(){ diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h index c8ceed2..7b03f82 100644 --- a/noncore/net/opietooth/manager/bluebase.h +++ b/noncore/net/opietooth/manager/bluebase.h @@ -6,8 +6,9 @@ #include <qwidget.h> #include <qscrollview.h> #include <qsplitter.h> #include <qlist.h> +#include <qpixmap.h> #include "bluetoothbase.h" #include <remotedevice.h> @@ -20,8 +21,9 @@ class QLabel; class QPushButton; class QTabWidget; class QCheckBox; + namespace OpieTooth { @@ -40,21 +42,31 @@ namespace OpieTooth { private: void readConfig(); void writeConfig(); + void readSavedDevices(); + void writeSavedDevices(); QString getStatus(); void initGui(); + void setInfo(); + bool deviceActive( RemoteDevice *device ); QString deviceName; QString defaultPasskey; int useEncryption; int enableAuthentification; int enablePagescan; int enableInquiryscan; + QPixmap offPix; + QPixmap onPix; + private slots: void addSearchedDevices( QList<RemoteDevice> &newDevices ); + void addServicesToDevice( QListViewItem * item ); + void startServiceActionClicked( QListViewItem * item ); + void startServiceActionHold( QListViewItem * item, const QPoint & point, int column); void applyConfigChanges(); }; diff --git a/noncore/net/opietooth/manager/bluetoothbase.ui b/noncore/net/opietooth/manager/bluetoothbase.ui index 61e2bcf..869a9cb 100644 --- a/noncore/net/opietooth/manager/bluetoothbase.ui +++ b/noncore/net/opietooth/manager/bluetoothbase.ui @@ -90,22 +90,8 @@ <class>QListView</class> <column> <property> <name>text</name> - <string>Active</string> - </property> - <property> - <name>clickable</name> - <bool>true</bool> - </property> - <property> - <name>resizeable</name> - <bool>true</bool> - </property> - </column> - <column> - <property> - <name>text</name> <string>Device Name</string> </property> <property> <name>clickable</name> @@ -118,9 +104,9 @@ </column> <column> <property> <name>text</name> - <string>Type</string> + <string>Online</string> </property> <property> <name>clickable</name> <bool>true</bool> |