Compare commits
No commits in common. "ubuntu/plucky" and "ubuntu/cosmic" have entirely different histories.
ubuntu/plu
...
ubuntu/cos
227
debian/changelog
vendored
227
debian/changelog
vendored
@ -1,230 +1,3 @@
|
|||||||
lxqt-config (2.1.1-0ubuntu2) plucky; urgency=medium
|
|
||||||
|
|
||||||
* Fix manpage installation.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 08 Feb 2025 01:28:05 -0600
|
|
||||||
|
|
||||||
lxqt-config (2.1.1-0ubuntu1) plucky; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 07 Feb 2025 14:34:41 -0600
|
|
||||||
|
|
||||||
lxqt-config (2.1.0-0ubuntu1) plucky; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
- Bump build dependencies.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 15 Nov 2024 15:32:32 -0600
|
|
||||||
|
|
||||||
lxqt-config (2.0.0-0ubuntu2) oracular; urgency=medium
|
|
||||||
|
|
||||||
* Fix libkscreen build dep package name.
|
|
||||||
|
|
||||||
-- Rik Mills <rikmills@kde.org> Tue, 27 Aug 2024 11:33:02 +0100
|
|
||||||
|
|
||||||
lxqt-config (2.0.0-0ubuntu1) oracular; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Update copyright file.
|
|
||||||
* Bump Standards-Version to 4.7.0, no changes necessary.
|
|
||||||
* Remove obsolete patches.
|
|
||||||
* Adjust build dependencies.
|
|
||||||
|
|
||||||
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 15 Aug 2024 16:41:23 -0500
|
|
||||||
|
|
||||||
lxqt-config (1.4.0-0ubuntu2) noble; urgency=medium
|
|
||||||
|
|
||||||
* Add two upstream patches to improve the user experience, especially around
|
|
||||||
monitor handling.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 22 Dec 2023 16:05:33 -0600
|
|
||||||
|
|
||||||
lxqt-config (1.4.0-0ubuntu1) noble; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bumped build dependency versions.
|
|
||||||
* Added lxqt-menu-data as a build dependency.
|
|
||||||
* Removee no-longer-existing files from lxqt-config.install.
|
|
||||||
* Updated lintian-overrides syntax.
|
|
||||||
* Removed obsolete '-Wl,--as-needed' linker flag.
|
|
||||||
* Created upstream/metadata file.
|
|
||||||
|
|
||||||
-- Aaron Rainbolt <arraybolt3@gmail.com> Sun, 12 Nov 2023 18:12:05 -0600
|
|
||||||
|
|
||||||
lxqt-config (1.3.0-0ubuntu1) mantic; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bump build dependencies.
|
|
||||||
* I guess we don't require root to build, do we?
|
|
||||||
* Bump Standards-version to 4.6.2, no changes needed.
|
|
||||||
* Fix the copyright years.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 11 Aug 2023 09:49:54 -0500
|
|
||||||
|
|
||||||
lxqt-config (1.2.0-0ubuntu1) lunar; urgency=medium
|
|
||||||
|
|
||||||
* New upstream version.
|
|
||||||
* Fix the watch file, for real this time.
|
|
||||||
* Lubuntuify the package slightly, to make debhelper happy.
|
|
||||||
* Bump Standards-version, no changes needed.
|
|
||||||
* Bump build dependencies in debian/control.
|
|
||||||
* Drop reverse-applicable patch.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 18 Nov 2022 17:09:36 -0600
|
|
||||||
|
|
||||||
lxqt-config (1.1.0-0ubuntu2) kinetic; urgency=medium
|
|
||||||
|
|
||||||
* Enhancements to the theme list.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 11 Jun 2022 14:22:35 -0400
|
|
||||||
|
|
||||||
lxqt-config (1.1.0-0ubuntu1) kinetic; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bump build dependencies.
|
|
||||||
* Remove old Breaks/Replaces since we're past the LTS.
|
|
||||||
* Add a new entry to the install file.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 01 Jun 2022 15:00:38 -0500
|
|
||||||
|
|
||||||
lxqt-config (0.17.1-0ubuntu1) impish; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release 0.17.1
|
|
||||||
* Update debian/control
|
|
||||||
- Bump Standards-Version to 4.5.1
|
|
||||||
- Use liblxqt0-dev 0.17.0
|
|
||||||
* Rename tag for lintian override
|
|
||||||
* Update debian/copyright
|
|
||||||
* Run wrap-and-sort
|
|
||||||
|
|
||||||
-- apt-ghetto <apt-ghetto@protonmail.com> Thu, 12 Aug 2021 17:03:12 +0200
|
|
||||||
|
|
||||||
lxqt-config (0.16.1-1ubuntu1) hirsute; urgency=medium
|
|
||||||
|
|
||||||
* New upstream version.
|
|
||||||
* Updated recommends.
|
|
||||||
* Bumped debhelper-compat requirement to 13.
|
|
||||||
* Fixed manpage errors about files existing in debian/tmp but not installed anywhere.
|
|
||||||
|
|
||||||
-- Raman Sarda <theloudspeaker@disroot.org> Sun, 21 Feb 2021 22:44:21 +0530
|
|
||||||
|
|
||||||
lxqt-config (0.16.1-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release. (Closes: #864482)
|
|
||||||
* debian/control: updated build-deps.
|
|
||||||
* debian/control: drop disk-manager from recommends as it has been
|
|
||||||
removed from unstable. (Closes: #952967)
|
|
||||||
* Update debian/lxqt-config.install to ship new binary files.
|
|
||||||
|
|
||||||
-- Andrew Lee (李健秋) <ajqlee@debian.org> Wed, 06 Jan 2021 16:09:45 +0800
|
|
||||||
|
|
||||||
lxqt-config (0.15.0-0ubuntu1) groovy; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
- Update upstream signing key.
|
|
||||||
- Bump LXQt build dependencies.
|
|
||||||
- Add build dependency on libxcb-randr0-dev (Closes: #952266).
|
|
||||||
* Bump Standards-version to 4.5.0, no changes needed.
|
|
||||||
* debhelper -> debhelper-compat.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 04 Jun 2020 00:42:32 -0500
|
|
||||||
|
|
||||||
lxqt-config (0.14.1-4) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Added build dependency libxcb-randr0-dev to fix FTBFS in testing and sid.
|
|
||||||
Thanks Lucas Nussbaum <lucas@debian.org> for spotting this.
|
|
||||||
(Closes: #952266)
|
|
||||||
* Bumped Standards-Version to 4.5.0, no changes needed
|
|
||||||
* Switched to gbp
|
|
||||||
|
|
||||||
-- Alf Gaida <agaida@siduction.org> Mon, 24 Feb 2020 01:49:32 +0100
|
|
||||||
|
|
||||||
lxqt-config (0.14.1-3) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Build without touchpad support on kfreebsd and hurd, thanks
|
|
||||||
Paul Sonnenschein <paul@sonnenschein.ruhr> (Closes: #933336)
|
|
||||||
|
|
||||||
-- Alf Gaida <agaida@siduction.org> Sun, 04 Aug 2019 04:07:48 +0200
|
|
||||||
|
|
||||||
lxqt-config (0.14.1-2) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Fixed keyboard layout switch shortcut (Closes: #925346)
|
|
||||||
|
|
||||||
-- Alf Gaida <agaida@siduction.org> Sat, 23 Mar 2019 15:53:38 +0100
|
|
||||||
|
|
||||||
lxqt-config (0.14.1-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Cherry-picking new upstream version 0.14.1.
|
|
||||||
* Bumped build dependency liblxqt to 0.14.1~
|
|
||||||
* Extended the package description a bit
|
|
||||||
|
|
||||||
-- Alf Gaida <agaida@siduction.org> Sun, 24 Feb 2019 20:35:48 +0100
|
|
||||||
|
|
||||||
lxqt-config (0.14.1-0ubuntu1) disco; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Run wrap-and-sort.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 09 Mar 2019 12:54:59 -0600
|
|
||||||
|
|
||||||
lxqt-config (0.14.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Cherry-picking new upstream version 0.14.0.
|
|
||||||
* Bumped Standards to 4.3.0, no changes needed
|
|
||||||
* Dropped d/compat, use debhelper-compat = 12, no changes needed
|
|
||||||
* Fixed years in d/copyright
|
|
||||||
* Bumped minimum version liblxqt0-dev (>= 0.14.0~)
|
|
||||||
* Added build dependency libxi-dev
|
|
||||||
* Added build dependency xserver-xorg-input-libinput-dev
|
|
||||||
* Removed obsolete PULL_TRANSLATIONS= OFF from dh_auto_configure
|
|
||||||
* Added l10n-package, moved from lxqt-l10n
|
|
||||||
* Added d/upstream/metadata
|
|
||||||
* Fixed d/manpages
|
|
||||||
* Basic Touchpad configuration added upstream (Closes: #845624)
|
|
||||||
|
|
||||||
-- Alf Gaida <agaida@siduction.org> Sun, 27 Jan 2019 17:15:29 +0100
|
|
||||||
|
|
||||||
lxqt-config (0.14.0-0ubuntu1) disco; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
- Bump build dependencies.
|
|
||||||
- Remove unneeded patches.
|
|
||||||
* Bump debhelper compat to 12, no changes needed.
|
|
||||||
* Add new lxqt-config-l10n package.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 26 Jan 2019 00:07:14 -0600
|
|
||||||
|
|
||||||
lxqt-config (0.13.0+git20181226-0ubuntu3) disco; urgency=medium
|
|
||||||
|
|
||||||
* Don't recommend lxqt-config-l10n and conflict it at the same time.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 05 Jan 2019 15:08:01 -0600
|
|
||||||
|
|
||||||
lxqt-config (0.13.0+git20181226-0ubuntu2) disco; urgency=medium
|
|
||||||
|
|
||||||
* Add Conflicts/Replaces for lxqt-config-l10n.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 30 Dec 2018 17:42:43 -0600
|
|
||||||
|
|
||||||
lxqt-config (0.13.0+git20181226-0ubuntu1) disco; urgency=medium
|
|
||||||
|
|
||||||
* New upstream Git snapshot.
|
|
||||||
- Remove reverse-applicable patches.
|
|
||||||
- Add a patch lowering the LXQt version required.
|
|
||||||
- Add missing build dependencies.
|
|
||||||
* Bump Standards-version to 4.3.0, no changes needed.
|
|
||||||
|
|
||||||
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 30 Dec 2018 17:21:31 -0600
|
|
||||||
|
|
||||||
lxqt-config (0.13.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Cherry-picking new upstream version 0.13.0.
|
|
||||||
* Bumped build dependency liblxqt0-dev to >= 0.13.0~
|
|
||||||
* Added recommend xsettingsd
|
|
||||||
|
|
||||||
-- Alf Gaida <agaida@siduction.org> Thu, 24 May 2018 20:43:08 +0200
|
|
||||||
|
|
||||||
lxqt-config (0.13.0-0ubuntu5) cosmic; urgency=medium
|
lxqt-config (0.13.0-0ubuntu5) cosmic; urgency=medium
|
||||||
|
|
||||||
* Set default GTK theme if rc file doesn't exists.
|
* Set default GTK theme if rc file doesn't exists.
|
||||||
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
11
|
44
debian/control
vendored
44
debian/control
vendored
@ -1,35 +1,32 @@
|
|||||||
Source: lxqt-config
|
Source: lxqt-config
|
||||||
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
||||||
Original-Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org>
|
XSBC-Original-Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org>
|
||||||
Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
|
Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
|
||||||
Section: x11
|
Section: x11
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Build-Depends: debhelper-compat (= 13),
|
Build-Depends: debhelper (>= 11),
|
||||||
libkf6windowsystem-dev (>= 6.0.0),
|
libkf5screen-dev,
|
||||||
libkscreen-dev (>= 6.0.0),
|
libkf5windowsystem-dev,
|
||||||
liblxqt2-dev (>= 2.1.0),
|
liblxqt0-dev (>= 0.13.0),
|
||||||
|
libqt5svg5-dev,
|
||||||
|
libqt5x11extras5-dev,
|
||||||
libx11-dev,
|
libx11-dev,
|
||||||
libxcb-randr0-dev,
|
|
||||||
libxcursor-dev,
|
libxcursor-dev,
|
||||||
libxfixes-dev,
|
libxfixes-dev,
|
||||||
libxi-dev,
|
qtbase5-private-dev,
|
||||||
lxqt-menu-data (>= 2.1.0),
|
|
||||||
qt6-base-private-dev (>= 6.6.0),
|
|
||||||
qt6-svg-dev (>= 6.6.0),
|
|
||||||
xserver-xorg-input-libinput-dev,
|
|
||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
Standards-Version: 4.7.0
|
Standards-Version: 4.1.5
|
||||||
Vcs-Browser: https://git.lubuntu.me/Lubuntu/lxqt-config-packaging
|
Vcs-Browser: https://phab.lubuntu.me/source/lxqt-config/
|
||||||
Vcs-Git: https://git.lubuntu.me/Lubuntu/lxqt-config-packaging.git
|
Vcs-Git: https://phab.lubuntu.me/source/lxqt-config.git
|
||||||
Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/lxqt-config
|
XS-Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/lxqt-config
|
||||||
Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/lxqt-config.git
|
XS-Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/lxqt-config.git
|
||||||
Rules-Requires-Root: no
|
|
||||||
Homepage: https://github.com/lxqt/lxqt-config
|
Homepage: https://github.com/lxqt/lxqt-config
|
||||||
|
|
||||||
Package: lxqt-config
|
Package: lxqt-config
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
Recommends: galternatives,
|
Recommends: disk-manager,
|
||||||
|
galternatives,
|
||||||
lxqt-config-l10n,
|
lxqt-config-l10n,
|
||||||
lxqt-policykit,
|
lxqt-policykit,
|
||||||
lxqt-powermanagement,
|
lxqt-powermanagement,
|
||||||
@ -44,18 +41,9 @@ Suggests: adwaita-qt,
|
|||||||
lxappearance,
|
lxappearance,
|
||||||
lxqt | lxqt-core,
|
lxqt | lxqt-core,
|
||||||
obconf-qt,
|
obconf-qt,
|
||||||
|
qt5-style-plugins,
|
||||||
synaptic
|
synaptic
|
||||||
Description: LXQt system settings center
|
Description: LXQt system settings center
|
||||||
The LXQt system settings center
|
The LXQt system settings center
|
||||||
.
|
.
|
||||||
This package contain the LXQt configuration ui.
|
This package contain the LXQt configuration ui.
|
||||||
|
|
||||||
Package: lxqt-config-l10n
|
|
||||||
Architecture: all
|
|
||||||
Multi-Arch: foreign
|
|
||||||
Section: localization
|
|
||||||
Depends: qt6-translations-l10n, ${misc:Depends}
|
|
||||||
Description: Language package for lxqt-config
|
|
||||||
The LXQt system settings center
|
|
||||||
.
|
|
||||||
This package contains the l10n files needed by lxqt-config.
|
|
||||||
|
52
debian/copyright
vendored
52
debian/copyright
vendored
@ -3,11 +3,10 @@ Upstream-Name: lxqt-config
|
|||||||
Source: https://github.com/lxqt/lxqt-config
|
Source: https://github.com/lxqt/lxqt-config
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 2012-2024, LXQt team
|
Copyright: 2012-2018 LXQt team
|
||||||
2010-2012, Razor team
|
2010-2012 Razor team
|
||||||
2013, Christian Surlykke
|
2013 Christian Surlykke
|
||||||
2014, Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
2014 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||||
2014, Luís Pereira <luis.artur.pereira@gmail.com>
|
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
|
|
||||||
Files: lxqt-config-appearance/iconthemeinfo.cpp
|
Files: lxqt-config-appearance/iconthemeinfo.cpp
|
||||||
@ -20,8 +19,7 @@ Copyright: 2007, 2009 Rafael Fernández López <ereslibre@kde.org>
|
|||||||
2007 John Tapsell <tapsell@kde.org>
|
2007 John Tapsell <tapsell@kde.org>
|
||||||
License: LGPL-2.0+
|
License: LGPL-2.0+
|
||||||
|
|
||||||
Files: liblxqt-config-cursor/cfgfile.cpp
|
Files: liblxqt-config-cursor/cfgfile.h
|
||||||
liblxqt-config-cursor/cfgfile.h
|
|
||||||
liblxqt-config-cursor/main.cpp
|
liblxqt-config-cursor/main.cpp
|
||||||
liblxqt-config-cursor/main.h
|
liblxqt-config-cursor/main.h
|
||||||
liblxqt-config-cursor/selectwnd.cpp
|
liblxqt-config-cursor/selectwnd.cpp
|
||||||
@ -61,31 +59,7 @@ Files: lxqt-config-input/keyboardconfig.cpp
|
|||||||
Copyright: 2013-2014 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
Copyright: 2013-2014 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
|
|
||||||
Files: lxqt-config-input/touchpadconfig.cpp
|
Files: lxqt-config-monitor/main.cpp
|
||||||
lxqt-config-input/touchpadconfig.h
|
|
||||||
lxqt-config-input/touchpaddevice.cpp
|
|
||||||
lxqt-config-input/touchpaddevice.h
|
|
||||||
Copyright: 2016-2018, Chih-Hsuan Yen <yan12125@gmail.com>
|
|
||||||
License: GPL-2.0+
|
|
||||||
|
|
||||||
Files: lxqt-config-locale/combobox.h
|
|
||||||
Copyright: 2018, Pedram Pourang <tsujan2000@gmail.com>
|
|
||||||
License: GPL-2.0+
|
|
||||||
|
|
||||||
Files: lxqt-config-locale/localeconfig.cpp
|
|
||||||
lxqt-config-locale/localeconfig.h
|
|
||||||
Copyright: 2014, LXQt team
|
|
||||||
2014, Sebastian Kügler <sebas@kde.org>
|
|
||||||
License: GPL-2.0+
|
|
||||||
|
|
||||||
Files: lxqt-config-monitor/fastmenu.cpp
|
|
||||||
lxqt-config-monitor/fastmenu.h
|
|
||||||
lxqt-config-monitor/kscreenutils.h
|
|
||||||
lxqt-config-monitor/loadsettings.cpp
|
|
||||||
lxqt-config-monitor/loadsettings.h
|
|
||||||
lxqt-config-monitor/main.cpp
|
|
||||||
lxqt-config-monitor/managesavedsettings.cpp
|
|
||||||
lxqt-config-monitor/managesavedsettings.h
|
|
||||||
lxqt-config-monitor/monitor.cpp
|
lxqt-config-monitor/monitor.cpp
|
||||||
lxqt-config-monitor/monitor.h
|
lxqt-config-monitor/monitor.h
|
||||||
lxqt-config-monitor/monitorwidget.cpp
|
lxqt-config-monitor/monitorwidget.cpp
|
||||||
@ -94,27 +68,16 @@ Files: lxqt-config-monitor/fastmenu.cpp
|
|||||||
lxqt-config-monitor/monitorsettingsdialog.cpp
|
lxqt-config-monitor/monitorsettingsdialog.cpp
|
||||||
lxqt-config-monitor/monitorsettingsdialog.h
|
lxqt-config-monitor/monitorsettingsdialog.h
|
||||||
lxqt-config-monitor/savesettings.cpp
|
lxqt-config-monitor/savesettings.cpp
|
||||||
lxqt-config-monitor/settingsdialog.cpp
|
Copyright: 2014 P.L. Lucas <selairi@gmail.com>
|
||||||
lxqt-config-monitor/settingsdialog.h
|
|
||||||
lxqt-config-monitor/timeoutdialog.cpp
|
|
||||||
lxqt-config-monitor/timeoutdialog.h
|
|
||||||
Copyright: 2014-2016, 2019, P.L. Lucas <selairi@gmail.com>
|
|
||||||
2014 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
2014 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
|
|
||||||
Files: lxqt-config-brightness/brightnesssettings.*
|
Files: lxqt-config-brightness/brightnesssettings.*
|
||||||
lxqt-config-brightness/main.cpp
|
lxqt-config-brightness/main.cpp
|
||||||
lxqt-config-brightness/monitorinfo.*
|
lxqt-config-brightness/monitorinfo.*
|
||||||
lxqt-config-brightness/outputwidget.cpp
|
|
||||||
lxqt-config-brightness/outputwidget.h
|
|
||||||
Copyright: 2016 P.L. Lucas <selairi@gmail.com>
|
Copyright: 2016 P.L. Lucas <selairi@gmail.com>
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
|
|
||||||
Files: lxqt-config-brightness/brightnesswatcher.cpp
|
|
||||||
lxqt-config-brightness/brightnesswatcher.h
|
|
||||||
Copyright: 2020, Luís Pereira <luis.artur.pereira@gmail.com>
|
|
||||||
License: GPL-2.0+
|
|
||||||
|
|
||||||
Files: lxqt-config-brightness/xrandrbrightness.*
|
Files: lxqt-config-brightness/xrandrbrightness.*
|
||||||
Copyright: 2015 Kai Uwe Broulik <kde@privat.broulik.de>
|
Copyright: 2015 Kai Uwe Broulik <kde@privat.broulik.de>
|
||||||
2010 Lukas Tinkl <ltinkl@redhat.com>
|
2010 Lukas Tinkl <ltinkl@redhat.com>
|
||||||
@ -123,7 +86,6 @@ License: LGPL-2.0+
|
|||||||
Files: debian/*
|
Files: debian/*
|
||||||
Copyright: 2014-2018 Alf Gaida <agaida@siduction.org>
|
Copyright: 2014-2018 Alf Gaida <agaida@siduction.org>
|
||||||
2015 Andrew Lee (李健秋) <ajqlee@debian.org>
|
2015 Andrew Lee (李健秋) <ajqlee@debian.org>
|
||||||
2023-2024 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
|
|
||||||
License: LGPL-2.0+
|
License: LGPL-2.0+
|
||||||
|
24
debian/lintian-overrides
vendored
24
debian/lintian-overrides
vendored
@ -1,15 +1,15 @@
|
|||||||
# there will be no man-pages in a foreseeable future
|
# there will be no man-pages in a foreseeable future
|
||||||
lxqt-config: no-manual-page [usr/bin/lxqt-config-brightness]
|
lxqt-config: binary-without-manpage usr/bin/lxqt-config-brightness
|
||||||
lxqt-config: no-manual-page [usr/bin/lxqt-config-file-associations]
|
lxqt-config: binary-without-manpage usr/bin/lxqt-config-file-associations
|
||||||
lxqt-config: no-manual-page [usr/bin/lxqt-config-input]
|
lxqt-config: binary-without-manpage usr/bin/lxqt-config-input
|
||||||
lxqt-config: no-manual-page [usr/bin/lxqt-config-locale]
|
lxqt-config: binary-without-manpage usr/bin/lxqt-config-locale
|
||||||
lxqt-config: no-manual-page [usr/bin/lxqt-config-monitor]
|
lxqt-config: binary-without-manpage usr/bin/lxqt-config-monitor
|
||||||
|
|
||||||
# not a bug, LXQt has not reached free-desktop yet
|
# not a bug, LXQt has not reached free-desktop yet
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-appearance.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-appearance.desktop
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-brightness.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-brightness.desktop
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-file-associations.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-file-associations.desktop
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-input.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-input.desktop
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-locale.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-locale.desktop
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config-monitor.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config-monitor.desktop
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/lxqt-config.desktop]
|
lxqt-config: desktop-entry-invalid-category LXQt usr/share/applications/lxqt-config.desktop
|
||||||
|
8
debian/lxqt-config-l10n.install
vendored
8
debian/lxqt-config-l10n.install
vendored
@ -1,8 +0,0 @@
|
|||||||
usr/share/lxqt/translations/lxqt-config
|
|
||||||
usr/share/lxqt/translations/lxqt-config-appearance
|
|
||||||
usr/share/lxqt/translations/lxqt-config-brightness
|
|
||||||
usr/share/lxqt/translations/lxqt-config-cursor
|
|
||||||
usr/share/lxqt/translations/lxqt-config-file-associations
|
|
||||||
usr/share/lxqt/translations/lxqt-config-input
|
|
||||||
usr/share/lxqt/translations/lxqt-config-locale
|
|
||||||
usr/share/lxqt/translations/lxqt-config-monitor
|
|
17
debian/lxqt-config.install
vendored
17
debian/lxqt-config.install
vendored
@ -1,17 +0,0 @@
|
|||||||
usr/bin/lxqt-config
|
|
||||||
usr/bin/lxqt-config-appearance
|
|
||||||
usr/bin/lxqt-config-brightness
|
|
||||||
usr/bin/lxqt-config-file-associations
|
|
||||||
usr/bin/lxqt-config-input
|
|
||||||
usr/bin/lxqt-config-locale
|
|
||||||
usr/bin/lxqt-config-monitor
|
|
||||||
usr/lib/*/lxqt-config/liblxqt-config-cursor.so
|
|
||||||
usr/share/applications/lxqt-config-appearance.desktop
|
|
||||||
usr/share/applications/lxqt-config-brightness.desktop
|
|
||||||
usr/share/applications/lxqt-config-file-associations.desktop
|
|
||||||
usr/share/applications/lxqt-config-input.desktop
|
|
||||||
usr/share/applications/lxqt-config-locale.desktop
|
|
||||||
usr/share/applications/lxqt-config-monitor.desktop
|
|
||||||
usr/share/applications/lxqt-config.desktop
|
|
||||||
usr/share/icons/hicolor/48x48/apps/brightnesssettings.svg
|
|
||||||
usr/share/lxqt/icons/monitor.svg
|
|
4
debian/lxqt-config.lintian-overrides
vendored
4
debian/lxqt-config.lintian-overrides
vendored
@ -1,4 +0,0 @@
|
|||||||
# This is expected
|
|
||||||
lxqt-config: desktop-entry-lacks-keywords-entry [usr/share/applications/*.desktop]
|
|
||||||
lxqt-config: desktop-entry-invalid-category LXQt [usr/share/applications/*.desktop]
|
|
||||||
lxqt-config: no-manual-page [usr/bin/*]
|
|
6
debian/manpages
vendored
6
debian/manpages
vendored
@ -1,3 +1,3 @@
|
|||||||
usr/share/man/man1/lxqt-config-appearance.1
|
liblxqt-config-cursor/man/lxqt-config-mouse.1
|
||||||
usr/share/man/man1/lxqt-config-input.1
|
lxqt-config-appearance/man/lxqt-config-appearance.1
|
||||||
usr/share/man/man1/lxqt-config.1
|
man/lxqt-config.1
|
||||||
|
853
debian/patches/gtk-appearance-settings.patch
vendored
Normal file
853
debian/patches/gtk-appearance-settings.patch
vendored
Normal file
@ -0,0 +1,853 @@
|
|||||||
|
Description: Add the ability to set GTK themes
|
||||||
|
Author: P.L. Lucas <selairi@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Applied-Upstream: https://github.com/lxqt/lxqt-config/pull/244
|
||||||
|
Last-Update: 2018-07-30
|
||||||
|
--- a/lxqt-config-appearance/CMakeLists.txt
|
||||||
|
+++ b/lxqt-config-appearance/CMakeLists.txt
|
||||||
|
@@ -15,6 +15,7 @@ set(MOC_FILES
|
||||||
|
fontsconfig.h
|
||||||
|
styleconfig.h
|
||||||
|
fontconfigfile.h
|
||||||
|
+ configothertoolkits.h
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CPP_FILES
|
||||||
|
@@ -25,6 +26,7 @@ set(CPP_FILES
|
||||||
|
fontsconfig.cpp
|
||||||
|
styleconfig.cpp
|
||||||
|
fontconfigfile.cpp
|
||||||
|
+ configothertoolkits.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(UI_FILES
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/lxqt-config-appearance/configothertoolkits.cpp
|
||||||
|
@@ -0,0 +1,329 @@
|
||||||
|
+/* BEGIN_COMMON_COPYRIGHT_HEADER
|
||||||
|
+ * (c)LGPL2+
|
||||||
|
+ *
|
||||||
|
+ * LXQt - a lightweight, Qt based, desktop toolset
|
||||||
|
+ * https://lxqt.org/
|
||||||
|
+ *
|
||||||
|
+ * Copyright: 2018 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 "configothertoolkits.h"
|
||||||
|
+#include <QFile>
|
||||||
|
+#include <QTextStream>
|
||||||
|
+#include <QStandardPaths>
|
||||||
|
+#include <QMetaEnum>
|
||||||
|
+#include <QToolBar>
|
||||||
|
+#include <QDir>
|
||||||
|
+#include <QFileInfo>
|
||||||
|
+#include <QFont>
|
||||||
|
+#include <QDateTime>
|
||||||
|
+#include <QMessageBox>
|
||||||
|
+
|
||||||
|
+#include <sys/types.h>
|
||||||
|
+#include <signal.h>
|
||||||
|
+
|
||||||
|
+static const char *GTK2_CONFIG = R"GTK2_CONFIG(
|
||||||
|
+# Created by lxqt-config-appearance (DO NOT EDIT!)
|
||||||
|
+gtk-theme-name = "%1"
|
||||||
|
+gtk-icon-theme-name = "%2"
|
||||||
|
+gtk-font-name = "%3"
|
||||||
|
+gtk-button-images = %4
|
||||||
|
+gtk-menu-images = %4
|
||||||
|
+gtk-toolbar-style = %5
|
||||||
|
+)GTK2_CONFIG";
|
||||||
|
+
|
||||||
|
+static const char *GTK3_CONFIG = R"GTK3_CONFIG(
|
||||||
|
+# Created by lxqt-config-appearance (DO NOT EDIT!)
|
||||||
|
+[Settings]
|
||||||
|
+gtk-theme-name = %1
|
||||||
|
+gtk-icon-theme-name = %2
|
||||||
|
+# GTK3 ignores bold or italic attributes.
|
||||||
|
+gtk-font-name = %3
|
||||||
|
+gtk-menu-images = %4
|
||||||
|
+gtk-button-images = %4
|
||||||
|
+gtk-toolbar-style = %5
|
||||||
|
+)GTK3_CONFIG";
|
||||||
|
+
|
||||||
|
+static const char *XSETTINGS_CONFIG = R"XSETTINGS_CONFIG(
|
||||||
|
+# Created by lxqt-config-appearance (DO NOT EDIT!)
|
||||||
|
+Net/IconThemeName "%2"
|
||||||
|
+Net/ThemeName "%1"
|
||||||
|
+Gtk/FontName "%3"
|
||||||
|
+Gtk/MenuImages %4
|
||||||
|
+Gtk/ButtonImages %4
|
||||||
|
+Gtk/ToolbarStyle "%5"
|
||||||
|
+)XSETTINGS_CONFIG";
|
||||||
|
+
|
||||||
|
+ConfigOtherToolKits::ConfigOtherToolKits(LXQt::Settings *settings, LXQt::Settings *configAppearanceSettings, QObject *parent) : QObject(parent)
|
||||||
|
+{
|
||||||
|
+ mSettings = settings;
|
||||||
|
+ mConfigAppearanceSettings = configAppearanceSettings;
|
||||||
|
+ if(tempFile.open()) {
|
||||||
|
+ mXsettingsdProc.setProcessChannelMode(QProcess::ForwardedChannels);
|
||||||
|
+ mXsettingsdProc.start("xsettingsd", QStringList() << "-c" << tempFile.fileName());
|
||||||
|
+ if(!mXsettingsdProc.waitForStarted())
|
||||||
|
+ return;
|
||||||
|
+ tempFile.close();
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+ConfigOtherToolKits::~ConfigOtherToolKits()
|
||||||
|
+{
|
||||||
|
+ mXsettingsdProc.close();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static QString get_environment_var(const char *envvar, const char *defaultValue)
|
||||||
|
+{
|
||||||
|
+ QString homeDir = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
|
||||||
|
+ QString mDirPath = QString::fromLocal8Bit(qgetenv(envvar));
|
||||||
|
+ if(mDirPath.isEmpty())
|
||||||
|
+ mDirPath = homeDir + defaultValue;
|
||||||
|
+ else {
|
||||||
|
+ for(QString path : mDirPath.split(":") ) {
|
||||||
|
+ mDirPath = path;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return mDirPath;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static QString _get_config_path(QString path)
|
||||||
|
+{
|
||||||
|
+ QString homeDir = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
|
||||||
|
+ path.replace("$XDG_CONFIG_HOME", get_environment_var("XDG_CONFIG_HOME", "/.config"));
|
||||||
|
+ path.replace("$GTK2_RC_FILES", get_environment_var("GTK2_RC_FILES", "/.gtkrc-2.0")); // If $GTK2_RC_FILES is undefined, "~/.gtkrc-2.0" will be used.
|
||||||
|
+ path.replace("~", homeDir);
|
||||||
|
+ return path;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+QString ConfigOtherToolKits::getGTKConfigPath(QString version)
|
||||||
|
+{
|
||||||
|
+ if(version == "2.0")
|
||||||
|
+ return _get_config_path("$GTK2_RC_FILES");
|
||||||
|
+ return _get_config_path(QString("$XDG_CONFIG_HOME/gtk-%1/settings.ini").arg(version));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static bool grep(QFile &file, QByteArray text)
|
||||||
|
+{
|
||||||
|
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||||
|
+ return false;
|
||||||
|
+ while (!file.atEnd()) {
|
||||||
|
+ QByteArray line = file.readLine().trimmed();
|
||||||
|
+ if(line.startsWith(text)) {
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ file.close();
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+bool ConfigOtherToolKits::backupGTKSettings(QString version)
|
||||||
|
+{
|
||||||
|
+ QString gtkrcPath = getGTKConfigPath(version);
|
||||||
|
+ QFile file(gtkrcPath);
|
||||||
|
+ if(file.exists() && !grep(file, "# Created by lxqt-config-appearance (DO NOT EDIT!)")) {
|
||||||
|
+ QString backupPath = gtkrcPath + "-" + QString::number(QDateTime::currentSecsSinceEpoch()) + "~";
|
||||||
|
+ file.copy(backupPath);
|
||||||
|
+ QMessageBox::warning(nullptr, tr("GTK themes"),
|
||||||
|
+ tr("<p>'%1' has been overwritten.</p><p>You can find a copy of your old settings in '%2'</p>")
|
||||||
|
+ .arg(getGTKConfigPath(version))
|
||||||
|
+ .arg(backupPath)
|
||||||
|
+ , QMessageBox::Ok);
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void ConfigOtherToolKits::setConfig()
|
||||||
|
+{
|
||||||
|
+ if(!mConfigAppearanceSettings->contains("ControlGTKThemeEnabled"))
|
||||||
|
+ mConfigAppearanceSettings->setValue("ControlGTKThemeEnabled", false);
|
||||||
|
+ bool controlGTKThemeEnabled = mConfigAppearanceSettings->value("ControlGTKThemeEnabled").toBool();
|
||||||
|
+ if(! controlGTKThemeEnabled)
|
||||||
|
+ return;
|
||||||
|
+ updateConfigFromSettings();
|
||||||
|
+ mConfig.styleTheme = getGTKThemeFromRCFile("3.0");
|
||||||
|
+ setGTKConfig("3.0");
|
||||||
|
+ mConfig.styleTheme = getGTKThemeFromRCFile("2.0");
|
||||||
|
+ setGTKConfig("2.0");
|
||||||
|
+ setXSettingsConfig();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void ConfigOtherToolKits::setXSettingsConfig()
|
||||||
|
+{
|
||||||
|
+ // setGTKConfig is called before calling setXSettingsConfig,
|
||||||
|
+ // then updateConfigFromSettings is not required.
|
||||||
|
+ //updateConfigFromSettings();
|
||||||
|
+ //mConfig.styleTheme = getGTKThemeFromRCFile(version);
|
||||||
|
+
|
||||||
|
+ // Reload settings. xsettingsd must be installed.
|
||||||
|
+ // xsettingsd settings are written to stdin.
|
||||||
|
+ if(QProcess::Running == mXsettingsdProc.state()) {
|
||||||
|
+ QFile file(tempFile.fileName());
|
||||||
|
+ if(file.open(QIODevice::WriteOnly)) {
|
||||||
|
+ file.write( getConfig(XSETTINGS_CONFIG).toLocal8Bit() );
|
||||||
|
+ file.flush();
|
||||||
|
+ file.close();
|
||||||
|
+ }
|
||||||
|
+ int pid = mXsettingsdProc.processId();
|
||||||
|
+ kill(pid, SIGHUP);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void ConfigOtherToolKits::setGTKConfig(QString version, QString theme)
|
||||||
|
+{
|
||||||
|
+ updateConfigFromSettings();
|
||||||
|
+ if(!theme.isEmpty())
|
||||||
|
+ mConfig.styleTheme = theme;
|
||||||
|
+ backupGTKSettings(version);
|
||||||
|
+ QString gtkrcPath = getGTKConfigPath(version);
|
||||||
|
+ if(version == "2.0")
|
||||||
|
+ writeConfig(gtkrcPath, GTK2_CONFIG);
|
||||||
|
+ else
|
||||||
|
+ writeConfig(gtkrcPath, GTK3_CONFIG);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+QString ConfigOtherToolKits::getConfig(const char *configString)
|
||||||
|
+{
|
||||||
|
+ return QString(configString).arg(mConfig.styleTheme, mConfig.iconTheme,
|
||||||
|
+ mConfig.fontName, mConfig.buttonStyle==0 ? "0":"1",
|
||||||
|
+ mConfig.toolButtonStyle
|
||||||
|
+ );
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void ConfigOtherToolKits::writeConfig(QString path, const char *configString)
|
||||||
|
+{
|
||||||
|
+ path = _get_config_path(path);
|
||||||
|
+
|
||||||
|
+ QFile file(path);
|
||||||
|
+ if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ QTextStream out(&file);
|
||||||
|
+ out << getConfig(configString);
|
||||||
|
+ out.flush();
|
||||||
|
+ file.close();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+QStringList ConfigOtherToolKits::getGTKThemes(QString version)
|
||||||
|
+{
|
||||||
|
+ QStringList themeList;
|
||||||
|
+ QString configFile = version=="2.0" ? "gtk-2.0/gtkrc" : QString("gtk-%1/gtk.css").arg(version);
|
||||||
|
+
|
||||||
|
+ QStringList dataPaths = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
|
||||||
|
+ for(QString dataPath : dataPaths) {
|
||||||
|
+ QDir themesPath(dataPath + "/themes");
|
||||||
|
+ QStringList themes = themesPath.entryList(QDir::Dirs);
|
||||||
|
+ for(QString theme : themes) {
|
||||||
|
+ QFileInfo themePath(QString("%1/themes/%2/%3").arg(dataPath, theme, configFile));
|
||||||
|
+ if(themePath.exists())
|
||||||
|
+ themeList.append(theme);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return themeList;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+QString ConfigOtherToolKits::getGTKThemeFromRCFile(QString version)
|
||||||
|
+{
|
||||||
|
+ if(version == "2.0") {
|
||||||
|
+ QString gtkrcPath = _get_config_path("$GTK2_RC_FILES");
|
||||||
|
+ QFile file(gtkrcPath);
|
||||||
|
+ if(file.exists()) {
|
||||||
|
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||||
|
+ return QString();
|
||||||
|
+ while (!file.atEnd()) {
|
||||||
|
+ QByteArray line = file.readLine().trimmed();
|
||||||
|
+ if(line.startsWith("gtk-theme-name")) {
|
||||||
|
+ QList<QByteArray> parts = line.split('=');
|
||||||
|
+ if(parts.size()>=2) {
|
||||||
|
+ file.close();
|
||||||
|
+ return parts[1].replace('"', "").trimmed();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ file.close();
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ QString gtkrcPath = _get_config_path(QString("$XDG_CONFIG_HOME/gtk-%1/settings.ini").arg(version));
|
||||||
|
+ QFile file(gtkrcPath);
|
||||||
|
+ if(file.exists()) {
|
||||||
|
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||||
|
+ return QString();
|
||||||
|
+ bool settingsFound = false;
|
||||||
|
+ while (!file.atEnd()) {
|
||||||
|
+ QByteArray line = file.readLine().trimmed();
|
||||||
|
+ if(line.startsWith("[Settings]"))
|
||||||
|
+ settingsFound = true;
|
||||||
|
+ else if(line.startsWith("[") && line.endsWith("]"))
|
||||||
|
+ settingsFound = false;
|
||||||
|
+ else if(settingsFound && line.startsWith("gtk-theme-name")) {
|
||||||
|
+ QList<QByteArray> parts = line.split('=');
|
||||||
|
+ if(parts.size()>=2) {
|
||||||
|
+ file.close();
|
||||||
|
+ return parts[1].trimmed();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ file.close();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return QString();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void ConfigOtherToolKits::updateConfigFromSettings()
|
||||||
|
+{
|
||||||
|
+ mSettings->beginGroup(QLatin1String("Qt"));
|
||||||
|
+ QFont font;
|
||||||
|
+ font.fromString(mSettings->value("font").toString());
|
||||||
|
+ // Font name from: https://developer.gnome.org/pango/stable/pango-Fonts.html#pango-font-description-from-string
|
||||||
|
+ // FAMILY-LIST [SIZE]", where FAMILY-LIST is a comma separated list of families optionally terminated by a comma,
|
||||||
|
+ // STYLE_OPTIONS is a whitespace separated list of words where each word describes one of style, variant, weight, stretch, or gravity, and
|
||||||
|
+ // SIZE is a decimal number (size in points) or optionally followed by the unit modifier "px" for absolute size.
|
||||||
|
+ mConfig.fontName = QString("%1%2%3 %4")
|
||||||
|
+ .arg(font.family()) //%1
|
||||||
|
+ .arg(font.style()==QFont::StyleNormal?"":" Italic") //%2
|
||||||
|
+ .arg(font.weight()==QFont::Normal?"":" Bold") //%3
|
||||||
|
+ .arg(font.pointSize()); //%4
|
||||||
|
+ mSettings->endGroup();
|
||||||
|
+
|
||||||
|
+ mConfig.iconTheme = mSettings->value("icon_theme").toString();
|
||||||
|
+ {
|
||||||
|
+ // Tool button style
|
||||||
|
+ QByteArray tb_style = mSettings->value("tool_button_style").toByteArray();
|
||||||
|
+ // convert toolbar style name to value
|
||||||
|
+ QMetaEnum me = QToolBar::staticMetaObject.property(QToolBar::staticMetaObject.indexOfProperty("toolButtonStyle")).enumerator();
|
||||||
|
+ int val = me.keyToValue(tb_style.constData());
|
||||||
|
+ mConfig.buttonStyle = 1;
|
||||||
|
+ switch(val) {
|
||||||
|
+ case Qt::ToolButtonIconOnly:
|
||||||
|
+ mConfig.toolButtonStyle = "GTK_TOOLBAR_ICONS";
|
||||||
|
+ break;
|
||||||
|
+ case Qt::ToolButtonTextOnly:
|
||||||
|
+ mConfig.toolButtonStyle = "GTK_TOOLBAR_TEXT";
|
||||||
|
+ mConfig.buttonStyle = 0;
|
||||||
|
+ break;
|
||||||
|
+ case Qt::ToolButtonTextUnderIcon:
|
||||||
|
+ mConfig.toolButtonStyle = "GTK_TOOLBAR_BOTH";
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ mConfig.toolButtonStyle = "GTK_TOOLBAR_BOTH_HORIZ";
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/lxqt-config-appearance/configothertoolkits.h
|
||||||
|
@@ -0,0 +1,70 @@
|
||||||
|
+/* BEGIN_COMMON_COPYRIGHT_HEADER
|
||||||
|
+ * (c)LGPL2+
|
||||||
|
+ *
|
||||||
|
+ * LXQt - a lightweight, Qt based, desktop toolset
|
||||||
|
+ * https://lxqt.org
|
||||||
|
+ *
|
||||||
|
+ * Copyright: 2018 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 CONFIGOTHERTOOLKITS_H
|
||||||
|
+#define CONFIGOTHERTOOLKITS_H
|
||||||
|
+
|
||||||
|
+#include <QWidget>
|
||||||
|
+#include <QProcess>
|
||||||
|
+#include <QTemporaryFile>
|
||||||
|
+#include <LXQt/Settings>
|
||||||
|
+
|
||||||
|
+class ConfigOtherToolKits : public QObject
|
||||||
|
+{
|
||||||
|
+ Q_OBJECT
|
||||||
|
+
|
||||||
|
+public:
|
||||||
|
+ ConfigOtherToolKits(LXQt::Settings *settings, LXQt::Settings *configAppearanceSettings, QObject *parent = 0);
|
||||||
|
+ ~ConfigOtherToolKits();
|
||||||
|
+ QStringList getGTKThemes(QString version);
|
||||||
|
+ QString getGTKThemeFromRCFile(QString version);
|
||||||
|
+ QString getGTKConfigPath(QString version);
|
||||||
|
+ bool backupGTKSettings(QString version);
|
||||||
|
+
|
||||||
|
+public slots:
|
||||||
|
+ void setConfig();
|
||||||
|
+ void setXSettingsConfig();
|
||||||
|
+ void setGTKConfig(QString version, QString theme = QString());
|
||||||
|
+
|
||||||
|
+private:
|
||||||
|
+ struct Config {
|
||||||
|
+ QString iconTheme;
|
||||||
|
+ QString styleTheme;
|
||||||
|
+ QString fontName;
|
||||||
|
+ QString toolButtonStyle;
|
||||||
|
+ int buttonStyle;
|
||||||
|
+ } mConfig;
|
||||||
|
+ void writeConfig(QString path, const char *configString);
|
||||||
|
+ QString getConfig(const char *configString);
|
||||||
|
+ void updateConfigFromSettings();
|
||||||
|
+
|
||||||
|
+ LXQt::Settings *mSettings;
|
||||||
|
+ LXQt::Settings *mConfigAppearanceSettings;
|
||||||
|
+
|
||||||
|
+ QProcess mXsettingsdProc;
|
||||||
|
+ QTemporaryFile tempFile;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+#endif // CONFIGOTHERTOOLKITS_H
|
||||||
|
--- a/lxqt-config-appearance/fontconfigfile.h
|
||||||
|
+++ b/lxqt-config-appearance/fontconfigfile.h
|
||||||
|
@@ -64,6 +64,7 @@ public:
|
||||||
|
}
|
||||||
|
void setAutohint(bool value);
|
||||||
|
|
||||||
|
+
|
||||||
|
private Q_SLOTS:
|
||||||
|
void save();
|
||||||
|
|
||||||
|
--- a/lxqt-config-appearance/fontsconfig.cpp
|
||||||
|
+++ b/lxqt-config-appearance/fontsconfig.cpp
|
||||||
|
@@ -188,6 +188,8 @@ void FontsConfig::updateQtFont()
|
||||||
|
mQtSettings->endGroup();
|
||||||
|
mQtSettings->sync();
|
||||||
|
|
||||||
|
+ emit updateSettings();
|
||||||
|
+
|
||||||
|
#ifdef Q_WS_X11
|
||||||
|
qt_x11_apply_settings_in_all_apps();
|
||||||
|
#endif
|
||||||
|
--- a/lxqt-config-appearance/fontsconfig.h
|
||||||
|
+++ b/lxqt-config-appearance/fontsconfig.h
|
||||||
|
@@ -51,6 +51,9 @@ public:
|
||||||
|
public Q_SLOTS:
|
||||||
|
void initControls();
|
||||||
|
|
||||||
|
+signals:
|
||||||
|
+ void updateSettings();
|
||||||
|
+
|
||||||
|
private Q_SLOTS:
|
||||||
|
void updateQtFont();
|
||||||
|
void antialiasToggled(bool toggled);
|
||||||
|
--- a/lxqt-config-appearance/iconthemeconfig.cpp
|
||||||
|
+++ b/lxqt-config-appearance/iconthemeconfig.cpp
|
||||||
|
@@ -151,5 +151,7 @@ void IconThemeConfig::iconThemeSelected(
|
||||||
|
|
||||||
|
m_settings->setValue("icon_theme", theme);
|
||||||
|
m_settings->sync();
|
||||||
|
+
|
||||||
|
+ emit updateSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- a/lxqt-config-appearance/iconthemeconfig.h
|
||||||
|
+++ b/lxqt-config-appearance/iconthemeconfig.h
|
||||||
|
@@ -51,6 +51,9 @@ private:
|
||||||
|
public slots:
|
||||||
|
void initControls();
|
||||||
|
|
||||||
|
+signals:
|
||||||
|
+ void updateSettings();
|
||||||
|
+
|
||||||
|
private slots:
|
||||||
|
void iconThemeSelected(QTreeWidgetItem *item, int column);
|
||||||
|
};
|
||||||
|
--- a/lxqt-config-appearance/main.cpp
|
||||||
|
+++ b/lxqt-config-appearance/main.cpp
|
||||||
|
@@ -34,6 +34,7 @@
|
||||||
|
#include "lxqtthemeconfig.h"
|
||||||
|
#include "styleconfig.h"
|
||||||
|
#include "fontsconfig.h"
|
||||||
|
+#include "configothertoolkits.h"
|
||||||
|
|
||||||
|
#include "../liblxqt-config-cursor/selectwnd.h"
|
||||||
|
|
||||||
|
@@ -58,14 +59,19 @@ int main (int argc, char **argv)
|
||||||
|
|
||||||
|
app.setActivationWindow(dialog);
|
||||||
|
|
||||||
|
+ LXQt::Settings mConfigAppearanceSettings("lxqt-config-appearance");
|
||||||
|
+ ConfigOtherToolKits *configOtherToolKits = new ConfigOtherToolKits(settings, &mConfigAppearanceSettings, dialog);
|
||||||
|
+
|
||||||
|
QSettings& qtSettings = *settings; // use lxqt config file for Qt settings in Qt5.
|
||||||
|
- StyleConfig* stylePage = new StyleConfig(settings, &qtSettings, dialog);
|
||||||
|
+ StyleConfig* stylePage = new StyleConfig(settings, &qtSettings, &mConfigAppearanceSettings, configOtherToolKits, dialog);
|
||||||
|
dialog->addPage(stylePage, QObject::tr("Widget Style"), QStringList() << "preferences-desktop-theme" << "preferences-desktop");
|
||||||
|
QObject::connect(dialog, SIGNAL(reset()), stylePage, SLOT(initControls()));
|
||||||
|
+ QObject::connect(stylePage, SIGNAL(updateSettings()), configOtherToolKits, SLOT(setConfig()));
|
||||||
|
|
||||||
|
IconThemeConfig* iconPage = new IconThemeConfig(settings, dialog);
|
||||||
|
dialog->addPage(iconPage, QObject::tr("Icons Theme"), QStringList() << "preferences-desktop-icons" << "preferences-desktop");
|
||||||
|
QObject::connect(dialog, SIGNAL(reset()), iconPage, SLOT(initControls()));
|
||||||
|
+ QObject::connect(iconPage, SIGNAL(updateSettings()), configOtherToolKits, SLOT(setConfig()));
|
||||||
|
|
||||||
|
LXQtThemeConfig* themePage = new LXQtThemeConfig(settings, dialog);
|
||||||
|
dialog->addPage(themePage, QObject::tr("LXQt Theme"), QStringList() << "preferences-desktop-color" << "preferences-desktop");
|
||||||
|
@@ -74,6 +80,7 @@ int main (int argc, char **argv)
|
||||||
|
FontsConfig* fontsPage = new FontsConfig(settings, &qtSettings, dialog);
|
||||||
|
dialog->addPage(fontsPage, QObject::tr("Font"), QStringList() << "preferences-desktop-font" << "preferences-desktop");
|
||||||
|
QObject::connect(dialog, SIGNAL(reset()), fontsPage, SLOT(initControls()));
|
||||||
|
+ QObject::connect(fontsPage, SIGNAL(updateSettings()), configOtherToolKits, SLOT(setConfig()));
|
||||||
|
|
||||||
|
SelectWnd* cursorPage = new SelectWnd(sessionSettings, dialog);
|
||||||
|
cursorPage->setCurrent();
|
||||||
|
--- a/lxqt-config-appearance/styleconfig.cpp
|
||||||
|
+++ b/lxqt-config-appearance/styleconfig.cpp
|
||||||
|
@@ -41,25 +41,23 @@
|
||||||
|
extern void qt_x11_apply_settings_in_all_apps();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-StyleConfig::StyleConfig(LXQt::Settings* settings, QSettings* qtSettings, QWidget* parent) :
|
||||||
|
+StyleConfig::StyleConfig(LXQt::Settings* settings, QSettings* qtSettings, LXQt::Settings *configAppearanceSettings, ConfigOtherToolKits *configOtherToolKits, QWidget* parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(new Ui::StyleConfig),
|
||||||
|
mQtSettings(qtSettings),
|
||||||
|
mSettings(settings)
|
||||||
|
{
|
||||||
|
+ mConfigAppearanceSettings = configAppearanceSettings;
|
||||||
|
+ mConfigOtherToolKits = configOtherToolKits;
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
- connect(ui->styleList, SIGNAL(itemClicked(QTreeWidgetItem*,int)),
|
||||||
|
- this, SLOT(styleSelected(QTreeWidgetItem*,int)));
|
||||||
|
+ initControls();
|
||||||
|
|
||||||
|
- const auto keys = QStyleFactory::keys();
|
||||||
|
- for(const QString& name : keys)
|
||||||
|
- {
|
||||||
|
- QTreeWidgetItem *item = new QTreeWidgetItem(QStringList(name));
|
||||||
|
- ui->styleList->addTopLevelItem(item);
|
||||||
|
- }
|
||||||
|
+ connect(ui->gtk2ComboBox, SIGNAL(activated(const QString &)), this, SLOT(gtk2StyleSelected(const QString &)));
|
||||||
|
+ connect(ui->gtk3ComboBox, SIGNAL(activated(const QString &)), this, SLOT(gtk3StyleSelected(const QString &)));
|
||||||
|
+ connect(ui->qtComboBox, SIGNAL(activated(const QString &)), this, SLOT(qtStyleSelected(const QString &)));
|
||||||
|
|
||||||
|
- initControls();
|
||||||
|
+ connect(ui->advancedOptionsGroupBox, SIGNAL(toggled(bool)), this, SLOT(showAdvancedOptions(bool)));
|
||||||
|
|
||||||
|
connect(ui->toolButtonStyle, SIGNAL(currentIndexChanged(int)), SLOT(toolButtonStyleSelected(int)));
|
||||||
|
connect(ui->singleClickActivate, SIGNAL(toggled(bool)), SLOT(singleClickActivateToggled(bool)));
|
||||||
|
@@ -74,22 +72,20 @@ StyleConfig::~StyleConfig()
|
||||||
|
|
||||||
|
void StyleConfig::initControls()
|
||||||
|
{
|
||||||
|
- // read Qt style settings from Qt Trolltech.conf config
|
||||||
|
- mQtSettings->beginGroup(QLatin1String("Qt"));
|
||||||
|
- QString currentTheme = mQtSettings->value("style").toString();
|
||||||
|
- mQtSettings->endGroup();
|
||||||
|
|
||||||
|
- QTreeWidgetItemIterator it(ui->styleList);
|
||||||
|
- while (*it) {
|
||||||
|
- if ((*it)->data(0, Qt::DisplayRole).toString() == currentTheme)
|
||||||
|
- {
|
||||||
|
- ui->styleList->setCurrentItem((*it));
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- ++it;
|
||||||
|
- }
|
||||||
|
+ // Fill global themes
|
||||||
|
+ QStringList qtThemes = QStyleFactory::keys();
|
||||||
|
+ QStringList gtk2Themes = mConfigOtherToolKits->getGTKThemes("2.0");
|
||||||
|
+ QStringList gtk3Themes = mConfigOtherToolKits->getGTKThemes("3.0");
|
||||||
|
+
|
||||||
|
+ if(!mConfigAppearanceSettings->contains("ControlGTKThemeEnabled"))
|
||||||
|
+ mConfigAppearanceSettings->setValue("ControlGTKThemeEnabled", false);
|
||||||
|
+ bool controlGTKThemeEnabled = mConfigAppearanceSettings->value("ControlGTKThemeEnabled").toBool();
|
||||||
|
+
|
||||||
|
+ showAdvancedOptions(controlGTKThemeEnabled);
|
||||||
|
+ ui->advancedOptionsGroupBox->setChecked(controlGTKThemeEnabled);
|
||||||
|
|
||||||
|
- // read other widget related settings form LXQt settings.
|
||||||
|
+ // read other widget related settings from LXQt settings.
|
||||||
|
QByteArray tb_style = mSettings->value("tool_button_style").toByteArray();
|
||||||
|
// convert toolbar style name to value
|
||||||
|
QMetaEnum me = QToolBar::staticMetaObject.property(QToolBar::staticMetaObject.indexOfProperty("toolButtonStyle")).enumerator();
|
||||||
|
@@ -101,24 +97,21 @@ void StyleConfig::initControls()
|
||||||
|
// activate item views with single click
|
||||||
|
ui->singleClickActivate->setChecked( mSettings->value("single_click_activate", false).toBool());
|
||||||
|
|
||||||
|
- update();
|
||||||
|
-}
|
||||||
|
|
||||||
|
+ // Fill Qt themes
|
||||||
|
+ ui->qtComboBox->addItems(qtThemes);
|
||||||
|
|
||||||
|
-void StyleConfig::styleSelected(QTreeWidgetItem* item, int column)
|
||||||
|
-{
|
||||||
|
- Q_UNUSED(column);
|
||||||
|
- if (!item)
|
||||||
|
- return;
|
||||||
|
- QVariant themeName = item->data(0, Qt::DisplayRole);
|
||||||
|
- mQtSettings->beginGroup(QLatin1String("Qt"));
|
||||||
|
- mQtSettings->setValue("style", themeName);
|
||||||
|
- mQtSettings->endGroup();
|
||||||
|
- mQtSettings->sync();
|
||||||
|
+ // Fill GTK themes
|
||||||
|
+ ui->gtk2ComboBox->addItems(gtk2Themes);
|
||||||
|
+ ui->gtk3ComboBox->addItems(gtk3Themes);
|
||||||
|
+
|
||||||
|
+ ui->gtk2ComboBox->setCurrentText(mConfigOtherToolKits->getGTKThemeFromRCFile("2.0"));
|
||||||
|
+ ui->gtk3ComboBox->setCurrentText(mConfigOtherToolKits->getGTKThemeFromRCFile("3.0"));
|
||||||
|
+ mSettings->beginGroup(QLatin1String("Qt"));
|
||||||
|
+ ui->qtComboBox->setCurrentText(mSettings->value("style").toString());
|
||||||
|
+ mSettings->endGroup();
|
||||||
|
|
||||||
|
-#ifdef Q_WS_X11
|
||||||
|
- qt_x11_apply_settings_in_all_apps();
|
||||||
|
-#endif
|
||||||
|
+ update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void StyleConfig::toolButtonStyleSelected(int index)
|
||||||
|
@@ -131,7 +124,8 @@ void StyleConfig::toolButtonStyleSelecte
|
||||||
|
if(str)
|
||||||
|
{
|
||||||
|
mSettings->setValue("tool_button_style", str);
|
||||||
|
- mSettings->sync();
|
||||||
|
+ mSettings->sync();
|
||||||
|
+ emit updateSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -141,3 +135,28 @@ void StyleConfig::singleClickActivateTog
|
||||||
|
mSettings->sync();
|
||||||
|
}
|
||||||
|
|
||||||
|
+void StyleConfig::qtStyleSelected(const QString &themeName)
|
||||||
|
+{
|
||||||
|
+ mQtSettings->beginGroup(QLatin1String("Qt"));
|
||||||
|
+ mQtSettings->setValue("style", themeName);
|
||||||
|
+ mQtSettings->endGroup();
|
||||||
|
+ mQtSettings->sync();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void StyleConfig::gtk3StyleSelected(const QString &themeName)
|
||||||
|
+{
|
||||||
|
+ mConfigOtherToolKits->setGTKConfig("3.0", themeName);
|
||||||
|
+ mConfigOtherToolKits->setXSettingsConfig();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void StyleConfig::gtk2StyleSelected(const QString &themeName)
|
||||||
|
+{
|
||||||
|
+ mConfigOtherToolKits->setGTKConfig("2.0", themeName);
|
||||||
|
+ mConfigOtherToolKits->setXSettingsConfig();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void StyleConfig::showAdvancedOptions(bool on)
|
||||||
|
+{
|
||||||
|
+ ui->uniformThemeLabel->setVisible(on);
|
||||||
|
+ mConfigAppearanceSettings->setValue("ControlGTKThemeEnabled", on);
|
||||||
|
+}
|
||||||
|
--- a/lxqt-config-appearance/styleconfig.h
|
||||||
|
+++ b/lxqt-config-appearance/styleconfig.h
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <LXQt/Settings>
|
||||||
|
+#include "configothertoolkits.h"
|
||||||
|
|
||||||
|
class QTreeWidgetItem;
|
||||||
|
class QSettings;
|
||||||
|
@@ -43,14 +44,24 @@ class StyleConfig : public QWidget
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
- explicit StyleConfig(LXQt::Settings *settings, QSettings *qtSettings, QWidget *parent = 0);
|
||||||
|
+ explicit StyleConfig(LXQt::Settings *settings,
|
||||||
|
+ QSettings *qtSettings, LXQt::Settings *configAppearanceSettings,
|
||||||
|
+ ConfigOtherToolKits *configOtherToolKits, QWidget *parent = 0);
|
||||||
|
~StyleConfig();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void initControls();
|
||||||
|
|
||||||
|
+signals:
|
||||||
|
+ void updateSettings();
|
||||||
|
+
|
||||||
|
private slots:
|
||||||
|
- void styleSelected(QTreeWidgetItem* item, int column);
|
||||||
|
+ void gtk2StyleSelected(const QString &themeName);
|
||||||
|
+ void gtk3StyleSelected(const QString &themeName);
|
||||||
|
+ void qtStyleSelected(const QString &themeName);
|
||||||
|
+
|
||||||
|
+ void showAdvancedOptions(bool on);
|
||||||
|
+
|
||||||
|
void toolButtonStyleSelected(int index);
|
||||||
|
void singleClickActivateToggled(bool toggled);
|
||||||
|
|
||||||
|
@@ -58,6 +69,8 @@ private:
|
||||||
|
Ui::StyleConfig *ui;
|
||||||
|
QSettings *mQtSettings;
|
||||||
|
LXQt::Settings *mSettings;
|
||||||
|
+ LXQt::Settings *mConfigAppearanceSettings;
|
||||||
|
+ ConfigOtherToolKits *mConfigOtherToolKits;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // STYLECONFIG_H
|
||||||
|
--- a/lxqt-config-appearance/styleconfig.ui
|
||||||
|
+++ b/lxqt-config-appearance/styleconfig.ui
|
||||||
|
@@ -6,8 +6,8 @@
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
- <width>490</width>
|
||||||
|
- <height>363</height>
|
||||||
|
+ <width>609</width>
|
||||||
|
+ <height>344</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
@@ -24,38 +24,83 @@
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="1" column="0" colspan="2">
|
||||||
|
- <widget class="QTreeWidget" name="styleList">
|
||||||
|
+ <item row="4" column="0" colspan="2">
|
||||||
|
+ <widget class="QGroupBox" name="advancedOptionsGroupBox">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
- <verstretch>1</verstretch>
|
||||||
|
+ <verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
- <property name="alternatingRowColors">
|
||||||
|
+ <property name="maximumSize">
|
||||||
|
+ <size>
|
||||||
|
+ <width>16777215</width>
|
||||||
|
+ <height>16777215</height>
|
||||||
|
+ </size>
|
||||||
|
+ </property>
|
||||||
|
+ <property name="title">
|
||||||
|
+ <string>Set GTK themes (GTK configuration files will be overwritten!)</string>
|
||||||
|
+ </property>
|
||||||
|
+ <property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
- <property name="rootIsDecorated">
|
||||||
|
+ <property name="checked">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
- <attribute name="headerVisible">
|
||||||
|
- <bool>false</bool>
|
||||||
|
- </attribute>
|
||||||
|
- <column>
|
||||||
|
- <property name="text">
|
||||||
|
- <string notr="true">1</string>
|
||||||
|
- </property>
|
||||||
|
- </column>
|
||||||
|
+ <layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
+ <item>
|
||||||
|
+ <layout class="QFormLayout" name="formLayout_2">
|
||||||
|
+ <item row="2" column="0">
|
||||||
|
+ <widget class="QLabel" name="label_4">
|
||||||
|
+ <property name="sizePolicy">
|
||||||
|
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
+ <horstretch>0</horstretch>
|
||||||
|
+ <verstretch>0</verstretch>
|
||||||
|
+ </sizepolicy>
|
||||||
|
+ </property>
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>GTK 3 Theme</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="2" column="1">
|
||||||
|
+ <widget class="QComboBox" name="gtk3ComboBox"/>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="1" column="0">
|
||||||
|
+ <widget class="QLabel" name="label_3">
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>GTK 2 Theme</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="1" column="1">
|
||||||
|
+ <widget class="QComboBox" name="gtk2ComboBox"/>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="3" column="1">
|
||||||
|
+ <widget class="QLabel" name="uniformThemeLabel">
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>To attempt uniform theming, either select similar style/theme
|
||||||
|
+(if available) across all lists, or select 'gtk2' Qt style (if available)
|
||||||
|
+ to mimic GTK themes.
|
||||||
|
+
|
||||||
|
+Make sure 'xsettingsd' is installed to help GTK applications apply
|
||||||
|
+themes on the fly.</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
+ </layout>
|
||||||
|
+ </item>
|
||||||
|
+ </layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="2" column="0">
|
||||||
|
+ <item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Toolbar button style:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="2" column="1">
|
||||||
|
+ <item row="5" column="1">
|
||||||
|
<widget class="QComboBox" name="toolButtonStyle">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
@@ -84,13 +129,23 @@
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
- <item row="3" column="0" colspan="2">
|
||||||
|
+ <item row="6" column="0" colspan="2">
|
||||||
|
<widget class="QCheckBox" name="singleClickActivate">
|
||||||
|
<property name="text">
|
||||||
|
<string>Activate item on single click</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
+ <item row="1" column="1">
|
||||||
|
+ <widget class="QComboBox" name="qtComboBox"/>
|
||||||
|
+ </item>
|
||||||
|
+ <item row="1" column="0">
|
||||||
|
+ <widget class="QLabel" name="label_5">
|
||||||
|
+ <property name="text">
|
||||||
|
+ <string>Qt Style</string>
|
||||||
|
+ </property>
|
||||||
|
+ </widget>
|
||||||
|
+ </item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
18
debian/patches/mkpath-for-null-gtk-settings.patch
vendored
Normal file
18
debian/patches/mkpath-for-null-gtk-settings.patch
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Description: Make a path for GTK settings if it does not exist.
|
||||||
|
Author: P.L. Lucas <selairi@gmail.com>
|
||||||
|
Bug: https://github.com/lxqt/lxqt/issues/1548
|
||||||
|
Applied-Upstream: https://github.com/lxqt/lxqt-config/commit/5fe0f9288e432a669686af14657b7f508eefb77e
|
||||||
|
Last-Update: 2018-09-03
|
||||||
|
--- a/lxqt-config-appearance/configothertoolkits.cpp
|
||||||
|
+++ b/lxqt-config-appearance/configothertoolkits.cpp
|
||||||
|
@@ -212,6 +212,10 @@ void ConfigOtherToolKits::writeConfig(QS
|
||||||
|
path = _get_config_path(path);
|
||||||
|
|
||||||
|
QFile file(path);
|
||||||
|
+ if(! file.exists()) {
|
||||||
|
+ QFileInfo fileInfo(file);
|
||||||
|
+ QDir::home().mkpath(fileInfo.path());
|
||||||
|
+ }
|
||||||
|
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||||
|
return;
|
||||||
|
}
|
3
debian/patches/series
vendored
Normal file
3
debian/patches/series
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
gtk-appearance-settings.patch
|
||||||
|
set-default-gtk-theme.patch
|
||||||
|
mkpath-for-null-gtk-settings.patch
|
72
debian/patches/set-default-gtk-theme.patch
vendored
Normal file
72
debian/patches/set-default-gtk-theme.patch
vendored
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
Description: Set default GTK theme if rc file doesn't exists.
|
||||||
|
Author: P.L. Lucas <selairi@gmail.com>
|
||||||
|
Applied-Upstream: https://github.com/lxqt/lxqt-config/commit/4c3ad403dc14dde4fe41e56cf3272ac11e30346f
|
||||||
|
Last-Update: 2018-10-05
|
||||||
|
---
|
||||||
|
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||||
|
--- a/lxqt-config-appearance/configothertoolkits.cpp
|
||||||
|
+++ b/lxqt-config-appearance/configothertoolkits.cpp
|
||||||
|
@@ -34,6 +34,7 @@
|
||||||
|
#include <QFont>
|
||||||
|
#include <QDateTime>
|
||||||
|
#include <QMessageBox>
|
||||||
|
+#include <QProcess>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <signal.h>
|
||||||
|
@@ -246,7 +247,7 @@ QString ConfigOtherToolKits::getGTKTheme
|
||||||
|
QFile file(gtkrcPath);
|
||||||
|
if(file.exists()) {
|
||||||
|
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||||
|
- return QString();
|
||||||
|
+ return getDefaultGTKTheme();
|
||||||
|
while (!file.atEnd()) {
|
||||||
|
QByteArray line = file.readLine().trimmed();
|
||||||
|
if(line.startsWith("gtk-theme-name")) {
|
||||||
|
@@ -264,7 +265,7 @@ QString ConfigOtherToolKits::getGTKTheme
|
||||||
|
QFile file(gtkrcPath);
|
||||||
|
if(file.exists()) {
|
||||||
|
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||||
|
- return QString();
|
||||||
|
+ return getDefaultGTKTheme();
|
||||||
|
bool settingsFound = false;
|
||||||
|
while (!file.atEnd()) {
|
||||||
|
QByteArray line = file.readLine().trimmed();
|
||||||
|
@@ -283,7 +284,26 @@ QString ConfigOtherToolKits::getGTKTheme
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- return QString();
|
||||||
|
+ return getDefaultGTKTheme();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+QString ConfigOtherToolKits::getDefaultGTKTheme()
|
||||||
|
+{
|
||||||
|
+ // Get the GTK default theme. Command line:
|
||||||
|
+ // $ gsettings get org.gnome.desktop.interface gtk-theme
|
||||||
|
+ QProcess gsettings;
|
||||||
|
+ QStringList args;
|
||||||
|
+ args << "get" << "org.gnome.desktop.interface" << "gtk-theme";
|
||||||
|
+ gsettings.start("gsettings", args);
|
||||||
|
+ if(! gsettings.waitForFinished())
|
||||||
|
+ return QString();
|
||||||
|
+ QByteArray defaultTheme = gsettings.readAll().trimmed();
|
||||||
|
+ gsettings.close();
|
||||||
|
+ if(defaultTheme.size() <= 1)
|
||||||
|
+ return QString();
|
||||||
|
+ // The theme has got quotation marks. Remove it:
|
||||||
|
+ defaultTheme.replace("'","");
|
||||||
|
+ return QString(defaultTheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigOtherToolKits::updateConfigFromSettings()
|
||||||
|
--- a/lxqt-config-appearance/configothertoolkits.h
|
||||||
|
+++ b/lxqt-config-appearance/configothertoolkits.h
|
||||||
|
@@ -42,6 +42,7 @@ public:
|
||||||
|
QString getGTKThemeFromRCFile(QString version);
|
||||||
|
QString getGTKConfigPath(QString version);
|
||||||
|
bool backupGTKSettings(QString version);
|
||||||
|
+ QString getDefaultGTKTheme();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setConfig();
|
1
debian/rules
vendored
1
debian/rules
vendored
@ -2,6 +2,7 @@
|
|||||||
# export DH_VERBOSE=1
|
# export DH_VERBOSE=1
|
||||||
|
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
|
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
||||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
|
||||||
%:
|
%:
|
||||||
|
2
debian/source/lintian-overrides
vendored
2
debian/source/lintian-overrides
vendored
@ -1,2 +0,0 @@
|
|||||||
# Translation files may be long
|
|
||||||
lxqt-config source: very-long-line-length-in-source-file * > 512 [*.ts:*]
|
|
5
debian/upstream/metadata
vendored
5
debian/upstream/metadata
vendored
@ -1,5 +0,0 @@
|
|||||||
Bug-Database: https://github.com/lxqt/lxqt-config/issues
|
|
||||||
Bug-Submit: https://github.com/lxqt/lxqt-config/issues/new
|
|
||||||
Changelog: https://github.com/lxqt/lxqt-config/blob/master/CHANGELOG
|
|
||||||
Repository: https://github.com/lxqt/lxqt-config.git
|
|
||||||
Repository-Browse: https://github.com/lxqt/lxqt-config
|
|
52
debian/upstream/signing-key.asc
vendored
52
debian/upstream/signing-key.asc
vendored
@ -48,55 +48,3 @@ WCDFzbN2v2y+vGu9KYn+2HtrP2BtNa8JTh3waNeLUTpn4GV4mMrsZjOy6vhhHb91
|
|||||||
1TKfI1gvjk7lE9xaWmcDjdI55dw3jIq8kK9SdgORGq9/S3g7KJNRjme+6GjqQfk=
|
1TKfI1gvjk7lE9xaWmcDjdI55dw3jIq8kK9SdgORGq9/S3g7KJNRjme+6GjqQfk=
|
||||||
=h7ww
|
=h7ww
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
|
||||||
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
|
|
||||||
sw==
|
|
||||||
=gSIv
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
6
debian/watch
vendored
6
debian/watch
vendored
@ -1,5 +1,3 @@
|
|||||||
version=4
|
version=4
|
||||||
opts="searchmode=plain, \
|
opts="pgpsigurlmangle=s/$/.asc/" \
|
||||||
pgpsigurlmangle=s/$/.asc/, \
|
https://github.com/lxqt/lxqt-config/releases .*/lxqt-config-([\d\.]+).tar.xz
|
||||||
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
|
|
||||||
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user