[QGIS Commit] r12747 - in trunk/qgis/src: app/gps core/gps
plugins/gps_importer ui
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Tue Jan 12 13:14:48 EST 2010
Author: jef
Date: 2010-01-12 13:14:47 -0500 (Tue, 12 Jan 2010)
New Revision: 12747
Modified:
trunk/qgis/src/app/gps/qgsgpsinformationwidget.cpp
trunk/qgis/src/core/gps/qgsgpsconnection.cpp
trunk/qgis/src/plugins/gps_importer/qgsgpsplugingui.cpp
trunk/qgis/src/ui/qgsgpsinformationwidgetbase.ui
Log:
also show descriptions for GPS ports
Modified: trunk/qgis/src/app/gps/qgsgpsinformationwidget.cpp
===================================================================
--- trunk/qgis/src/app/gps/qgsgpsinformationwidget.cpp 2010-01-12 18:02:07 UTC (rev 12746)
+++ trunk/qgis/src/app/gps/qgsgpsinformationwidget.cpp 2010-01-12 18:14:47 UTC (rev 12747)
@@ -191,9 +191,11 @@
QgsGPSInformationWidget::~QgsGPSInformationWidget()
{
- if ( mpMapMarker ) delete mpMapMarker;
+ if ( mpMapMarker )
+ delete mpMapMarker;
+
QSettings mySettings;
- mySettings.setValue( "/gps/lastPort", mCboDevices->currentText() );
+ mySettings.setValue( "/gps/lastPort", mCboDevices->itemData( mCboDevices->currentIndex() ).toString() );
mySettings.setValue( "/gps/trackWidth", mSpinTrackWidth->value() );
mySettings.setValue( "/gps/markerSize", mSliderMarkerSize->value() );
mySettings.setValue( "/gps/autoAddVertices", mCbxAutoAddVertices->isChecked() );
@@ -220,6 +222,7 @@
{
mySettings.setValue( "/gps/panMode", "none" );
}
+
if ( mpRubberBand )
{
delete mpRubberBand;
@@ -305,14 +308,14 @@
{
if ( mRadUserPath->isChecked() )
{
- if ( !mCboDevices->currentText().isEmpty() )
+ if ( !mCboDevices->itemData( mCboDevices->currentIndex() ).toString().isEmpty() )
{
- mNmea = new QgsNMEAConnection( mCboDevices->currentText(), 500 );
+ mNmea = new QgsNMEAConnection( mCboDevices->itemData( mCboDevices->currentIndex() ).toString(), 500 );
QObject::connect( mNmea, SIGNAL( stateChanged( const QgsGPSInformation& ) ),
this, SLOT( displayGPSInformation( const QgsGPSInformation& ) ) );
mThread = new QgsGPSTrackerThread( mNmea );
mThread->start();
- mGPSTextEdit->append( tr( "Connecting on %1" ).arg( mCboDevices->currentText() ) );
+ mGPSTextEdit->append( tr( "Connecting on %1" ).arg( mCboDevices->itemData( mCboDevices->currentIndex() ).toString() ) );
}
else
{
@@ -418,7 +421,8 @@
}
mpCurve->setData( myXData, mySignalData );
mpPlot->replot();
- if ( mpMapMarker ) delete mpMapMarker;
+ if ( mpMapMarker )
+ delete mpMapMarker;
QgsPoint myNewCenter = QgsPoint( info.longitude, info.latitude );
if ( mGroupShowMarker->isChecked() )
{
@@ -854,31 +858,30 @@
/* Copied from gps plugin */
void QgsGPSInformationWidget::populateDevices()
{
+ QList< QPair<QString, QString> > ports = QgsGPSConnection::availablePorts();
+
mCboDevices->clear();
- mCboDevices->addItems( QgsGPSConnection::availablePorts() );
+ for ( int i = 0; i < ports.size(); i++ )
+ {
+ mCboDevices->addItem( ports[i].second, ports[i].first );
+ }
// remember the last ports used
QSettings settings;
QString lastPort = settings.value( "/gps/lastPort", "" ).toString();
- for ( int i = 0; i < mCboDevices->count(); ++i )
- {
- if ( mCboDevices->itemText( i ) == lastPort )
- {
- mCboDevices->setCurrentIndex( i );
- break;
- }
- }
+
+ int idx = mCboDevices->findData( lastPort );
+ mCboDevices->setCurrentIndex( idx < 0 ? 0 : idx );
}
void QgsGPSInformationWidget::createRubberBand( )
{
- if ( mpRubberBand == 0 )
+ if ( mpRubberBand )
{
delete mpRubberBand;
}
QSettings settings;
- bool isPolygon = false;
- mpRubberBand = new QgsRubberBand( mpCanvas, isPolygon );
+ mpRubberBand = new QgsRubberBand( mpCanvas, false );
setTrackColour();
mpRubberBand->setWidth( settings.value( "/gps/trackWidth", 2 ).toInt() );
mpRubberBand->show();
Modified: trunk/qgis/src/core/gps/qgsgpsconnection.cpp
===================================================================
--- trunk/qgis/src/core/gps/qgsgpsconnection.cpp 2010-01-12 18:02:07 UTC (rev 12746)
+++ trunk/qgis/src/core/gps/qgsgpsconnection.cpp 2010-01-12 18:14:47 UTC (rev 12747)
@@ -152,9 +152,11 @@
QList<BaudRateType>::const_iterator baudIt = baudRatesToTry.constBegin();
for ( ; baudIt != baudRatesToTry.constEnd(); ++baudIt )
{
- foreach( QString portname, availablePorts() )
+ QList< QPair<QString, QString> > ports = availablePorts();
+
+ for ( int i = 0; i < ports.size(); i++ )
{
- port = new QextSerialPort( portname );
+ port = new QextSerialPort( ports[i].first );
port->setBaudRate( *baudIt );
port->setFlowControl( FLOW_OFF );
port->setParity( PAR_NONE );
@@ -192,9 +194,9 @@
return 0;
}
-QStringList QgsGPSConnection::availablePorts()
+QList< QPair<QString, QString> > QgsGPSConnection::availablePorts()
{
- QStringList devs;
+ QList< QPair<QString, QString> > devs;
#ifdef linux
// look for linux serial devices
@@ -204,7 +206,7 @@
{
if ( QFileInfo( linuxDev.arg( i ) ).exists() )
{
- devs << linuxDev.arg( i );
+ devs << QPair<QString, QString>( linuxDev.arg( i ), linuxDev.arg( i ) );
}
}
}
@@ -218,7 +220,7 @@
{
if ( QFileInfo( freebsdDev.arg( i ) ).exists() )
{
- devs << freebsdDev.arg( i );
+ devs << QPair<QString, QString>( freebsdDev.arg( i ), freebsdDev.arg( i ) );
}
}
}
@@ -231,7 +233,7 @@
{
if ( QFileInfo( solarisDev.arg( i ) ).exists() )
{
- devs << solarisDev.arg( i );
+ devs << QPair<QString, QString>( solarisDev.arg( i ), solarisDev.arg( i ) );
}
}
#endif
@@ -240,7 +242,7 @@
QList<QextPortInfo> ports = QextSerialEnumerator::getPorts();
foreach( QextPortInfo port, ports )
{
- devs << port.portName;
+ devs << QPair<QString, QString>( port.portName, port.friendName );
}
#endif
Modified: trunk/qgis/src/plugins/gps_importer/qgsgpsplugingui.cpp
===================================================================
--- trunk/qgis/src/plugins/gps_importer/qgsgpsplugingui.cpp 2010-01-12 18:02:07 UTC (rev 12746)
+++ trunk/qgis/src/plugins/gps_importer/qgsgpsplugingui.cpp 2010-01-12 18:14:47 UTC (rev 12747)
@@ -113,7 +113,8 @@
fileName += ".gpx";
}
- emit downloadFromGPS( cmbDLDevice->currentText(), cmbDLPort->currentText(),
+ emit downloadFromGPS( cmbDLDevice->currentText(),
+ cmbDLPort->itemData( cmbDLPort->currentIndex() ).toString(),
featureType == 0, featureType == 1, featureType == 2,
fileName, leDLBasename->text() );
break;
@@ -122,7 +123,8 @@
case 3:
{
emit uploadToGPS( mGPXLayers[cmbULLayer->currentIndex()],
- cmbULDevice->currentText(), cmbULPort->currentText() );
+ cmbULDevice->currentText(),
+ cmbULPort->itemData( cmbULPort->currentIndex() ).toString() );
break;
}
// or convert between waypoints/tracks=
@@ -304,32 +306,25 @@
void QgsGPSPluginGui::populatePortComboBoxes()
{
- QStringList devs = QgsGPSConnection::availablePorts() << "usb:";
+ QList< QPair<QString, QString> > devs = QgsGPSConnection::availablePorts() << QPair<QString, QString>( "usb:", "usb:" );
+
cmbDLPort->clear();
- cmbDLPort->addItems( devs );
cmbULPort->clear();
- cmbULPort->addItems( devs );
+ for ( int i = 0; i < devs.size(); i++ )
+ {
+ cmbDLPort->addItem( devs[i].second, devs[i].first );
+ cmbULPort->addItem( devs[i].second, devs[i].first );
+ }
// remember the last ports used
QSettings settings;
QString lastDLPort = settings.value( "/Plugin-GPS/lastdlport", "" ).toString();
QString lastULPort = settings.value( "/Plugin-GPS/lastulport", "" ).toString();
- for ( int i = 0; i < cmbDLPort->count(); ++i )
- {
- if ( cmbDLPort->itemText( i ) == lastDLPort )
- {
- cmbDLPort->setCurrentIndex( i );
- break;
- }
- }
- for ( int i = 0; i < cmbULPort->count(); ++i )
- {
- if ( cmbULPort->itemText( i ) == lastULPort )
- {
- cmbULPort->setCurrentIndex( i );
- break;
- }
- }
+
+ int idx = cmbDLPort->findData( lastDLPort );
+ cmbDLPort->setCurrentIndex( idx < 0 ? 0 : idx );
+ idx = cmbULPort->findData( lastULPort );
+ cmbULPort->setCurrentIndex( idx < 0 ? 0 : idx );
}
Modified: trunk/qgis/src/ui/qgsgpsinformationwidgetbase.ui
===================================================================
--- trunk/qgis/src/ui/qgsgpsinformationwidgetbase.ui 2010-01-12 18:02:07 UTC (rev 12746)
+++ trunk/qgis/src/ui/qgsgpsinformationwidgetbase.ui 2010-01-12 18:14:47 UTC (rev 12747)
@@ -318,9 +318,6 @@
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="mPathLabel">
- <property name="enabled">
- <bool>false</bool>
- </property>
<property name="text">
<string>Path to serial device</string>
</property>
More information about the QGIS-commit
mailing list