summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-04-01 12:50:50 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-04-02 21:30:36 -0400
commit9d4e274eb47ce18ae5c8adc9fac956bb45739d2d (patch)
treef92bdb0b3cabc7ec69cbe7ec3426f200eba182ea /gnu
parentf83bdd7e0028381e61b95d34119fba52d8b5bb7c (diff)
downloadguix-9d4e274eb47ce18ae5c8adc9fac956bb45739d2d.tar.gz
gnu: Add kddockwidgets.
* gnu/packages/qt.scm (kddockwidgets): New variable.

Change-Id: I0598b16da4f027f9c42584f30a49fcbba2f5a78e
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/qt.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 75622588a5..bbb1ae85a6 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -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")