Skip to content

Commit fc90443

Browse files
authored
Fix message infos (#75)
* Fix weird showing of message informations in outbox.lua * Fix reply button on message view
1 parent 2290c28 commit fc90443

File tree

2 files changed

+32
-27
lines changed

2 files changed

+32
-27
lines changed

ui/message.lua

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,35 +97,35 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
9797

9898
elseif fields.reply then
9999
local message = ""
100-
if mail.selected_idxs.inbox[name] then
100+
if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
101101
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
102-
elseif mail.selected_idxs.sent[name] then
102+
elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
103103
message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
104104
end
105105
mail.reply(name, message)
106106

107107
elseif fields.replyall then
108108
local message = ""
109-
if mail.selected_idxs.inbox[name] then
109+
if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
110110
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
111-
elseif mail.selected_idxs.sent[name] then
111+
elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
112112
message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
113113
end
114114
mail.replyall(name, message)
115115

116116
elseif fields.forward then
117117
local message = ""
118-
if mail.selected_idxs.inbox[name] then
118+
if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
119119
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
120-
elseif mail.selected_idxs.sent[name] then
120+
elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
121121
message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
122122
end
123123
mail.forward(name, message)
124124

125125
elseif fields.delete then
126-
if mail.selected_idxs.inbox[name] then
126+
if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
127127
mail.delete_mail(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
128-
elseif mail.selected_idxs.sent[name] then
128+
elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
129129
mail.delete_mail(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
130130
end
131131
mail.show_mail_menu(name)

ui/outbox.lua

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
4444
mail.message_drafts[name] = nil
4545

4646
if #messages > 0 then
47-
for _, message in ipairs(messages) do
47+
for _, message in ipairs(messages) do
4848
local selected_id = 0
4949
-- check if message is in selection list and return its id
5050
if mail.selected_idxs.sent[name] and #mail.selected_idxs.sent[name] > 0 then
@@ -56,27 +56,32 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
5656
end
5757
end
5858
if selected_id > 0 then
59-
formspec[#formspec + 1] = ",#466432"
59+
formspec[#formspec + 1] = ",#466432"
6060
else
6161
formspec[#formspec + 1] = ","
62-
end
63-
formspec[#formspec + 1] = ","
64-
formspec[#formspec + 1] = minetest.formspec_escape(message.to)
65-
formspec[#formspec + 1] = ","
66-
if message.subject ~= "" then
67-
if string.len(message.subject) > 30 then
68-
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.subject, 1, 27))
69-
formspec[#formspec + 1] = "..."
70-
else
71-
formspec[#formspec + 1] = minetest.formspec_escape(message.subject)
72-
end
62+
end
63+
formspec[#formspec + 1] = ","
64+
if string.len(message.to) > 20 then
65+
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.to, 1, 17))
66+
formspec[#formspec + 1] = "..."
7367
else
74-
formspec[#formspec + 1] = S("(No subject)")
68+
formspec[#formspec + 1] = minetest.formspec_escape(message.to)
7569
end
76-
end
77-
formspec[#formspec + 1] = "]"
78-
else
79-
formspec[#formspec + 1] = "]label[2.25,4.5;" .. S("No mail") .. "]"
80-
end
70+
formspec[#formspec + 1] = ","
71+
if message.subject ~= "" then
72+
if string.len(message.subject) > 30 then
73+
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.subject, 1, 27))
74+
formspec[#formspec + 1] = "..."
75+
else
76+
formspec[#formspec + 1] = minetest.formspec_escape(message.subject)
77+
end
78+
else
79+
formspec[#formspec + 1] = S("(No subject)")
80+
end
81+
end
82+
formspec[#formspec + 1] = "]"
83+
else
84+
formspec[#formspec + 1] = "]label[2.25,4.5;" .. S("No mail") .. "]"
85+
end
8186
minetest.show_formspec(name, "mail:sent", table.concat(formspec, ""))
8287
end

0 commit comments

Comments
 (0)