QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool* tool, Qt::WindowFlags f ) : QDialog( tool->canvas()->topLevelWidget(), f ) , mTool( tool ) { setupUi( this ); QPushButton *nb = new QPushButton( tr( "&New" ) ); buttonBox->addButton( nb, QDialogButtonBox::ActionRole ); connect( nb, SIGNAL( clicked() ), this, SLOT( restart() ) ); // Add a configuration button QPushButton* cb = new QPushButton( tr( "&Configuration" ) ); buttonBox->addButton( cb, QDialogButtonBox::ActionRole ); connect( cb, SIGNAL( clicked() ), this, SLOT( openConfigTab() ) ); mMeasureArea = tool->measureArea(); mTotal = 0.; repopulateComboBoxUnits( mMeasureArea ); if ( mMeasureArea ) mUnitsCombo->setCurrentIndex( mUnitsCombo->findData( QgsProject::instance()->areaUnits() ) ); else mUnitsCombo->setCurrentIndex( mUnitsCombo->findData( QgsProject::instance()->distanceUnits() ) ); updateSettings(); connect( mUnitsCombo, SIGNAL( currentIndexChanged( int ) ), this, SLOT( unitsChanged( int ) ) ); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( reject() ) ); groupBox->setCollapsed( true ); }
QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool* tool, Qt::WindowFlags f ) : QDialog( tool->canvas()->topLevelWidget(), f ), mTool( tool ) { setupUi( this ); QPushButton *nb = new QPushButton( tr( "&New" ) ); buttonBox->addButton( nb, QDialogButtonBox::ActionRole ); connect( nb, SIGNAL( clicked() ), this, SLOT( restart() ) ); // Add a configuration button QPushButton* cb = new QPushButton( tr( "&Configuration" ) ); buttonBox->addButton( cb, QDialogButtonBox::ActionRole ); connect( cb, SIGNAL( clicked() ), this, SLOT( openConfigTab() ) ); mMeasureArea = tool->measureArea(); mTotal = 0.; mUnitsCombo->addItem( QgsUnitTypes::toString( QGis::Meters ), QGis::Meters ); mUnitsCombo->addItem( QgsUnitTypes::toString( QGis::Feet ), QGis::Feet ); mUnitsCombo->addItem( QgsUnitTypes::toString( QGis::Degrees ), QGis::Degrees ); mUnitsCombo->addItem( QgsUnitTypes::toString( QGis::NauticalMiles ), QGis::NauticalMiles ); QSettings settings; QString units = settings.value( "/qgis/measure/displayunits", QgsUnitTypes::encodeUnit( QGis::Meters ) ).toString(); mUnitsCombo->setCurrentIndex( mUnitsCombo->findData( QgsUnitTypes::decodeDistanceUnit( units ) ) ); updateSettings(); connect( mUnitsCombo, SIGNAL( currentIndexChanged( int ) ), this, SLOT( unitsChanged( int ) ) ); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( reject() ) ); groupBox->setCollapsed( true ); }