summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth
Unidiff
Diffstat (limited to 'noncore/net/opietooth') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opietooth/blue-pin/blue-pin.pro6
-rw-r--r--noncore/net/opietooth/manager/.cvsignore4
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp17
-rw-r--r--noncore/net/opietooth/manager/bluebase.h4
-rw-r--r--noncore/net/opietooth/manager/bluetoothbase.ui100
-rw-r--r--noncore/net/opietooth/manager/main.cpp17
-rw-r--r--noncore/net/opietooth/manager/manager.pro14
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogbase.ui44
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp120
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogimpl.h39
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogitem.cpp54
-rw-r--r--noncore/net/opietooth/manager/rfcommassigndialogitem.h40
-rw-r--r--noncore/net/opietooth/manager/rfcommconfhandler.cpp114
-rw-r--r--noncore/net/opietooth/manager/rfcommconfhandler.h54
-rw-r--r--noncore/net/opietooth/manager/rfcommdialogitembase.ui216
-rw-r--r--noncore/net/opietooth/manager/rfcpopup.cpp21
-rw-r--r--noncore/net/opietooth/manager/rfcpopup.h9
-rw-r--r--noncore/net/opietooth/manager/stdpopups.cpp2
18 files changed, 813 insertions, 62 deletions
diff --git a/noncore/net/opietooth/blue-pin/blue-pin.pro b/noncore/net/opietooth/blue-pin/blue-pin.pro
index 102a937..fbf9dbe 100644
--- a/noncore/net/opietooth/blue-pin/blue-pin.pro
+++ b/noncore/net/opietooth/blue-pin/blue-pin.pro
@@ -1,17 +1,14 @@
1TEMPLATE = app 1CONFIG = qt warn_on release quick-app
2#CONFIG = qt warn_on debug
3CONFIG = qt warn_on release
4HEADERS = pindlg.h 2HEADERS = pindlg.h
5SOURCES = main.cc pindlg.cc 3SOURCES = main.cc pindlg.cc
6INCLUDEPATH += $(OPIEDIR)/include 4INCLUDEPATH += $(OPIEDIR)/include
7INCLUDEPATH += $(OPIEDIR)/noncore/opietooth/lib 5INCLUDEPATH += $(OPIEDIR)/noncore/opietooth/lib
8DEPENDPATH += $(OPIEDIR)/include 6DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 7LIBS += -lqpe
10INTERFACES = pindlgbase.ui 8INTERFACES = pindlgbase.ui
11 DESTDIR = $(OPIEDIR)/bin
12TARGET = bluepin 9TARGET = bluepin
13 10
14TRANSLATIONS = ../../../../i18n/de/bluepin.ts \ 11TRANSLATIONS = ../../../../i18n/de/bluepin.ts \
15 ../../../../i18n/nl/bluepin.ts \ 12 ../../../../i18n/nl/bluepin.ts \
16 ../../../../i18n/da/bluepin.ts \ 13 ../../../../i18n/da/bluepin.ts \
17 ../../../../i18n/xx/bluepin.ts \ 14 ../../../../i18n/xx/bluepin.ts \
@@ -27,8 +24,7 @@ TRANSLATIONS = ../../../../i18n/de/bluepin.ts \
27 ../../../../i18n/pt_BR/bluepin.ts \ 24 ../../../../i18n/pt_BR/bluepin.ts \
28 ../../../../i18n/sl/bluepin.ts \ 25 ../../../../i18n/sl/bluepin.ts \
29 ../../../../i18n/zh_CN/bluepin.ts \ 26 ../../../../i18n/zh_CN/bluepin.ts \
30 ../../../../i18n/zh_TW/bluepin.ts 27 ../../../../i18n/zh_TW/bluepin.ts
31 28
32 29
33
34include ( $(OPIEDIR)/include.pro ) 30include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/opietooth/manager/.cvsignore b/noncore/net/opietooth/manager/.cvsignore
index 3fb67fe..19c03a7 100644
--- a/noncore/net/opietooth/manager/.cvsignore
+++ b/noncore/net/opietooth/manager/.cvsignore
@@ -4,6 +4,10 @@ bluetoothbase.cpp
4bluetoothbase.h 4bluetoothbase.h
5devicedialog.cpp 5devicedialog.cpp
6devicedialog.h 6devicedialog.h
7moc_* 7moc_*
8scandialog.cpp 8scandialog.cpp
9scandialog.h 9scandialog.h
10rfcommassigndialogbase.cpp
11rfcommassigndialogbase.h
12rfcommdialogitembase.cpp
13rfcommdialogitembase.h
diff --git a/noncore/net/opietooth/manager/bluebase.cpp b/noncore/net/opietooth/manager/bluebase.cpp
index 54808fa..2e68984 100644
--- a/noncore/net/opietooth/manager/bluebase.cpp
+++ b/noncore/net/opietooth/manager/bluebase.cpp
@@ -17,12 +17,13 @@
17 17
18#include "bluebase.h" 18#include "bluebase.h"
19#include "scandialog.h" 19#include "scandialog.h"
20#include "hciconfwrapper.h" 20#include "hciconfwrapper.h"
21#include "devicehandler.h" 21#include "devicehandler.h"
22#include "btconnectionitem.h" 22#include "btconnectionitem.h"
23#include "rfcommassigndialogimpl.h"
23 24
24#include <remotedevice.h> 25#include <remotedevice.h>
25#include <services.h> 26#include <services.h>
26 27
27#include <stdlib.h> 28#include <stdlib.h>
28 29
@@ -56,12 +57,14 @@ BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
56 : BluetoothBase( parent, name, fl ) { 57 : BluetoothBase( parent, name, fl ) {
57 58
58 m_localDevice = new Manager( "hci0" ); 59 m_localDevice = new Manager( "hci0" );
59 60
60 connect( PushButton2, SIGNAL( clicked() ), this, SLOT(startScan() ) ); 61 connect( PushButton2, SIGNAL( clicked() ), this, SLOT(startScan() ) );
61 connect( configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) ); 62 connect( configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) );
63
64 connect( rfcommBindButton, SIGNAL( clicked() ), this, SLOT( rfcommDialog() ) );
62 // not good since lib is async 65 // not good since lib is async
63 // connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ), 66 // connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ),
64 // this, SLOT( addServicesToDevice( QListViewItem * ) ) ); 67 // this, SLOT( addServicesToDevice( QListViewItem * ) ) );
65 connect( ListView2, SIGNAL( clicked( QListViewItem* )), 68 connect( ListView2, SIGNAL( clicked( QListViewItem* )),
66 this, SLOT( startServiceActionClicked( QListViewItem* ) ) ); 69 this, SLOT( startServiceActionClicked( QListViewItem* ) ) );
67 connect( ListView2, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int ) ), 70 connect( ListView2, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int ) ),
@@ -242,12 +245,26 @@ void BlueBase::applyConfigChanges() {
242 writeConfig(); 245 writeConfig();
243 246
244 QMessageBox::information( this, tr("Test") , tr("Changes were applied.") ); 247 QMessageBox::information( this, tr("Test") , tr("Changes were applied.") );
245} 248}
246 249
247/** 250/**
251 * Launch Rfcomm Bind dialog
252 *
253 */
254void BlueBase::rfcommDialog() {
255 RfcommAssignDialog rfcommAssign ( this, "RfcommAssignDialog", true, WStyle_ContextHelp );
256
257 rfcommAssign.showMaximized();
258
259 if ( rfcommAssign.exec() == QDialog::Accepted ) {
260 rfcommAssign.saveConfig();
261 }
262}
263
264/**
248 * Add fresh found devices from scan dialog to the listing 265 * Add fresh found devices from scan dialog to the listing
249 * 266 *
250 */ 267 */
251void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) { 268void BlueBase::addSearchedDevices( const QValueList<RemoteDevice> &newDevices ) {
252 BTDeviceItem * deviceItem; 269 BTDeviceItem * deviceItem;
253 QValueList<RemoteDevice>::ConstIterator it; 270 QValueList<RemoteDevice>::ConstIterator it;
diff --git a/noncore/net/opietooth/manager/bluebase.h b/noncore/net/opietooth/manager/bluebase.h
index 743062c..a8ab3db 100644
--- a/noncore/net/opietooth/manager/bluebase.h
+++ b/noncore/net/opietooth/manager/bluebase.h
@@ -38,18 +38,21 @@ namespace OpieTooth {
38 Q_OBJECT 38 Q_OBJECT
39 39
40 public: 40 public:
41 BlueBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 41 BlueBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
42 ~BlueBase(); 42 ~BlueBase();
43 43
44 static QString appName() { return QString::fromLatin1("bluetooth-manager"); }
45
44 protected: 46 protected:
45 47
46 48
47 private slots: 49 private slots:
48 void startScan(); 50 void startScan();
49 51
52
50 private: 53 private:
51 bool find( const RemoteDevice& device ); 54 bool find( const RemoteDevice& device );
52 void readConfig(); 55 void readConfig();
53 void writeConfig(); 56 void writeConfig();
54 void readSavedDevices(); 57 void readSavedDevices();
55 void writeSavedDevices(); 58 void writeSavedDevices();
@@ -86,12 +89,13 @@ namespace OpieTooth {
86 void startServiceActionClicked( QListViewItem *item ); 89 void startServiceActionClicked( QListViewItem *item );
87 void startServiceActionHold( QListViewItem *, const QPoint &, int ); 90 void startServiceActionHold( QListViewItem *, const QPoint &, int );
88 void deviceActive( const QString& mac, bool connected ); 91 void deviceActive( const QString& mac, bool connected );
89 void applyConfigChanges(); 92 void applyConfigChanges();
90 void addSignalStrength(); 93 void addSignalStrength();
91 void addSignalStrength( const QString& mac, const QString& strengh ); 94 void addSignalStrength( const QString& mac, const QString& strengh );
95 void rfcommDialog();
92 96
93 }; 97 };
94 98
95} 99}
96 100
97#endif 101#endif
diff --git a/noncore/net/opietooth/manager/bluetoothbase.ui b/noncore/net/opietooth/manager/bluetoothbase.ui
index 9ff970f..bb906a1 100644
--- a/noncore/net/opietooth/manager/bluetoothbase.ui
+++ b/noncore/net/opietooth/manager/bluetoothbase.ui
@@ -8,41 +8,41 @@
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>224</width> 14 <width>258</width>
15 <height>320</height> 15 <height>407</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Form1</string> 20 <string>Form1</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <vbox>
29 <property stdset="1">
30 <name>margin</name>
31 <number>0</number>
32 </property>
33 <property stdset="1">
34 <name>spacing</name>
35 <number>0</number>
36 </property>
37 <widget> 28 <widget>
38 <class>QTabWidget</class> 29 <class>QTabWidget</class>
39 <property stdset="1"> 30 <property stdset="1">
40 <name>name</name> 31 <name>name</name>
41 <cstring>Status</cstring> 32 <cstring>Status</cstring>
42 </property> 33 </property>
34 <property stdset="1">
35 <name>geometry</name>
36 <rect>
37 <x>1</x>
38 <y>1</y>
39 <width>245</width>
40 <height>289</height>
41 </rect>
42 </property>
43 <property> 43 <property>
44 <name>layoutMargin</name> 44 <name>layoutMargin</name>
45 </property> 45 </property>
46 <property> 46 <property>
47 <name>layoutSpacing</name> 47 <name>layoutSpacing</name>
48 </property> 48 </property>
@@ -200,77 +200,111 @@
200 <name>title</name> 200 <name>title</name>
201 <string>Config</string> 201 <string>Config</string>
202 </attribute> 202 </attribute>
203 <vbox> 203 <vbox>
204 <property stdset="1"> 204 <property stdset="1">
205 <name>margin</name> 205 <name>margin</name>
206 <number>2</number> 206 <number>11</number>
207 </property> 207 </property>
208 <property stdset="1"> 208 <property stdset="1">
209 <name>spacing</name> 209 <name>spacing</name>
210 <number>2</number> 210 <number>6</number>
211 </property>
212 <widget>
213 <class>QGroupBox</class>
214 <property stdset="1">
215 <name>name</name>
216 <cstring>GroupBox1</cstring>
217 </property>
218 <property stdset="1">
219 <name>title</name>
220 <string>Bluetooh Basic Config</string>
221 </property>
222 <vbox>
223 <property stdset="1">
224 <name>margin</name>
225 <number>11</number>
226 </property>
227 <property stdset="1">
228 <name>spacing</name>
229 <number>6</number>
211 </property> 230 </property>
212 <widget> 231 <widget>
213 <class>QLayoutWidget</class> 232 <class>QLayoutWidget</class>
214 <property stdset="1"> 233 <property stdset="1">
215 <name>name</name> 234 <name>name</name>
216 <cstring>Layout2</cstring> 235 <cstring>Layout7</cstring>
217 </property> 236 </property>
218 <hbox> 237 <hbox>
219 <property stdset="1"> 238 <property stdset="1">
220 <name>margin</name> 239 <name>margin</name>
221 <number>0</number> 240 <number>0</number>
222 </property> 241 </property>
223 <property stdset="1"> 242 <property stdset="1">
224 <name>spacing</name> 243 <name>spacing</name>
225 <number>6</number> 244 <number>6</number>
226 </property> 245 </property>
227 <widget> 246 <widget>
247 <class>QLayoutWidget</class>
248 <property stdset="1">
249 <name>name</name>
250 <cstring>Layout6</cstring>
251 </property>
252 <vbox>
253 <property stdset="1">
254 <name>margin</name>
255 <number>0</number>
256 </property>
257 <property stdset="1">
258 <name>spacing</name>
259 <number>6</number>
260 </property>
261 <widget>
228 <class>QLabel</class> 262 <class>QLabel</class>
229 <property stdset="1"> 263 <property stdset="1">
230 <name>name</name> 264 <name>name</name>
231 <cstring>deviceNameLabel</cstring> 265 <cstring>deviceNameLabel</cstring>
232 </property> 266 </property>
233 <property stdset="1"> 267 <property stdset="1">
234 <name>text</name> 268 <name>text</name>
235 <string>Device Name</string> 269 <string>Device Name</string>
236 </property> 270 </property>
237 </widget> 271 </widget>
238 <widget> 272 <widget>
239 <class>QLineEdit</class> 273 <class>QLabel</class>
240 <property stdset="1"> 274 <property stdset="1">
241 <name>name</name> 275 <name>name</name>
242 <cstring>deviceNameLine</cstring> 276 <cstring>passkeyLabel</cstring>
277 </property>
278 <property stdset="1">
279 <name>text</name>
280 <string>Default Passkey</string>
243 </property> 281 </property>
244 </widget> 282 </widget>
245 </hbox> 283 </vbox>
246 </widget> 284 </widget>
247 <widget> 285 <widget>
248 <class>QLayoutWidget</class> 286 <class>QLayoutWidget</class>
249 <property stdset="1"> 287 <property stdset="1">
250 <name>name</name> 288 <name>name</name>
251 <cstring>Layout3</cstring> 289 <cstring>Layout5</cstring>
252 </property> 290 </property>
253 <hbox> 291 <vbox>
254 <property stdset="1"> 292 <property stdset="1">
255 <name>margin</name> 293 <name>margin</name>
256 <number>0</number> 294 <number>0</number>
257 </property> 295 </property>
258 <property stdset="1"> 296 <property stdset="1">
259 <name>spacing</name> 297 <name>spacing</name>
260 <number>6</number> 298 <number>6</number>
261 </property> 299 </property>
262 <widget> 300 <widget>
263 <class>QLabel</class> 301 <class>QLineEdit</class>
264 <property stdset="1"> 302 <property stdset="1">
265 <name>name</name> 303 <name>name</name>
266 <cstring>passkeyLabel</cstring> 304 <cstring>deviceNameLine</cstring>
267 </property>
268 <property stdset="1">
269 <name>text</name>
270 <string>Default Passkey</string>
271 </property> 305 </property>
272 </widget> 306 </widget>
273 <widget> 307 <widget>
274 <class>QLineEdit</class> 308 <class>QLineEdit</class>
275 <property stdset="1"> 309 <property stdset="1">
276 <name>name</name> 310 <name>name</name>
@@ -278,12 +312,14 @@
278 </property> 312 </property>
279 <property stdset="1"> 313 <property stdset="1">
280 <name>echoMode</name> 314 <name>echoMode</name>
281 <enum>Password</enum> 315 <enum>Password</enum>
282 </property> 316 </property>
283 </widget> 317 </widget>
318 </vbox>
319 </widget>
284 </hbox> 320 </hbox>
285 </widget> 321 </widget>
286 <widget> 322 <widget>
287 <class>QLayoutWidget</class> 323 <class>QLayoutWidget</class>
288 <property stdset="1"> 324 <property stdset="1">
289 <name>name</name> 325 <name>name</name>
@@ -355,12 +391,25 @@
355 <string>Apply</string> 391 <string>Apply</string>
356 </property> 392 </property>
357 </widget> 393 </widget>
358 </vbox> 394 </vbox>
359 </widget> 395 </widget>
360 <widget> 396 <widget>
397 <class>QPushButton</class>
398 <property stdset="1">
399 <name>name</name>
400 <cstring>rfcommBindButton</cstring>
401 </property>
402 <property stdset="1">
403 <name>text</name>
404 <string>Rfcomm Bind Table</string>
405 </property>
406 </widget>
407 </vbox>
408 </widget>
409 <widget>
361 <class>QWidget</class> 410 <class>QWidget</class>
362 <property stdset="1"> 411 <property stdset="1">
363 <name>name</name> 412 <name>name</name>
364 <cstring>tab</cstring> 413 <cstring>tab</cstring>
365 </property> 414 </property>
366 <attribute> 415 <attribute>
@@ -387,9 +436,8 @@
387 <string>Status Label</string> 436 <string>Status Label</string>
388 </property> 437 </property>
389 </widget> 438 </widget>
390 </vbox> 439 </vbox>
391 </widget> 440 </widget>
392 </widget> 441 </widget>
393 </vbox>
394</widget> 442</widget>
395</UI> 443</UI>
diff --git a/noncore/net/opietooth/manager/main.cpp b/noncore/net/opietooth/manager/main.cpp
index a86e36d..82aeebd 100644
--- a/noncore/net/opietooth/manager/main.cpp
+++ b/noncore/net/opietooth/manager/main.cpp
@@ -16,23 +16,10 @@
16 * (at your option) any later version. * 16 * (at your option) any later version. *
17 * * 17 * *
18 ***************************************************************************/ 18 ***************************************************************************/
19 19
20#include "bluebase.h" 20#include "bluebase.h"
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22#include <opie/oapplicationfactory.h>
22 23
23 24OPIE_EXPORT_APP( OApplicationFactory<OpieTooth::BlueBase> )
24QPEApplication *BluetoothApp;
25
26int main( int argc, char ** argv ) {
27 QPEApplication a(argc, argv);
28 BluetoothApp=&a;
29
30 OpieTooth::BlueBase t;
31
32 // t.setCaption( OpieTooth::BlueBase::tr("Bluetooth Manager") );
33 a.showMainWidget(&t);
34
35 return a.exec();
36}
37
38 25
diff --git a/noncore/net/opietooth/manager/manager.pro b/noncore/net/opietooth/manager/manager.pro
index 9841740..6ff4ebb 100644
--- a/noncore/net/opietooth/manager/manager.pro
+++ b/noncore/net/opietooth/manager/manager.pro
@@ -1,33 +1,33 @@
1TEMPLATE = app 1CONFIG = qt warn_on release quick-app
2CONFIG = qt warn_on debug
3#CONFIG = qt warn_on release
4HEADERS = btconnectionitem.h btdeviceitem.h \ 2HEADERS = btconnectionitem.h btdeviceitem.h \
5 btserviceitem.h stdpopups.h \ 3 btserviceitem.h stdpopups.h \
6 popuphelper.h bluebase.h \ 4 popuphelper.h bluebase.h \
7 scandialog.h btlistitem.h \ 5 scandialog.h btlistitem.h \
8 hciconfwrapper.h bticonloader.h \ 6 hciconfwrapper.h bticonloader.h \
9 pppdialog.h obexdialog.h \ 7 pppdialog.h obexdialog.h \
8 rfcommassigndialogimpl.h rfcommassigndialogitem.h \
10 devicehandler.h rfcpopup.h obexpopup.h \ 9 devicehandler.h rfcpopup.h obexpopup.h \
11 rfcommhelper.h panpopup.h dunpopup.h 10 rfcommhelper.h panpopup.h dunpopup.h rfcommconfhandler.h
12 11
13SOURCES = btconnectionitem.cpp btdeviceitem.cpp \ 12SOURCES = btconnectionitem.cpp btdeviceitem.cpp \
14 btserviceitem.cpp stdpopups.cpp \ 13 btserviceitem.cpp stdpopups.cpp \
15 popuphelper.cpp main.cpp \ 14 popuphelper.cpp main.cpp \
16 bluebase.cpp scandialog.cpp \ 15 bluebase.cpp scandialog.cpp \
17 btlistitem.cpp hciconfwrapper.cpp \ 16 btlistitem.cpp hciconfwrapper.cpp \
18 bticonloader.cpp pppdialog.cpp \ 17 bticonloader.cpp pppdialog.cpp \
18 rfcommassigndialogimpl.cpp rfcommassigndialogitem.cpp \
19 obexdialog.cpp devicehandler.cpp \ 19 obexdialog.cpp devicehandler.cpp \
20 rfcpopup.cpp obexpopup.cpp \ 20 rfcpopup.cpp obexpopup.cpp \
21 rfcommhelper.cpp panpopup.cpp dunpopup.cpp 21 rfcommhelper.cpp panpopup.cpp dunpopup.cpp rfcommconfhandler.cpp
22INCLUDEPATH += $(OPIEDIR)/include 22INCLUDEPATH += $(OPIEDIR)/include
23INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib 23INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib
24DEPENDPATH += $(OPIEDIR)/include 24DEPENDPATH += $(OPIEDIR)/include
25LIBS += -lqpe -lopietooth -lopie 25LIBS += -lqpe -lopietooth -lopie
26INTERFACES = bluetoothbase.ui devicedialog.ui 26INTERFACES = bluetoothbase.ui devicedialog.ui rfcommassigndialogbase.ui rfcommdialogitembase.ui
27DESTDIR = $(OPIEDIR)/bin 27
28TARGET = bluetooth-manager 28TARGET = bluetooth-manager
29 29
30TRANSLATIONS = ../../../../i18n/de/bluetooth-manager.ts \ 30TRANSLATIONS = ../../../../i18n/de/bluetooth-manager.ts \
31 ../../../../i18n/nl/bluetooth-manager.ts \ 31 ../../../../i18n/nl/bluetooth-manager.ts \
32 ../../../../i18n/da/bluetooth-manager.ts \ 32 ../../../../i18n/da/bluetooth-manager.ts \
33 ../../../../i18n/xx/bluetooth-manager.ts \ 33 ../../../../i18n/xx/bluetooth-manager.ts \
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogbase.ui b/noncore/net/opietooth/manager/rfcommassigndialogbase.ui
new file mode 100644
index 0000000..aefa698
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogbase.ui
@@ -0,0 +1,44 @@
1<!DOCTYPE UI><UI>
2<class>RfcommAssignDialogBase</class>
3<widget>
4 <class>QDialog</class>
5 <property stdset="1">
6 <name>name</name>
7 <cstring>RfcommAssignDialogBase</cstring>
8 </property>
9 <property stdset="1">
10 <name>geometry</name>
11 <rect>
12 <x>0</x>
13 <y>0</y>
14 <width>444</width>
15 <height>343</height>
16 </rect>
17 </property>
18 <property stdset="1">
19 <name>caption</name>
20 <string>Rfcomm Bind</string>
21 </property>
22 <vbox>
23 <property stdset="1">
24 <name>margin</name>
25 <number>11</number>
26 </property>
27 <property stdset="1">
28 <name>spacing</name>
29 <number>6</number>
30 </property>
31 <widget>
32 <class>QLabel</class>
33 <property stdset="1">
34 <name>name</name>
35 <cstring>TextLabel1</cstring>
36 </property>
37 <property stdset="1">
38 <name>text</name>
39 <string>Bind device to a interface</string>
40 </property>
41 </widget>
42 </vbox>
43</widget>
44</UI>
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp b/noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp
new file mode 100644
index 0000000..b5cc074
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogimpl.cpp
@@ -0,0 +1,120 @@
1
2#include "rfcommassigndialogimpl.h"
3#include "rfcommassigndialogitem.h"
4#include "rfcommconfhandler.h"
5
6#include <qpe/config.h>
7
8#include <qlayout.h>
9
10using namespace OpieTooth;
11
12// TODO: write only the file in bluebase?
13// muss rfcommd dann neu gestartet werden
14// sollte rfcomm bind all nicht eh default config sein ( polled das? - d.h. sobald nen gerät in der nähe ist bindet es?
15
16
17RfcommAssignDialog::RfcommAssignDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
18 : RfcommAssignDialogBase( parent, name, modal, fl ) {
19
20 m_range = 5;
21
22 m_scrollView = new QScrollView( this );
23 m_scrollView->setResizePolicy( QScrollView::AutoOneFit );
24 m_scrollView->setHScrollBarMode( QScrollView::AlwaysOff );
25
26 RfcommAssignDialogBaseLayout->addWidget( m_scrollView );
27
28 m_box = new QVBox( m_scrollView->viewport() );
29 m_scrollView->addChild( m_box );
30
31 confHandler = new RfCommConfHandler( "/etc/bluetooth/rfcomm.conf" );
32
33 loadConfig();
34}
35
36RfcommAssignDialog::~RfcommAssignDialog() {
37 if ( confHandler ) {
38 delete confHandler;
39 }
40}
41
42
43void RfcommAssignDialog::newDevice( const QString & mac ) {
44
45 for ( int i = 0 ; i < m_range; i++ ) {
46
47 QMap<QString, RfCommConfObject*>::Iterator it;
48 it = confHandler->foundEntries().find( QString("%1").arg( i ) );
49 // make sure that rfcommX is not assigned yet
50 if ( it == confHandler->foundEntries().end() ) {
51 QDialog dialog( this, "newdevice", true, WStyle_ContextHelp );
52 dialog.showMaximized();
53 RfcommDialogItem *newDev = new RfcommDialogItem( &dialog );
54 newDev->setIdent( i );
55 newDev->setMac( mac );
56
57 if ( dialog.exec() == QDialog::Accepted ) {
58 RfcommDialogItem *rfcomm = new RfcommDialogItem( m_box );
59 m_itemList.insert( i , rfcomm );
60 rfcomm->setIdent( i );
61 rfcomm->setMac( mac );
62 rfcomm->setChannel( newDev->channel() );
63 rfcomm->setComment( newDev->comment() );
64 qDebug( "New device set up" );
65 }
66 }
67 }
68}
69
70void RfcommAssignDialog::loadConfig() {
71
72 //Config cfg( "bluetoothmanager-rfcommbind" );
73
74 for ( int i = 0 ; i < m_range; i++ ) {
75 // cfg.setGroup( QString("%1").arg( i ) );
76 RfcommDialogItem *rfcomm = new RfcommDialogItem( m_box );
77 m_itemList.insert( i , rfcomm );
78 rfcomm->setIdent( i );
79 QMap<QString, RfCommConfObject*>::Iterator it;
80 it = confHandler->foundEntries().find( QString("%1").arg( i ) );
81 if ( it != confHandler->foundEntries().end() ) {
82 qDebug( "Found key in foundEntries() " );
83 rfcomm->setMac( it.data()->mac() );
84 rfcomm->setChannel( it.data()->channel() );
85 rfcomm->setComment( it.data()->comment() );
86 }
87 /* Use rfcomm.conf directly for now
88 * rfcomm->setMac( cfg.readEntry( "mac", "" ) );
89 * rfcomm->setChannel( cfg.readNumEntry( "channel", 1 ) );
90 * rfcomm->setComment( cfg.readEntry( "comment", "" ) );
91 */
92 }
93}
94
95
96void RfcommAssignDialog::saveConfig() {
97
98 //Config cfg( "bluetoothmanager-rfcommbind" );
99
100 QMap< int, RfcommDialogItem*>::Iterator it;
101
102 QMap< QString, RfCommConfObject*> outMap;
103
104 for( it = m_itemList.begin(); it != m_itemList.end(); ++it ) {
105
106 //cfg.setGroup( QString("%1").arg( it.key() ) );
107 RfcommDialogItem *rfcomm = it.data();
108
109
110 outMap.insert( QString( "%1").arg( it.key() ), new RfCommConfObject( it.key(), rfcomm->mac(), rfcomm->channel(), rfcomm->comment() ) );
111
112
113 //cfg.writeEntry( "mac", rfcomm->mac() );
114 //cfg.writeEntry( "channel", rfcomm->channel() );
115 //cfg.writeEntry( "comment", rfcomm->comment() );
116 }
117
118 confHandler->save( outMap );
119
120}
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogimpl.h b/noncore/net/opietooth/manager/rfcommassigndialogimpl.h
new file mode 100644
index 0000000..9983632
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogimpl.h
@@ -0,0 +1,39 @@
1#ifndef RFCOMMASSIGN
2#define RFCOMMASSIGN
3
4#include "rfcommassigndialogbase.h"
5#include "rfcommassigndialogitem.h"
6#include "rfcommconfhandler.h"
7
8#include <qscrollview.h>
9#include <qmap.h>
10#include <qvbox.h>
11
12namespace OpieTooth {
13
14 class RfcommAssignDialog: public RfcommAssignDialogBase {
15
16 Q_OBJECT
17
18 public:
19
20 RfcommAssignDialog( QWidget* parent = 0, const char* name = 0,bool modal = 0, WFlags fl = 0 );
21 ~RfcommAssignDialog();
22
23 void loadConfig();
24 void saveConfig();
25
26 void newDevice( const QString & mac );
27
28 private:
29 QScrollView *m_scrollView;
30 // how many rfcomm devices are possible
31 int m_range;
32 QMap< int, RfcommDialogItem* > m_itemList;
33 QVBox *m_box;
34 RfCommConfHandler *confHandler;
35};
36
37}
38
39#endif
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp b/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
new file mode 100644
index 0000000..1e7130f
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogitem.cpp
@@ -0,0 +1,54 @@
1
2#include "rfcommassigndialogitem.h"
3
4#include <qlineedit.h>
5#include <qcombobox.h>
6#include <qlabel.h>
7#include <qgroupbox.h>
8
9using namespace OpieTooth;
10
11
12RfcommDialogItem::RfcommDialogItem( QWidget* parent, const char* name, WFlags fl )
13 : RfcommDialogItemBase( parent, name, fl ) {
14
15}
16
17RfcommDialogItem::~RfcommDialogItem() {
18}
19
20
21int RfcommDialogItem::ident() {
22 return m_ident;
23}
24
25QString RfcommDialogItem::mac() {
26 return m_macAddress->text();
27}
28
29int RfcommDialogItem::channel() {
30 return m_channelDropdown->currentItem();
31}
32
33QString RfcommDialogItem::comment() {
34 return m_commentLine->text();
35}
36
37void RfcommDialogItem::setIdent( int ident ) {
38 m_ident = ident;
39 m_identLabel->setTitle( QString( "rfcomm%1").arg( ident ) );
40}
41
42void RfcommDialogItem::setMac( const QString &mac ) {
43 m_macAddress->setText( mac );
44}
45
46void RfcommDialogItem::setChannel( int channel ) {
47 m_channelDropdown->setCurrentItem( channel );
48}
49
50void RfcommDialogItem::setComment( const QString &comment ) {
51 m_commentLine->setText( comment );
52}
53
54
diff --git a/noncore/net/opietooth/manager/rfcommassigndialogitem.h b/noncore/net/opietooth/manager/rfcommassigndialogitem.h
new file mode 100644
index 0000000..34a794f
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommassigndialogitem.h
@@ -0,0 +1,40 @@
1#ifndef RFCOMMDIALOGITEM
2#define RFCOMMDIALOGITEM
3
4#include "rfcommdialogitembase.h"
5
6#include <qwidget.h>
7
8namespace OpieTooth {
9
10 class RfcommDialogItem : public RfcommDialogItemBase {
11
12 Q_OBJECT
13
14 public:
15 RfcommDialogItem( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
16 ~RfcommDialogItem();
17
18 // number if the rfcomm device
19 int ident();
20 // devices mac address
21 QString mac();
22 int channel();
23 QString comment();
24
25 void setIdent( int ident );
26 void setMac( const QString& mac );
27 void setChannel( int channel );
28 void setComment( const QString& comment );
29
30 private:
31
32
33 int m_ident;
34
35};
36
37
38}
39
40#endif
diff --git a/noncore/net/opietooth/manager/rfcommconfhandler.cpp b/noncore/net/opietooth/manager/rfcommconfhandler.cpp
new file mode 100644
index 0000000..20453e8
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommconfhandler.cpp
@@ -0,0 +1,114 @@
1
2#include <qtextstream.h>
3
4#include "rfcommconfhandler.h"
5
6
7using namespace OpieTooth;
8
9// move to lib
10
11
12RfCommConfObject::RfCommConfObject( int number, QString mac, int channel, QString comment ) {
13 m_number = number;
14 m_mac = mac;
15 m_channel = channel;
16 m_comment = comment;
17 // m_foundEntries = 0;
18}
19
20void RfCommConfObject::setNumber( int number ) {
21 m_number = number;
22}
23
24void RfCommConfObject::setMac( QString mac ) {
25 m_mac = mac;
26}
27
28void RfCommConfObject::setChannel( int channel ) {
29 m_channel = channel;
30}
31
32void RfCommConfObject::setComment( QString comment ) {
33 m_comment = comment;
34}
35
36
37RfCommConfObject::~RfCommConfObject() {
38}
39
40
41RfCommConfHandler::RfCommConfHandler( const QString & filename ) {
42
43 m_filename = filename;
44 load();
45}
46
47RfCommConfHandler::~RfCommConfHandler() {
48
49}
50
51void RfCommConfHandler::save( QMap<QString, RfCommConfObject*> devices ) {
52
53 QFile rfCommConf( "/tmp/test" );
54 QTextStream outStream( &rfCommConf );
55 if ( rfCommConf.open( IO_WriteOnly ) ) {
56
57 QMap<QString, RfCommConfObject*>::Iterator it;
58 for( it = devices.begin(); it != devices.end(); ++it ) {
59 outStream << "rfcomm" + QString("%1").arg( it.data()->number() ) + " {\n";
60 outStream << " device " + it.data()->mac() + ";\n";
61 outStream << " channel " + QString( "%1" ).arg( it.data()->channel() ) + ";\n";
62 outStream << " comment \"" + it.data()->comment() + "\";\n";
63 outStream << "}\n\n";
64 }
65
66 rfCommConf.close();
67 }
68}
69
70
71QMap<QString, RfCommConfObject*> RfCommConfHandler::foundEntries() {
72 return m_foundEntries;
73}
74
75void RfCommConfHandler::load() {
76
77 QFile rfCommConf( m_filename );
78 if ( rfCommConf.open( IO_ReadOnly ) ) {
79
80 QStringList list;
81 QTextStream inStream( &rfCommConf );
82 list = QStringList::split( "\n", inStream.read() );
83
84 QString number;
85 QString mac;
86 QString channel;
87 QString comment;
88
89 for ( QStringList::Iterator line=list.begin(); line != list.end(); line++ ) {
90
91 QString tmpLine = ( *line ).stripWhiteSpace();
92
93 if ( tmpLine.startsWith("rfcomm") ) {
94 QString number = tmpLine.mid( 6,1 );
95 qDebug( tmpLine );
96 qDebug( "TEST " + number );
97 } else if ( tmpLine.startsWith( "}" ) ) {
98 m_foundEntries.insert( number, new RfCommConfObject( number.toInt(), mac, channel.toInt(), comment ) );
99 } else if ( tmpLine.startsWith( "device" ) ) {
100 mac = tmpLine.mid( 7, 17 );
101 qDebug( "mac" + mac );
102 } else if ( tmpLine.startsWith( "channel" ) ) {
103 channel = tmpLine.mid( 8, 1 );
104 qDebug ( "Channel :" + channel );
105 } else if ( tmpLine.startsWith( "comment" ) ) {
106 comment = tmpLine.mid( 9, tmpLine.find( ';' ) - 9 - 1 );
107 qDebug( "Comment: " + comment );
108 }
109 }
110 rfCommConf.close();
111 }
112 save( m_foundEntries );
113 qDebug( QString( "ENTries: %1").arg( m_foundEntries.count() ) );
114}
diff --git a/noncore/net/opietooth/manager/rfcommconfhandler.h b/noncore/net/opietooth/manager/rfcommconfhandler.h
new file mode 100644
index 0000000..e13c833
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommconfhandler.h
@@ -0,0 +1,54 @@
1#ifndef RFCOMMCONFHANDLER
2#define RFCOMMCONFHANDLER
3
4#include <qstring.h>
5#include <qfile.h>
6#include <qobject.h>
7#include <qmap.h>
8
9namespace OpieTooth {
10
11 class RfCommConfObject {
12
13 public:
14 RfCommConfObject( int number, QString mac, int channel, QString comment );
15 ~RfCommConfObject();
16
17 void setNumber( int number );
18 int number() { return m_number; };
19 void setMac( QString mac );
20 QString mac() { return m_mac; };
21 void setChannel( int channel );
22 int channel() { return m_channel; };
23 void setComment( QString comment );
24 QString comment() { return m_comment; };
25
26
27 private:
28 int m_number;
29 QString m_mac;
30 int m_channel;
31 QString m_comment;
32
33 };
34
35 class RfCommConfHandler {
36
37 public:
38 RfCommConfHandler( const QString & filename );
39 ~RfCommConfHandler();
40
41 void save( QMap<QString, RfCommConfObject*> devices );
42
43 QMap<QString, RfCommConfObject*> foundEntries();
44
45 private:
46 void load();
47
48 QString m_filename;
49 QMap<QString, RfCommConfObject*> m_foundEntries;
50 };
51
52}
53
54#endif
diff --git a/noncore/net/opietooth/manager/rfcommdialogitembase.ui b/noncore/net/opietooth/manager/rfcommdialogitembase.ui
new file mode 100644
index 0000000..dafca52
--- a/dev/null
+++ b/noncore/net/opietooth/manager/rfcommdialogitembase.ui
@@ -0,0 +1,216 @@
1<!DOCTYPE UI><UI>
2<class>RfcommDialogItemBase</class>
3<widget>
4 <class>QWidget</class>
5 <property stdset="1">
6 <name>name</name>
7 <cstring>RfcommDialogItemBase</cstring>
8 </property>
9 <property stdset="1">
10 <name>geometry</name>
11 <rect>
12 <x>0</x>
13 <y>0</y>
14 <width>345</width>
15 <height>95</height>
16 </rect>
17 </property>
18 <property stdset="1">
19 <name>caption</name>
20 <string>Form2</string>
21 </property>
22 <property>
23 <name>layoutMargin</name>
24 </property>
25 <property>
26 <name>layoutSpacing</name>
27 </property>
28 <vbox>
29 <property stdset="1">
30 <name>margin</name>
31 <number>0</number>
32 </property>
33 <property stdset="1">
34 <name>spacing</name>
35 <number>0</number>
36 </property>
37 <widget>
38 <class>QGroupBox</class>
39 <property stdset="1">
40 <name>name</name>
41 <cstring>m_identLabel</cstring>
42 </property>
43 <property>
44 <name>layoutMargin</name>
45 </property>
46 <property>
47 <name>layoutSpacing</name>
48 </property>
49 <grid>
50 <property stdset="1">
51 <name>margin</name>
52 <number>5</number>
53 </property>
54 <property stdset="1">
55 <name>spacing</name>
56 <number>5</number>
57 </property>
58 <widget row="0" column="0" >
59 <class>QLayoutWidget</class>
60 <property stdset="1">
61 <name>name</name>
62 <cstring>Layout3</cstring>
63 </property>
64 <hbox>
65 <property stdset="1">
66 <name>margin</name>
67 <number>0</number>
68 </property>
69 <property stdset="1">
70 <name>spacing</name>
71 <number>6</number>
72 </property>
73 <widget>
74 <class>QLabel</class>
75 <property stdset="1">
76 <name>name</name>
77 <cstring>TextLabel4</cstring>
78 </property>
79 <property stdset="1">
80 <name>text</name>
81 <string>Mac</string>
82 </property>
83 </widget>
84 <widget>
85 <class>QLineEdit</class>
86 <property stdset="1">
87 <name>name</name>
88 <cstring>m_macAddress</cstring>
89 </property>
90 </widget>
91 <widget>
92 <class>QLabel</class>
93 <property stdset="1">
94 <name>name</name>
95 <cstring>TextLabel5</cstring>
96 </property>
97 <property stdset="1">
98 <name>text</name>
99 <string>Channel</string>
100 </property>
101 </widget>
102 <widget>
103 <class>QComboBox</class>
104 <item>
105 <property>
106 <name>text</name>
107 <string>0</string>
108 </property>
109 </item>
110 <item>
111 <property>
112 <name>text</name>
113 <string>1</string>
114 </property>
115 </item>
116 <item>
117 <property>
118 <name>text</name>
119 <string>2</string>
120 </property>
121 </item>
122 <item>
123 <property>
124 <name>text</name>
125 <string>3</string>
126 </property>
127 </item>
128 <item>
129 <property>
130 <name>text</name>
131 <string>4</string>
132 </property>
133 </item>
134 <item>
135 <property>
136 <name>text</name>
137 <string>5</string>
138 </property>
139 </item>
140 <item>
141 <property>
142 <name>text</name>
143 <string>6</string>
144 </property>
145 </item>
146 <item>
147 <property>
148 <name>text</name>
149 <string>7</string>
150 </property>
151 </item>
152 <item>
153 <property>
154 <name>text</name>
155 <string>8</string>
156 </property>
157 </item>
158 <item>
159 <property>
160 <name>text</name>
161 <string>9</string>
162 </property>
163 </item>
164 <item>
165 <property>
166 <name>text</name>
167 <string>10</string>
168 </property>
169 </item>
170 <property stdset="1">
171 <name>name</name>
172 <cstring>m_channelDropdown</cstring>
173 </property>
174 </widget>
175 </hbox>
176 </widget>
177 <widget row="1" column="0" >
178 <class>QLayoutWidget</class>
179 <property stdset="1">
180 <name>name</name>
181 <cstring>Layout4</cstring>
182 </property>
183 <hbox>
184 <property stdset="1">
185 <name>margin</name>
186 <number>0</number>
187 </property>
188 <property stdset="1">
189 <name>spacing</name>
190 <number>6</number>
191 </property>
192 <widget>
193 <class>QLabel</class>
194 <property stdset="1">
195 <name>name</name>
196 <cstring>TextLabel3</cstring>
197 </property>
198 <property stdset="1">
199 <name>text</name>
200 <string>Comment:</string>
201 </property>
202 </widget>
203 <widget>
204 <class>QLineEdit</class>
205 <property stdset="1">
206 <name>name</name>
207 <cstring>m_commentLine</cstring>
208 </property>
209 </widget>
210 </hbox>
211 </widget>
212 </grid>
213 </widget>
214 </vbox>
215</widget>
216</UI>
diff --git a/noncore/net/opietooth/manager/rfcpopup.cpp b/noncore/net/opietooth/manager/rfcpopup.cpp
index cc87b6c..d95f14b 100644
--- a/noncore/net/opietooth/manager/rfcpopup.cpp
+++ b/noncore/net/opietooth/manager/rfcpopup.cpp
@@ -1,23 +1,27 @@
1 1
2#include <qtimer.h> 2#include <qtimer.h>
3 3
4#include "pppdialog.h" 4#include "pppdialog.h"
5#include "rfcpopup.h" 5#include "rfcpopup.h"
6#include "rfcommassigndialogimpl.h"
6 7
7using namespace OpieTooth; 8using namespace OpieTooth;
8 9
9/* 10/*
10 * c'tor init the QAction 11 * c'tor init the QAction
11 */ 12 */
12RfcCommPopup::RfcCommPopup() 13RfcCommPopup::RfcCommPopup( OpieTooth::BTDeviceItem* item )
13 : QPopupMenu() { 14 : QPopupMenu() {
14 qWarning("RfcCommPopup c'tor"); 15 qWarning("RfcCommPopup c'tor");
15 16
16 QAction* a; 17 QAction* a;
17 18
19
20 m_item = item;
21
18 /* connect action */ 22 /* connect action */
19 a = new QAction( ); // so it's get deleted 23 a = new QAction( ); // so it's get deleted
20 a->setText("Connect"); 24 a->setText("Connect");
21 a->addTo( this ); 25 a->addTo( this );
22 connect( a, SIGNAL( activated() ), 26 connect( a, SIGNAL( activated() ),
23 this, SLOT( slotConnect() ) ); 27 this, SLOT( slotConnect() ) );
@@ -30,16 +34,16 @@ RfcCommPopup::RfcCommPopup()
30 connect( a, SIGNAL( activated() ) , 34 connect( a, SIGNAL( activated() ) ,
31 this, SLOT( slotDisconnect() ) ); 35 this, SLOT( slotDisconnect() ) );
32 36
33 37
34 /* foo action */ 38 /* foo action */
35 a = new QAction( ); 39 a = new QAction( );
36 a->setText("Foo"); 40 a->setText("Bind table");
37 a->addTo( this ); 41 a->addTo( this );
38 connect( a, SIGNAL( activated() ), 42 connect( a, SIGNAL( activated() ),
39 this, SLOT( slotFoo() ) ); 43 this, SLOT( slotBind() ) );
40 44
41 45
42 /* bar action */ 46 /* bar action */
43 a = new QAction( ); 47 a = new QAction( );
44 a->setText( "Bar" ); 48 a->setText( "Bar" );
45 a->addTo( this ); 49 a->addTo( this );
@@ -71,14 +75,21 @@ void RfcCommPopup::slotConnect() {
71 75
72void RfcCommPopup::slotDisconnect() { 76void RfcCommPopup::slotDisconnect() {
73 qWarning("slot disconnected"); 77 qWarning("slot disconnected");
74} 78}
75 79
76 80
77void RfcCommPopup::slotFoo() { 81void RfcCommPopup::slotBind() {
78 qWarning("slotFoo"); 82 RfcommAssignDialog rfcommAssign ( this, "RfcommAssignDialog", true, WStyle_ContextHelp );
83
84 rfcommAssign.showMaximized();
85 rfcommAssign.newDevice( m_item->mac() );
86
87 if ( rfcommAssign.exec() == QDialog::Accepted ) {
88 rfcommAssign.saveConfig();
89 }
79} 90}
80 91
81 92
82void RfcCommPopup::slotBar() { 93void RfcCommPopup::slotBar() {
83 qWarning("slotBar"); 94 qWarning("slotBar");
84}; 95};
diff --git a/noncore/net/opietooth/manager/rfcpopup.h b/noncore/net/opietooth/manager/rfcpopup.h
index c388f65..74b9117 100644
--- a/noncore/net/opietooth/manager/rfcpopup.h
+++ b/noncore/net/opietooth/manager/rfcpopup.h
@@ -1,36 +1,39 @@
1#ifndef RFCPOPUP_H 1#ifndef RFCPOPUP_H
2#define RFCPOPUP_H 2#define RFCPOPUP_H
3 3
4#include <qpopupmenu.h> 4#include <qpopupmenu.h>
5#include <qaction.h> 5#include <qaction.h>
6 6
7#include "btdeviceitem.h"
8
7namespace OpieTooth { 9namespace OpieTooth {
8 /** 10 /**
9 * A simple reference implementation for 11 * A simple reference implementation for
10 * the popup helper factory. 12 * the popup helper factory.
11 * This class derives from QPopupMenu and uses 13 * This class derives from QPopupMenu and uses
12 * plugged QActions to do all the nasty in it's 14 * plugged QActions to do all the nasty in it's
13 * slots. After the work is done everything must 15 * slots. After the work is done everything must
14 * be deleted. 16 * be deleted.
15 */ 17 */
16 class RfcCommPopup : public QPopupMenu { 18 class RfcCommPopup : public QPopupMenu {
17 Q_OBJECT 19 Q_OBJECT
18 public: 20 public:
19 RfcCommPopup(); 21 RfcCommPopup( OpieTooth::BTDeviceItem* );
20 ~RfcCommPopup(); 22 ~RfcCommPopup();
21 23
22 24
23 private: 25 private:
24 QAction* m_con; 26 QAction* m_con;
25 QAction* m_dis; 27 QAction* m_dis;
26 QAction* m_foo; 28 QAction* m_bind;
27 QAction* m_bar; 29 QAction* m_bar;
30 OpieTooth::BTDeviceItem *m_item;
28 private slots: 31 private slots:
29 void slotConnect(); 32 void slotConnect();
30 void slotDisconnect(); 33 void slotDisconnect();
31 void slotFoo(); 34 void slotBind();
32 void slotBar(); 35 void slotBar();
33 }; 36 };
34}; 37};
35 38
36#endif 39#endif
diff --git a/noncore/net/opietooth/manager/stdpopups.cpp b/noncore/net/opietooth/manager/stdpopups.cpp
index 38b8ee7..e1f8396 100644
--- a/noncore/net/opietooth/manager/stdpopups.cpp
+++ b/noncore/net/opietooth/manager/stdpopups.cpp
@@ -6,13 +6,13 @@
6 6
7#include "stdpopups.h" 7#include "stdpopups.h"
8 8
9extern "C" { 9extern "C" {
10 10
11 QPopupMenu* newRfcComPopup( const OpieTooth::Services& service, OpieTooth::BTDeviceItem* item ) { 11 QPopupMenu* newRfcComPopup( const OpieTooth::Services& service, OpieTooth::BTDeviceItem* item ) {
12 return new OpieTooth::RfcCommPopup(/* servive, item*/ ); // fix spellin RfComm vs. RfcComm and paramaters 12 return new OpieTooth::RfcCommPopup(/* servive,*/ item ); // fix spellin RfComm vs. RfcComm and paramaters
13 //return 0l; 13 //return 0l;
14 } 14 }
15 QPopupMenu* newObexPushPopup( const OpieTooth::Services&, OpieTooth::BTDeviceItem* ) { 15 QPopupMenu* newObexPushPopup( const OpieTooth::Services&, OpieTooth::BTDeviceItem* ) {
16 return new OpieTooth::ObexPopup(); 16 return new OpieTooth::ObexPopup();
17 } 17 }
18 QPopupMenu* newPanPopup( const OpieTooth::Services& service, OpieTooth::BTDeviceItem* item ) { 18 QPopupMenu* newPanPopup( const OpieTooth::Services& service, OpieTooth::BTDeviceItem* item ) {