diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt index c3c898551..56580b38c 100644 --- a/launcher/CMakeLists.txt +++ b/launcher/CMakeLists.txt @@ -1022,6 +1022,7 @@ SET(LAUNCHER_SOURCES ui/pages/global/MinecraftPage.h ui/pages/global/LauncherPage.cpp ui/pages/global/LauncherPage.h + ui/pages/global/AppearancePage.cpp ui/pages/global/AppearancePage.h ui/pages/global/ProxyPage.cpp ui/pages/global/ProxyPage.h diff --git a/launcher/ui/pages/global/AppearancePage.cpp b/launcher/ui/pages/global/AppearancePage.cpp new file mode 100644 index 000000000..ce0d1ce9b --- /dev/null +++ b/launcher/ui/pages/global/AppearancePage.cpp @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: GPL-3.0-only +/* + * Freesm Launcher - Minecraft Launcher + * Copyright (C) 2026 so5iso4ka + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "AppearancePage.h" + +#include + +AppearancePage::AppearancePage(QWidget* parent) : QWidget(parent), m_widget(new AppearanceWidget(false, this)) +{ + auto layout = new QVBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); + + auto scrollArea = new QScrollArea(this); + scrollArea->setWidgetResizable(true); + scrollArea->setWidget(m_widget); + + layout->addWidget(scrollArea); + + if (const auto widgetLayout = qobject_cast(m_widget->layout())) { + widgetLayout->addStretch(); + } +} + +bool AppearancePage::apply() +{ + m_widget->applySettings(); + return true; +} + +void AppearancePage::retranslate() +{ + m_widget->retranslateUi(); +} diff --git a/launcher/ui/pages/global/AppearancePage.h b/launcher/ui/pages/global/AppearancePage.h index 2220db2cd..c76e648fb 100644 --- a/launcher/ui/pages/global/AppearancePage.h +++ b/launcher/ui/pages/global/AppearancePage.h @@ -45,22 +45,21 @@ class QTextCharFormat; class SettingsObject; -class AppearancePage : public AppearanceWidget, public BasePage { +class AppearancePage : public QWidget, public BasePage { Q_OBJECT public: - explicit AppearancePage(QWidget* parent = nullptr) : AppearanceWidget(false, parent) { layout()->setContentsMargins(0, 0, 6, 0); } + explicit AppearancePage(QWidget* parent = nullptr); QString displayName() const override { return tr("Appearance"); } QIcon icon() const override { return QIcon::fromTheme("appearance"); } QString id() const override { return "appearance-settings"; } QString helpPage() const override { return "Launcher-settings"; } - bool apply() override - { - applySettings(); - return true; - } + bool apply() override; - void retranslate() override { retranslateUi(); } + void retranslate() override; + +private: + AppearanceWidget* m_widget; }; diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui index bb8a180a9..cd59becfc 100644 --- a/launcher/ui/pages/global/LauncherPage.ui +++ b/launcher/ui/pages/global/LauncherPage.ui @@ -454,8 +454,7 @@ - Suggest to update an existing instance during modpack installation - + Suggest to update an existing instance during modpack installation diff --git a/launcher/ui/themes/FreesmTheme.cpp b/launcher/ui/themes/FreesmTheme.cpp index 8ef781358..65f001000 100644 --- a/launcher/ui/themes/FreesmTheme.cpp +++ b/launcher/ui/themes/FreesmTheme.cpp @@ -138,7 +138,8 @@ QString FreesmTheme::appStyleSheet() "rgba(150, 150, 150);}QScrollBar:vertical, QScrollBar:horizontal {background: none;border: none;}QScrollBar::add-line, " "QScrollBar::sub-line {background: none;border: none;width: 0px;height: 0px;}QScrollBar::add-page, QScrollBar::sub-page " "{background: none;}QScrollBar::up-arrow, QScrollBar::down-arrow,QScrollBar::left-arrow, QScrollBar::right-arrow {image: " - "none;width: 0px;height: 0px;}QAbstractScrollArea {background-color: transparent;}QProgressBar {text-align: " + "none;width: 0px;height: 0px;}QScrollBar::handle {min-height: 8px;min-width: 8px;}QAbstractScrollArea {background-color: " + "transparent;}QProgressBar {text-align: " "right;background-color: " "qlineargradient(spread:reflect, x1:0.5, y1:0.5, x2:0.5, y2:1, stop:0.119403 rgba(255, 255, 255, 20), stop:0.273632 rgba(0, 0, " "0, 0));border-radius: 1px;margin-top: 14px;margin-bottom: 14px;margin-right: 30px;}QProgressBar::chunk {background-color: " diff --git a/launcher/ui/widgets/AppearanceWidget.ui b/launcher/ui/widgets/AppearanceWidget.ui index 3f9944b09..b65713187 100644 --- a/launcher/ui/widgets/AppearanceWidget.ui +++ b/launcher/ui/widgets/AppearanceWidget.ui @@ -600,7 +600,7 @@ - + 0 0