summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-11-30 12:31:20 +0200
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-11-30 12:31:20 +0200
commitb9c8ac50d26d5f0e7e9bafbead94b7dde11a6aaf (patch)
tree2f5e9d3aab3c54a83263d7569dad6dd35d0f826e
parent63e9a36d64b75c7cbab17ccd861f8017b8a1e136 (diff)
parent02de94c9d94e70d2c8d5e4813c578111eba0d2b2 (diff)
Merge branch 'dev' into work/v1.10
-rw-r--r--.gitignore1
-rw-r--r--CMakeLists.txt2
-rw-r--r--po/en.po10
-rw-r--r--po/eo.po9
-rw-r--r--po/es.po7
-rw-r--r--po/fi.po7
-rw-r--r--po/fr.po245
-rw-r--r--po/sr.po17
-rw-r--r--po/tr.po6
-rw-r--r--po/uk.po10
-rw-r--r--res/about/version.gmi14
-rw-r--r--res/lang/cs.binbin30857 -> 30899 bytes
-rw-r--r--res/lang/de.binbin29864 -> 29906 bytes
-rw-r--r--res/lang/en.binbin25961 -> 26003 bytes
-rw-r--r--res/lang/eo.binbin24913 -> 24957 bytes
-rw-r--r--res/lang/es.binbin29691 -> 29730 bytes
-rw-r--r--res/lang/es_MX.binbin27020 -> 27062 bytes
-rw-r--r--res/lang/fi.binbin29517 -> 29563 bytes
-rw-r--r--res/lang/fr.binbin29901 -> 30710 bytes
-rw-r--r--res/lang/gl.binbin28873 -> 28915 bytes
-rw-r--r--res/lang/hu.binbin30693 -> 30735 bytes
-rw-r--r--res/lang/ia.binbin28020 -> 28062 bytes
-rw-r--r--res/lang/ie.binbin28608 -> 28650 bytes
-rw-r--r--res/lang/isv.binbin24681 -> 24723 bytes
-rw-r--r--res/lang/pl.binbin29296 -> 29338 bytes
-rw-r--r--res/lang/ru.binbin44056 -> 44098 bytes
-rw-r--r--res/lang/sk.binbin25017 -> 25059 bytes
-rw-r--r--res/lang/sr.binbin43444 -> 43524 bytes
-rw-r--r--res/lang/tok.binbin26730 -> 26772 bytes
-rw-r--r--res/lang/tr.binbin28933 -> 28956 bytes
-rw-r--r--res/lang/uk.binbin43401 -> 43443 bytes
-rw-r--r--res/lang/zh_Hans.binbin24915 -> 24957 bytes
-rw-r--r--res/lang/zh_Hant.binbin25113 -> 25155 bytes
-rw-r--r--src/ui/documentwidget.c15
-rw-r--r--src/ui/root.c7
-rw-r--r--src/ui/sidebarwidget.c3
-rw-r--r--src/ui/text.c4
-rw-r--r--src/ui/util.c4
-rw-r--r--src/ui/widget.c16
-rw-r--r--src/updater.c3
40 files changed, 322 insertions, 58 deletions
diff --git a/.gitignore b/.gitignore
index 9ef6983d..7ace39dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ build-*
5/.vsbuild 5/.vsbuild
6/.vscode 6/.vscode
7/app 7/app
8*~
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a7799777..5bf52a22 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,7 +18,7 @@
18cmake_minimum_required (VERSION 3.9) 18cmake_minimum_required (VERSION 3.9)
19 19
20project (Lagrange 20project (Lagrange
21 VERSION 1.9.1 21 VERSION 1.9.2
22 DESCRIPTION "A Beautiful Gemini Client" 22 DESCRIPTION "A Beautiful Gemini Client"
23 LANGUAGES C 23 LANGUAGES C
24) 24)
diff --git a/po/en.po b/po/en.po
index b95d3c5a..066c4eca 100644
--- a/po/en.po
+++ b/po/en.po
@@ -409,6 +409,10 @@ msgstr "Identities"
409msgid "sidebar.outline" 409msgid "sidebar.outline"
410msgstr "Outline" 410msgstr "Outline"
411 411
412# This label should be fairly short so it fits in a button in the sidebar.
413msgid "sidebar.action.feeds.markallread"
414msgstr "Read All"
415
412msgid "sidebar.action.show" 416msgid "sidebar.action.show"
413msgstr "Show:" 417msgstr "Show:"
414 418
@@ -471,18 +475,15 @@ msgid_plural "num.fonts.n"
471msgstr[0] "%u font" 475msgstr[0] "%u font"
472msgstr[1] "%u fonts" 476msgstr[1] "%u fonts"
473 477
474# strftime() formatted, split on two lines 478# strftime() formatted. Should be split evenly on two lines with a newline character.
475#, c-format
476msgid "page.timestamp" 479msgid "page.timestamp"
477msgstr "Received at %I:%M %p\non %b %d, %Y" 480msgstr "Received at %I:%M %p\non %b %d, %Y"
478 481
479# strftime() formatted 482# strftime() formatted
480#, c-format
481msgid "sidebar.date.thisyear" 483msgid "sidebar.date.thisyear"
482msgstr "%b. %d" 484msgstr "%b. %d"
483 485
484# strftime() formatted 486# strftime() formatted
485#, c-format
486msgid "sidebar.date.otheryear" 487msgid "sidebar.date.otheryear"
487msgstr "%b. %d, %Y" 488msgstr "%b. %d, %Y"
488 489
@@ -613,7 +614,6 @@ msgid "ident.temporary"
613msgstr "Temporary" 614msgstr "Temporary"
614 615
615# strftime() formatted 616# strftime() formatted
616#, c-format
617msgid "ident.expiry" 617msgid "ident.expiry"
618msgstr "Expires %b %d, %Y" 618msgstr "Expires %b %d, %Y"
619 619
diff --git a/po/eo.po b/po/eo.po
index 36b14ee7..b7bf16e6 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1,7 +1,7 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2021-10-12 19:50+0000\n" 4"PO-Revision-Date: 2021-11-28 23:50+0000\n"
5"Last-Translator: Nikolay Korotkiy <sikmir@gmail.com>\n" 5"Last-Translator: Nikolay Korotkiy <sikmir@gmail.com>\n"
6"Language-Team: Esperanto <http://weblate.skyjake.fi/projects/lagrange/ui/eo/>" 6"Language-Team: Esperanto <http://weblate.skyjake.fi/projects/lagrange/ui/eo/>"
7"\n" 7"\n"
@@ -208,8 +208,8 @@ msgstr "Malplenigi historion"
208 208
209msgid "num.bytes" 209msgid "num.bytes"
210msgid_plural "num.bytes.n" 210msgid_plural "num.bytes.n"
211msgstr[0] "%zu bajto" 211msgstr[0] "%u bajto"
212msgstr[1] "%zu bajtoj" 212msgstr[1] "%u bajtoj"
213 213
214msgid "feeds.refresh" 214msgid "feeds.refresh"
215msgstr "Reŝargi abonfluojn" 215msgstr "Reŝargi abonfluojn"
@@ -725,3 +725,6 @@ msgstr "Donalistaj eniroj"
725# Inline download status message. 725# Inline download status message.
726msgid "media.download.complete" 726msgid "media.download.complete"
727msgstr "La ŝarĝado finita." 727msgstr "La ŝarĝado finita."
728
729msgid "menu.update"
730msgstr "Kontroli ĝisdatigojn…"
diff --git a/po/es.po b/po/es.po
index 530c09ec..2c051bd0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,7 +1,7 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2021-11-25 14:43+0000\n" 4"PO-Revision-Date: 2021-11-28 23:50+0000\n"
5"Last-Translator: Wally Hackenslacker <mastor89@protonmail.com>\n" 5"Last-Translator: Wally Hackenslacker <mastor89@protonmail.com>\n"
6"Language-Team: Spanish <http://weblate.skyjake.fi/projects/lagrange/ui/es/>\n" 6"Language-Team: Spanish <http://weblate.skyjake.fi/projects/lagrange/ui/es/>\n"
7"Language: es\n" 7"Language: es\n"
@@ -1465,7 +1465,7 @@ msgid "sidebar.action.ident.import"
1465msgstr "Importar…" 1465msgstr "Importar…"
1466 1466
1467msgid "menu.split.merge" 1467msgid "menu.split.merge"
1468msgstr "Unir pestañas" 1468msgstr "Reunir"
1469 1469
1470msgid "menu.split.swap" 1470msgid "menu.split.swap"
1471msgstr "Intercambiar Lados" 1471msgstr "Intercambiar Lados"
@@ -2145,3 +2145,6 @@ msgstr "Carpeta:"
2145# Color of text background. 2145# Color of text background.
2146msgid "prefs.gemtext.ansi.bg" 2146msgid "prefs.gemtext.ansi.bg"
2147msgstr "Color de Fondo" 2147msgstr "Color de Fondo"
2148
2149msgid "menu.update"
2150msgstr "Buscar Actualizaciones…"
diff --git a/po/fi.po b/po/fi.po
index dc1d0d3c..bf59b797 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,8 +3,8 @@ msgstr ""
3"Project-Id-Version: PACKAGE VERSION\n" 3"Project-Id-Version: PACKAGE VERSION\n"
4"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 4"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
5"POT-Creation-Date: 2021-03-23 09:09+0000\n" 5"POT-Creation-Date: 2021-03-23 09:09+0000\n"
6"PO-Revision-Date: 2021-11-26 16:50+0000\n" 6"PO-Revision-Date: 2021-11-28 23:50+0000\n"
7"Last-Translator: Weblate Admin <jaakko.keranen@iki.fi>\n" 7"Last-Translator: Nikolay Korotkiy <sikmir@gmail.com>\n"
8"Language-Team: Finnish <http://weblate.skyjake.fi/projects/lagrange/ui/fi/>\n" 8"Language-Team: Finnish <http://weblate.skyjake.fi/projects/lagrange/ui/fi/>\n"
9"Language: fi\n" 9"Language: fi\n"
10"MIME-Version: 1.0\n" 10"MIME-Version: 1.0\n"
@@ -2132,3 +2132,6 @@ msgstr "Kansio:"
2132# Color of text background. 2132# Color of text background.
2133msgid "prefs.gemtext.ansi.bg" 2133msgid "prefs.gemtext.ansi.bg"
2134msgstr "Taustan väri" 2134msgstr "Taustan väri"
2135
2136msgid "menu.update"
2137msgstr "Tarkista päivitykset…"
diff --git a/po/fr.po b/po/fr.po
index 4e816df4..1bae5ba5 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,8 +1,8 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2021-10-03 04:50+0000\n" 4"PO-Revision-Date: 2021-11-28 23:50+0000\n"
5"Last-Translator: MCMic <come@chilliet.eu>\n" 5"Last-Translator: Timothée Goguely <timothee@goguely.com>\n"
6"Language-Team: French <http://weblate.skyjake.fi/projects/lagrange/ui/fr/>\n" 6"Language-Team: French <http://weblate.skyjake.fi/projects/lagrange/ui/fr/>\n"
7"Language: fr\n" 7"Language: fr\n"
8"MIME-Version: 1.0\n" 8"MIME-Version: 1.0\n"
@@ -75,8 +75,8 @@ msgstr "Coller"
75 75
76msgid "num.bytes" 76msgid "num.bytes"
77msgid_plural "num.bytes.n" 77msgid_plural "num.bytes.n"
78msgstr[0] "%zu octet" 78msgstr[0] "%u octet"
79msgstr[1] "%zu octets" 79msgstr[1] "%u octets"
80 80
81msgid "menu.title.view" 81msgid "menu.title.view"
82msgstr "Affichage" 82msgstr "Affichage"
@@ -312,8 +312,8 @@ msgstr "Copier l’empreinte"
312#, c-format 312#, c-format
313msgid "feeds.list.entrycount" 313msgid "feeds.list.entrycount"
314msgid_plural "feeds.list.entrycount.n" 314msgid_plural "feeds.list.entrycount.n"
315msgstr[0] "un total de %zu entrée" 315msgstr[0] "un total de %u entrée"
316msgstr[1] "un total de %zu entrées" 316msgstr[1] "un total de %u entrées"
317 317
318#, c-format 318#, c-format
319msgid "minutes.ago" 319msgid "minutes.ago"
@@ -496,8 +496,8 @@ msgstr "Entrées de flux"
496#, c-format 496#, c-format
497msgid "feeds.list.counts" 497msgid "feeds.list.counts"
498msgid_plural "feeds.list.counts.n" 498msgid_plural "feeds.list.counts.n"
499msgstr[0] "Vous êtes abonné à %zu flux contenant %%s.\n" 499msgstr[0] "Vous êtes abonné à %u flux contenant %%s.\n"
500msgstr[1] "Vous êtes abonné à %zu flux contenant %%s.\n" 500msgstr[1] "Vous êtes abonné à %u flux contenant %%s.\n"
501 501
502# Alt-text of the preformatted logo. 502# Alt-text of the preformatted logo.
503msgid "about.logo" 503msgid "about.logo"
@@ -637,9 +637,7 @@ msgstr "PARAMÈTRES DE FLUX"
637 637
638#, c-format 638#, c-format
639msgid "dlg.confirm.unsub" 639msgid "dlg.confirm.unsub"
640msgstr "" 640msgstr "Vraiment se désabonner du flux « %s » ?"
641"Vraiment se désabonner du flux\n"
642"« %s » ?"
643 641
644msgid "keys.zoom.reset" 642msgid "keys.zoom.reset"
645msgstr "Réinitialiser le zoom" 643msgstr "Réinitialiser le zoom"
@@ -869,7 +867,7 @@ msgid "error.tls"
869msgstr "Échec réseau/TLS" 867msgstr "Échec réseau/TLS"
870 868
871msgid "error.tls.msg" 869msgid "error.tls.msg"
872msgstr "La communication avec le serveur a échoué. Voici le message d’erreur :" 870msgstr "La communication avec le serveur a échoué."
873 871
874msgid "error.temporary" 872msgid "error.temporary"
875msgstr "Échec temporaire" 873msgstr "Échec temporaire"
@@ -973,8 +971,8 @@ msgstr "Le certificat client fourni a expiré ou est invalide."
973#, c-format 971#, c-format
974msgid "ident.usedonurls" 972msgid "ident.usedonurls"
975msgid_plural "ident.usedonurls.n" 973msgid_plural "ident.usedonurls.n"
976msgstr[0] "Utilisée sur %zu URL" 974msgstr[0] "Utilisée sur %u URL"
977msgstr[1] "Utilisée sur %zu URLs" 975msgstr[1] "Utilisée sur %u URLs"
978 976
979msgid "heading.ident.notes" 977msgid "heading.ident.notes"
980msgstr "NOTES SUR L'IDENTITÉ" 978msgstr "NOTES SUR L'IDENTITÉ"
@@ -1028,9 +1026,8 @@ msgstr "Utilisée pour cette page"
1028#, c-format 1026#, c-format
1029msgid "dlg.confirm.ident.delete" 1027msgid "dlg.confirm.ident.delete"
1030msgstr "" 1028msgstr ""
1031"Voulez-vous vraiment supprimer l'identité\n" 1029"Voulez-vous vraiment supprimer l'identité %s%s%s y compris ses fichiers de "
1032"%s%s%s\n" 1030"certificat et clé privée ?"
1033"y compris ses fichiers de certificat et clé privée ?"
1034 1031
1035msgid "heading.unsub" 1032msgid "heading.unsub"
1036msgstr "DÉSABONNEMENT" 1033msgstr "DÉSABONNEMENT"
@@ -1586,9 +1583,9 @@ msgstr "Sortir de l’archive"
1586msgid "archive.summary" 1583msgid "archive.summary"
1587msgid_plural "archive.summary.n" 1584msgid_plural "archive.summary.n"
1588msgstr[0] "" 1585msgstr[0] ""
1589"Cette archive contient %zu élément et sa taille compressée est de %.1f Mo." 1586"Cette archive contient %u élément et sa taille compressée est de %.1f Mo."
1590msgstr[1] "" 1587msgstr[1] ""
1591"Cette archive contient %zu éléments et sa taille compressée est de %.1f Mo." 1588"Cette archive contient %u éléments et sa taille compressée est de %.1f Mo."
1592 1589
1593msgid "dir.empty" 1590msgid "dir.empty"
1594msgstr "Ce répertoire est vide." 1591msgstr "Ce répertoire est vide."
@@ -1596,8 +1593,8 @@ msgstr "Ce répertoire est vide."
1596#, c-format 1593#, c-format
1597msgid "dir.summary" 1594msgid "dir.summary"
1598msgid_plural "dir.summary.n" 1595msgid_plural "dir.summary.n"
1599msgstr[0] "Ce répertoire contient %zu élément." 1596msgstr[0] "Ce répertoire contient %u élément."
1600msgstr[1] "Ce répertoire contient %zu éléments." 1597msgstr[1] "Ce répertoire contient %u éléments."
1601 1598
1602msgid "menu.split.swap" 1599msgid "menu.split.swap"
1603msgstr "Échanger les côtés" 1600msgstr "Échanger les côtés"
@@ -1665,8 +1662,8 @@ msgstr "PORT DE TÉLÉVERSEMENT TITAN"
1665 1662
1666msgid "dlg.uploadport.msg" 1663msgid "dlg.uploadport.msg"
1667msgstr "" 1664msgstr ""
1668"Définit le port du serveur Titan à utiliser pour cette URL.\n" 1665"Définit le port du serveur Titan à utiliser pour cette URL. Le port est "
1669"Le port est enregistré dans la configuration spécifique au site." 1666"enregistré dans la configuration spécifique au site."
1670 1667
1671msgid "dlg.uploadport.set" 1668msgid "dlg.uploadport.set"
1672msgstr "Définir le port" 1669msgstr "Définir le port"
@@ -1932,3 +1929,205 @@ msgstr "Couleur du préformaté"
1932 1929
1933msgid "keys.bookmark.addfolder" 1930msgid "keys.bookmark.addfolder"
1934msgstr "Ajouter un dossier de signets" 1931msgstr "Ajouter un dossier de signets"
1932
1933msgid "menu.website"
1934msgstr "Site Web du projet…"
1935
1936msgid "dlg.bookmark.folder"
1937msgstr "Dossier :"
1938
1939msgid "heading.fontpack.meta"
1940msgstr "Polices"
1941
1942msgid "fontpack.open.aboutfonts"
1943msgstr "Afficher les polices installées"
1944
1945msgid "num.fonts"
1946msgid_plural "num.fonts.n"
1947msgstr[0] "%u police"
1948msgstr[1] "%u polices"
1949
1950msgid "truetype.help"
1951msgstr ""
1952"Lagrange essaye de charger tous les fichiers TrueType individuels qui sont "
1953"copiés dans le répertoire des polices utilisateur."
1954
1955#, c-format
1956msgid "dlg.dismiss.ansi"
1957msgstr ""
1958"Ignorer de manière permanente l’avertissement à propos de l’émulation de "
1959"terminal sur %s ?"
1960
1961msgid "error.ansi.msg"
1962msgstr ""
1963"Cette page peut ne pas être affichée correctement. Elle utilise des "
1964"séquences d’échappement ANSI pour appliquer des styles au texte, ce qui n’"
1965"est que partiellement supporté. Vous pouvez essayer d'utiliser un émulateur "
1966"de terminal pour la visualiser."
1967
1968msgid "dlg.feed.ignoreweb"
1969msgstr "Ignorer les liens HTTP(S) :"
1970
1971msgid "prefs.boldlink.visited"
1972msgstr "Visité"
1973
1974msgid "prefs.gemtext.ansi"
1975msgstr "Échappements ANSI :"
1976
1977# Color of the text foreground, i.e., the characters.
1978msgid "prefs.gemtext.ansi.fg"
1979msgstr "Couleur avant-plan"
1980
1981msgid "error.ansi"
1982msgstr "Émulation de terminal"
1983
1984msgid "error.glyphs"
1985msgstr "Glyphes manquants"
1986
1987msgid "heading.fontpack.meta.disabled"
1988msgstr "Packs de polices désactivés"
1989
1990#, c-format
1991msgid "fontpack.install"
1992msgstr "Installer « %s »"
1993
1994#, c-format
1995msgid "fontpack.upgrade"
1996msgstr "Mettre à jour « %s » vers la version %d"
1997
1998msgid "dlg.fontpack.classic.msg"
1999msgstr ""
2000"Les polices qui étaient auparavant fournies avec l'application sont à "
2001"présent disponibles en tant que téléchargement séparé. Souhaitez-vous "
2002"télécharger le pack de polices « Classic set » maintenant ?"
2003
2004msgid "error.glyphs.msg"
2005msgstr ""
2006"Cette page ne peut pas être affichée en totalité car certains caractères "
2007"sont manquants. Vous pouvez installer des polices supplémentaires pour "
2008"corriger cela."
2009
2010msgid "sidebar.action.show"
2011msgstr "Afficher :"
2012
2013msgid "dlg.certwarn.title"
2014msgstr "Problème de sécurité"
2015
2016msgid "prefs.font.ui"
2017msgstr "Interface :"
2018
2019msgid "truetype.help.installed"
2020msgstr "Cette police est installée dans le répertoire des polices utilisateur."
2021
2022msgid "dlg.dismiss.warning"
2023msgstr "Ignorer l’avertissement"
2024
2025msgid "heading.dismiss.warning"
2026msgstr "IGNORER L’AVERTISSEMENT ?"
2027
2028msgid "menu.update"
2029msgstr "Rechercher des mises à jour…"
2030
2031msgid "menu.fonts"
2032msgstr "Gérer les polices…"
2033
2034msgid "prefs.bookmarks.addbottom"
2035msgstr "Ajouter les signets en bas :"
2036
2037# Abbrevation: background-to-foreground
2038msgid "prefs.imagestyle.bgfg"
2039msgstr "Arrière-plan vers avant-plan"
2040
2041msgid "prefs.font.heading"
2042msgstr "Titres :"
2043
2044msgid "prefs.font.body"
2045msgstr "Corps :"
2046
2047msgid "prefs.font.mono"
2048msgstr "Préformaté :"
2049
2050# Font to use for headings and body when Monospace body is enabled.
2051msgid "prefs.font.monodoc"
2052msgstr "Police à chasse fixe :"
2053
2054# Color of text background.
2055msgid "prefs.gemtext.ansi.bg"
2056msgstr "Couleur d'arrière-plan"
2057
2058msgid "prefs.gemtext.ansi.fontstyle"
2059msgstr "Style de police"
2060
2061msgid "prefs.font.smooth"
2062msgstr "Lissage :"
2063
2064msgid "heading.fontpack.meta.enabled"
2065msgstr "Packs de polices activés"
2066
2067# Action label
2068msgid "fontpack.meta.viewfile"
2069msgstr "Afficher le fichier"
2070
2071#, c-format
2072msgid "fontpack.meta.version"
2073msgstr "Version %d"
2074
2075msgid "fontpack.meta.installed"
2076msgstr "Installé"
2077
2078msgid "fontpack.meta.notinstalled"
2079msgstr "Non installé"
2080
2081msgid "fontpack.meta.disabled"
2082msgstr ", désactivé"
2083
2084#, c-format
2085msgid "fontpack.enable"
2086msgstr "Activer « %s »"
2087
2088#, c-format
2089msgid "fontpack.disable"
2090msgstr "Désactiver « %s »"
2091
2092msgid "fontpack.export"
2093msgstr "Afficher le modèle fontpack.ini"
2094
2095#, c-format
2096msgid "fontpack.delete"
2097msgstr "Supprimer définitivement « %s »"
2098
2099#, c-format
2100msgid "dlg.fontpack.delete.confirm"
2101msgstr ""
2102"Voulez-vous vraiment supprimer définitivement le pack de polices « %s » ?"
2103
2104msgid "dlg.fontpack.delete"
2105msgstr "Supprimer le pack de polices"
2106
2107msgid "heading.fontpack.delete"
2108msgstr "SUPPRIMER LE PACK DE POLICES"
2109
2110msgid "fontpack.help"
2111msgstr ""
2112"Les packs de polices de Lagrange sont des archives ZIP qui contiennent un "
2113"ensemble de fichiers de polices et leurs paramètres de configuration "
2114"associés. Une fois installées, les polices peuvent être utilisées pour le "
2115"contenu des documents et l'UI. Les polices actives sont choisies dans "
2116"Préférences > Polices."
2117
2118msgid "fontpack.install.ttf"
2119msgstr "Installer une police TrueType"
2120
2121msgid "fontpack.open.fontsdir"
2122msgstr "Ouvrir le répertoire des polices utilisateur"
2123
2124msgid "dlg.fontpack.classic"
2125msgstr "Télécharger le pack de polices (25 Mo)"
2126
2127msgid "heading.fontpack.classic"
2128msgstr "TÉLÉCHARGER LE PACK DE POLICES"
2129
2130msgid "num.files"
2131msgid_plural "num.files.n"
2132msgstr[0] "%u fichier"
2133msgstr[1] "%u fichiers"
diff --git a/po/sr.po b/po/sr.po
index 8a6d36d8..ca63ab85 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,7 +1,7 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2021-11-10 04:50+0000\n" 4"PO-Revision-Date: 2021-11-28 23:50+0000\n"
5"Last-Translator: Страхиња Радић <contact@strahinja.org>\n" 5"Last-Translator: Страхиња Радић <contact@strahinja.org>\n"
6"Language-Team: Serbian <http://weblate.skyjake.fi/projects/lagrange/ui/sr/>\n" 6"Language-Team: Serbian <http://weblate.skyjake.fi/projects/lagrange/ui/sr/>\n"
7"Language: sr\n" 7"Language: sr\n"
@@ -1475,7 +1475,7 @@ msgid "menu.downloads"
1475msgstr "Прикажи Преузимања" 1475msgstr "Прикажи Преузимања"
1476 1476
1477msgid "menu.split.merge" 1477msgid "menu.split.merge"
1478msgstr "Спој картице" 1478msgstr "Спој"
1479 1479
1480msgid "menu.view.split" 1480msgid "menu.view.split"
1481msgstr "Раздвој поглед…" 1481msgstr "Раздвој поглед…"
@@ -2169,3 +2169,16 @@ msgstr "Чешки"
2169 2169
2170msgid "lang.hu" 2170msgid "lang.hu"
2171msgstr "Мађарски" 2171msgstr "Мађарски"
2172
2173msgid "menu.update"
2174msgstr "Провери ажурирања…"
2175
2176msgid "dlg.bookmark.folder"
2177msgstr "Фасцикла:"
2178
2179msgid "sidebar.action.show"
2180msgstr "Прикажи:"
2181
2182# Color of text background.
2183msgid "prefs.gemtext.ansi.bg"
2184msgstr "Боја позадине"
diff --git a/po/tr.po b/po/tr.po
index bd834721..74470a45 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,7 +1,7 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2021-11-27 04:58+0000\n" 4"PO-Revision-Date: 2021-11-28 23:50+0000\n"
5"Last-Translator: Emir <emir_sari@msn.com>\n" 5"Last-Translator: Emir <emir_sari@msn.com>\n"
6"Language-Team: Turkish <http://weblate.skyjake.fi/projects/lagrange/ui/tr/>\n" 6"Language-Team: Turkish <http://weblate.skyjake.fi/projects/lagrange/ui/tr/>\n"
7"Language: tr\n" 7"Language: tr\n"
@@ -918,7 +918,7 @@ msgstr "Genel"
918 918
919# tab button 919# tab button
920msgid "heading.prefs.interface" 920msgid "heading.prefs.interface"
921msgstr "Kullanıcı arabirimi" 921msgstr "Arayüz"
922 922
923# tab button 923# tab button
924msgid "heading.prefs.keys" 924msgid "heading.prefs.keys"
@@ -1865,7 +1865,7 @@ msgid "prefs.theme.light"
1865msgstr "Açık" 1865msgstr "Açık"
1866 1866
1867msgid "prefs.uiscale" 1867msgid "prefs.uiscale"
1868msgstr "UI ölçeklendirme faktörü:" 1868msgstr "Arayüz ölçeklendirme:"
1869 1869
1870msgid "prefs.returnkey.accept" 1870msgid "prefs.returnkey.accept"
1871msgstr "Kabul et" 1871msgstr "Kabul et"
diff --git a/po/uk.po b/po/uk.po
index d040c9c9..80061050 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,7 +1,7 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n" 3"Report-Msgid-Bugs-To: jaakko.keranen@iki.fi\n"
4"PO-Revision-Date: 2021-11-26 18:17+0000\n" 4"PO-Revision-Date: 2021-11-28 23:50+0000\n"
5"Last-Translator: Alyssa Liddell <e-liss@tuta.io>\n" 5"Last-Translator: Alyssa Liddell <e-liss@tuta.io>\n"
6"Language-Team: Ukrainian <http://weblate.skyjake.fi/projects/lagrange/ui/uk/>" 6"Language-Team: Ukrainian <http://weblate.skyjake.fi/projects/lagrange/ui/uk/>"
7"\n" 7"\n"
@@ -179,7 +179,7 @@ msgid "menu.sort.alpha"
179msgstr "За алфавітом" 179msgstr "За алфавітом"
180 180
181msgid "menu.bookmarks.list" 181msgid "menu.bookmarks.list"
182msgstr "Показати і закладки" 182msgstr "Показати всі закладки"
183 183
184msgid "menu.bookmarks.bytag" 184msgid "menu.bookmarks.bytag"
185msgstr "Закладки за міткою" 185msgstr "Закладки за міткою"
@@ -405,7 +405,7 @@ msgid "menu.split.horizontal"
405msgstr "Горизонтально" 405msgstr "Горизонтально"
406 406
407msgid "menu.downloads" 407msgid "menu.downloads"
408msgstr "Показати і завантаження" 408msgstr "Показати всі завантаження"
409 409
410msgid "menu.unexpire" 410msgid "menu.unexpire"
411msgstr "Ігнорувати недійсність і продовжити завантаження" 411msgstr "Ігнорувати недійсність і продовжити завантаження"
@@ -421,7 +421,7 @@ msgid "menu.zoom.reset"
421msgstr "Звичайний розмір" 421msgstr "Звичайний розмір"
422 422
423msgid "macos.menu.bookmarks.list" 423msgid "macos.menu.bookmarks.list"
424msgstr "Показати і" 424msgstr "Показати всі"
425 425
426msgid "macos.menu.bookmarks.bytag" 426msgid "macos.menu.bookmarks.bytag"
427msgstr "За міткою" 427msgstr "За міткою"
@@ -467,7 +467,7 @@ msgid "menu.aboutpages"
467msgstr "Інформаційні сторінки" 467msgstr "Інформаційні сторінки"
468 468
469msgid "menu.import.links" 469msgid "menu.import.links"
470msgstr "Імпортувати і посилання на сторінці…" 470msgstr "Імпортувати всі посилання на сторінці…"
471 471
472msgid "menu.page.copyurl" 472msgid "menu.page.copyurl"
473msgstr "Копіювати URL сторінки" 473msgstr "Копіювати URL сторінки"
diff --git a/res/about/version.gmi b/res/about/version.gmi
index c510d07a..a9043b2c 100644
--- a/res/about/version.gmi
+++ b/res/about/version.gmi
@@ -6,10 +6,20 @@
6``` 6```
7# Release notes 7# Release notes
8 8
9## 1.9.2
10* Windows: Use the correct version number for update checks.
11* Shorter label for "Mark All as Read" in Feeds sidebar actions.
12* Updated UI translations.
13
9## 1.9.1 14## 1.9.1
10* Added "24-Hour Time" preference. 15* Added "24-Hour Time" preference. Currently it only affects the page timestamp in the bottom left corner.
11* Fixed drawing the page timestamp (bottom left corner) that was always hidden.
12* Heading level 3 is indented like regular text lines, making the difference to level 2 evident. 16* Heading level 3 is indented like regular text lines, making the difference to level 2 evident.
17* Fixed crash when creating a top-level bookmark.
18* Fixed drawing the page timestamp.
19* Fixed layout of tab buttons and other resizing widgets so all available space is used.
20* Fixed tab close buttons preventing activation of very short tab buttons. The close buttons only appear if there is room for them.
21* Fixed very short tab labels not getting truncated.
22* Fixed the New Tab button not staying at the right edge of the window, depending on how many tabs are open.
13 23
14## 1.9 24## 1.9
15 25
diff --git a/res/lang/cs.bin b/res/lang/cs.bin
index beb44264..647e1f34 100644
--- a/res/lang/cs.bin
+++ b/res/lang/cs.bin
Binary files differ
diff --git a/res/lang/de.bin b/res/lang/de.bin
index 2bd48e02..b2bb35a0 100644
--- a/res/lang/de.bin
+++ b/res/lang/de.bin
Binary files differ
diff --git a/res/lang/en.bin b/res/lang/en.bin
index 2e95dd20..fbf4c73c 100644
--- a/res/lang/en.bin
+++ b/res/lang/en.bin
Binary files differ
diff --git a/res/lang/eo.bin b/res/lang/eo.bin
index f9dc80e6..7156b7c8 100644
--- a/res/lang/eo.bin
+++ b/res/lang/eo.bin
Binary files differ
diff --git a/res/lang/es.bin b/res/lang/es.bin
index 29d94600..1acb50d1 100644
--- a/res/lang/es.bin
+++ b/res/lang/es.bin
Binary files differ
diff --git a/res/lang/es_MX.bin b/res/lang/es_MX.bin
index 2d6ea258..078de89d 100644
--- a/res/lang/es_MX.bin
+++ b/res/lang/es_MX.bin
Binary files differ
diff --git a/res/lang/fi.bin b/res/lang/fi.bin
index 631a6497..ccd3e133 100644
--- a/res/lang/fi.bin
+++ b/res/lang/fi.bin
Binary files differ
diff --git a/res/lang/fr.bin b/res/lang/fr.bin
index 8d292ef8..96c1148e 100644
--- a/res/lang/fr.bin
+++ b/res/lang/fr.bin
Binary files differ
diff --git a/res/lang/gl.bin b/res/lang/gl.bin
index ec7e0502..4269b5ed 100644
--- a/res/lang/gl.bin
+++ b/res/lang/gl.bin
Binary files differ
diff --git a/res/lang/hu.bin b/res/lang/hu.bin
index d4dc0811..7b7edb50 100644
--- a/res/lang/hu.bin
+++ b/res/lang/hu.bin
Binary files differ
diff --git a/res/lang/ia.bin b/res/lang/ia.bin
index 43b8e871..4750b545 100644
--- a/res/lang/ia.bin
+++ b/res/lang/ia.bin
Binary files differ
diff --git a/res/lang/ie.bin b/res/lang/ie.bin
index 79f370d2..e4c90ef9 100644
--- a/res/lang/ie.bin
+++ b/res/lang/ie.bin
Binary files differ
diff --git a/res/lang/isv.bin b/res/lang/isv.bin
index 2af9a9d7..80754fc5 100644
--- a/res/lang/isv.bin
+++ b/res/lang/isv.bin
Binary files differ
diff --git a/res/lang/pl.bin b/res/lang/pl.bin
index 9e1590a6..c0affedf 100644
--- a/res/lang/pl.bin
+++ b/res/lang/pl.bin
Binary files differ
diff --git a/res/lang/ru.bin b/res/lang/ru.bin
index 1fbd1097..966deaea 100644
--- a/res/lang/ru.bin
+++ b/res/lang/ru.bin
Binary files differ
diff --git a/res/lang/sk.bin b/res/lang/sk.bin
index b4603c7d..deda3b69 100644
--- a/res/lang/sk.bin
+++ b/res/lang/sk.bin
Binary files differ
diff --git a/res/lang/sr.bin b/res/lang/sr.bin
index 2e8d131c..8d8591e6 100644
--- a/res/lang/sr.bin
+++ b/res/lang/sr.bin
Binary files differ
diff --git a/res/lang/tok.bin b/res/lang/tok.bin
index 582b24de..1b0c0733 100644
--- a/res/lang/tok.bin
+++ b/res/lang/tok.bin
Binary files differ
diff --git a/res/lang/tr.bin b/res/lang/tr.bin
index d7788667..60ef518d 100644
--- a/res/lang/tr.bin
+++ b/res/lang/tr.bin
Binary files differ
diff --git a/res/lang/uk.bin b/res/lang/uk.bin
index 62d480a7..2ed16909 100644
--- a/res/lang/uk.bin
+++ b/res/lang/uk.bin
Binary files differ
diff --git a/res/lang/zh_Hans.bin b/res/lang/zh_Hans.bin
index 0b9b3360..3a83dd40 100644
--- a/res/lang/zh_Hans.bin
+++ b/res/lang/zh_Hans.bin
Binary files differ
diff --git a/res/lang/zh_Hant.bin b/res/lang/zh_Hant.bin
index b6e7b5d0..7da4b273 100644
--- a/res/lang/zh_Hant.bin
+++ b/res/lang/zh_Hant.bin
Binary files differ
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index 39dd3aab..3fb8498b 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -1007,17 +1007,26 @@ static void updateWindowTitle_DocumentWidget_(const iDocumentWidget *d) {
1007 prependCStr_String(text, escape_Color(uiIcon_ColorId)); 1007 prependCStr_String(text, escape_Color(uiIcon_ColorId));
1008 } 1008 }
1009 const int width = measureRange_Text(font, range_String(text)).advance.x; 1009 const int width = measureRange_Text(font, range_String(text)).advance.x;
1010 if (width <= avail || 1010 const int ellipsisWidth = measure_Text(font, "...").advance.x;
1011 isEmpty_StringArray(title)) { 1011 setTextColor_LabelWidget(tabButton, none_ColorId);
1012 iWidget *tabCloseButton = child_Widget(as_Widget(tabButton), 0);
1013 setFlags_Widget(tabCloseButton, visibleOnParentHover_WidgetFlag,
1014 avail > width_Widget(tabCloseButton));
1015 if (width <= avail || isEmpty_StringArray(title)) {
1012 updateText_LabelWidget(tabButton, text); 1016 updateText_LabelWidget(tabButton, text);
1013 break; 1017 break;
1014 } 1018 }
1015 if (size_StringArray(title) == 1) { 1019 if (size_StringArray(title) == 1) {
1016 /* Just truncate to fit. */ 1020 /* Just truncate to fit. */
1021 if (siteIcon && avail <= 4 * ellipsisWidth) {
1022 updateText_LabelWidget(tabButton, collect_String(newUnicodeN_String(&siteIcon, 1)));
1023 setTextColor_LabelWidget(tabButton, uiIcon_ColorId);
1024 break;
1025 }
1017 const char *endPos; 1026 const char *endPos;
1018 tryAdvanceNoWrap_Text(font, 1027 tryAdvanceNoWrap_Text(font,
1019 range_String(text), 1028 range_String(text),
1020 avail - measure_Text(font, "...").advance.x, 1029 avail - ellipsisWidth,
1021 &endPos); 1030 &endPos);
1022 updateText_LabelWidget( 1031 updateText_LabelWidget(
1023 tabButton, 1032 tabButton,
diff --git a/src/ui/root.c b/src/ui/root.c
index 5b1167d8..cf13169d 100644
--- a/src/ui/root.c
+++ b/src/ui/root.c
@@ -76,11 +76,11 @@ static const iMenuItem navMenuItems_[] = {
76 { "${menu.feeds.entrylist}", 0, 0, "!open url:about:feeds" }, 76 { "${menu.feeds.entrylist}", 0, 0, "!open url:about:feeds" },
77 { "---" }, 77 { "---" },
78 { gear_Icon " ${menu.preferences}", SDLK_COMMA, KMOD_PRIMARY, "preferences" }, 78 { gear_Icon " ${menu.preferences}", SDLK_COMMA, KMOD_PRIMARY, "preferences" },
79 { "${menu.help}", SDLK_F1, 0, "!open url:about:help" },
80 { "${menu.releasenotes}", 0, 0, "!open url:about:version" },
81 #if defined (LAGRANGE_ENABLE_WINSPARKLE) 79 #if defined (LAGRANGE_ENABLE_WINSPARKLE)
82 { "${menu.update}", 0, 0, "updater.check" }, 80 { "${menu.update}", 0, 0, "updater.check" },
83 #endif 81 #endif
82 { "${menu.help}", SDLK_F1, 0, "!open url:about:help" },
83 { "${menu.releasenotes}", 0, 0, "!open url:about:version" },
84 { "---" }, 84 { "---" },
85 { "${menu.quit}", 'q', KMOD_PRIMARY, "quit" } 85 { "${menu.quit}", 'q', KMOD_PRIMARY, "quit" }
86}; 86};
@@ -1317,7 +1317,8 @@ void createUserInterface_Root(iRoot *d) {
1317 setBackgroundColor_Widget(buttons, uiBackground_ColorId); 1317 setBackgroundColor_Widget(buttons, uiBackground_ColorId);
1318 } 1318 }
1319 setId_Widget( 1319 setId_Widget(
1320 addChild_Widget(buttons, iClob(newIcon_LabelWidget(add_Icon, 0, 0, "tabs.new"))), 1320 addChildFlags_Widget(buttons, iClob(newIcon_LabelWidget(add_Icon, 0, 0, "tabs.new")),
1321 moveToParentRightEdge_WidgetFlag),
1321 "newtab"); 1322 "newtab");
1322 } 1323 }
1323 /* Sidebars. */ { 1324 /* Sidebars. */ {
diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c
index b6aa06b1..1aeb4163 100644
--- a/src/ui/sidebarwidget.c
+++ b/src/ui/sidebarwidget.c
@@ -350,7 +350,7 @@ static void updateItems_SidebarWidget_(iSidebarWidget *d) {
350 } 350 }
351 /* Actions. */ { 351 /* Actions. */ {
352 addActionButton_SidebarWidget_( 352 addActionButton_SidebarWidget_(
353 d, check_Icon " ${feeds.markallread}", "feeds.markallread", expand_WidgetFlag | 353 d, check_Icon " ${sidebar.action.feeds.markallread}", "feeds.markallread", expand_WidgetFlag |
354 tight_WidgetFlag); 354 tight_WidgetFlag);
355 updateSize_LabelWidget(addChildFlags_Widget(d->actions, 355 updateSize_LabelWidget(addChildFlags_Widget(d->actions,
356 iClob(new_LabelWidget("${sidebar.action.show}", NULL)), 356 iClob(new_LabelWidget("${sidebar.action.show}", NULL)),
@@ -916,6 +916,7 @@ static void itemClicked_SidebarWidget_(iSidebarWidget *d, iSidebarItem *item, si
916 } 916 }
917 else { 917 else {
918 insert_IntSet(d->closedFolders, item->id); 918 insert_IntSet(d->closedFolders, item->id);
919 setRecentFolder_Bookmarks(bookmarks_App(), 0);
919 } 920 }
920 updateItems_SidebarWidget_(d); 921 updateItems_SidebarWidget_(d);
921 break; 922 break;
diff --git a/src/ui/text.c b/src/ui/text.c
index 91ff137a..977cac9c 100644
--- a/src/ui/text.c
+++ b/src/ui/text.c
@@ -1871,6 +1871,10 @@ iInt2 tryAdvance_Text(int fontId, iRangecc text, int width, const char **endPos)
1871} 1871}
1872 1872
1873iInt2 tryAdvanceNoWrap_Text(int fontId, iRangecc text, int width, const char **endPos) { 1873iInt2 tryAdvanceNoWrap_Text(int fontId, iRangecc text, int width, const char **endPos) {
1874 if (width <= 1) {
1875 *endPos = text.start;
1876 return zero_I2();
1877 }
1874 /* "NoWrap" means words aren't wrapped; the line is broken at nearest character. */ 1878 /* "NoWrap" means words aren't wrapped; the line is broken at nearest character. */
1875 iWrapText wrap = { .mode = anyCharacter_WrapTextMode, 1879 iWrapText wrap = { .mode = anyCharacter_WrapTextMode,
1876 .text = text, 1880 .text = text,
diff --git a/src/ui/util.c b/src/ui/util.c
index 6f5eced3..50294068 100644
--- a/src/ui/util.c
+++ b/src/ui/util.c
@@ -2862,8 +2862,10 @@ iWidget *makeBookmarkEditor_Widget(void) {
2862 constData_Array(folderItems), 2862 constData_Array(folderItems),
2863 size_Array(folderItems))), alignLeft_WidgetFlag), 2863 size_Array(folderItems))), alignLeft_WidgetFlag),
2864 "bmed.folder"); 2864 "bmed.folder");
2865 const uint32_t recentFolderId = recentFolder_Bookmarks(bookmarks_App());
2865 updateDropdownSelection_LabelWidget( 2866 updateDropdownSelection_LabelWidget(
2866 folderButton, format_CStr(" arg:%u", recentFolder_Bookmarks(bookmarks_App()))); 2867 folderButton, format_CStr(" arg:%u", recentFolderId));
2868 setUserData_Object(folderButton, get_Bookmarks(bookmarks_App(), recentFolderId));
2867 } 2869 }
2868 addDialogInputWithHeading_(headings, values, "${dlg.bookmark.tags}", "bmed.tags", iClob(inputs[2] = new_InputWidget(0))); 2870 addDialogInputWithHeading_(headings, values, "${dlg.bookmark.tags}", "bmed.tags", iClob(inputs[2] = new_InputWidget(0)));
2869 addDialogInputWithHeading_(headings, values, "${dlg.bookmark.icon}", "bmed.icon", iClob(inputs[3] = new_InputWidget(1))); 2871 addDialogInputWithHeading_(headings, values, "${dlg.bookmark.icon}", "bmed.icon", iClob(inputs[3] = new_InputWidget(1)));
diff --git a/src/ui/widget.c b/src/ui/widget.c
index 61bbf43a..a171a6cd 100644
--- a/src/ui/widget.c
+++ b/src/ui/widget.c
@@ -692,8 +692,16 @@ static void arrange_Widget_(iWidget *d) {
692 } 692 }
693 } 693 }
694 } 694 }
695 /* Keep track of the fractional pixels so a large number to children will cover
696 the full area. */
697 const iInt2 totalAvail = avail;
695 avail = divi_I2(max_I2(zero_I2(), avail), expCount); 698 avail = divi_I2(max_I2(zero_I2(), avail), expCount);
699 float availFract[2] = {
700 iMax(0, (totalAvail.x - avail.x * expCount) / (float) expCount),
701 iMax(0, (totalAvail.y - avail.y * expCount) / (float) expCount)
702 };
696 TRACE(d, "available for expansion (per child): %d\n", d->flags & arrangeHorizontal_WidgetFlag ? avail.x : avail.y); 703 TRACE(d, "available for expansion (per child): %d\n", d->flags & arrangeHorizontal_WidgetFlag ? avail.x : avail.y);
704 float fract[2] = { 0, 0 };
697 iForEach(ObjectList, j, d->children) { 705 iForEach(ObjectList, j, d->children) {
698 iWidget *child = as_Widget(j.object); 706 iWidget *child = as_Widget(j.object);
699 if (!isArrangedSize_Widget_(child)) { 707 if (!isArrangedSize_Widget_(child)) {
@@ -703,12 +711,16 @@ static void arrange_Widget_(iWidget *d) {
703 iBool sizeChanged = iFalse; 711 iBool sizeChanged = iFalse;
704 if (child->flags & expand_WidgetFlag) { 712 if (child->flags & expand_WidgetFlag) {
705 if (d->flags & arrangeHorizontal_WidgetFlag) { 713 if (d->flags & arrangeHorizontal_WidgetFlag) {
706 sizeChanged |= setWidth_Widget_(child, avail.x); 714 const int fracti = (int) (fract[0] += availFract[0]);
715 fract[0] -= fracti;
716 sizeChanged |= setWidth_Widget_(child, avail.x + fracti);
707 sizeChanged |= setHeight_Widget_(child, height_Rect(innerRect)); 717 sizeChanged |= setHeight_Widget_(child, height_Rect(innerRect));
708 } 718 }
709 else if (d->flags & arrangeVertical_WidgetFlag) { 719 else if (d->flags & arrangeVertical_WidgetFlag) {
710 sizeChanged |= setWidth_Widget_(child, width_Rect(innerRect)); 720 sizeChanged |= setWidth_Widget_(child, width_Rect(innerRect));
711 sizeChanged |= setHeight_Widget_(child, avail.y); 721 const int fracti = (int) (fract[1] += availFract[1]);
722 fract[1] -= fracti;
723 sizeChanged |= setHeight_Widget_(child, avail.y + fracti);
712 } 724 }
713 } 725 }
714 if (sizeChanged) { 726 if (sizeChanged) {
diff --git a/src/updater.c b/src/updater.c
index 706de31d..0e813231 100644
--- a/src/updater.c
+++ b/src/updater.c
@@ -67,6 +67,9 @@ static const char *signaturePublicKeyPem_ =
67void init_Updater(void) { 67void init_Updater(void) {
68 win_sparkle_set_appcast_url("https://etc.skyjake.fi/lagrange/appcast-windows.xml"); 68 win_sparkle_set_appcast_url("https://etc.skyjake.fi/lagrange/appcast-windows.xml");
69 win_sparkle_set_dsa_pub_pem(signaturePublicKeyPem_); 69 win_sparkle_set_dsa_pub_pem(signaturePublicKeyPem_);
70 win_sparkle_set_app_details(L"Jaakko Keränen",
71 L"Lagrange",
72 L"" LAGRANGE_APP_VERSION);
70 win_sparkle_init(); 73 win_sparkle_init();
71} 74}
72 75