--- a/ginebra/chromeview.cpp Fri Jun 11 16:23:26 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,679 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "wrtbrowsercontainer.h"
-#include "HistoryFlowView.h"
-
-#include "WindowFlowView.h"
-#include "webpagecontroller.h"
-#include "actionjsobject.h"
-#include "bedrockprovisioning.h"
-#include "chromejsobject.h"
-#include "chromesnippet.h"
-#include "chromeview.h"
-#include "chromewidget.h"
-#include "controllableview.h"
-#include "BookmarksManager.h"
-#include "utilities.h"
-#include "viewcontroller.h"
-#include "webcontentview.h"
-#include "webnavigation.h"
-#include "viewstack.h"
-#include "ZoomMetaData.h"
-#include "LocaleDelegate.h"
-#include "devicedelegate.h"
-#include <assert.h>
-
-#include <QtGui>
-#include "qwebview.h"
-#include "qwebframe.h"
-#include "qwebhistory.h"
-
-#include <QProcessEnvironment>
-
-#ifdef USE_DOWNLOAD_MANAGER
-#include <QNetworkAccessManager>
-#include <QNetworkProxy>
-#include "downloadcontroller.h"
-#endif
-
-#ifdef USE_STATEMACHINE
-Q_SCRIPT_DECLARE_QMETAOBJECT(ChromeView, QWidget *)
-#endif
-
-static QBrush s_backgroundBrush(QColor(0,0,0));
-
-ChromeView::ChromeView(QWidget * parent = 0)
-: QGraphicsView(parent)
-{
- init(ChromeView::getChromePath());
-}
-
-ChromeView::ChromeView(const QString chromeUrl, QWidget * parent = 0)
-: QGraphicsView(parent)
-{
- init(chromeUrl);
-}
-
-void ChromeView::init(const QString chromeUrl)
-{
- m_graphicsScene = new QGraphicsScene; // probably should be created by owner...
- m_chromeWidget = 0;
- m_viewController = 0;
- m_js = 0;
- m_mainWidget = 0;
- m_displayMode = DisplayModePortrait;
- m_chromeUrl = chromeUrl;
- m_splashScreen = 0;
- m_navigation = 0;
- m_downloadController = 0;
-
- qDebug() << "ChromeView::ChromeView: " << chromeUrl;
- setBackgroundBrush(s_backgroundBrush);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-
- setScene(m_graphicsScene);
-
- showSplashScreen();
-
- m_mainWidget = new QGraphicsWidget();
- m_graphicsScene->addItem(m_mainWidget);
-
- setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
-
- // Create the "chrome" javascript object.
- m_js = new ChromeJSObject(this);
-
- // Create the chrome overlay.
- m_chromeWidget = new ChromeWidget(this, m_mainWidget, "snippets");
- QTimer::singleShot(0, this, SLOT(connectAll()));
- m_localeDelegate = new LocaleDelegate(this);
- m_deviceDelegate = new DeviceDelegate();
-
- ActionJSObject::initClass();
-
- initViewController();
-
- setObjectName("ChromeView");
- setStyleSheet("QGraphicsView#ChromeView {margin:0; border: 0; padding:0;}");
-
- safe_connect(m_chromeWidget, SIGNAL(delegateLink(const QUrl&)), WebPageController::getSingleton(), SLOT(currentLoad(const QUrl&)));
- safe_connect(WebPageController::getSingleton(), SIGNAL(pageCreated(WRT::WrtBrowserContainer*)), this, SLOT(pageCreated(WRT::WrtBrowserContainer*)));
- safe_connect(WebPageController::getSingleton(), SIGNAL(pageChanged(WRT::WrtBrowserContainer*, WRT::WrtBrowserContainer*)), this, SLOT(pageChanged(WRT::WrtBrowserContainer*, WRT::WrtBrowserContainer*)));
-}
-
-void ChromeView::initViewController() {
- // Create content view manager/factory.
- m_viewController = new ViewController(0, m_graphicsScene);
- ViewStack::getSingleton()->setViewController(m_viewController);
- ViewStack::getSingleton()->setChromeView(this);
-
- safe_connect(m_viewController, SIGNAL(currentViewChanging()), this, SLOT(contentViewChanging()));
- safe_connect(m_viewController, SIGNAL(currentViewChanged()), this, SLOT(setContentView()));
-
- // Setup view class factory.
- m_viewController->subscribe(WebContentView::Type(), WebContentView::createNew);
- m_viewController->subscribe(WRT::WindowFlowView::Type(), WRT::WindowFlowView::createNew);
- m_viewController->subscribe(WRT::HistoryFlowView::Type(), WRT::HistoryFlowView::createNew);
-
-
- // Create window view
- m_viewController->createView(WRT::WindowFlowView::Type());
-
- /*
- // Create the goAnywhereview view.
- WRT::GoAnywhereView *goAnywhereView =
- static_cast<WRT::GoAnywhereView *>(m_viewController->createView(WRT::GoAnywhereView::Type()));
- */
- // Create the history view.
- WRT::HistoryFlowView *historyView =
- static_cast<WRT::HistoryFlowView *>(m_viewController->createView(WRT::HistoryFlowView::Type()));
-
-
- historyView->setChromeFrame(m_chromeWidget->chromePage()->mainFrame());
- // Create the web view.
- WebContentView *webContentView =
- static_cast<WebContentView *>(m_viewController->createView(WebContentView::Type()));
- webContentView->hide();
-
- m_viewController->setCurrent(webContentView);
- WRT::WrtBrowserContainer* pg = WebPageController::getSingleton()->currentPage();
- pg->setWebWidget(webContentView->widget());
- m_navigation = new WebNavigation(pg,webContentView->widget());
-
-#ifdef USE_DOWNLOAD_MANAGER
- QWebPage * wrtPage = webContentView->wrtPage();
- QNetworkAccessManager * accessManager = wrtPage->networkAccessManager();
- QNetworkProxy proxy = accessManager->proxy();
-
- m_downloadController = new DownloadController("Bedrock Browser", proxy);
- if (!m_downloadController->handlePage(wrtPage)) {
- qDebug() << "DownloadController::handlePage failed for" << wrtPage;
- }
-
- connect(m_downloadController, SIGNAL(downloadCreated(Download*)),
- m_js, SLOT(downloadCreated(Download*)));
-
- connect(m_downloadController, SIGNAL(downloadStarted(Download*)),
- m_js, SLOT(downloadStarted(Download*)));
-
- connect(m_downloadController, SIGNAL(downloadProgress(Download*)),
- m_js, SLOT(downloadProgress(Download*)));
-
- connect(m_downloadController, SIGNAL(downloadFinished(Download*)),
- m_js, SLOT(downloadFinished(Download*)));
-
- connect(m_downloadController, SIGNAL(downloadPaused(Download*, const QString &)),
- m_js, SLOT(downloadPaused(Download*, const QString &)));
-
- connect(m_downloadController, SIGNAL(downloadCancelled(Download*, const QString &)),
- m_js, SLOT(downloadCancelled(Download*, const QString &)));
-
- connect(m_downloadController, SIGNAL(downloadFailed(Download*, const QString &)),
- m_js, SLOT(downloadFailed(Download*, const QString &)));
-
- connect(m_downloadController, SIGNAL(downloadNetworkLoss(Download*, const QString &)),
- m_js, SLOT(downloadNetworkLoss(Download*, const QString &)));
-
- connect(m_downloadController, SIGNAL(downloadError(Download*, const QString &)),
- m_js, SLOT(downloadError(Download*, const QString &)));
-#endif
-}
-
-
-bool ChromeView::viewportEvent(QEvent* event)
-{
- return QGraphicsView::viewportEvent(event);
-}
-
-void ChromeView::contentViewChanging(){
- //Remove the current content view
- if(m_viewController && m_viewController->currentView()) {
- m_viewController->currentView()->widget()->disconnect(this);
- }
-}
-
-void ChromeView::saveToHistory(bool ok)
-{
- if(ok){
- WRT::WrtBrowserContainer * currPage = WebPageController::getSingleton()->currentPage();
- Q_ASSERT(currPage);
- Q_ASSERT(!currPage->mainFrame()->url().isEmpty());
- //WRT::BookmarksManager::getSingleton()->addHistory(currPage->mainFrame()->url(),
- // currPage->mainFrame()->title(),
- // currPage->mainFrame()->icon());
-
- }
-}
-
-
-void ChromeView::loadContentView()
-{
- if(m_viewController) m_viewController->showContent("webView");
- //toggleVisibility("UrlSearchChromeId");
- //toggleVisibility("HistoryViewToolbarId");
- //toggleVisibility("WebViewToolbarId");
-}
-
-void ChromeView::loadUrltoCurrentPage(const QUrl & url)
-{
- WRT::WrtBrowserContainer * activePage = WebPageController::getSingleton()->currentPage();
-
- if(activePage) {
- activePage->mainFrame()->load(url);
- }
-}
-
-void ChromeView::setContentView(){
- connectContentView();
-}
-
-void ChromeView::connectContentView(){
- ControllableView *view = m_viewController ? m_viewController->currentView() : 0;
- if(!view) return;
-
- QGraphicsWidget *contentWidget = view->widget();
- assert(contentWidget);
-
- contentWidget->setGeometry(geometry());
-
- safe_connect(m_chromeWidget, SIGNAL(dragStarted()), m_viewController, SLOT(freezeView()));
- safe_connect(m_chromeWidget, SIGNAL(dragFinished()), m_viewController, SLOT(unfreezeView()));
-
- contentWidget->setFocus();
- updateGeometry();
- parentWidget()->updateGeometry();
-}
-
-void ChromeView::connectAll(){
- //Connect content signals
- connectContentView();
- //NB: Revisit this to avoid signal spaghetti
- //When the chrome widget finishes loading and initialization of snippets, JS emits loadComplete
- safe_connect(m_chromeWidget, SIGNAL(loadComplete()), m_js, SIGNAL(loadComplete()));
- safe_connect(m_chromeWidget, SIGNAL(loadComplete()), this, SLOT(chromeLoaded()));
- //When the widget resizes the view port, invoke update of the current view geometry. NB: this signal could also be handled by
- //the viewstack directly which would, for example, allow it to resize all views, not just the current view.
- safe_connect(m_chromeWidget, SIGNAL(viewPortResize(QRect)), this, SLOT(updateContentGeometry(QRect)));
- //Also, JS emits its version of this signal
- safe_connect(this, SIGNAL(viewPortResize(int, int, int, int)), m_js, SIGNAL(viewPortResize(int, int, int, int)));
- //Create the JS API
- safe_connect(m_chromeWidget->chromePage()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(injectJSObjects()));
-
- safe_connect(WebPageController::getSingleton(), SIGNAL(loadFinished(bool)), this,
- SLOT(saveToHistory(bool)));
-
- //Load the chrome contents from the default location
- reloadChrome();
-}
-
-ChromeView::~ChromeView()
-{
- delete m_navigation;
- delete m_chromeWidget;
- delete m_js;
- if(m_splashScreen) delete m_splashScreen;
-
- //Deleting the scene will delete m_mainWidget.
- //Deleting m_mainWidget will also delete any graphics items that the chromeWidget has
- //added to the m_mainWidget.
-
- //Content views are not owned by the chrome view; this allows the application to manage
- //its content windows independently of the chrome.
-
- if(m_viewController) {
- delete m_viewController;
- ViewStack::getSingleton()->setViewController(NULL);
- }
- delete m_graphicsScene;
-
-#ifdef USE_DOWNLOAD_MANAGER
- if (m_downloadController) {
- delete m_downloadController;
- }
-#endif
-
- delete m_localeDelegate;
- delete m_deviceDelegate;
-}
-
-ChromeWidget * ChromeView::getChromeWidget(){
- return m_chromeWidget;
-}
-
-void ChromeView::updateViewPort(){
- assert (m_chromeWidget);
- m_chromeWidget->updateViewPort();
-}
-
-void ChromeView::setViewPort(QRect viewPort){
- assert (m_chromeWidget);
- m_chromeWidget->setViewPort(viewPort);
-}
-
-void ChromeView::loadChrome(const QString &url){
- qDebug() << "ChromeView::loadChrome: " << url;
- m_chromeUrl = url;
- if(m_chromeWidget) {
- m_chromeWidget->setChromeUrl(url);
- }
-}
-
-void ChromeView::reloadChrome(){
- loadChrome(m_chromeUrl);
-}
-
-void ChromeView::show(const QString& id, int x, int y){
- assert(m_chromeWidget);
- m_chromeWidget->show(id, x, y);
-}
-
-void ChromeView::show(const QString& id){
- assert(m_chromeWidget);
- m_chromeWidget->show(id);
-}
-
-
-void ChromeView::hide(const QString& id){
- assert(m_chromeWidget);
- m_chromeWidget->hide(id);
-}
-
-
-void ChromeView::toggleVisibility(const QString& id){
- assert(m_chromeWidget);
- m_chromeWidget->toggleVisibility(id);
-}
-
-void ChromeView::setLocation(const QString& id, int x, int y){
- assert(m_chromeWidget);
- m_chromeWidget->setLocation(id, x, y);
-}
-
-void ChromeView::setAnchor(const QString& id, const QString& anchor){
- assert(m_chromeWidget);
- m_chromeWidget->setAnchor(id, anchor);
-}
-
-void ChromeView::toggleAttention(const QString& id){
- assert(m_chromeWidget);
- m_chromeWidget->toggleAttention(id);
-}
-
-void ChromeView::setVisibilityAnimator(const QString& elementId, const QString & animatorName){
- assert(m_chromeWidget);
- m_chromeWidget->setVisibilityAnimator(elementId, animatorName);
-}
-
-void ChromeView::setAttentionAnimator(const QString& elementId, const QString & animatorName){
- assert(m_chromeWidget);
- m_chromeWidget->setAttentionAnimator(elementId, animatorName);
-}
-
-//Animated "flips" between the current view an a chrome snippet
-// TO DO: needs updating or removal.
-void ChromeView::flipFromCurrentView(const QString& toId){
- assert(m_chromeWidget);
-
- // TBD
-
- ChromeSnippet *snippet = m_chromeWidget->getSnippet(toId);
- if(snippet)
- snippet->show(true);
-}
-
-void ChromeView::flipToCurrentView(const QString& fromId){
- Q_UNUSED(fromId)
-
- // TBD
-
- if(m_viewController && m_viewController->currentView())
- m_viewController->currentView()->show();
-}
-
-ControllableView *ChromeView::currentContentView() {
- return m_viewController ? m_viewController->currentView() : 0;
-}
-
-ControllableView *ChromeView::contentView(const QString & type) {
- return m_viewController ? m_viewController->getView(type) : 0;
-}
-
-void ChromeView::loadStarted(){ // slot
- //qDebug() << "ChromeView::loadStarted: ";
- //m_viewController->currentView()->setCursor(Qt::BusyCursor);
-}
-
-void ChromeView::loadFinished(bool ok){ // slot
- Q_UNUSED(ok)
- //qDebug() << "ChromeView::loadFinished: " << m_viewController->currentView()->url();
- //m_viewController->currentView()->setCursor(Qt::ArrowCursor);
-}
-
-void ChromeView::updateSceneSize(const QSize &size) {
- QRectF sceneRect = m_graphicsScene->sceneRect();
- qDebug() << "ChromeView::updateSceneSize: sceneRect=" << sceneRect << " new size=" << size;
- m_graphicsScene->setSceneRect(sceneRect.x(), sceneRect.y(), size.width(), size.height());
-}
-
-void ChromeView::resizeEvent(QResizeEvent *e){
- qDebug() << "ChromeView::resizeEvent: " << e->size();
- QRect rect(QPoint(0,0), e->size());
-
- displayModeChangeStart();
-
- updateChildGeometries(rect);
- updateDisplayMode();
- updateSceneSize(rect.size());
-
- if(m_splashScreen) {
- m_splashScreen->setGeometry(rect);
- }
-}
-
-void ChromeView::resizeScrollArea(QResizeEvent *e){
- qDebug() << "ChromeView::resizeScrollArea: " << e;
- QRect rect(QPoint(0,0), e->size());
-
- updateChildGeometries(rect);
- updateDisplayMode();
-
- QGraphicsView::setGeometry(rect);
- updateSceneSize(rect.size());
-}
-
-void ChromeView::updateDisplayMode() {
- if(width() > height())
- setDisplayMode(DisplayModeLandscape);
- else
- setDisplayMode(DisplayModePortrait);
-}
-
-void ChromeView::setDisplayMode(DisplayMode mode) {
- qDebug() << "ChromeView::setDisplayMode: " << mode;
- if(mode != m_displayMode){
- m_displayMode = mode;
- m_js->displayModeChanged(m_displayMode);
- QString newMode = ( (mode == DisplayModeLandscape) ? "Landscape" : "Portrait" );
- m_viewController->currentView()->displayModeChanged(newMode);
- }
-}
-
-void ChromeView::displayModeChangeStart() {
- DisplayMode mode = DisplayModePortrait;
-
- if(width() > height())
- {
- mode = DisplayModeLandscape;
- }
- if (mode != m_displayMode) {
- m_js->displayModeChangeStart(mode);
- }
-}
-
-void ChromeView::updateChildGeometries(const QRect &rect){
- m_mainWidget->setGeometry(rect);
- updateContentGeometry(rect);
- if(m_chromeWidget)
- m_chromeWidget->setGeometry(rect);
-}
-
-void ChromeView::updateContentGeometry(const QRect &rect) {
- if(m_viewController && m_viewController->currentView())
- m_viewController->currentView()->widget()->setGeometry(rect);
- emit viewPortResize(rect.x(), rect.y(), rect.width(), rect.height());
-}
-
-
-QRect ChromeView::contentViewGeometry() const {
- if(m_viewController && m_viewController->currentView())
- return m_viewController->currentView()->widget()->geometry().toRect();
- return QRect();
-}
-
-void ChromeView::setBackgroundColor(const QColor &color){
- s_backgroundBrush.setColor(color);
-}
-
-void ChromeView::injectJSObjects() { // slot
- //qDebug() << "ChromeView::injectJSObjects";
- injectJSObject(m_chromeWidget->jsObject());
- injectJSObject(m_js);
- injectJSObject(m_viewController);
- injectJSObject(WebPageController::getSingleton());
- injectJSObject(WRT::BookmarksManager::getSingleton());
- injectJSObject(ViewStack::getSingleton());
- injectJSObject(m_localeDelegate);
- injectJSObject(m_deviceDelegate);
- if(m_viewController)
- m_viewController->setChromeFrame(m_chromeWidget->chromePage()->mainFrame());
-}
-
-void ChromeView::injectJSObject(QObject *object) {
- if(object) {
- m_chromeWidget->chromePage()->mainFrame()->addToJavaScriptWindowObject(object->objectName(), object);
- }
-}
-
-void ChromeView::chromeLoaded() { // slot
- if(m_splashScreen) {
- // Remove splashscreen now that the chrome is ready.
- delete m_splashScreen;
- m_splashScreen = 0;
- }
-
-// foreach(QGraphicsItem *child, m_mainWidget->childItems()){
-// qDebug() << " m_mainWidget child: " << child ;
-// }
-//
-// foreach(QObject *objChild, children()){
-// qDebug() << " ChromeView child: " << objChild;
-// }
-//
-// foreach(QGraphicsItem *item, m_graphicsScene->items()){
-// qDebug() << " graphics items: " << item;
-// }
-}
-
-void ChromeView::pageCreated(WRT::WrtBrowserContainer* newPage) {
-
- /* save the page snapshot before changing the current page to the new page*/
- WRT::WrtBrowserContainer * currPage = WebPageController::getSingleton()->currentPage();
- QWebHistoryItem item = currPage->history()->currentItem();
- currPage->savePageDataToHistoryItem(currPage->mainFrame(), &item);
-
- WebContentView * cv ;
- if(m_viewController) {
- cv = static_cast<WebContentView *>(m_viewController->getView("webView"));
- }
- if(cv) {
- // When new windows are created from window view, as the content is emoty, we should disable
- // zoom actions. Set the user-scalable to false and also init the other zoom params
- // so that even if we change to windows view again without loading a page we are safe.
- // In the code-driven window usecase, this will be overwritten when the page is loaded and setViewportSize is invoked
- newPage->setPageZoomMetaData(cv->webView()->defaultZoomData());
-
-
- /* Set the new page as the current page */
- WebPageController::getSingleton()->setCurrentPage(newPage);
-
- /* Set the web widget- this one is responsible for webnavigation etc */
- newPage->setWebWidget( cv->webView());
-
- //connect current page main frame's initialLayoutCompleted with WebContentWidget' setViewportSize SLOT
- connect(WebPageController::getSingleton()->currentPage()->mainFrame(), SIGNAL(initialLayoutCompleted()), cv->webView(), SLOT(setViewportSize()));
-
-#ifdef USE_DOWNLOAD_MANAGER
- if (!m_downloadController->handlePage(newPage)) {
- qDebug() << "DownloadController::handlePage failed for" << newPage;
- }
-#endif
- }
-
-}
-
-void ChromeView::updateWebPage(WRT::WrtBrowserContainer* pg)
-{
- if(!m_viewController) return;
-
- WebContentView* cv = static_cast<WebContentView *>(m_viewController->getView("webView"));
- WebContentWidget* w = cv->webView();
- w->setPage(pg);
- if(pg)
- {
- // Disconnect this signal to avoid multiple connections - it is being connected in setWebWidget
- disconnect(w, SIGNAL(pageZoomMetaDataChange(QWebFrame*, ZoomMetaData)), pg, SLOT(pageZoomMetaDataChange(QWebFrame*, ZoomMetaData)));
-
- pg->setWebWidget(w);
-
- // Change navigation also to the current page
- m_navigation->setPage(pg);
-
- }
-}
-
-void ChromeView::pageChanged(WRT::WrtBrowserContainer* oldPage, WRT::WrtBrowserContainer* newPage) {
-
- Q_UNUSED(oldPage)
- updateWebPage(newPage);
-
- // Set new page zoom info
- changeContentViewZoomInfo(newPage);
-}
-
-
-void ChromeView::changeContentViewZoomInfo(WRT::WrtBrowserContainer* newPage){
-
- if(m_viewController) {
- WebContentView * cv = static_cast<WebContentView *>(m_viewController->getView("webView"));
-
- // Copy the new page zoom info into cv
- cv->webView()->setPageZoomMetaData(newPage->pageZoomMetaData());
-
- if (cv->webView()->isUserScalable()) {
- cv->webView()->setZoomFactor(newPage->mainFrame()->zoomFactor());
- }
- else {
- // Need to call setPageZoomFactor instead of setZoomFactor because setZoomFactor
- // will not do anything is user-scalable is false. But we need to
- // ensure that the correct zoom factor is applied as there is a possibility
- // that we might have been on another page earlier
- cv->webView()->setPageZoomFactor(newPage->mainFrame()->zoomFactor());
-
- }
- }
-}
-
-// TODO: INVESTIGATE: Is this needed anymore since we handle pageChanged now
-void ChromeView::setViewofCurrentPage() {
- updateWebPage(WebPageController::getSingleton()->currentPage());
-}
-
-
-QString ChromeView::getChromeBaseDir() {
- QString chromeBaseDir = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("ChromeBaseDirectory");
- return chromeBaseDir;
-}
-
-QString ChromeView::getChromePath() {
-
- QString chromeFile = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("StartUpChrome");
- QString baseDir = getChromeBaseDir();
- QString chromePath = baseDir + chromeFile;
- qDebug() << chromePath;
- return chromePath;
-}
-
-void ChromeView::showSplashScreen() {
-
- QString splashImage = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("SplashImage");
- QString baseDir = getChromeBaseDir();
- QString imagePath = baseDir + splashImage;
-
- if(!imagePath.isNull()) {
- m_splashScreen = new QLabel(parentWidget());
- m_splashScreen->setStyleSheet("background-color: #000");
- m_splashScreen->setPixmap(QPixmap(imagePath));
- if(m_splashScreen->pixmap()->isNull()) {
- qDebug() << "ChromeView::chromeLoaded: ERROR splashscreen creation failed. " << imagePath;
- }
- else {
- m_splashScreen->show();
- }
- }
-}