DownloadRegionDialog::DownloadRegionDialog( MarbleWidget *const widget, QWidget * const parent, Qt::WindowFlags const f ) : QDialog( parent, f ), d( new Private( widget, this )) { setWindowTitle( tr( "Download Region" )); QVBoxLayout * const layout = new QVBoxLayout; layout->addWidget( d->createSelectionMethodBox() ); layout->addWidget( d->m_tileLevelRangeWidget ); layout->addLayout( d->createTilesCounter() ); if ( MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen ) { QWidget* widget = new QWidget( this ); widget->setLayout( layout ); QScrollArea* scrollArea = new QScrollArea( this ); scrollArea->setFrameShape( QFrame::NoFrame ); scrollArea->setWidget( widget ); QVBoxLayout * const mainLayout = new QVBoxLayout; mainLayout->addWidget( scrollArea ); mainLayout->addWidget( d->createOkCancelButtonBox() ); setLayout( mainLayout ); } else { layout->addWidget( d->createOkCancelButtonBox() ); setLayout( layout ); } connect( d->m_latLonBoxWidget, SIGNAL(valueChanged()), SLOT(updateTilesCount()) ); connect( d->m_tileLevelRangeWidget, SIGNAL(topLevelChanged(int)), SLOT(updateTilesCount()) ); connect( d->m_tileLevelRangeWidget, SIGNAL(bottomLevelChanged(int)), SLOT(updateTilesCount()) ); connect( d->m_routeOffsetSpinBox, SIGNAL(valueChanged(double)), SLOT(updateTilesCount()) ); connect( d->m_routeOffsetSpinBox, SIGNAL(valueChanged(double)), SLOT(setOffsetUnit()) ); connect( d->m_model, SIGNAL(themeChanged(QString)), SLOT(updateTilesCount()) ); }
void DownloadRegionDialog::setVisibleLatLonAltBox( GeoDataLatLonAltBox const & region ) { d->m_visibleRegion = region; // update lat/lon widget only if not active to prevent that users unintentionally loose // entered values if ( d->m_selectionMethod == VisibleRegionMethod ) { setSpecifiedLatLonAltBox( region ); } updateTilesCount(); }
void DownloadRegionDialog::setSelectionMethod( SelectionMethod const selectionMethod ) { // block signals to prevent infinite recursion: // radioButton->setChecked() -> toggleSelectionMethod() -> setSelectionMethod() // -> radioButton->setChecked() -> ... d->m_visibleRegionMethodButton->blockSignals( true ); d->m_specifiedRegionMethodButton->blockSignals( true ); d->m_routeDownloadMethodButton->blockSignals( true ); d->m_selectionMethod = selectionMethod; switch ( selectionMethod ) { case VisibleRegionMethod: d->m_visibleRegionMethodButton->setChecked( true ); d->m_routeOffsetLabel->setEnabled( false ); d->m_routeOffsetSpinBox->setEnabled( false ); d->m_latLonBoxWidget->setEnabled( false ); setSpecifiedLatLonAltBox( d->m_visibleRegion ); break; case SpecifiedRegionMethod: d->m_specifiedRegionMethodButton->setChecked( true ); d->m_routeOffsetLabel->setEnabled( false ); d->m_routeOffsetSpinBox->setEnabled( false ); d->m_latLonBoxWidget->setEnabled( true ); break; case RouteDownloadMethod: d->m_routeDownloadMethodButton->setChecked( true ); d->m_routeOffsetLabel->setEnabled( true ); d->m_routeOffsetSpinBox->setEnabled( true ); d->m_latLonBoxWidget->setEnabled( false ); } updateTilesCount(); d->m_visibleRegionMethodButton->blockSignals( false ); d->m_specifiedRegionMethodButton->blockSignals( false ); d->m_routeDownloadMethodButton->blockSignals( false ); }
void DownloadRegionDialog::updateTextureLayer() { mDebug() << "DownloadRegionDialog::updateTextureLayer"; updateTilesCount(); }