summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--po/disfluid.pot18
-rw-r--r--po/fr.po21
-rw-r--r--src/scm/webid-oidc/client/gui.scm14
-rw-r--r--src/scm/webid-oidc/client/gui/settings.scm26
4 files changed, 68 insertions, 11 deletions
diff --git a/po/disfluid.pot b/po/disfluid.pot
index 08e4e4d..e2ee75a 100644
--- a/po/disfluid.pot
+++ b/po/disfluid.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: disfluid SNAPSHOT\n"
"Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n"
-"POT-Creation-Date: 2021-09-29 12:33+0200\n"
+"POT-Creation-Date: 2021-09-29 12:35+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -557,15 +557,25 @@ msgid ""
"pair.."
msgstr ""
-#: src/scm/webid-oidc/client/gui.scm:58
+#: src/scm/webid-oidc/client/gui.scm:60
+#, scheme-format
+msgid "The client changed: it is now ~a.\n"
+msgstr ""
+
+#: src/scm/webid-oidc/client/gui.scm:64
+#, scheme-format
+msgid "The accounts changed: the main account is ~a, and the others are ~a.\n"
+msgstr ""
+
+#: src/scm/webid-oidc/client/gui.scm:68
msgid "Hello, world!\n"
msgstr ""
-#: src/scm/webid-oidc/client/gui.scm:63
+#: src/scm/webid-oidc/client/gui.scm:73
msgid "Hello, world!"
msgstr ""
-#: src/scm/webid-oidc/client/gui/settings.scm:202
+#: src/scm/webid-oidc/client/gui/settings.scm:205
msgid "can only store 10 accounts"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 6f68824..911f206 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: webid-oidc 0.0.0\n"
"Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n"
-"POT-Creation-Date: 2021-09-29 12:33+0200\n"
-"PO-Revision-Date: 2021-09-27 10:25+0200\n"
+"POT-Creation-Date: 2021-09-29 12:35+0200\n"
+"PO-Revision-Date: 2021-09-29 12:35+0200\n"
"Last-Translator: Vivien Kraus <vivien@planete-kraus.eu>\n"
"Language-Team: French <vivien@planete-kraus.eu>\n"
"Language: fr\n"
@@ -606,15 +606,26 @@ msgstr ""
"L’ID de client et l’URI de redirection doivent être des URIs, et la paire de "
"clés doit être une paire de clés."
-#: src/scm/webid-oidc/client/gui.scm:58
+#: src/scm/webid-oidc/client/gui.scm:60
+#, scheme-format
+msgid "The client changed: it is now ~a.\n"
+msgstr "Le client a changé : c’est maintenant ~a.\n"
+
+#: src/scm/webid-oidc/client/gui.scm:64
+#, scheme-format
+msgid "The accounts changed: the main account is ~a, and the others are ~a.\n"
+msgstr ""
+"Les comptes ont changé : le compte principal est ~a, et les autres sont ~a.\n"
+
+#: src/scm/webid-oidc/client/gui.scm:68
msgid "Hello, world!\n"
msgstr "Bonjour, le monde !\n"
-#: src/scm/webid-oidc/client/gui.scm:63
+#: src/scm/webid-oidc/client/gui.scm:73
msgid "Hello, world!"
msgstr "Bonjour, le monde !"
-#: src/scm/webid-oidc/client/gui/settings.scm:202
+#: src/scm/webid-oidc/client/gui/settings.scm:205
msgid "can only store 10 accounts"
msgstr "on ne peut stocker que 10 comptes"
diff --git a/src/scm/webid-oidc/client/gui.scm b/src/scm/webid-oidc/client/gui.scm
index c446fc7..45910e3 100644
--- a/src/scm/webid-oidc/client/gui.scm
+++ b/src/scm/webid-oidc/client/gui.scm
@@ -33,8 +33,9 @@
#:use-module ((webid-oidc oidc-id-token) #:prefix id:)
#:use-module ((webid-oidc jwk) #:prefix jwk:)
#:use-module ((webid-oidc dpop-proof) #:prefix dpop:)
- #:use-module ((webid-oidc client client) #:prefix client:)
- #:use-module ((webid-oidc client gui settings) #:prefix settings)
+ #:use-module (webid-oidc client)
+ #:use-module (webid-oidc client accounts)
+ #:use-module ((webid-oidc client gui settings) #:prefix settings:)
#:use-module (web uri)
#:use-module (web response)
#:use-module (rnrs bytevectors)
@@ -54,6 +55,15 @@
(use-typelibs (("Gio" "2.0") #:renamer (protect 'application:new))
("Gtk" "3.0"))
+(add-hook! settings:client-changed-hook
+ (lambda (client)
+ (format #t (G_ "The client changed: it is now ~a.\n") client)))
+
+(add-hook! settings:accounts-changed-hook
+ (lambda (main other)
+ (format #t (G_ "The accounts changed: the main account is ~a, and the others are ~a.\n")
+ main other)))
+
(define (print-hello button)
(format #t (G_ "Hello, world!\n")))
diff --git a/src/scm/webid-oidc/client/gui/settings.scm b/src/scm/webid-oidc/client/gui/settings.scm
index 5ce62b0..57ebbfb 100644
--- a/src/scm/webid-oidc/client/gui/settings.scm
+++ b/src/scm/webid-oidc/client/gui/settings.scm
@@ -45,6 +45,9 @@
client
main-account
other-accounts
+
+ client-changed-hook
+ accounts-changed-hook
))
(push-duplicate-handler! 'merge-generics)
@@ -208,3 +211,26 @@
(match-lambda*
(() (get-other-accounts))
((value) (set-other-accounts! value))))
+
+(define client-changed-hook
+ (make-hook 1))
+
+(define accounts-changed-hook
+ (make-hook 2))
+
+(connect client-settings change-event
+ (lambda _
+ (run-hook client-changed-hook (client))
+ #f))
+
+(define (run-accounts-changed-hook . _)
+ (run-hook accounts-changed-hook
+ (main-account)
+ (other-accounts))
+ #f)
+
+(connect main-account-settings change-event run-accounts-changed-hook)
+(for-each
+ (lambda (settings)
+ (connect settings change-event run-accounts-changed-hook))
+ other-accounts-settings)