bool Chimera_X11::onWindowAttached( FB::AttachedEvent* evt, FB::PluginWindowX11* w ) { m_pluginWindow.reset( QWindow::fromWinId( (WId) w->getWindow() ) ); vlcOpen(); m_quickViewPtr.reset( new QQuickView( m_pluginWindow.data() ) ); m_quickViewPtr->setTitle( QStringLiteral( "WebChimera" ) ); m_quickViewPtr->setResizeMode( QQuickView::SizeRootObjectToView ); m_quickViewPtr->setFlags( m_quickViewPtr->flags() | Qt::FramelessWindowHint ); m_quickViewPtr->setColor( get_bgColor() ); connect( this, &QmlChimera::bgcolorChanged, m_quickViewPtr.data(), &QQuickView::setColor ); m_qmlVlcPlayer = new QmlVlcSurfacePlayerProxy( get_player_ptr(), m_quickViewPtr.data() ); m_qmlVlcPlayer->classBegin(); //have to call applyPlayerOptions() //after QmlVlcSurfacePlayerProxy::classBegin //to allow attach Proxy's vmem to plugin before play applyPlayerOptions(); //simulate resize //onWindowResized( 0, w ); setQml(); return false; }
void Controller::setMainWindow() { qmlviewer->setResizeMode(QQuickView::SizeRootObjectToView); app->setApplicationDisplayName("O2C"); app->setApplicationName("O2C"); qmlviewer->setTitle("O2C"); app->setApplicationVersion("3.0.0"); qmlviewer->setMaximumWidth(APP_WIDTH); qmlviewer->setMinimumHeight(APP_HEIGHT); qmlviewer->setMinimumWidth(APP_WIDTH); qmlviewer->setMaximumHeight(APP_HEIGHT); setQml("screens/phone.qml", "phone"); qmlviewer->setGeometry(100,100,700,420); qmlviewer->show(); }