::user-window

This commit is contained in:
Robert C. Martin 2023-06-23 15:19:46 -05:00
parent 1455331544
commit c9cf43a32e
2 changed files with 38 additions and 3 deletions

View File

@ -7,7 +7,8 @@
[more-speech.types.event-counter :as event-counter-type]
[more-speech.types.user-configuration :as user-configuration-type]
[more-speech.types.event :as event-type]
[more-speech.types.tabs-window :as tabs-window-type])
[more-speech.types.tabs-window :as tabs-window-type]
[more-speech.types.user-window :as user-window-type])
(:import (javax.swing JFrame)
(javax.swing.tree DefaultMutableTreeNode)))
@ -86,8 +87,7 @@
::event-handler
::article-panel
::tabs-window-type/tabs-window
::user-window
::user-window-type/user-window
::backing-up]))

View File

@ -0,0 +1,35 @@
(ns more-speech.types.user-window
(:require [clojure.spec.alpha :as s]))
(s/def ::id number?)
(s/def ::ids (s/coll-of ::id))
(s/def ::user-name string?)
(s/def ::item (s/tuple ::user-name ::id))
(s/def ::items (s/coll-of ::item))
(s/def ::contact-list-changed boolean?)
;;;;;;;;;;true if the new contact list should be sent to the relays.
(s/def ::trusted-users ::ids)
(s/def ::recent-users ::ids)
(s/def ::web-of-trust-users ::ids)
(s/def ::trusted-user-items ::items)
(s/def ::recent-user-items ::items)
(s/def ::web-of-trust-items ::items)
(s/def ::selection-group #{:recent-user-items
:trusted-user-items
:web-of-trust-items})
(s/def ::user-window
(s/or :nil nil?
:user-window-active (s/keys
:opt-un [::contact-list-changed
::trusted-users
::trusted-user-items
::recent-users
::recent-user-items
::web-of-trust-users
::web-of-trust-items
::selection-group])))