mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 15:32:59 +02:00
lua_messagbox.cpp: add parameter for text allign
This commit is contained in:
@@ -4,4 +4,4 @@
|
|||||||
* to luainstance.h changes
|
* to luainstance.h changes
|
||||||
*/
|
*/
|
||||||
#define LUA_API_VERSION_MAJOR 1
|
#define LUA_API_VERSION_MAJOR 1
|
||||||
#define LUA_API_VERSION_MINOR 80
|
#define LUA_API_VERSION_MINOR 81
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include <global.h>
|
#include <global.h>
|
||||||
#include <system/debug.h>
|
#include <system/debug.h>
|
||||||
|
#include <system/helpers.h>
|
||||||
#include <gui/widget/msgbox.h>
|
#include <gui/widget/msgbox.h>
|
||||||
#include <neutrino.h>
|
#include <neutrino.h>
|
||||||
|
|
||||||
@@ -62,14 +63,15 @@ int CLuaInstMessagebox::MessageboxExec(lua_State *L)
|
|||||||
{
|
{
|
||||||
lua_assert(lua_istable(L,1));
|
lua_assert(lua_istable(L,1));
|
||||||
|
|
||||||
std::string name, text, icon = std::string(NEUTRINO_ICON_INFO);
|
std::string name, text, icon = std::string(NEUTRINO_ICON_INFO), txtMode = "";
|
||||||
tableLookup(L, "name", name) || tableLookup(L, "title", name) || tableLookup(L, "caption", name);
|
tableLookup(L, "name", name) || tableLookup(L, "title", name) || tableLookup(L, "caption", name);
|
||||||
tableLookup(L, "text", text);
|
tableLookup(L, "text", text);
|
||||||
tableLookup(L, "icon", icon);
|
tableLookup(L, "icon", icon);
|
||||||
lua_Integer timeout = -1, width = MSGBOX_MIN_WIDTH, return_default_on_timeout = 0, show_buttons = 0, default_button = 0;
|
lua_Integer timeout = -1, width = MSGBOX_MIN_WIDTH, return_default_on_timeout = 0, show_buttons = 0, default_button = 0, text_mode = 0;
|
||||||
tableLookup(L, "timeout", timeout);
|
tableLookup(L, "timeout", timeout);
|
||||||
tableLookup(L, "width", width);
|
tableLookup(L, "width", width);
|
||||||
tableLookup(L, "return_default_on_timeout", return_default_on_timeout);
|
tableLookup(L, "return_default_on_timeout", return_default_on_timeout);
|
||||||
|
tableLookup(L, "text_mode", txtMode);
|
||||||
|
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
if (tableLookup(L, "align", tmp)) {
|
if (tableLookup(L, "align", tmp)) {
|
||||||
@@ -127,7 +129,31 @@ int CLuaInstMessagebox::MessageboxExec(lua_State *L)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int res = ShowMsg(name, text, (CMsgBox::msg_result_t) default_button, (CMsgBox::button_define_t) show_buttons, icon.empty() ? NULL : icon.c_str(), width, timeout, return_default_on_timeout);
|
if (!txtMode.empty()) {
|
||||||
|
table_key txt_align[] = {
|
||||||
|
{ "ALIGN_AUTO_WIDTH", CTextBox::AUTO_WIDTH },
|
||||||
|
{ "ALIGN_AUTO_HIGH", CTextBox::AUTO_HIGH },
|
||||||
|
{ "ALIGN_SCROLL", CTextBox::SCROLL },
|
||||||
|
{ "ALIGN_CENTER", CTextBox::CENTER },
|
||||||
|
{ "ALIGN_RIGHT", CTextBox::RIGHT },
|
||||||
|
{ "ALIGN_TOP", CTextBox::TOP },
|
||||||
|
{ "ALIGN_BOTTOM", CTextBox::BOTTOM },
|
||||||
|
{ "ALIGN_NO_AUTO_LINEBREAK", CTextBox::NO_AUTO_LINEBREAK },
|
||||||
|
{ "DECODE_HTML", 0 },
|
||||||
|
{ NULL, 0 }
|
||||||
|
};
|
||||||
|
for (int i = 0; txt_align[i].name; i++) {
|
||||||
|
if (txtMode.find(txt_align[i].name) != std::string::npos){
|
||||||
|
text_mode |= txt_align[i].code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (txtMode.find("DECODE_HTML") != std::string::npos)
|
||||||
|
htmlEntityDecode(text);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
text_mode = DEFAULT_MSGBOX_TEXT_MODE;
|
||||||
|
|
||||||
|
int res = ShowMsg(name, text, (CMsgBox::msg_result_t) default_button, (CMsgBox::button_define_t) show_buttons, icon.empty() ? NULL : icon.c_str(), width, timeout, return_default_on_timeout, text_mode);
|
||||||
|
|
||||||
tmp = "cancel";
|
tmp = "cancel";
|
||||||
for (int i = 0; mbr[i].name; i++)
|
for (int i = 0; mbr[i].name; i++)
|
||||||
|
Reference in New Issue
Block a user