ui: hide news widget if no news are available (#1160)

This commit is contained in:
Malte Langkabel
2021-03-09 07:48:16 +01:00
committed by GitHub
parent 804e564c8d
commit 5932e9f1e8
3 changed files with 23 additions and 8 deletions
@@ -49,6 +49,7 @@
color: black;
font-size: 12px;
font-weight: bold;
min-width: 200px;
}
#textField {
@@ -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(""));
+21 -7
View File
@@ -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<void()> 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);