|
15 | 15 | #include "qgsdataprovider.h"
|
16 | 16 | #include "qgscontexthelp.h"
|
17 | 17 | #include "qgslogger.h"
|
| 18 | +#include "qgsgpsconnection.h" |
18 | 19 |
|
19 | 20 | //qt includes
|
20 | 21 | #include <QFileDialog>
|
@@ -303,97 +304,11 @@ void QgsGPSPluginGui::on_pbnRefresh_clicked()
|
303 | 304 |
|
304 | 305 | void QgsGPSPluginGui::populatePortComboBoxes()
|
305 | 306 | {
|
306 |
| - |
| 307 | + QStringList devs = QgsGPSConnection::availablePorts() << "usb:"; |
307 | 308 | cmbDLPort->clear();
|
308 |
| -#ifdef linux |
309 |
| - // look for linux serial devices |
310 |
| - QString linuxDev( "/dev/ttyS%1" ); |
311 |
| - for ( int i = 0; i < 10; ++i ) |
312 |
| - { |
313 |
| - if ( QFileInfo( linuxDev.arg( i ) ).exists() ) |
314 |
| - { |
315 |
| - cmbDLPort->addItem( linuxDev.arg( i ) ); |
316 |
| - cmbULPort->addItem( linuxDev.arg( i ) ); |
317 |
| - } |
318 |
| - else |
319 |
| - break; |
320 |
| - } |
321 |
| - |
322 |
| - // and the ttyUSB* devices (serial USB adaptor) |
323 |
| - linuxDev = "/dev/ttyUSB%1"; |
324 |
| - for ( int i = 0; i < 10; ++i ) |
325 |
| - { |
326 |
| - if ( QFileInfo( linuxDev.arg( i ) ).exists() ) |
327 |
| - { |
328 |
| - cmbDLPort->addItem( linuxDev.arg( i ) ); |
329 |
| - cmbULPort->addItem( linuxDev.arg( i ) ); |
330 |
| - } |
331 |
| - else |
332 |
| - break; |
333 |
| - } |
334 |
| - |
335 |
| - cmbDLPort->addItem( "usb:" ); |
336 |
| - cmbULPort->addItem( "usb:" ); |
337 |
| -#endif |
338 |
| - |
339 |
| -#ifdef __FreeBSD__ // freebsd |
340 |
| - // and freebsd devices (untested) |
341 |
| - QString freebsdDev( "/dev/cuaa%1" ); |
342 |
| - for ( int i = 0; i < 10; ++i ) |
343 |
| - { |
344 |
| - if ( QFileInfo( freebsdDev.arg( i ) ).exists() ) |
345 |
| - { |
346 |
| - cmbDLPort->addItem( freebsdDev.arg( i ) ); |
347 |
| - cmbULPort->addItem( freebsdDev.arg( i ) ); |
348 |
| - } |
349 |
| - else |
350 |
| - break; |
351 |
| - } |
352 |
| - |
353 |
| - // and the ucom devices (serial USB adaptors) |
354 |
| - freebsdDev = "/dev/ucom%1"; |
355 |
| - for ( int i = 0; i < 10; ++i ) |
356 |
| - { |
357 |
| - if ( QFileInfo( freebsdDev.arg( i ) ).exists() ) |
358 |
| - { |
359 |
| - cmbDLPort->addItem( freebsdDev.arg( i ) ); |
360 |
| - cmbULPort->addItem( freebsdDev.arg( i ) ); |
361 |
| - } |
362 |
| - else |
363 |
| - break; |
364 |
| - } |
365 |
| - |
366 |
| -#endif |
367 |
| - |
368 |
| -#ifdef sparc |
369 |
| - // and solaris devices (also untested) |
370 |
| - QString solarisDev( "/dev/cua/%1" ); |
371 |
| - for ( int i = 'a'; i < 'k'; ++i ) |
372 |
| - { |
373 |
| - if ( QFileInfo( solarisDev.arg( char( i ) ) ).exists() ) |
374 |
| - { |
375 |
| - cmbDLPort->addItem( solarisDev.arg( char( i ) ) ); |
376 |
| - cmbULPort->addItem( solarisDev.arg( char( i ) ) ); |
377 |
| - } |
378 |
| - else |
379 |
| - break; |
380 |
| - } |
381 |
| -#endif |
382 |
| - |
383 |
| -#ifdef WIN32 |
384 |
| - cmbULPort->addItem( "com1" ); |
385 |
| - cmbULPort->addItem( "com2" ); |
386 |
| - cmbULPort->addItem( "com3" ); |
387 |
| - cmbULPort->addItem( "com4" ); |
388 |
| - cmbULPort->addItem( "usb:" ); |
389 |
| - cmbDLPort->addItem( "com1" ); |
390 |
| - cmbDLPort->addItem( "com2" ); |
391 |
| - cmbDLPort->addItem( "com3" ); |
392 |
| - cmbDLPort->addItem( "com4" ); |
393 |
| - cmbDLPort->addItem( "usb:" ); |
394 |
| -#endif |
395 |
| - |
396 |
| - // OSX, OpenBSD, NetBSD etc? Anyone? |
| 309 | + cmbDLPort->addItems( devs ); |
| 310 | + cmbULPort->clear(); |
| 311 | + cmbULPort->addItems( devs ); |
397 | 312 |
|
398 | 313 | // remember the last ports used
|
399 | 314 | QSettings settings;
|
|
0 commit comments