ui: hide news widget if no news are available (#1160)
This commit is contained in:
@@ -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(""));
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user