void ScopeViewBase::paintEvent( QPaintEvent * event ) { QRect r = event->rect(); if (b_needRedraw) { //CALLGRIND_TOGGLE_COLLECT(); updateOutputHeight(); QPainter p; m_pixmap->fill( paletteBackgroundColor() ); p.begin(m_pixmap); p.setClipRegion(event->region()); //let the subclass draw the background (grids, etc.) drawBackground(p); // drawProbeMap(p, Oscilloscope::self()->m_logicProbeDataMap); // drawProbeMap(p, Oscilloscope::self()->m_floatingProbeDataMap); p.setPen(Qt::black); p.drawRect( frameRect() ); b_needRedraw = false; //CALLGRIND_TOGGLE_COLLECT(); } bitBlt( this, r.x(), r.y(), m_pixmap, r.x(), r.y(), r.width(), r.height() ); }
mScaleWidget->setShowCurrentScaleButton( true ); QString activeDecorations; Q_FOREACH ( QgsDecorationItem *decoration, decorations ) { mDecorations << decoration; if ( activeDecorations.isEmpty() ) activeDecorations = decoration->name().toLower(); else activeDecorations += QStringLiteral( ", %1" ).arg( decoration->name().toLower() ); } mDrawDecorations->setText( tr( "Draw active decorations: %1" ).arg( !activeDecorations.isEmpty() ? activeDecorations : tr( "none" ) ) ); connect( mResolutionSpinBox, &QSpinBox::editingFinished, this, [ = ] { updateDpi( mResolutionSpinBox->value() ); } ); connect( mOutputWidthSpinBox, &QSpinBox::editingFinished, this, [ = ] { updateOutputWidth( mOutputWidthSpinBox->value() );} ); connect( mOutputHeightSpinBox, &QSpinBox::editingFinished, this, [ = ] { updateOutputHeight( mOutputHeightSpinBox->value() );} ); connect( mExtentGroupBox, &QgsExtentGroupBox::extentChanged, this, &QgsMapSaveDialog::updateExtent ); connect( mScaleWidget, &QgsScaleWidget::scaleChanged, this, &QgsMapSaveDialog::updateScale ); connect( mLockAspectRatio, &QgsRatioLockButton::lockChanged, this, &QgsMapSaveDialog::lockChanged ); updateOutputSize(); if ( mDialogType == QgsMapSaveDialog::Pdf ) { mSaveWorldFile->setVisible( false ); QStringList layers = QgsMapSettingsUtils::containsAdvancedEffects( mMapCanvas->mapSettings() ); if ( !layers.isEmpty() ) { // Limit number of items to avoid extreme dialog height if ( layers.count() >= 10 )