mirror of
https://github.com/mt-mods/mail.git
synced 2025-04-30 16:31:43 -04:00
Add variable to keep the previous tab instead of going back to the first one
This commit is contained in:
parent
92a7c71d7f
commit
61d70e427e
1 changed files with 61 additions and 10 deletions
71
gui.lua
71
gui.lua
|
@ -12,6 +12,8 @@ mail.message_drafts = {}
|
||||||
local selected_idxs = mail.selected_idxs
|
local selected_idxs = mail.selected_idxs
|
||||||
local message_drafts = mail.message_drafts
|
local message_drafts = mail.message_drafts
|
||||||
|
|
||||||
|
local boxtab_index = 1
|
||||||
|
|
||||||
local theme
|
local theme
|
||||||
if minetest.get_modpath("default") then
|
if minetest.get_modpath("default") then
|
||||||
theme = default.gui_bg .. default.gui_bg_img
|
theme = default.gui_bg .. default.gui_bg_img
|
||||||
|
@ -423,7 +425,11 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
|
|
||||||
if formname == "mail:about" then
|
if formname == "mail:about" then
|
||||||
minetest.after(0.5, function()
|
minetest.after(0.5, function()
|
||||||
mail.show_inbox(player:get_player_name())
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(player:get_player_name())
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(player:get_player_name())
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
@ -441,9 +447,11 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
end
|
end
|
||||||
|
|
||||||
if fields.boxtab == "1" then
|
if fields.boxtab == "1" then
|
||||||
|
boxtab_index = 1
|
||||||
mail.show_inbox(name)
|
mail.show_inbox(name)
|
||||||
|
|
||||||
elseif fields.boxtab == "2" then
|
elseif fields.boxtab == "2" then
|
||||||
|
boxtab_index = 2
|
||||||
mail.show_sent(name)
|
mail.show_sent(name)
|
||||||
|
|
||||||
elseif fields.read then
|
elseif fields.read then
|
||||||
|
@ -457,7 +465,11 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
mail.setMessages(name, messages)
|
mail.setMessages(name, messages)
|
||||||
end
|
end
|
||||||
|
|
||||||
mail.show_inbox(name)
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
|
|
||||||
elseif fields.reply and messages[selected_idxs.messages[name]] then
|
elseif fields.reply and messages[selected_idxs.messages[name]] then
|
||||||
local message = messages[selected_idxs.messages[name]]
|
local message = messages[selected_idxs.messages[name]]
|
||||||
|
@ -477,7 +489,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
-- set messages immediately, so it shows up already when updating the inbox
|
-- set messages immediately, so it shows up already when updating the inbox
|
||||||
mail.setMessages(name, messages)
|
mail.setMessages(name, messages)
|
||||||
end
|
end
|
||||||
mail.show_inbox(name)
|
|
||||||
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
|
|
||||||
elseif fields.markunread then
|
elseif fields.markunread then
|
||||||
if messages[selected_idxs.messages[name]] then
|
if messages[selected_idxs.messages[name]] then
|
||||||
|
@ -485,7 +502,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
-- set messages immediately, so it shows up already when updating the inbox
|
-- set messages immediately, so it shows up already when updating the inbox
|
||||||
mail.setMessages(name, messages)
|
mail.setMessages(name, messages)
|
||||||
end
|
end
|
||||||
mail.show_inbox(name)
|
|
||||||
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
|
|
||||||
elseif fields.new then
|
elseif fields.new then
|
||||||
mail.show_compose(name)
|
mail.show_compose(name)
|
||||||
|
@ -505,7 +527,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
local messages = mail.getMessages(name)
|
local messages = mail.getMessages(name)
|
||||||
|
|
||||||
if fields.back then
|
if fields.back then
|
||||||
mail.show_inbox(name)
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
|
|
||||||
return true -- don't uselessly set messages
|
return true -- don't uselessly set messages
|
||||||
|
|
||||||
elseif fields.reply then
|
elseif fields.reply then
|
||||||
|
@ -525,7 +552,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
table.remove(messages,selected_idxs.messages[name])
|
table.remove(messages,selected_idxs.messages[name])
|
||||||
mail.setMessages(name, messages)
|
mail.setMessages(name, messages)
|
||||||
end
|
end
|
||||||
mail.show_inbox(name)
|
|
||||||
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -563,7 +595,11 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.after(0.5, function()
|
minetest.after(0.5, function()
|
||||||
mail.show_inbox(name)
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
elseif fields.tocontacts or fields.cccontacts or fields.bcccontacts then
|
elseif fields.tocontacts or fields.cccontacts or fields.bcccontacts then
|
||||||
|
@ -578,7 +614,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
|
|
||||||
elseif fields.cancel then
|
elseif fields.cancel then
|
||||||
message_drafts[name] = nil
|
message_drafts[name] = nil
|
||||||
mail.show_inbox(name)
|
|
||||||
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -713,7 +754,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
mail.show_contacts(name)
|
mail.show_contacts(name)
|
||||||
|
|
||||||
elseif fields.back then
|
elseif fields.back then
|
||||||
mail.show_inbox(name)
|
|
||||||
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(name)
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(name)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
@ -761,7 +807,12 @@ function mail.handle_receivefields(player, formname, fields)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
elseif fields.mail then
|
elseif fields.mail then
|
||||||
mail.show_inbox(player:get_player_name())
|
|
||||||
|
if boxtab_index == 1 then
|
||||||
|
mail.show_inbox(player:get_player_name())
|
||||||
|
elseif boxtab_index == 2 then
|
||||||
|
mail.show_sent(player:get_player_name())
|
||||||
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue