Skip to content

Commit

Permalink
Add settings (#85)
Browse files Browse the repository at this point in the history
* Add settings

* Fix luacheck

* Fix unupdatable sorting fields values (settings)

* Better settings names

* Better sort settings behaviour

* Rework set_setting()

* Rework settings storage

* Better get sorting filters (inbox/outbox)

* Fix reseting/saving settings
  • Loading branch information
Athozus authored May 5, 2023
1 parent a863225 commit 720029a
Show file tree
Hide file tree
Showing 16 changed files with 318 additions and 99 deletions.
4 changes: 3 additions & 1 deletion api.lua
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ function mail.send(m)
for _, player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
if recipients[name] then
minetest.chat_send_player(name, mail_alert)
if mail.get_setting(name, "chat_notifications") == true then
minetest.chat_send_player(name, mail_alert)
end
local receiver_entry = mail.get_storage_entry(name)
local receiver_messages = receiver_entry.inbox
mail.hud_update(name, receiver_messages)
Expand Down
2 changes: 1 addition & 1 deletion hud.lua
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ function mail.hud_update(playername, messages)
end
end

if unreadcount == 0 then
if unreadcount == 0 or (not mail.get_setting(playername, "hud_notifications")) then
player:hud_change(data.imageid, "text", "")
player:hud_change(data.textid, "text", "")
else
Expand Down
10 changes: 9 additions & 1 deletion init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,13 @@ mail = {
sortfield = {},
sortdirection = {},
filter = {},
multipleselection = {}
multipleselection = {},
optionstab = {},
chat_notifications = {},
onjoin_notifications = {},
hud_notifications = {},
unreadcolorenable = {},
cccolorenable = {}
},

message_drafts = {}
Expand Down Expand Up @@ -59,6 +65,8 @@ dofile(MP .. "/ui/select_contact.lua")
dofile(MP .. "/ui/maillists.lua")
dofile(MP .. "/ui/edit_maillists.lua")
dofile(MP .. "/ui/compose.lua")
dofile(MP .. "/ui/options.lua")
dofile(MP .. "/ui/settings.lua")
dofile(MP .. "/ui/about.lua")

-- migrate storage
Expand Down
46 changes: 29 additions & 17 deletions locale/mail.de.tr
Original file line number Diff line number Diff line change
Expand Up @@ -3,53 +3,65 @@ BCC=BCC
Cancel=Abbrechen
Save draft=Entwurf Speichern
Send=Senden
Delete=Löschen
Edit=Bearbeiten
New=Neu
Delete=Löschen
No drafts=Keine Entwürfe
Edit=Bearbeiten
Subject=Betreff
Player name=Spielername
your contacts.=ihre Kontakte.
The contact=Der Kontakt
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
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
CC=CC
Read=Lesen
Ascending=
Descending=
Filter=
Allow multiple selection=
selected=
(Un)select all=
No mail=Keine Nachrichten
(No description)=(Keine Beschreibung)
No maillist=Keine Verteilerliste
Subject=Betreff
Inbox=Posteingang
Sent messages=Nachrichten senden
Drafts=Entwürfe
Contacts=Kontakte
Mail lists=Verteilerlisten
About=Über
Options=
Close=Schließen
(No subject)=(Kein Betreff)
Date=Datum
Reply=Antworten
Reply all=Allen antworten
Forward=Weiter
Add=Hinzufügen
Remove=Entfernen
CC=CC
Note=Notiz
Back=Zurück
Name=Name
To=An
Notifications=
Chat notifications=
On join notifications=
HUD notifications=
Message list=
Show unread in different color=
Show CC/BCC in different color=
Default sorting fields=
From/To=
Reset=
Settings=
About=Über
Ascending=
Descending=
Date=Datum
46 changes: 29 additions & 17 deletions locale/mail.fr.tr
Original file line number Diff line number Diff line change
Expand Up @@ -3,53 +3,65 @@ BCC=Cci
Cancel=Annuler
Save draft=Enregistrer le brouillon
Send=Envoyer
Delete=Supprimer
Edit=Modifier
New=Nouveau
Delete=Supprimer
No drafts=Pas de brouillons
Edit=Modifier
Subject=Objet
Player name=Nom du joueur
your contacts.=vos contacts.
The contact=Ce contact
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
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
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
(No description)=Sans description
No maillist=Aucune liste de diffusion
Subject=Objet
Inbox=Boîte de réception
Sent messages=Messages envoyés
Drafts=Brouillons
Contacts=Contacts
Mail lists=Listes de diffusion
About=À propos
Options=Options
Close=Fermer
(No subject)=(Sans objet)
Date=Date
Reply=Répondre
Reply all=Répondre à tous
Forward=Transférer
Add=Ajouter
Remove=Enlever
CC=Cc
Note=Note
Back=Retour
Name=Nom
To=À
Notifications=Notifications
Chat notifications=Notifications dans le tchat
On join notifications=Notifications à la connexion
HUD notifications=Notifications ATH
Message list=Liste de messages
Show unread in different color=Coloriser les non lus
Show CC/BCC in different color=Coloriser les Cc/Cci
Default sorting fields=Champs de tri par défaut
From/To=De/À
Reset=Réinitialiser
Settings=Paramètres
About=À propos
Ascending=Croissant
Descending=Décroissant
Date=Date
46 changes: 29 additions & 17 deletions locale/mail.zh_TW.tr
Original file line number Diff line number Diff line change
Expand Up @@ -3,53 +3,65 @@ BCC=密件副本
Cancel=取消
Save draft=儲存草稿
Send=發送
Delete=刪除
Edit=編輯
New=新建
Delete=刪除
No drafts=沒有草稿
Edit=編輯
Subject=主旨
Player name=玩家名稱
your contacts.=
The contact=
Save=儲存
That name=
is already in=
name cannot=
be empty.=
Back=返回
Note=備註
Maillist name=郵件列表名稱
Desc=描述
Players=玩家
your maillists.=
The maillist=
Save=儲存
That name=
is already in=
name cannot=
be empty.=
Mark Read=標記已讀
Mark Unread=標記未讀
From=寄件者
(No description)=(沒有描述)
No maillist=沒有郵件列表
CC=副本
Read=閱讀
Ascending=
Descending=
Filter=
Allow multiple selection=
selected=
(Un)select all=
No mail=沒有郵件
(No description)=(沒有描述)
No maillist=沒有郵件列表
Subject=主旨
Inbox=收件箱
Sent messages=寄件備份
Drafts=草稿
Contacts=聯繫人
Mail lists=郵件列表
About=關於
Options=
Close=關閉
(No subject)=(沒有主旨)
Date=日期
Reply=回覆
Reply all=回覆所有人
Forward=轉寄
Add=加入
Remove=移除
CC=副本
Note=備註
Back=返回
Name=名稱
To=收件人
Notifications=
Chat notifications=
On join notifications=
HUD notifications=
Message list=
Show unread in different color=
Show CC/BCC in different color=
Default sorting fields=
From/To=
Reset=
Settings=
About=關於
Ascending=
Descending=
Date=日期
46 changes: 29 additions & 17 deletions locale/template.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,53 +3,65 @@ BCC=
Cancel=
Save draft=
Send=
Delete=
Edit=
New=
Delete=
No drafts=
Edit=
Subject=
Player name=
your contacts.=
The contact=
Save=
That name=
is already in=
name cannot=
be empty.=
Back=
Note=
Maillist name=
Desc=
Players=
your maillists.=
The maillist=
Save=
That name=
is already in=
name cannot=
be empty.=
Mark Read=
Mark Unread=
From=
(No description)=
No maillist=
CC=
Read=
Ascending=
Descending=
Filter=
Allow multiple selection=
selected=
(Un)select all=
No mail=
(No description)=
No maillist=
Subject=
Inbox=
Sent messages=
Drafts=
Contacts=
Mail lists=
About=
Options=
Close=
(No subject)=
Date=
Reply=
Reply all=
Forward=
Add=
Remove=
CC=
Note=
Back=
Name=
To=
Notifications=
Chat notifications=
On join notifications=
HUD notifications=
Message list=
Show unread in different color=
Show CC/BCC in different color=
Default sorting fields=
From/To=
Reset=
Settings=
About=
Ascending=
Descending=
Date=
3 changes: 1 addition & 2 deletions onjoin.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@ minetest.register_on_joinplayer(function(player)
end
end

if unreadcount > 0 then
if unreadcount > 0 and mail.get_setting(name, "onjoin_notifications") then
minetest.chat_send_player(name,
minetest.colorize("#00f529", "(" .. unreadcount .. ") You have mail! Type /mail to read"))

end
end, player:get_player_name())
end)
Loading

0 comments on commit 720029a

Please sign in to comment.