-rw-r--r-- | noncore/net/opietooth/manager/bluebase.cpp | 162 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/bluebase.h | 12 | ||||
-rw-r--r-- | noncore/net/opietooth/manager/bluetoothbase.ui | 16 |
3 files changed, 146 insertions, 44 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 @@ -39,21 +39,31 @@ #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*)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); @@ -67,11 +77,28 @@ namespace OpieTooth { 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 - */ + + /** + * Reads all options from the config file + */ void BlueBase::readConfig() { Config cfg("bluetoothmanager"); @@ -87,16 +114,15 @@ namespace OpieTooth { } -/** - * Writes all options to the config file - */ + /** + * Writes all options to the config file + */ void BlueBase::writeConfig() { Config cfg("bluetoothmanager"); cfg.setGroup("bluezsettings"); - cfg.writeEntry("name", deviceName); cfg.writeEntryCrypt("passkey", defaultPasskey); cfg.writeEntry("useEncryption", useEncryption); @@ -106,9 +132,27 @@ namespace OpieTooth { } -/** - * Set up the gui - */ + /* + * 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() { StatusLabel->setText(getStatus()); // maybe move it to getStatus() @@ -119,23 +163,29 @@ namespace OpieTooth { inquiryscanCheckBox->setChecked(enableInquiryscan); deviceNameLine->setText(deviceName); passkeyLine->setText(defaultPasskey); + // set info tab + setInfo(); } -/** - * Get the status informations and returns it - * @return QString the status informations gathered - */ + /** + * Get the status informations and returns it + * @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); } -/** - * Read the current values from the gui and invoke writeConfig() - */ + /** + * Read the current values from the gui and invoke writeConfig() + */ void BlueBase::applyConfigChanges() { deviceName = deviceNameLine->text(); @@ -155,6 +205,10 @@ namespace OpieTooth { } + /* + * Add fresh found devices from scan dialog to the listing + * + */ void BlueBase::addSearchedDevices( QList<RemoteDevice> &newDevices ) { QListViewItem * deviceItem; @@ -165,16 +219,61 @@ namespace OpieTooth { 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() ); } } -/** - * Open the "scan for devices" dialog - */ + /* + * 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>& ) )); @@ -182,9 +281,14 @@ namespace OpieTooth { scan->showMaximized(); } -/** - * Decontructor - */ + + 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 @@ -7,6 +7,7 @@ #include <qscrollview.h> #include <qsplitter.h> #include <qlist.h> +#include <qpixmap.h> #include "bluetoothbase.h" @@ -21,6 +22,7 @@ class QPushButton; class QTabWidget; class QCheckBox; + namespace OpieTooth { @@ -41,9 +43,13 @@ 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; @@ -52,8 +58,14 @@ namespace OpieTooth { 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 @@ -91,20 +91,6 @@ <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> @@ -119,7 +105,7 @@ <column> <property> <name>text</name> - <string>Type</string> + <string>Online</string> </property> <property> <name>clickable</name> |