From 9ba29c9ada954c7ef80401b59bf091dc2c3698f0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 30 Sep 2024 03:41:13 +0100 Subject: lxqt-base/lxqt-meta : use qt5ct && qt6ct for theming, instead of lxqt-qtplugin --- lxqt-base/lxqt-config/Manifest | 1 + .../lxqt-config/files/lxqt-config-qt5ct.patch | 83 ++++++++++++++++++++++ lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild | 72 +++++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 lxqt-base/lxqt-config/Manifest create mode 100644 lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch create mode 100644 lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild (limited to 'lxqt-base/lxqt-config') diff --git a/lxqt-base/lxqt-config/Manifest b/lxqt-base/lxqt-config/Manifest new file mode 100644 index 00000000..5d8d5a46 --- /dev/null +++ b/lxqt-base/lxqt-config/Manifest @@ -0,0 +1 @@ +DIST lxqt-config-2.0.0.tar.xz 380552 BLAKE2B 5b6dc5f1323609b487608efabcd3b3a2b2d14ee0374a9959b9ee1627146232ff8d91ea244b243a342217f06613424e5e0dca0b89bfef99771dcf8018fccba2ea SHA512 dbb96a069fa0b73c5e7cb6ed26d99ddf838df363b3dba5c6f8ac3dde4ab316646c6bea6fd6d463d9ddc76c38ce8b75dbf1fadc7e56d4c548a54c6d53b494bce3 diff --git a/lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch b/lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch new file mode 100644 index 00000000..7b6dba8b --- /dev/null +++ b/lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch @@ -0,0 +1,83 @@ +diff '--color=auto' -Nur a/lxqt-config-appearance/main.cpp b/lxqt-config-appearance/main.cpp +--- a/lxqt-config-appearance/main.cpp 2024-04-17 12:00:51.000000000 +0100 ++++ b/lxqt-config-appearance/main.cpp 2024-09-30 03:31:04.883188155 +0100 +@@ -33,12 +33,8 @@ + #include + #include + +-#include "iconthemeconfig.h" + #include "lxqtthemeconfig.h" +-#include "styleconfig.h" +-#include "fontsconfig.h" + #include "configothertoolkits.h" +-#include "gtkconfig.h" + + #include "../liblxqt-config-cursor/selectwnd.h" + +@@ -69,24 +65,6 @@ + + QSettings& qtSettings = *settings; // use lxqt config file for Qt settings in Qt5. + +- /*** Widget Style ***/ +- StyleConfig* stylePage = new StyleConfig(settings, &qtSettings, dialog); +- dialog->addPage(stylePage, QObject::tr("Widget Style"), QStringList() << QStringLiteral("preferences-desktop-theme") << QStringLiteral("preferences-desktop")); +- QObject::connect(dialog, &LXQt::ConfigDialog::reset, stylePage, &StyleConfig::initControls); +- QObject::connect(stylePage, &StyleConfig::settingsChanged, dialog, [dialog] { +- dialog->enableButton(QDialogButtonBox::Apply, true); // enable Apply button when something is changed +- }); +- QObject::connect(stylePage, &StyleConfig::updateOtherSettings, configOtherToolKits, &ConfigOtherToolKits::setConfig); +- +- /*** Icon Theme ***/ +- IconThemeConfig* iconPage = new IconThemeConfig(settings, dialog); +- dialog->addPage(iconPage, QObject::tr("Icons Theme"), QStringList() << QStringLiteral("preferences-desktop-icons") << QStringLiteral("preferences-desktop")); +- QObject::connect(dialog, &LXQt::ConfigDialog::reset, iconPage, &IconThemeConfig::initControls); +- QObject::connect(iconPage, &IconThemeConfig::settingsChanged, dialog, [dialog] { +- dialog->enableButton(QDialogButtonBox::Apply, true); +- }); +- QObject::connect(iconPage, &IconThemeConfig::updateOtherSettings, configOtherToolKits, &ConfigOtherToolKits::setConfig); +- + /*** LXQt Theme ***/ + LXQtThemeConfig* themePage = new LXQtThemeConfig(settings, dialog); + dialog->addPage(themePage, QObject::tr("LXQt Theme"), QStringList() << QStringLiteral("preferences-desktop-color") << QStringLiteral("preferences-desktop")); +@@ -95,15 +73,6 @@ + dialog->enableButton(QDialogButtonBox::Apply, true); + }); + +- /*** Font ***/ +- FontsConfig* fontsPage = new FontsConfig(settings, &qtSettings, dialog); +- dialog->addPage(fontsPage, QObject::tr("Font"), QStringList() << QStringLiteral("preferences-desktop-font") << QStringLiteral("preferences-desktop")); +- QObject::connect(dialog, &LXQt::ConfigDialog::reset, fontsPage, &FontsConfig::initControls); +- QObject::connect(fontsPage, &FontsConfig::updateOtherSettings, configOtherToolKits, &ConfigOtherToolKits::setConfig); +- QObject::connect(fontsPage, &FontsConfig::settingsChanged, dialog, [dialog] { +- dialog->enableButton(QDialogButtonBox::Apply, true); +- }); +- + /*** Cursor Theme ***/ + SelectWnd* cursorPage = new SelectWnd(sessionSettings, dialog); + cursorPage->setCurrent(); +@@ -112,25 +81,13 @@ + dialog->enableButton(QDialogButtonBox::Apply, true); + }); + +- /*** GTK Theme ***/ +- GTKConfig* GTKPage = new GTKConfig(&mConfigAppearanceSettings, configOtherToolKits, dialog); +- dialog->addPage(GTKPage, QObject::tr("GTK Style"), QStringList() << QStringLiteral("gtk-preferences") << QStringLiteral("preferences-desktop")); +- QObject::connect(dialog, &LXQt::ConfigDialog::reset, GTKPage, >KConfig::initControls); +- QObject::connect(GTKPage, >KConfig::settingsChanged, dialog, [dialog] { +- dialog->enableButton(QDialogButtonBox::Apply, true); +- }); +- + // apply all changes on clicking Apply + QObject::connect(dialog, &LXQt::ConfigDialog::clicked, [=] (QDialogButtonBox::StandardButton btn) { + if (btn == QDialogButtonBox::Apply) + { + // FIXME: Update cursor style on Qt apps on wayland and GTK on X11. +- iconPage->applyIconTheme(); + themePage->applyLxqtTheme(); +- fontsPage->updateQtFont(); + cursorPage->applyCusorTheme(); +- GTKPage->applyGTKStyle(); +- stylePage->applyStyle(); // Cursor and font have to be set before style + // disable Apply button after changes are applied + dialog->enableButton(btn, false); + } diff --git a/lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild b/lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild new file mode 100644 index 00000000..6564120d --- /dev/null +++ b/lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="$(ver_cut 1-2)" + +inherit cmake xdg-utils + +DESCRIPTION="LXQt system configuration control center" +HOMEPAGE="https://lxqt-project.org/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/lxqt/${PN}.git" +else + SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="amd64 arm64 ~riscv ~x86" +fi + +LICENSE="GPL-2 GPL-2+ GPL-3 LGPL-2 LGPL-2+ LGPL-2.1+ WTFPL-2" +SLOT="0" +IUSE="+monitor +touchpad" + +BDEPEND=" + >=dev-qt/qttools-6.6:6[linguist] + >=dev-util/lxqt-build-tools-2.0.0 +" +DEPEND=" + >=dev-libs/libqtxdg-4.0.0 + >=dev-qt/qtbase-6.6:6[gui,widgets,xml] + >=dev-qt/qtsvg-6.6:6 + =lxqt-base/liblxqt-${MY_PV}*:= + =lxqt-base/lxqt-menu-data-${MY_PV}* + sys-libs/zlib:= + x11-apps/setxkbmap + x11-libs/libxcb:= + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXfixes + monitor? ( kde-plasma/libkscreen:6= ) + touchpad? ( + virtual/libudev:= + x11-drivers/xf86-input-libinput + x11-libs/libXi + ) +" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}"/"${PN}"-qt5ct.patch ) + +src_configure() { + local mycmakeargs=( + -DWITH_MONITOR=$(usex monitor) + -DWITH_TOUCHPAD=$(usex touchpad) + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + doman man/*.1 liblxqt-config-cursor/man/*.1 lxqt-config-appearance/man/*.1 +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} -- cgit v1.2.3