From d3235e0c3aed2f653cc41efbed4bd4856dc22545 Mon Sep 17 00:00:00 2001 From: Paddle Date: Mon, 30 Oct 2023 15:42:43 +0100 Subject: [PATCH] SplashScreen : Add "ShowSplasherMessages" parameter to disable labels from the splashscreen. --- src/Gui/MainWindow.cpp | 7 ++++++- src/Gui/Splashscreen.cpp | 8 ++++++++ src/Gui/Splashscreen.h | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 392ed9162a..b452dfd535 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -252,7 +252,7 @@ struct MainWindowP QMdiArea* mdiArea; QPointer activeView; QSignalMapper* windowMapper; - QSplashScreen* splashscreen; + SplashScreen* splashscreen; StatusBarObserver* status; bool whatsthis; QString whatstext; @@ -1830,6 +1830,11 @@ void MainWindow::startSplasher() // first search for an external image file if (hGrp->GetBool("ShowSplasher", true)) { d->splashscreen = new SplashScreen(this->splashImage()); + + if (!hGrp->GetBool("ShowSplasherMessages", true)) { + d->splashscreen->setShowMessages(false); + } + d->splashscreen->show(); #if QT_VERSION >= QT_VERSION_CHECK(5,14,0) d->screen = d->splashscreen->screen(); diff --git a/src/Gui/Splashscreen.cpp b/src/Gui/Splashscreen.cpp index 5878bcb3d6..82f66f4b11 100644 --- a/src/Gui/Splashscreen.cpp +++ b/src/Gui/Splashscreen.cpp @@ -250,6 +250,14 @@ void SplashScreen::drawContents ( QPainter * painter ) QSplashScreen::drawContents(painter); } +void SplashScreen::setShowMessages(bool on) +{ + messages->bErr = on; + messages->bMsg = on; + messages->bLog = on; + messages->bWrn = on; +} + // ------------------------------------------------------------------------------ AboutDialogFactory* AboutDialogFactory::factory = nullptr; diff --git a/src/Gui/Splashscreen.h b/src/Gui/Splashscreen.h index 527d837987..d967c7f99b 100644 --- a/src/Gui/Splashscreen.h +++ b/src/Gui/Splashscreen.h @@ -44,6 +44,8 @@ public: explicit SplashScreen( const QPixmap & pixmap = QPixmap ( ), Qt::WindowFlags f = Qt::WindowFlags() ); ~SplashScreen() override; + void setShowMessages(bool on); + protected: void drawContents ( QPainter * painter ) override;