summaryrefslogtreecommitdiff
path: root/lxqt-base/lxqt-config
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-30 03:41:13 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-30 03:41:13 +0100
commit9ba29c9ada954c7ef80401b59bf091dc2c3698f0 (patch)
tree9ff9d9563518dbacb1edd7f6d52ee97f4c35e30f /lxqt-base/lxqt-config
parent3b7b8e209e44c2e2d323361e0775d3a9142c607e (diff)
lxqt-base/lxqt-meta : use qt5ct && qt6ct for theming, instead of lxqt-qtplugin
Diffstat (limited to 'lxqt-base/lxqt-config')
-rw-r--r--lxqt-base/lxqt-config/Manifest1
-rw-r--r--lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch83
-rw-r--r--lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild72
3 files changed, 156 insertions, 0 deletions
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 <QMessageBox>
+ #include <QGuiApplication>
+
+-#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, &GTKConfig::initControls);
+- QObject::connect(GTKPage, &GTKConfig::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
+}