diff --git a/assets/translations/en.json b/assets/translations/en.json index 298f2aed1..8825a766d 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -693,6 +693,7 @@ "inspector": { "edit-title": "Editing widget", "add-title": "Add widget to {lane}", + "add-instance-title": "Add {widget} widget to {lane}", "move-to-lane": "Move to {lane}" }, "detail": { diff --git a/src/shell/bar/widgets/clock_widget.cpp b/src/shell/bar/widgets/clock_widget.cpp index 1aacddbaf..780676dfc 100644 --- a/src/shell/bar/widgets/clock_widget.cpp +++ b/src/shell/bar/widgets/clock_widget.cpp @@ -146,6 +146,9 @@ void ClockWidget::doLayout(Renderer& renderer, float containerWidth, float conta renderer.measureText(m_lastPrimaryText, primaryFontSize, true, 0.0f, 1, TextAlign::Start); const auto secondaryMetrics = renderer.measureText(m_lastSecondaryText, secondaryFontSize, false, 0.0f, 1, TextAlign::Start); + const float primaryInkWidth = std::max(0.0f, primaryMetrics.inkRight - primaryMetrics.inkLeft); + const float secondaryInkWidth = std::max(0.0f, secondaryMetrics.inkRight - secondaryMetrics.inkLeft); + width = std::max({width, primaryInkWidth, secondaryInkWidth}); const float centerX = width * 0.5f; const float primaryInkCenterX = (primaryMetrics.inkLeft + primaryMetrics.inkRight) * 0.5f; const float secondaryInkCenterX = (secondaryMetrics.inkLeft + secondaryMetrics.inkRight) * 0.5f; diff --git a/src/shell/settings/widget_add_popup.cpp b/src/shell/settings/widget_add_popup.cpp index 9c686c61f..d9861bc18 100644 --- a/src/shell/settings/widget_add_popup.cpp +++ b/src/shell/settings/widget_add_popup.cpp @@ -388,9 +388,12 @@ namespace settings { header->setGap(Style::spaceSm * m_scale); m_headerRow = header.get(); - header->addChild(makeLabel(i18n::tr("settings.entities.widget.inspector.add-title", "lane", - laneLabel(m_lanePath.empty() ? "" : m_lanePath.back())), - Style::fontSizeBody * m_scale, colorSpecFromRole(ColorRole::OnSurface), true)); + const std::string lane = laneLabel(m_lanePath.empty() ? "" : m_lanePath.back()); + const std::string title = + m_createFormVisible + ? i18n::tr("settings.entities.widget.inspector.add-instance-title", "widget", m_createLabel, "lane", lane) + : i18n::tr("settings.entities.widget.inspector.add-title", "lane", lane); + header->addChild(makeLabel(title, Style::fontSizeBody * m_scale, colorSpecFromRole(ColorRole::OnSurface), true)); auto spacer = std::make_unique(); spacer->setFlexGrow(1.0f); @@ -420,12 +423,12 @@ namespace settings { auto closeBtn = std::make_unique