summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth
Unidiff
Diffstat (limited to 'noncore/net/opietooth') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/blue-pin/blue-pin.pro8
-rw-r--r--noncore/net/opietooth/manager/.cvsignore4
-rw-r--r--noncore/net/opietooth/manager/bluebase.cpp21
-rw-r--r--noncore/net/opietooth/manager/bluebase.h6
-rw-r--r--noncore/net/opietooth/manager/bluetoothbase.ui680
-rw-r--r--noncore/net/opietooth/manager/main.cpp17
-rw-r--r--noncore/net/opietooth/manager/manager.pro16
-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, 1108 insertions, 357 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,4 +1,2 @@
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
@@ -10,4 +8,3 @@ LIBS += -lqpe
10INTERFACES = pindlgbase.ui 8INTERFACES = pindlgbase.ui
11 DESTDIR = $(OPIEDIR)/bin 9 TARGET = bluepin
12TARGET = bluepin
13 10
@@ -32,3 +29,2 @@ TRANSLATIONS = ../../../../i18n/de/bluepin.ts \
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
@@ -9 +9,5 @@ scandialog.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
@@ -22,2 +22,3 @@
22#include "btconnectionitem.h" 22#include "btconnectionitem.h"
23#include "rfcommassigndialogimpl.h"
23 24
@@ -61,3 +62,5 @@ BlueBase::BlueBase( QWidget* parent, const char* name, WFlags fl )
61 connect( configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) ); 62 connect( configApplyButton, SIGNAL(clicked() ), this, SLOT(applyConfigChanges() ) );
62 // not good since lib is async 63
64 connect( rfcommBindButton, SIGNAL( clicked() ), this, SLOT( rfcommDialog() ) );
65// not good since lib is async
63 // connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ), 66 // connect( ListView2, SIGNAL( expanded ( QListViewItem* ) ),
@@ -224,3 +227,3 @@ QString BlueBase::status()const{
224 infoString += QString( "<br><b>" + tr( "MAC adress: " ) +"</b> No idea" ); 227 infoString += QString( "<br><b>" + tr( "MAC adress: " ) +"</b> No idea" );
225 infoString += QString( "<br><b>" + tr( "Class" ) + "</b> PDA" ); 228 infoString += QString( "<br><b>" + tr( "Class" ) + "</b> PDA" );
226 229
@@ -247,2 +250,16 @@ void BlueBase::applyConfigChanges() {
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
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
@@ -42,2 +42,4 @@ namespace OpieTooth {
42 ~BlueBase(); 42 ~BlueBase();
43
44 static QString appName() { return QString::fromLatin1("bluetooth-manager"); }
43 45
@@ -48,3 +50,4 @@ namespace OpieTooth {
48 void startScan(); 50 void startScan();
49 51
52
50 private: 53 private:
@@ -91,2 +94,3 @@ namespace OpieTooth {
91 void addSignalStrength( const QString& mac, const QString& strengh ); 94 void addSignalStrength( const QString& mac, const QString& strengh );
95 void rfcommDialog();
92 96
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
@@ -13,4 +13,4 @@
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>
@@ -27,368 +27,416 @@
27 </property> 27 </property>
28 <vbox> 28 <widget>
29 <class>QTabWidget</class>
29 <property stdset="1"> 30 <property stdset="1">
30 <name>margin</name> 31 <name>name</name>
31 <number>0</number> 32 <cstring>Status</cstring>
32 </property> 33 </property>
33 <property stdset="1"> 34 <property stdset="1">
34 <name>spacing</name> 35 <name>geometry</name>
35 <number>0</number> 36 <rect>
37 <x>1</x>
38 <y>1</y>
39 <width>245</width>
40 <height>289</height>
41 </rect>
42 </property>
43 <property>
44 <name>layoutMargin</name>
45 </property>
46 <property>
47 <name>layoutSpacing</name>
36 </property> 48 </property>
37 <widget> 49 <widget>
38 <class>QTabWidget</class> 50 <class>QWidget</class>
39 <property stdset="1"> 51 <property stdset="1">
40 <name>name</name> 52 <name>name</name>
41 <cstring>Status</cstring> 53 <cstring>tab</cstring>
42 </property>
43 <property>
44 <name>layoutMargin</name>
45 </property>
46 <property>
47 <name>layoutSpacing</name>
48 </property> 54 </property>
49 <widget> 55 <attribute>
50 <class>QWidget</class> 56 <name>title</name>
57 <string>Devices</string>
58 </attribute>
59 <vbox>
51 <property stdset="1"> 60 <property stdset="1">
52 <name>name</name> 61 <name>margin</name>
53 <cstring>tab</cstring> 62 <number>2</number>
54 </property> 63 </property>
55 <attribute> 64 <property stdset="1">
56 <name>title</name> 65 <name>spacing</name>
57 <string>Devices</string> 66 <number>2</number>
58 </attribute> 67 </property>
59 <vbox> 68 <widget>
69 <class>QListView</class>
70 <column>
71 <property>
72 <name>text</name>
73 <string>Device Name</string>
74 </property>
75 <property>
76 <name>clickable</name>
77 <bool>true</bool>
78 </property>
79 <property>
80 <name>resizeable</name>
81 <bool>true</bool>
82 </property>
83 </column>
84 <column>
85 <property>
86 <name>text</name>
87 <string>Online</string>
88 </property>
89 <property>
90 <name>clickable</name>
91 <bool>true</bool>
92 </property>
93 <property>
94 <name>resizeable</name>
95 <bool>true</bool>
96 </property>
97 </column>
60 <property stdset="1"> 98 <property stdset="1">
61 <name>margin</name> 99 <name>name</name>
62 <number>2</number> 100 <cstring>ListView2</cstring>
63 </property> 101 </property>
102 </widget>
103 <widget>
104 <class>QPushButton</class>
64 <property stdset="1"> 105 <property stdset="1">
65 <name>spacing</name> 106 <name>name</name>
66 <number>2</number> 107 <cstring>PushButton2</cstring>
67 </property> 108 </property>
68 <widget> 109 <property stdset="1">
69 <class>QListView</class> 110 <name>sizePolicy</name>
70 <column> 111 <sizepolicy>
71 <property> 112 <hsizetype>0</hsizetype>
72 <name>text</name> 113 <vsizetype>0</vsizetype>
73 <string>Device Name</string> 114 </sizepolicy>
74 </property> 115 </property>
75 <property> 116 <property stdset="1">
76 <name>clickable</name> 117 <name>text</name>
77 <bool>true</bool> 118 <string>Scan for Devices</string>
78 </property> 119 </property>
79 <property> 120 </widget>
80 <name>resizeable</name> 121 </vbox>
81 <bool>true</bool> 122 </widget>
82 </property> 123 <widget>
83 </column> 124 <class>QWidget</class>
84 <column> 125 <property stdset="1">
85 <property> 126 <name>name</name>
86 <name>text</name> 127 <cstring>tab</cstring>
87 <string>Online</string> 128 </property>
88 </property> 129 <attribute>
89 <property> 130 <name>title</name>
90 <name>clickable</name> 131 <string>Connections</string>
91 <bool>true</bool> 132 </attribute>
92 </property> 133 <vbox>
93 <property> 134 <property stdset="1">
94 <name>resizeable</name> 135 <name>margin</name>
95 <bool>true</bool> 136 <number>2</number>
96 </property> 137 </property>
97 </column> 138 <property stdset="1">
98 <property stdset="1"> 139 <name>spacing</name>
99 <name>name</name> 140 <number>2</number>
100 <cstring>ListView2</cstring> 141 </property>
142 <widget>
143 <class>QListView</class>
144 <column>
145 <property>
146 <name>text</name>
147 <string>Device Name</string>
101 </property> 148 </property>
102 </widget> 149 <property>
103 <widget> 150 <name>clickable</name>
104 <class>QPushButton</class> 151 <bool>true</bool>
105 <property stdset="1">
106 <name>name</name>
107 <cstring>PushButton2</cstring>
108 </property> 152 </property>
109 <property stdset="1"> 153 <property>
110 <name>sizePolicy</name> 154 <name>resizeable</name>
111 <sizepolicy> 155 <bool>true</bool>
112 <hsizetype>0</hsizetype>
113 <vsizetype>0</vsizetype>
114 </sizepolicy>
115 </property> 156 </property>
116 <property stdset="1"> 157 </column>
158 <column>
159 <property>
117 <name>text</name> 160 <name>text</name>
118 <string>Scan for Devices</string> 161 <string>Connection type</string>
119 </property> 162 </property>
120 </widget> 163 <property>
121 </vbox> 164 <name>clickable</name>
122 </widget> 165 <bool>true</bool>
123 <widget> 166 </property>
124 <class>QWidget</class> 167 <property>
125 <property stdset="1"> 168 <name>resizeable</name>
126 <name>name</name> 169 <bool>true</bool>
127 <cstring>tab</cstring> 170 </property>
128 </property> 171 </column>
129 <attribute> 172 <column>
130 <name>title</name> 173 <property>
131 <string>Connections</string> 174 <name>text</name>
132 </attribute> 175 <string>Signal</string>
133 <vbox> 176 </property>
134 <property stdset="1"> 177 <property>
135 <name>margin</name> 178 <name>clickable</name>
136 <number>2</number> 179 <bool>true</bool>
137 </property> 180 </property>
181 <property>
182 <name>resizeable</name>
183 <bool>true</bool>
184 </property>
185 </column>
138 <property stdset="1"> 186 <property stdset="1">
139 <name>spacing</name> 187 <name>name</name>
140 <number>2</number> 188 <cstring>ListView4</cstring>
141 </property> 189 </property>
142 <widget> 190 </widget>
143 <class>QListView</class> 191 </vbox>
144 <column> 192 </widget>
145 <property> 193 <widget>
146 <name>text</name> 194 <class>QWidget</class>
147 <string>Device Name</string> 195 <property stdset="1">
148 </property> 196 <name>name</name>
149 <property> 197 <cstring>tab</cstring>
150 <name>clickable</name> 198 </property>
151 <bool>true</bool> 199 <attribute>
152 </property> 200 <name>title</name>
153 <property> 201 <string>Config</string>
154 <name>resizeable</name> 202 </attribute>
155 <bool>true</bool> 203 <vbox>
156 </property> 204 <property stdset="1">
157 </column> 205 <name>margin</name>
158 <column> 206 <number>11</number>
159 <property> 207 </property>
160 <name>text</name>
161 <string>Connection type</string>
162 </property>
163 <property>
164 <name>clickable</name>
165 <bool>true</bool>
166 </property>
167 <property>
168 <name>resizeable</name>
169 <bool>true</bool>
170 </property>
171 </column>
172 <column>
173 <property>
174 <name>text</name>
175 <string>Signal</string>
176 </property>
177 <property>
178 <name>clickable</name>
179 <bool>true</bool>
180 </property>
181 <property>
182 <name>resizeable</name>
183 <bool>true</bool>
184 </property>
185 </column>
186 <property stdset="1">
187 <name>name</name>
188 <cstring>ListView4</cstring>
189 </property>
190 </widget>
191 </vbox>
192 </widget>
193 <widget>
194 <class>QWidget</class>
195 <property stdset="1"> 208 <property stdset="1">
196 <name>name</name> 209 <name>spacing</name>
197 <cstring>tab</cstring> 210 <number>6</number>
198 </property> 211 </property>
199 <attribute> 212 <widget>
200 <name>title</name> 213 <class>QGroupBox</class>
201 <string>Config</string>
202 </attribute>
203 <vbox>
204 <property stdset="1"> 214 <property stdset="1">
205 <name>margin</name> 215 <name>name</name>
206 <number>2</number> 216 <cstring>GroupBox1</cstring>
207 </property> 217 </property>
208 <property stdset="1"> 218 <property stdset="1">
209 <name>spacing</name> 219 <name>title</name>
210 <number>2</number> 220 <string>Bluetooh Basic Config</string>
211 </property> 221 </property>
212 <widget> 222 <vbox>
213 <class>QLayoutWidget</class>
214 <property stdset="1"> 223 <property stdset="1">
215 <name>name</name> 224 <name>margin</name>
216 <cstring>Layout2</cstring> 225 <number>11</number>
217 </property> 226 </property>
218 <hbox>
219 <property stdset="1">
220 <name>margin</name>
221 <number>0</number>
222 </property>
223 <property stdset="1">
224 <name>spacing</name>
225 <number>6</number>
226 </property>
227 <widget>
228 <class>QLabel</class>
229 <property stdset="1">
230 <name>name</name>
231 <cstring>deviceNameLabel</cstring>
232 </property>
233 <property stdset="1">
234 <name>text</name>
235 <string>Device Name</string>
236 </property>
237 </widget>
238 <widget>
239 <class>QLineEdit</class>
240 <property stdset="1">
241 <name>name</name>
242 <cstring>deviceNameLine</cstring>
243 </property>
244 </widget>
245 </hbox>
246 </widget>
247 <widget>
248 <class>QLayoutWidget</class>
249 <property stdset="1"> 227 <property stdset="1">
250 <name>name</name> 228 <name>spacing</name>
251 <cstring>Layout3</cstring> 229 <number>6</number>
252 </property> 230 </property>
253 <hbox> 231 <widget>
254 <property stdset="1"> 232 <class>QLayoutWidget</class>
255 <name>margin</name>
256 <number>0</number>
257 </property>
258 <property stdset="1"> 233 <property stdset="1">
259 <name>spacing</name> 234 <name>name</name>
260 <number>6</number> 235 <cstring>Layout7</cstring>
261 </property> 236 </property>
262 <widget> 237 <hbox>
263 <class>QLabel</class>
264 <property stdset="1"> 238 <property stdset="1">
265 <name>name</name> 239 <name>margin</name>
266 <cstring>passkeyLabel</cstring> 240 <number>0</number>
267 </property> 241 </property>
268 <property stdset="1"> 242 <property stdset="1">
269 <name>text</name> 243 <name>spacing</name>
270 <string>Default Passkey</string> 244 <number>6</number>
271 </property> 245 </property>
272 </widget> 246 <widget>
273 <widget> 247 <class>QLayoutWidget</class>
274 <class>QLineEdit</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>
262 <class>QLabel</class>
263 <property stdset="1">
264 <name>name</name>
265 <cstring>deviceNameLabel</cstring>
266 </property>
267 <property stdset="1">
268 <name>text</name>
269 <string>Device Name</string>
270 </property>
271 </widget>
272 <widget>
273 <class>QLabel</class>
274 <property stdset="1">
275 <name>name</name>
276 <cstring>passkeyLabel</cstring>
277 </property>
278 <property stdset="1">
279 <name>text</name>
280 <string>Default Passkey</string>
281 </property>
282 </widget>
283 </vbox>
284 </widget>
285 <widget>
286 <class>QLayoutWidget</class>
287 <property stdset="1">
288 <name>name</name>
289 <cstring>Layout5</cstring>
290 </property>
291 <vbox>
292 <property stdset="1">
293 <name>margin</name>
294 <number>0</number>
295 </property>
296 <property stdset="1">
297 <name>spacing</name>
298 <number>6</number>
299 </property>
300 <widget>
301 <class>QLineEdit</class>
302 <property stdset="1">
303 <name>name</name>
304 <cstring>deviceNameLine</cstring>
305 </property>
306 </widget>
307 <widget>
308 <class>QLineEdit</class>
309 <property stdset="1">
310 <name>name</name>
311 <cstring>passkeyLine</cstring>
312 </property>
313 <property stdset="1">
314 <name>echoMode</name>
315 <enum>Password</enum>
316 </property>
317 </widget>
318 </vbox>
319 </widget>
320 </hbox>
321 </widget>
322 <widget>
323 <class>QLayoutWidget</class>
324 <property stdset="1">
325 <name>name</name>
326 <cstring>Layout5</cstring>
327 </property>
328 <vbox>
275 <property stdset="1"> 329 <property stdset="1">
276 <name>name</name> 330 <name>margin</name>
277 <cstring>passkeyLine</cstring> 331 <number>0</number>
278 </property> 332 </property>
279 <property stdset="1"> 333 <property stdset="1">
280 <name>echoMode</name> 334 <name>spacing</name>
281 <enum>Password</enum> 335 <number>6</number>
282 </property> 336 </property>
283 </widget> 337 <widget>
284 </hbox> 338 <class>QCheckBox</class>
285 </widget> 339 <property stdset="1">
286 <widget> 340 <name>name</name>
287 <class>QLayoutWidget</class> 341 <cstring>authCheckBox</cstring>
288 <property stdset="1"> 342 </property>
289 <name>name</name> 343 <property stdset="1">
290 <cstring>Layout5</cstring> 344 <name>text</name>
291 </property> 345 <string>enable authentification</string>
292 <vbox> 346 </property>
347 </widget>
348 <widget>
349 <class>QCheckBox</class>
350 <property stdset="1">
351 <name>name</name>
352 <cstring>cryptCheckBox</cstring>
353 </property>
354 <property stdset="1">
355 <name>text</name>
356 <string>enable encryption</string>
357 </property>
358 </widget>
359 <widget>
360 <class>QCheckBox</class>
361 <property stdset="1">
362 <name>name</name>
363 <cstring>pagescanCheckBox</cstring>
364 </property>
365 <property stdset="1">
366 <name>text</name>
367 <string>Enable Page scan</string>
368 </property>
369 </widget>
370 <widget>
371 <class>QCheckBox</class>
372 <property stdset="1">
373 <name>name</name>
374 <cstring>inquiryscanCheckBox</cstring>
375 </property>
376 <property stdset="1">
377 <name>text</name>
378 <string>Enable Inquiry scan</string>
379 </property>
380 </widget>
381 </vbox>
382 </widget>
383 <widget>
384 <class>QPushButton</class>
293 <property stdset="1"> 385 <property stdset="1">
294 <name>margin</name> 386 <name>name</name>
295 <number>0</number> 387 <cstring>configApplyButton</cstring>
296 </property> 388 </property>
297 <property stdset="1"> 389 <property stdset="1">
298 <name>spacing</name> 390 <name>text</name>
299 <number>6</number> 391 <string>Apply</string>
300 </property> 392 </property>
301 <widget> 393 </widget>
302 <class>QCheckBox</class> 394 </vbox>
303 <property stdset="1"> 395 </widget>
304 <name>name</name> 396 <widget>
305 <cstring>authCheckBox</cstring> 397 <class>QPushButton</class>
306 </property> 398 <property stdset="1">
307 <property stdset="1"> 399 <name>name</name>
308 <name>text</name> 400 <cstring>rfcommBindButton</cstring>
309 <string>enable authentification</string> 401 </property>
310 </property> 402 <property stdset="1">
311 </widget> 403 <name>text</name>
312 <widget> 404 <string>Rfcomm Bind Table</string>
313 <class>QCheckBox</class> 405 </property>
314 <property stdset="1"> 406 </widget>
315 <name>name</name> 407 </vbox>
316 <cstring>cryptCheckBox</cstring> 408 </widget>
317 </property> 409 <widget>
318 <property stdset="1"> 410 <class>QWidget</class>
319 <name>text</name> 411 <property stdset="1">
320 <string>enable encryption</string> 412 <name>name</name>
321 </property> 413 <cstring>tab</cstring>
322 </widget> 414 </property>
323 <widget> 415 <attribute>
324 <class>QCheckBox</class> 416 <name>title</name>
325 <property stdset="1"> 417 <string>Status</string>
326 <name>name</name> 418 </attribute>
327 <cstring>pagescanCheckBox</cstring> 419 <vbox>
328 </property>
329 <property stdset="1">
330 <name>text</name>
331 <string>Enable Page scan</string>
332 </property>
333 </widget>
334 <widget>
335 <class>QCheckBox</class>
336 <property stdset="1">
337 <name>name</name>
338 <cstring>inquiryscanCheckBox</cstring>
339 </property>
340 <property stdset="1">
341 <name>text</name>
342 <string>Enable Inquiry scan</string>
343 </property>
344 </widget>
345 </vbox>
346 </widget>
347 <widget>
348 <class>QPushButton</class>
349 <property stdset="1">
350 <name>name</name>
351 <cstring>configApplyButton</cstring>
352 </property>
353 <property stdset="1">
354 <name>text</name>
355 <string>Apply</string>
356 </property>
357 </widget>
358 </vbox>
359 </widget>
360 <widget>
361 <class>QWidget</class>
362 <property stdset="1"> 420 <property stdset="1">
363 <name>name</name> 421 <name>margin</name>
364 <cstring>tab</cstring> 422 <number>2</number>
365 </property> 423 </property>
366 <attribute> 424 <property stdset="1">
367 <name>title</name> 425 <name>spacing</name>
368 <string>Status</string> 426 <number>2</number>
369 </attribute> 427 </property>
370 <vbox> 428 <widget>
429 <class>QLabel</class>
371 <property stdset="1"> 430 <property stdset="1">
372 <name>margin</name> 431 <name>name</name>
373 <number>2</number> 432 <cstring>StatusLabel</cstring>
374 </property> 433 </property>
375 <property stdset="1"> 434 <property stdset="1">
376 <name>spacing</name> 435 <name>text</name>
377 <number>2</number> 436 <string>Status Label</string>
378 </property> 437 </property>
379 <widget> 438 </widget>
380 <class>QLabel</class> 439 </vbox>
381 <property stdset="1">
382 <name>name</name>
383 <cstring>StatusLabel</cstring>
384 </property>
385 <property stdset="1">
386 <name>text</name>
387 <string>Status Label</string>
388 </property>
389 </widget>
390 </vbox>
391 </widget>
392 </widget> 440 </widget>
393 </vbox> 441 </widget>
394</widget> 442</widget>
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
@@ -21,18 +21,5 @@
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,4 +1,2 @@
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 \
@@ -9,4 +7,5 @@ HEADERS = btconnectionitem.h btdeviceitem.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
@@ -18,5 +17,6 @@ SOURCES = btconnectionitem.cpp btdeviceitem.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
@@ -25,5 +25,5 @@ DEPENDPATH += $(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 28 TARGET = bluetooth-manager
29 29
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
@@ -5,2 +5,3 @@
5#include "rfcpopup.h" 5#include "rfcpopup.h"
6#include "rfcommassigndialogimpl.h"
6 7
@@ -11,3 +12,3 @@ using namespace OpieTooth;
11 */ 12 */
12RfcCommPopup::RfcCommPopup() 13RfcCommPopup::RfcCommPopup( OpieTooth::BTDeviceItem* item )
13 : QPopupMenu() { 14 : QPopupMenu() {
@@ -17,2 +18,5 @@ RfcCommPopup::RfcCommPopup()
17 18
19
20 m_item = item;
21
18 /* connect action */ 22 /* connect action */
@@ -35,6 +39,6 @@ RfcCommPopup::RfcCommPopup()
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
@@ -76,4 +80,11 @@ void RfcCommPopup::slotDisconnect() {
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}
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
@@ -6,2 +6,4 @@
6 6
7#include "btdeviceitem.h"
8
7namespace OpieTooth { 9namespace OpieTooth {
@@ -18,3 +20,3 @@ namespace OpieTooth {
18 public: 20 public:
19 RfcCommPopup(); 21 RfcCommPopup( OpieTooth::BTDeviceItem* );
20 ~RfcCommPopup(); 22 ~RfcCommPopup();
@@ -25,4 +27,5 @@ namespace OpieTooth {
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:
@@ -30,3 +33,3 @@ namespace OpieTooth {
30 void slotDisconnect(); 33 void slotDisconnect();
31 void slotFoo(); 34 void slotBind();
32 void slotBar(); 35 void slotBar();
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
@@ -11,3 +11,3 @@ extern "C" {
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;