gnu: Add kddockwidgets.

* gnu/packages/qt.scm (kddockwidgets): New variable.

Change-Id: I0598b16da4f027f9c42584f30a49fcbba2f5a78e
This commit is contained in:
Maxim Cournoyer 2024-04-01 12:50:50 -04:00
parent f83bdd7e00
commit 9d4e274eb4
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 45 additions and 0 deletions

View File

@ -99,6 +99,7 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages maths)
#:use-module (gnu packages markup)
#:use-module (gnu packages networking)
@ -110,6 +111,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@ -249,6 +251,49 @@ window managers, that don't provide Qt integration by themselves.")
(home-page "https://qt5ct.sourceforge.io/")
(license license:bsd-2)))
(define-public kddockwidgets
(package
(name "kddockwidgets")
(version "2.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KDAB/KDDockWidgets")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1fcmfz9my3219r0kh2y8yfvq372pd65z4s6hm0js7j8qb47lr02p"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-DKDDockWidgets_TESTS=ON")))
(inputs
(list fmt
nlohmann-json
qtbase-5
qtdeclarative-5
qtquickcontrols2-5
qtx11extras
spdlog))
(home-page "https://github.com/KDAB/KDDockWidgets")
(synopsis "KDAB's Dock Widget Framework for Qt")
(description "KDDockWidgets is a Qt dock widget library suitable for
replacing QDockWidget and implementing advanced functionalities missing in
Qt. Some of its features include:
@itemize
@item Advanced docking that QDockWidget doesn't support
@item Layout engine honouring size constraints and some size policies
@item Lazy separator resize
@item Reordering tabs with mouse
@item Partial layout save/restore, affecting only a chosen subset
@item Double-click on title bar to maximize
@item Double-click on separator to distribute equally
@item Show close button on tabs
@item Allow to make a dock widget non-closable and/or non-dockable
@item Optional minimize and maximize button on the title bar
@item FloatingWindows can be utility windows or full native ones.
@end itemize")
(license (list license:gpl2 license:gpl3)))) ;dual-licensed
(define-public kvantum
(package
(name "kvantum")