1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include "article_inspect.h"
#include <QCloseEvent>
#if (QT_VERSION > QT_VERSION_CHECK(6,0,0))
#include <QWebEngineContextMenuRequest>
#endif
ArticleInspector::ArticleInspector( QWidget * parent ) : QWidget( parent, Qt::WindowType::Window )
{
setWindowTitle(tr("Inspect"));
setAttribute( Qt::WidgetAttribute::WA_DeleteOnClose, false );
QVBoxLayout * v = new QVBoxLayout( this );
v->setSpacing( 0 );
v->setContentsMargins( 0, 0, 0, 0 );
viewContainer = new QWebEngineView( this );
v->addWidget( viewContainer );
setInspectPage( nullptr );
resize(800,600);
}
void ArticleInspector::setInspectPage( QWebEnginePage * page )
{
viewContainer->page()->setInspectedPage( page );
if( !page )
{
qDebug() << "set inspected page to nullptr";
return;
}
raise();
show();
qDebug() << "inspector finished";
}
void ArticleInspector::triggerAction( QWebEnginePage * page )
{
if( !page )
{
qDebug() << "set inspected page to nullptr";
return;
}
setInspectPage(page);
#if( QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 ) || QT_VERSION > QT_VERSION_CHECK(6,3,0) )
page->triggerAction( QWebEnginePage::InspectElement );
#endif
}
void ArticleInspector::closeEvent( QCloseEvent * )
{
viewContainer->page()->setInspectedPage(nullptr);
}
|