diff --git a/launcher/ui/themes/CatPainter.cpp b/launcher/ui/themes/CatPainter.cpp
index 7c152fdc9..5e37d3abc 100644
--- a/launcher/ui/themes/CatPainter.cpp
+++ b/launcher/ui/themes/CatPainter.cpp
@@ -57,10 +57,16 @@ void CatPainter::paint(QPainter* painter, const QRect& viewport)
widWidth = frame.width();
if (frame.height() < widHeight)
widHeight = frame.height();
+ } else if (fit == "cover") {
+ aspectMode = Qt::KeepAspectRatioByExpanding;
}
auto pixmap = frame.scaled(widWidth, widHeight, aspectMode, Qt::SmoothTransformation);
QRect rectOfPixmap = pixmap.rect();
- rectOfPixmap.moveBottomRight(viewport.bottomRight());
+ if (fit == "cover") {
+ rectOfPixmap.moveCenter(viewport.center());
+ } else {
+ rectOfPixmap.moveBottomRight(viewport.bottomRight());
+ }
painter->drawPixmap(rectOfPixmap.topLeft(), pixmap);
painter->setOpacity(1.0);
};
diff --git a/launcher/ui/widgets/AppearanceWidget.cpp b/launcher/ui/widgets/AppearanceWidget.cpp
index d93a34657..0364a8d81 100644
--- a/launcher/ui/widgets/AppearanceWidget.cpp
+++ b/launcher/ui/widgets/AppearanceWidget.cpp
@@ -98,7 +98,7 @@ void AppearanceWidget::applySettings()
settings->set("ConsoleFontSize", m_ui->fontSizeBox->value());
settings->set("CatOpacity", m_ui->catOpacitySlider->value());
auto catFit = m_ui->catFitComboBox->currentIndex();
- settings->set("CatFit", catFit == 0 ? "fit" : catFit == 1 ? "fill" : "strech");
+ settings->set("CatFit", catFit == 0 ? "fit" : catFit == 1 ? "fill" : catFit == 2 ? "cover" : "strech");
applySnow(m_ui->snowCheckBox->isChecked());
}
@@ -121,7 +121,7 @@ void AppearanceWidget::loadSettings()
m_ui->catOpacitySlider->setValue(settings->get("CatOpacity").toInt());
auto catFit = settings->get("CatFit").toString();
- m_ui->catFitComboBox->setCurrentIndex(catFit == "fit" ? 0 : catFit == "fill" ? 1 : 2);
+ m_ui->catFitComboBox->setCurrentIndex(catFit == "fit" ? 0 : catFit == "fill" ? 1 : catFit == "cover" ? 2 : 3);
}
void AppearanceWidget::retranslateUi()
diff --git a/launcher/ui/widgets/AppearanceWidget.ui b/launcher/ui/widgets/AppearanceWidget.ui
index a9a5e234e..3f9944b09 100644
--- a/launcher/ui/widgets/AppearanceWidget.ui
+++ b/launcher/ui/widgets/AppearanceWidget.ui
@@ -372,6 +372,11 @@
-
+ Cover
+
+
+ -
+
Stretch