Fix duplicates when clicking on select all with already one selected, and add the number of selected items

This commit is contained in:
Athozus 2023-04-12 16:00:07 +02:00
parent 3dcba740c0
commit 8d9e4e0160
No known key found for this signature in database
GPG key ID: B50895022E8484BF
10 changed files with 92 additions and 70 deletions

View file

@ -3,38 +3,38 @@ BCC=BCC
Cancel=Abbrechen
Save draft=Entwurf Speichern
Send=Senden
CC=CC
Edit=Bearbeiten
Name=Name
Delete=Löschen
New=Neu
No drafts=Keine Entwürfe
Edit=Bearbeiten
Subject=Betreff
Player name=Spielername
your contacts.=ihre Kontakte.
The contact=Der Kontakt
Note=Notiz
Save=Speichern
That name=Der Name
is already in=ist bereits in
name cannot=Name kann nicht
be empty.=leer sein.
Back=Zurück
Note=Notiz
Maillist name=Verteilerlistenname
Desc=Beschreibung
Players=Spieler
your maillists.=ihre Verteilerlisten.
The maillist=Die Verteilerliste
Back=Zurück
Mark Read=Als gelesen makieren
Mark Unread=Als ungelesen makieren
From=Von
(No description)=(Keine Beschreibung)
No maillist=Keine Verteilerliste
Delete=Löschen
Subject=Betreff
New=Neu
CC=CC
Read=Lesen
Ascending=
Descending=
Filter=
Allow multiple selection=
selected=
(Un)select all=
No mail=Keine Nachrichten
Inbox=Posteingang
@ -51,4 +51,5 @@ Reply all=Allen antworten
Forward=Weiter
Add=Hinzufügen
Remove=Entfernen
Name=Name
To=An

View file

@ -5,31 +5,37 @@ Save draft=Entwurf Speichern
Send=Senden
CC=CC
Edit=Bearbeiten
Note=Notiz
New=Neu
Name=Name
No drafts=Keine Entwürfe
Player name=Spielername
your contacts.=ihre Kontakte.
The contact=Der Kontakt
Note=Notiz
Save=Speichern
That name=Der Name
is already in=ist bereits in
name cannot=Name kann nicht
be empty.=leer sein.
Maillist name=Verteilerlistenname
Desc=Beschreibung
Players=Spieler
your maillists.=ihre Verteilerlisten.
The maillist=Die Verteilerliste
Back=Zurück
Save=Speichern
That name=Der Name
is already in=ist bereits in
name cannot=Name kann nicht
be empty.=leer sein.
Mark Read=Als gelesen makieren
Mark Unread=Als ungelesen makieren
From=Von
(No description)=(Keine Beschreibung)
No maillist=Keine Verteilerliste
Delete=Löschen
Subject=Betreff
New=Neu
Read=Lesen
Ascending=
Descending=
Filter=
Allow multiple selection=
(Un)select all=
No mail=Keine Nachrichten
Inbox=Posteingang
Sent messages=Nachrichten senden
@ -43,10 +49,6 @@ Date=Datum
Reply=Antworten
Reply all=Allen antworten
Forward=Weiter
(No description)=(Keine Beschreibung)
No maillist=Keine Verteilerliste
Subject=Betreff
To=An
Delete=Löschen
Add=Hinzufügen
Remove=Entfernen
To=An

View file

@ -3,38 +3,38 @@ BCC=Cci
Cancel=Annuler
Save draft=Enregistrer le brouillon
Send=Envoyer
CC=Cc
Edit=Modifier
Name=Nom
Delete=Supprimer
New=Nouveau
No drafts=Pas de brouillons
Edit=Modifier
Subject=Objet
Player name=Nom du joueur
your contacts.=vos contacts.
The contact=Ce contact
Note=Note
Save=Sauvegarder
That name=Ce nom
is already in=existe déjà
name cannot=nom ne peut pas
be empty.=être vide.
Back=Retour
Note=Note
Maillist name=Nom de la liste de diffusion
Desc=Desc
Players=Joueurs
your maillists.=vos listes de diffusion.
The maillist=Cette liste de diffusion
Back=Retour
Mark Read=Marquer comme lu
Mark Unread=Marquer non lu
From=De
(No description)=Sans description
No maillist=Aucune liste de diffusion
Delete=Supprimer
Subject=Objet
New=Nouveau
CC=Cc
Read=Lire
Ascending=Croissant
Descending=Décroissant
Filter=Filtre
Allow multiple selection=Autoriser la sélection multiple
selected=sélectionnés
(Un)select all=Tout (dé)selectionner
No mail=Aucun mail
Inbox=Boîte de réception
@ -51,4 +51,5 @@ Reply all=Répondre à tous
Forward=Transférer
Add=Ajouter
Remove=Enlever
Name=Nom
To=À

View file

@ -5,31 +5,37 @@ Save draft=Enregistrer le brouillon
Send=Envoyer
CC=Cc
Edit=Modifier
Note=Note
New=Nouveau
Name=Nom
No drafts=Pas de brouillons
Player name=Nom du joueur
your contacts.=vos contacts.
The contact=Ce contact
Note=Note
Save=Sauvegarder
That name=Ce nom
is already in=existe déjà
name cannot=nom ne peut pas
be empty.=être vide.
Maillist name=Nom de la liste de diffusion
Desc=Desc
Players=Joueurs
your maillists.=vos listes de diffusion.
The maillist=Cette liste de diffusion
Back=Retour
Save=Sauvegarder
That name=Ce nom
is already in=existe déjà
name cannot=nom ne peut pas
be empty.=être vide.
Mark Read=Marquer comme lu
Mark Unread=Marquer non lu
From=De
(No description)=Sans description
No maillist=Aucune liste de diffusion
Delete=Supprimer
Subject=Objet
New=Nouveau
Read=Lire
Ascending=Croissant
Descending=Décroissant
Filter=Filtre
Allow multiple selection=Autoriser la sélection multiple
(Un)select all=Tout (dé)selectionner
No mail=Aucun mail
Inbox=Boîte de réception
Sent messages=Messages envoyés
@ -43,10 +49,6 @@ Date=Date
Reply=Répondre
Reply all=Répondre à tous
Forward=Transférer
(No description)=Sans description
No maillist=Aucune liste de diffusion
Subject=Objet
To=À
Delete=Supprimer
Add=Ajouter
Remove=Enlever
To=À

View file

@ -3,38 +3,38 @@ BCC=密件副本
Cancel=取消
Save draft=儲存草稿
Send=發送
CC=副本
Edit=編輯
Name=名稱
Delete=刪除
New=新建
No drafts=沒有草稿
Edit=編輯
Subject=主旨
Player name=玩家名稱
your contacts.=
The contact=
Note=備註
Save=儲存
That name=
is already in=
name cannot=
be empty.=
Back=返回
Note=備註
Maillist name=郵件列表名稱
Desc=描述
Players=玩家
your maillists.=
The maillist=
Back=返回
Mark Read=標記已讀
Mark Unread=標記未讀
From=寄件者
(No description)=(沒有描述)
No maillist=沒有郵件列表
Delete=刪除
Subject=主旨
New=新建
CC=副本
Read=閱讀
Ascending=
Descending=
Filter=
Allow multiple selection=
selected=
(Un)select all=
No mail=沒有郵件
Inbox=收件箱
@ -51,4 +51,5 @@ Reply all=回覆所有人
Forward=轉寄
Add=加入
Remove=移除
Name=名稱
To=收件人

View file

@ -5,31 +5,37 @@ Save draft=儲存草稿
Send=發送
CC=副本
Edit=編輯
Note=備註
New=新建
Name=名稱
No drafts=沒有草稿
Player name=玩家名稱
your contacts.=
The contact=
Note=備註
Save=儲存
That name=
is already in=
name cannot=
be empty.=
Maillist name=郵件列表名稱
Desc=描述
Players=玩家
your maillists.=
The maillist=
Back=返回
Save=儲存
That name=
is already in=
name cannot=
be empty.=
Mark Read=標記已讀
Mark Unread=標記未讀
From=寄件者
(No description)=(沒有描述)
No maillist=沒有郵件列表
Delete=刪除
Subject=主旨
New=新建
Read=閱讀
Ascending=
Descending=
Filter=
Allow multiple selection=
(Un)select all=
No mail=沒有郵件
Inbox=收件箱
Sent messages=寄件備份
@ -43,10 +49,6 @@ Date=日期
Reply=回覆
Reply all=回覆所有人
Forward=轉寄
(No description)=(沒有描述)
No maillist=沒有郵件列表
Subject=主旨
To=收件人
Delete=刪除
Add=加入
Remove=移除
To=收件人

View file

@ -3,38 +3,38 @@ BCC=
Cancel=
Save draft=
Send=
CC=
Edit=
Name=
Delete=
New=
No drafts=
Edit=
Subject=
Player name=
your contacts.=
The contact=
Note=
Save=
That name=
is already in=
name cannot=
be empty.=
Back=
Note=
Maillist name=
Desc=
Players=
your maillists.=
The maillist=
Back=
Mark Read=
Mark Unread=
From=
(No description)=
No maillist=
Delete=
Subject=
New=
CC=
Read=
Ascending=
Descending=
Filter=
Allow multiple selection=
selected=
(Un)select all=
No mail=
Inbox=
@ -51,4 +51,5 @@ Reply all=
Forward=
Add=
Remove=
Name=
To=

View file

@ -225,6 +225,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if #mail.selected_idxs.inbox[name] >= #getInbox() then -- if selection is full
mail.selected_idxs.inbox[name] = {}
else
mail.selected_idxs.inbox[name] = {} -- reset to avoid duplicates
mail.selected_idxs.multipleselection[name] = true
for _, msg in ipairs(getInbox()) do
table.insert(mail.selected_idxs.inbox[name], msg.id)
@ -237,6 +238,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if #mail.selected_idxs.sent[name] >= #getOutbox() then -- if selection is full
mail.selected_idxs.sent[name] = {}
else
mail.selected_idxs.inbox[name] = {} -- reset to avoid duplicates
mail.selected_idxs.multipleselection[name] = true
for _, msg in ipairs(getOutbox()) do
table.insert(mail.selected_idxs.sent[name], msg.id)

View file

@ -6,6 +6,10 @@ function mail.show_inbox(name, sortfieldindex, sortdirection, filter)
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
sortdirection = sortdirection or mail.selected_idxs.sortdirection[name] or "1"
filter = mail.selected_idxs.filter[name] or filter or ""
local nb_selected = 0
if mail.selected_idxs.inbox[name] then
nb_selected = #mail.selected_idxs.inbox[name]
end
local inbox_formspec = "size[8.5,10;]" .. mail.theme .. [[
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;1;false;false]
@ -30,8 +34,9 @@ function mail.show_inbox(name, sortfieldindex, sortdirection, filter)
field[4.25,8.85;1.4,0.5;filter;]] .. S("Filter") .. [[:;]] .. filter .. [[]
button[5.14,8.52;0.85,0.5;search;Q]
checkbox[0,9.3;multipleselection;]] .. S("Allow multiple selection") .. [[;]] ..
checkbox[0,9.1;multipleselection;]] .. S("Allow multiple selection") .. [[;]] ..
tostring(mail.selected_idxs.multipleselection[name]) .. [[]
label[0,9.65;]] .. tostring(nb_selected) .. " " .. S("selected") .. [[]
button[3.5,9.5;2.5,0.5;selectall;]] .. S("(Un)select all") .. [[]
tablecolumns[color;text;text]

View file

@ -6,6 +6,10 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
sortdirection = sortdirection or mail.selected_idxs.sortdirection[name] or "1"
filter = mail.selected_idxs.filter[name] or filter or ""
local nb_selected = 0
if mail.selected_idxs.sent[name] then
nb_selected = #mail.selected_idxs.sent[name]
end
local sent_formspec = "size[8.5,10;]" .. mail.theme .. [[
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;2;false;false]
@ -28,8 +32,9 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
field[4.25,8.85;1.4,0.5;filter;]] .. S("Filter") .. [[:;]] .. filter .. [[]
button[5.14,8.52;0.85,0.5;search;Q]
checkbox[0,9.3;multipleselection;]] .. S("Allow multiple selection") .. [[;]] ..
checkbox[0,9.1;multipleselection;]] .. S("Allow multiple selection") .. [[;]] ..
tostring(mail.selected_idxs.multipleselection[name]) .. [[]
label[0,9.65;]] .. tostring(nb_selected) .. " " .. S("selected") .. [[]
button[3.5,9.5;2.5,0.5;selectall;]] .. S("(Un)select all") .. [[]
tablecolumns[color;text;text]