diff --git a/bin/app/data/gui/startscreen/startscreen.css b/bin/app/data/gui/startscreen/startscreen.css index 3ee9789c..523726ff 100644 --- a/bin/app/data/gui/startscreen/startscreen.css +++ b/bin/app/data/gui/startscreen/startscreen.css @@ -49,6 +49,7 @@ color: black; font-size: 12px; font-weight: bold; + min-width: 200px; } #textField { diff --git a/src/lib_gui/qt/element/dialog/QtNewsWidget.cpp b/src/lib_gui/qt/element/dialog/QtNewsWidget.cpp index 5535e733..1cc99c5e 100644 --- a/src/lib_gui/qt/element/dialog/QtNewsWidget.cpp +++ b/src/lib_gui/qt/element/dialog/QtNewsWidget.cpp @@ -70,7 +70,7 @@ void QtNewsWidget::updateNews() resetFlags(); ApplicationSettings* appSettings = ApplicationSettings::getInstance().get(); - std::string newsRaw = appSettings->getUpdateNews(); + const std::string newsRaw = appSettings->getUpdateNews(); if (!newsRaw.size()) { setNews(QLatin1String("")); diff --git a/src/lib_gui/qt/window/QtStartScreen.cpp b/src/lib_gui/qt/window/QtStartScreen.cpp index 9d4bd827..92382b1b 100644 --- a/src/lib_gui/qt/window/QtStartScreen.cpp +++ b/src/lib_gui/qt/window/QtStartScreen.cpp @@ -164,15 +164,15 @@ void QtStartScreen::updateButtons() } i++; } - setStyleSheet(utility::getStyleSheet( - ResourcePaths::getGuiDirectoryPath().concatenate(L"startscreen/startscreen.css")) + setStyleSheet(utility::getStyleSheet(ResourcePaths::getGuiDirectoryPath().concatenate( + L"startscreen/startscreen.css")) .c_str()); } void QtStartScreen::setupStartScreen() { - setStyleSheet(utility::getStyleSheet( - ResourcePaths::getGuiDirectoryPath().concatenate(L"startscreen/startscreen.css")) + setStyleSheet(utility::getStyleSheet(ResourcePaths::getGuiDirectoryPath().concatenate( + L"startscreen/startscreen.css")) .c_str()); addLogo(); @@ -230,8 +230,21 @@ void QtStartScreen::setupStartScreen() QtNewsWidget* newsWidget = new QtNewsWidget(this); col->addWidget(newsWidget); - connect( - checker, &QtUpdateCheckerWidget::updateReceived, newsWidget, &QtNewsWidget::updateNews); + std::function updateNews = [newsHeader, newsWidget]() { + const bool newsAvailable = + ApplicationSettings::getInstance()->getAutomaticUpdateCheck() && + !ApplicationSettings::getInstance()->getUpdateNews().empty(); + newsHeader->setVisible(newsAvailable); + newsWidget->setVisible(newsAvailable); + if (newsAvailable) + { + newsWidget->updateNews(); + } + }; + + updateNews(); + + QObject::connect(checker, &QtUpdateCheckerWidget::updateReceived, updateNews); } col->addSpacing(35); @@ -274,7 +287,8 @@ void QtStartScreen::setupStartScreen() button->setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac button->setIcon(m_projectIcon); button->setIconSize(QSize(30, 30)); - button->setMinimumSize(button->fontMetrics().boundingRect(button->text()).width() + 45, 40); + button->setMinimumSize( + button->fontMetrics().boundingRect(button->text()).width() + 45, 40); button->setObjectName(QStringLiteral("recentButtonMissing")); button->minimumSizeHint(); // force font loading m_recentProjectsButtons.push_back(button);