summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src/m_clist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirLua/src/m_clist.cpp')
-rw-r--r--plugins/MirLua/src/m_clist.cpp71
1 files changed, 27 insertions, 44 deletions
diff --git a/plugins/MirLua/src/m_clist.cpp b/plugins/MirLua/src/m_clist.cpp
index 1a43b298ab..a39534c0da 100644
--- a/plugins/MirLua/src/m_clist.cpp
+++ b/plugins/MirLua/src/m_clist.cpp
@@ -2,29 +2,22 @@
static int clist_AddMainMenuItem(lua_State *L)
{
- if (lua_type(L, 1) != LUA_TTABLE)
+ HGENMENU res = NULL;
+
+ if (lua_type(L, 1) == LUA_TSTRING)
{
- lua_pushlightuserdata(L, 0);
- return 1;
+ const char *name = luaL_checkstring(L, 1);
+ int position = lua_tointeger(L, 2);
+ HANDLE hIcon = (HANDLE)lua_touserdata(L, 3);
+ res = Menu_CreateRoot(MO_MAIN, ptrT(Utf8DecodeT(name)), position, hIcon);
+ }
+ else if (lua_type(L, 1) == LUA_TTABLE)
+ {
+ CMenuItem mi;
+ MakeMenuItem(L, mi);
+ res = Menu_AddMainMenuItem(&mi);
}
- CMenuItem mi;
- MakeMenuItem(L, mi);
-
- HGENMENU res = Menu_AddMainMenuItem(&mi);
- lua_pushlightuserdata(L, res);
-
- return 1;
-}
-
-static int clist_CreateMainMenuRoot(lua_State *L)
-{
- int hMenuObject = luaL_checkinteger(L, 1);
- const char *name = luaL_checkstring(L, 2);
- int position = lua_tointeger(L, 3);
- HANDLE hIcon = (HANDLE)lua_touserdata(L, 4);
-
- HGENMENU res = Menu_CreateRoot(MO_MAIN, ptrT(Utf8DecodeT(name)), position, hIcon);
lua_pushlightuserdata(L, res);
return 1;
@@ -32,31 +25,23 @@ static int clist_CreateMainMenuRoot(lua_State *L)
static int clist_AddContactMenuItem(lua_State *L)
{
- if (lua_type(L, 1) != LUA_TTABLE)
+ HGENMENU res = NULL;
+
+ if (lua_type(L, 1) == LUA_TSTRING)
{
- lua_pushlightuserdata(L, 0);
- return 1;
+ const char *name = luaL_checkstring(L, 1);
+ int position = lua_tointeger(L, 2);
+ HANDLE hIcon = (HANDLE)lua_touserdata(L, 3);
+ res = Menu_CreateRoot(MO_MAIN, ptrT(Utf8DecodeT(name)), position, hIcon);
+ }
+ else if (lua_type(L, 1) == LUA_TTABLE)
+ {
+ CMenuItem mi;
+ MakeMenuItem(L, mi);
+ ptrA szProto(mir_utf8decode((char*)lua_tostring(L, 2), NULL));
+ res = Menu_AddContactMenuItem(&mi, szProto);
}
-
- CMenuItem mi;
- MakeMenuItem(L, mi);
-
- ptrA szProto(mir_utf8decode((char*)lua_tostring(L, 2), NULL));
-
- HGENMENU res = Menu_AddContactMenuItem(&mi, szProto);
- lua_pushlightuserdata(L, res);
-
- return 1;
-}
-
-static int clist_CreateContactMenuRoot(lua_State *L)
-{
- int hMenuObject = luaL_checkinteger(L, 1);
- const char *name = luaL_checkstring(L, 2);
- int position = lua_tointeger(L, 3);
- HANDLE hIcon = (HANDLE)lua_touserdata(L, 4);
- HGENMENU res = Menu_CreateRoot(MO_CONTACT, ptrT(Utf8DecodeT(name)), position, hIcon);
lua_pushlightuserdata(L, res);
return 1;
@@ -82,9 +67,7 @@ static int clist_AddTrayMenuItem(lua_State *L)
static luaL_Reg clistApi[] =
{
{ "AddMainMenuItem", clist_AddMainMenuItem },
- { "CreateMainMenuRoot", clist_CreateMainMenuRoot },
{ "AddContactMenuItem", clist_AddContactMenuItem },
- { "CreateContactMenuRoot", clist_CreateContactMenuRoot },
{ "AddTrayMenuItem", clist_AddTrayMenuItem },
{ NULL, NULL }