mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-07 00:15:48 -04:00
Fix Qt::UniqueConnection with lambda
This commit is contained in:
parent
8f52da7fdf
commit
9346dba3f7
@ -761,7 +761,7 @@ IF (WITH_CORE)
|
|||||||
MARK_AS_ADVANCED (ADD_CLAZY_CHECKS)
|
MARK_AS_ADVANCED (ADD_CLAZY_CHECKS)
|
||||||
IF (ADD_CLAZY_CHECKS)
|
IF (ADD_CLAZY_CHECKS)
|
||||||
SET(CMAKE_CXX_BASE_FLAGS "${CMAKE_CXX_FLAGS}")
|
SET(CMAKE_CXX_BASE_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
SET(CLAZY_BASE_CHECKS "connect-3arg-lambda")
|
SET(CLAZY_BASE_CHECKS "connect-3arg-lambda,lambda-unique-connection")
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_BASE_FLAGS} -Xclang -plugin-arg-clazy -Xclang ${CLAZY_BASE_CHECKS}")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_BASE_FLAGS} -Xclang -plugin-arg-clazy -Xclang ${CLAZY_BASE_CHECKS}")
|
||||||
ENDIF (ADD_CLAZY_CHECKS)
|
ENDIF (ADD_CLAZY_CHECKS)
|
||||||
ENDIF (WITH_CORE)
|
ENDIF (WITH_CORE)
|
||||||
|
@ -49,12 +49,8 @@ void QgsHtmlWidgetWrapper::initWidget( QWidget *editor )
|
|||||||
const int horizontalDpi = qApp->desktop()->screen()->logicalDpiX();
|
const int horizontalDpi = qApp->desktop()->screen()->logicalDpiX();
|
||||||
mWidget->setZoomFactor( horizontalDpi / 96.0 );
|
mWidget->setZoomFactor( horizontalDpi / 96.0 );
|
||||||
|
|
||||||
auto page = mWidget->page();
|
QWebPage *page = mWidget->page();
|
||||||
connect( page, &QWebPage::contentsChanged, this, [ = ]
|
connect( page, &QWebPage::contentsChanged, this, &QgsHtmlWidgetWrapper::fixHeight, Qt::ConnectionType::UniqueConnection );
|
||||||
{
|
|
||||||
auto docHeight { page->mainFrame()->contentsSize().height() };
|
|
||||||
mWidget->setFixedHeight( docHeight );
|
|
||||||
}, Qt::ConnectionType::UniqueConnection );
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -95,6 +91,15 @@ void QgsHtmlWidgetWrapper::setHtmlContext( )
|
|||||||
mWidget->setHtml( mHtmlCode );
|
mWidget->setHtml( mHtmlCode );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_QTWEBKIT
|
||||||
|
void QgsHtmlWidgetWrapper::fixHeight()
|
||||||
|
{
|
||||||
|
QWebPage *page = mWidget->page();
|
||||||
|
int docHeight { page->mainFrame()->contentsSize().height() };
|
||||||
|
mWidget->setFixedHeight( docHeight );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void QgsHtmlWidgetWrapper::setFeature( const QgsFeature &feature )
|
void QgsHtmlWidgetWrapper::setFeature( const QgsFeature &feature )
|
||||||
{
|
{
|
||||||
if ( !mWidget )
|
if ( !mWidget )
|
||||||
|
@ -59,6 +59,9 @@ class GUI_EXPORT QgsHtmlWidgetWrapper : public QgsWidgetWrapper
|
|||||||
private slots:
|
private slots:
|
||||||
//! sets the html context with the current values
|
//! sets the html context with the current values
|
||||||
void setHtmlContext( );
|
void setHtmlContext( );
|
||||||
|
#ifdef WITH_QTWEBKIT
|
||||||
|
void fixHeight();
|
||||||
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString mHtmlCode;
|
QString mHtmlCode;
|
||||||
|
@ -172,13 +172,7 @@ void QgsValueRelationWidgetWrapper::initWidget( QWidget *editor )
|
|||||||
}
|
}
|
||||||
else if ( mLineEdit )
|
else if ( mLineEdit )
|
||||||
{
|
{
|
||||||
connect( mLineEdit, &QLineEdit::textChanged, this, [ = ]( const QString & value )
|
connect( mLineEdit, &QLineEdit::textChanged, this, &QgsValueRelationWidgetWrapper::emitValueChanged, Qt::UniqueConnection );
|
||||||
{
|
|
||||||
Q_NOWARN_DEPRECATED_PUSH
|
|
||||||
emit valueChanged( value );
|
|
||||||
Q_NOWARN_DEPRECATED_POP
|
|
||||||
emit valuesChanged( value );
|
|
||||||
}, Qt::UniqueConnection );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -472,3 +466,11 @@ QList<QgsVectorLayerRef> QgsValueRelationWidgetWrapper::layerDependencies() cons
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsValueRelationWidgetWrapper::emitValueChanged( const QString &value )
|
||||||
|
{
|
||||||
|
Q_NOWARN_DEPRECATED_PUSH
|
||||||
|
emit valueChanged( value );
|
||||||
|
Q_NOWARN_DEPRECATED_POP
|
||||||
|
emit valuesChanged( value );
|
||||||
|
}
|
||||||
|
@ -104,6 +104,9 @@ class GUI_EXPORT QgsValueRelationWidgetWrapper : public QgsEditorWidgetWrapper
|
|||||||
|
|
||||||
QList<QgsVectorLayerRef> layerDependencies() const override;
|
QList<QgsVectorLayerRef> layerDependencies() const override;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void emitValueChanged( const QString &value );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateValues( const QVariant &value, const QVariantList & = QVariantList() ) override;
|
void updateValues( const QVariant &value, const QVariantList & = QVariantList() ) override;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user