public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: lxqt-base/lxqt-config/, lxqt-base/lxqt-config/files/
Date: Sun, 14 Jun 2020 22:48:57 +0000 (UTC)	[thread overview]
Message-ID: <1592174916.d71c37a5496c754ead52d85f64c6a8b922151923.asturm@gentoo> (raw)

commit:     d71c37a5496c754ead52d85f64c6a8b922151923
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  7 17:19:03 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 14 22:48:36 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d71c37a5

lxqt-base/lxqt-config: add version 0.15.0-r1

Backport a change allowing for users to change the window colour
of themes via 'lxqt-config-appearance'.

Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../lxqt-config-0.15.0-window-colour-option.patch  | 333 +++++++++++++++++++++
 lxqt-base/lxqt-config/lxqt-config-0.15.0-r1.ebuild |  76 +++++
 2 files changed, 409 insertions(+)

diff --git a/lxqt-base/lxqt-config/files/lxqt-config-0.15.0-window-colour-option.patch b/lxqt-base/lxqt-config/files/lxqt-config-0.15.0-window-colour-option.patch
new file mode 100644
index 00000000000..813cd7e4bca
--- /dev/null
+++ b/lxqt-base/lxqt-config/files/lxqt-config-0.15.0-window-colour-option.patch
@@ -0,0 +1,333 @@
+From 0edcc373698189f27ac24fb0985570ef2ecd8b0d Mon Sep 17 00:00:00 2001
+From: Tsu Jan <tsujan2000@gmail.com>
+Date: Sun, 31 May 2020 18:04:48 +0430
+Subject: [PATCH 1/4] Added an option to change window color
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It is in LXQt Appearance Configuration → Widget Style.
+
+Note: For the option to work, lxqt-qtplugin 0.15.1 should be installed; otherwise, it will have no effect.
+---
+ lxqt-config-appearance/CMakeLists.txt  |  1 +
+ lxqt-config-appearance/colorLabel.cpp  | 65 ++++++++++++++++++++++++++
+ lxqt-config-appearance/colorLabel.h    | 53 +++++++++++++++++++++
+ lxqt-config-appearance/styleconfig.cpp | 16 ++++++-
+ lxqt-config-appearance/styleconfig.ui  | 34 ++++++++++++++
+ 5 files changed, 168 insertions(+), 1 deletion(-)
+ create mode 100644 lxqt-config-appearance/colorLabel.cpp
+ create mode 100644 lxqt-config-appearance/colorLabel.h
+
+diff --git a/lxqt-config-appearance/CMakeLists.txt b/lxqt-config-appearance/CMakeLists.txt
+index 184a8309..1ec118b7 100644
+--- a/lxqt-config-appearance/CMakeLists.txt
++++ b/lxqt-config-appearance/CMakeLists.txt
+@@ -27,6 +27,7 @@ set(CPP_FILES
+     styleconfig.cpp
+     fontconfigfile.cpp
+     configothertoolkits.cpp
++    colorLabel.cpp
+ )
+ 
+ set(UI_FILES
+diff --git a/lxqt-config-appearance/colorLabel.cpp b/lxqt-config-appearance/colorLabel.cpp
+new file mode 100644
+index 00000000..a3e22df0
+--- /dev/null
++++ b/lxqt-config-appearance/colorLabel.cpp
+@@ -0,0 +1,65 @@
++/* BEGIN_COMMON_COPYRIGHT_HEADER
++ * (c)LGPL2+
++ *
++ * LXQt - a lightweight, Qt based, desktop toolset
++ * https://lxqt.org/
++ *
++ * Copyright: 2020 LXQt team
++ *
++ * This program or library is free software; you can redistribute it
++ * and/or modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ * Lesser General Public License for more details.
++
++ * You should have received a copy of the GNU Lesser General
++ * Public License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301 USA
++ *
++ * END_COMMON_COPYRIGHT_HEADER */
++
++#include "colorLabel.h"
++#include <QColorDialog>
++
++ColorLabel::ColorLabel(QWidget* parent, Qt::WindowFlags f)
++    : QLabel(parent, f)
++{
++    setFrameStyle(QFrame::Panel | QFrame::Sunken);
++    setFixedWidth(100);
++    setToolTip(tr("Click to change color."));
++}
++
++ColorLabel::~ColorLabel() {}
++
++void ColorLabel::setColor(const QColor& color)
++{
++    if (!color.isValid())
++        return;
++    stylesheetColor_ = color;
++    // ignore translucency
++    stylesheetColor_.setAlpha(255);
++    setStyleSheet(QStringLiteral("QLabel{background-color: rgb(%1, %2, %3);}")
++                  .arg(color.red()).arg(color.green()).arg(color.blue()));
++}
++
++QColor ColorLabel::getColor() const
++{
++    if (stylesheetColor_.isValid())
++        return stylesheetColor_; // the window color may be different from the stylesheet color
++    return palette().color(QPalette::Window);
++}
++
++void ColorLabel::mousePressEvent(QMouseEvent* /*event*/) {
++    QColor prevColor = getColor();
++    QColor color = QColorDialog::getColor(prevColor, window(), tr("Select Color"));
++    if (color.isValid() && color != prevColor)
++    {
++        emit colorChanged();
++        setColor(color);
++    }
++}
+diff --git a/lxqt-config-appearance/colorLabel.h b/lxqt-config-appearance/colorLabel.h
+new file mode 100644
+index 00000000..1ea1b62c
+--- /dev/null
++++ b/lxqt-config-appearance/colorLabel.h
+@@ -0,0 +1,53 @@
++/* BEGIN_COMMON_COPYRIGHT_HEADER
++ * (c)LGPL2+
++ *
++ * LXQt - a lightweight, Qt based, desktop toolset
++ * https://lxqt.org/
++ *
++ * Copyright: 2020 LXQt team
++ *
++ * This program or library is free software; you can redistribute it
++ * and/or modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ * Lesser General Public License for more details.
++
++ * You should have received a copy of the GNU Lesser General
++ * Public License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301 USA
++ *
++ * END_COMMON_COPYRIGHT_HEADER */
++
++#ifndef COLORLABEL_H
++#define COLORLABEL_H
++
++#include <QLabel>
++#include <QWidget>
++#include <Qt>
++
++class ColorLabel : public QLabel {
++    Q_OBJECT
++
++public:
++    explicit ColorLabel(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
++    ~ColorLabel();
++
++    void setColor(const QColor& color);
++    QColor getColor() const;
++
++signals:
++    void colorChanged();
++
++protected:
++    void mousePressEvent(QMouseEvent* event);
++
++private:
++    QColor stylesheetColor_;
++};
++
++#endif // COLORLABEL_H
+diff --git a/lxqt-config-appearance/styleconfig.cpp b/lxqt-config-appearance/styleconfig.cpp
+index 73f336e7..ce10aff1 100644
+--- a/lxqt-config-appearance/styleconfig.cpp
++++ b/lxqt-config-appearance/styleconfig.cpp
+@@ -61,6 +61,7 @@ StyleConfig::StyleConfig(LXQt::Settings* settings, QSettings* qtSettings, LXQt::
+     connect(ui->gtk3ComboBox, QOverload<int>::of(&QComboBox::activated), this, &StyleConfig::settingsChanged);
+     connect(ui->toolButtonStyle, QOverload<int>::of(&QComboBox::activated), this, &StyleConfig::settingsChanged);
+     connect(ui->singleClickActivate, &QAbstractButton::clicked, this, &StyleConfig::settingsChanged);
++    connect(ui->winColorLabel, &ColorLabel::colorChanged, this, &StyleConfig::settingsChanged);
+ }
+ 
+ 
+@@ -97,7 +98,6 @@ void StyleConfig::initControls()
+     // activate item views with single click
+     ui->singleClickActivate->setChecked( mSettings->value(QStringLiteral("single_click_activate"), false).toBool());
+ 
+-
+     // Fill Qt themes
+     ui->qtComboBox->clear();
+     ui->qtComboBox->addItems(qtThemes);
+@@ -108,8 +108,16 @@ void StyleConfig::initControls()
+ 
+     ui->gtk2ComboBox->setCurrentText(mConfigOtherToolKits->getGTKThemeFromRCFile(QStringLiteral("2.0")));
+     ui->gtk3ComboBox->setCurrentText(mConfigOtherToolKits->getGTKThemeFromRCFile(QStringLiteral("3.0")));
++
+     mSettings->beginGroup(QLatin1String("Qt"));
++    // Qt style
+     ui->qtComboBox->setCurrentText(mSettings->value(QStringLiteral("style")).toString());
++    // Qt window color
++    QColor color;
++    color.setNamedColor(mSettings->value(QStringLiteral("window_color")).toString());
++    if (!color.isValid())
++        color = QGuiApplication::palette().color(QPalette::Active,QPalette::Window);
++    ui->winColorLabel->setColor(color);
+     mSettings->endGroup();
+ 
+     update();
+@@ -122,6 +130,12 @@ void StyleConfig::applyStyle()
+     mQtSettings->beginGroup(QLatin1String("Qt"));
+     if(mQtSettings->value(QStringLiteral("style")).toString() != themeName)
+         mQtSettings->setValue(QStringLiteral("style"), themeName);
++    // Qt window color
++    QColor winColor = ui->winColorLabel->getColor();
++    QColor oldWinColor;
++    oldWinColor.setNamedColor(mQtSettings->value(QStringLiteral("window_color")).toString());
++    if (winColor != oldWinColor)
++        mQtSettings->setValue(QStringLiteral("window_color"), winColor.name());
+     mQtSettings->endGroup();
+ 
+     // single click setting
+diff --git a/lxqt-config-appearance/styleconfig.ui b/lxqt-config-appearance/styleconfig.ui
+index 15394024..6edbe470 100644
+--- a/lxqt-config-appearance/styleconfig.ui
++++ b/lxqt-config-appearance/styleconfig.ui
+@@ -146,8 +146,42 @@ Make sure 'xsettingsd' is installed to help GTK applications apply themes on the
+      </property>
+     </widget>
+    </item>
++   <item row="2" column="0" colspan="2">
++    <layout class="QFormLayout" name="formLayout_3">
++     <property name="horizontalSpacing">
++      <number>5</number>
++     </property>
++     <property name="topMargin">
++      <number>10</number>
++     </property>
++     <property name="bottomMargin">
++      <number>10</number>
++     </property>
++     <item row="0" column="0">
++      <widget class="QLabel" name="label_6">
++       <property name="text">
++        <string>Window Color:</string>
++       </property>
++      </widget>
++     </item>
++     <item row="0" column="1">
++      <widget class="ColorLabel" name="winColorLabel">
++       <property name="text">
++        <string/>
++       </property>
++      </widget>
++     </item>
++    </layout>
++   </item>
+   </layout>
+  </widget>
++ <customwidgets>
++  <customwidget>
++   <class>ColorLabel</class>
++   <extends>QLabel</extends>
++   <header>colorLabel.h</header>
++  </customwidget>
++ </customwidgets>
+  <resources/>
+  <connections/>
+ </ui>
+
+From 99ecfabccceb827256b7ef32c75c6aa6434d2d9f Mon Sep 17 00:00:00 2001
+From: Tsu Jan <tsujan2000@gmail.com>
+Date: Mon, 1 Jun 2020 23:46:49 +0430
+Subject: [PATCH 2/4] Added a distinguishable border to the color label
+
+---
+ lxqt-config-appearance/colorLabel.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/lxqt-config-appearance/colorLabel.cpp b/lxqt-config-appearance/colorLabel.cpp
+index a3e22df0..c3b69d8d 100644
+--- a/lxqt-config-appearance/colorLabel.cpp
++++ b/lxqt-config-appearance/colorLabel.cpp
+@@ -43,8 +43,10 @@ void ColorLabel::setColor(const QColor& color)
+     stylesheetColor_ = color;
+     // ignore translucency
+     stylesheetColor_.setAlpha(255);
+-    setStyleSheet(QStringLiteral("QLabel{background-color: rgb(%1, %2, %3);}")
+-                  .arg(color.red()).arg(color.green()).arg(color.blue()));
++    QString borderColor = qGray(stylesheetColor_.rgb()) < 255 / 2
++                            ? QStringLiteral("white") : QStringLiteral("black");
++    setStyleSheet(QStringLiteral("QLabel{background-color: rgb(%1, %2, %3); border: 1px solid %4;}}")
++                  .arg(color.red()).arg(color.green()).arg(color.blue()).arg(borderColor));
+ }
+ 
+ QColor ColorLabel::getColor() const
+
+From 37f55579da91bfd78310a0e2c28c8551ad484414 Mon Sep 17 00:00:00 2001
+From: Tsu Jan <tsujan2000@gmail.com>
+Date: Thu, 4 Jun 2020 15:47:22 +0430
+Subject: [PATCH 3/4] Removed an extra curly bracket in stylesheet
+
+---
+ lxqt-config-appearance/colorLabel.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lxqt-config-appearance/colorLabel.cpp b/lxqt-config-appearance/colorLabel.cpp
+index c3b69d8d..de730baf 100644
+--- a/lxqt-config-appearance/colorLabel.cpp
++++ b/lxqt-config-appearance/colorLabel.cpp
+@@ -45,7 +45,7 @@ void ColorLabel::setColor(const QColor& color)
+     stylesheetColor_.setAlpha(255);
+     QString borderColor = qGray(stylesheetColor_.rgb()) < 255 / 2
+                             ? QStringLiteral("white") : QStringLiteral("black");
+-    setStyleSheet(QStringLiteral("QLabel{background-color: rgb(%1, %2, %3); border: 1px solid %4;}}")
++    setStyleSheet(QStringLiteral("QLabel{background-color: rgb(%1, %2, %3); border: 1px solid %4;}")
+                   .arg(color.red()).arg(color.green()).arg(color.blue()).arg(borderColor));
+ }
+ 
+
+From 30cf8267ce4af08f9953b169f9d8109fb9437f7d Mon Sep 17 00:00:00 2001
+From: Tsu Jan <tsujan2000@gmail.com>
+Date: Sat, 6 Jun 2020 14:15:53 +0430
+Subject: [PATCH 4/4] A small improvement
+
+---
+ lxqt-config-appearance/colorLabel.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lxqt-config-appearance/colorLabel.cpp b/lxqt-config-appearance/colorLabel.cpp
+index de730baf..98d01729 100644
+--- a/lxqt-config-appearance/colorLabel.cpp
++++ b/lxqt-config-appearance/colorLabel.cpp
+@@ -46,7 +46,7 @@ void ColorLabel::setColor(const QColor& color)
+     QString borderColor = qGray(stylesheetColor_.rgb()) < 255 / 2
+                             ? QStringLiteral("white") : QStringLiteral("black");
+     setStyleSheet(QStringLiteral("QLabel{background-color: rgb(%1, %2, %3); border: 1px solid %4;}")
+-                  .arg(color.red()).arg(color.green()).arg(color.blue()).arg(borderColor));
++                  .arg(QString::number(color.red()), QString::number(color.green()), QString::number(color.blue()), borderColor));
+ }
+ 
+ QColor ColorLabel::getColor() const

diff --git a/lxqt-base/lxqt-config/lxqt-config-0.15.0-r1.ebuild b/lxqt-base/lxqt-config/lxqt-config-0.15.0-r1.ebuild
new file mode 100644
index 00000000000..af99f9d0116
--- /dev/null
+++ b/lxqt-base/lxqt-config/lxqt-config-0.15.0-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake xdg-utils
+
+DESCRIPTION="LXQt system configuration control center"
+HOMEPAGE="https://lxqt.github.io/"
+
+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 ~arm ~arm64 ~ppc64 ~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/linguist-tools:5
+	>=dev-util/lxqt-build-tools-0.7.0
+"
+DEPEND="
+	>=dev-libs/libqtxdg-3.3.1
+	dev-qt/qtcore:5
+	dev-qt/qtdbus:5
+	dev-qt/qtgui:5
+	dev-qt/qtwidgets:5
+	dev-qt/qtx11extras:5
+	dev-qt/qtxml:5
+	kde-frameworks/kwindowsystem:5
+	=lxqt-base/liblxqt-$(ver_cut 1-2)*
+	sys-libs/zlib:=
+	x11-apps/setxkbmap
+	x11-libs/libxcb:=
+	x11-libs/libX11
+	x11-libs/libXcursor
+	x11-libs/libXfixes
+	monitor? ( kde-plasma/libkscreen:5= )
+	touchpad? (
+		virtual/libudev
+		x11-drivers/xf86-input-libinput
+		x11-libs/libXext
+		x11-libs/libXi
+	)
+"
+RDEPEND="${DEPEND}
+	!lxqt-base/lxqt-l10n
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0.15.0-window-colour-option.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
+}


             reply	other threads:[~2020-06-14 22:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-14 22:48 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-18 14:53 [gentoo-commits] repo/gentoo:master commit in: lxqt-base/lxqt-config/, lxqt-base/lxqt-config/files/ Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1592174916.d71c37a5496c754ead52d85f64c6a8b922151923.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox