From 6f99f13cf590c323fd5bd5b4d6855e59f582fb0e Mon Sep 17 00:00:00 2001 From: aunsane Date: Tue, 12 Sep 2017 22:02:30 +0300 Subject: MirLua: massive refactoring - m_msg_buttonbar moved to m_srrm - version bump --- .../MirLua/Modules/m_msg_buttonsbar/src/main.cpp | 146 --------------------- 1 file changed, 146 deletions(-) delete mode 100644 plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp (limited to 'plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp') diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp b/plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp deleted file mode 100644 index d2a35adc46..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp +++ /dev/null @@ -1,146 +0,0 @@ -#include "stdafx.h" - -int hLangpack = 0; - -static BBButton* MakeBBButton(lua_State *L) -{ - BBButton *bbb = (BBButton*)mir_calloc(sizeof(BBButton)); - bbb->dwDefPos = 100; - - lua_getfield(L, -1, "Module"); - bbb->pszModuleName = mir_utf8decodeA(luaL_checkstring(L, -1)); - lua_pop(L, 1); - - lua_getfield(L, -1, "ButtonID"); - bbb->dwButtonID = luaL_checkinteger(L, -1); - lua_pop(L, 1); - - lua_getfield(L, -1, "Flags"); - bbb->bbbFlags = lua_tointeger(L, -1); - lua_pop(L, 1); - - lua_getfield(L, -1, "Tooltip"); - bbb->pwszTooltip = mir_utf8decodeW(lua_tostring(L, -1)); - lua_pop(L, 1); - - lua_getfield(L, -1, "Icon"); - bbb->hIcon = (HANDLE)lua_touserdata(L, -1); - lua_pop(L, 1); - - return bbb; -} - -static int lua_AddButton(lua_State *L) -{ - if (lua_type(L, 1) != LUA_TTABLE) - { - lua_pushlightuserdata(L, 0); - return 1; - } - - BBButton* bbb = MakeBBButton(L); - - INT_PTR res = Srmm_AddButton(bbb); - lua_pushinteger(L, res); - - return 1; -} - -static int lua_ModifyButton(lua_State *L) -{ - if (lua_type(L, 1) != LUA_TTABLE) - { - lua_pushlightuserdata(L, 0); - return 1; - } - - BBButton* bbb = MakeBBButton(L); - - INT_PTR res = Srmm_ModifyButton(bbb); - lua_pushinteger(L, res); - - mir_free((void*)bbb->pszModuleName); - mir_free((void*)bbb->pwszTooltip); - mir_free(bbb); - - return 1; -} - -static int lua_RemoveButton(lua_State *L) -{ - ptrA szModuleName(mir_utf8decodeA(luaL_checkstring(L, 1))); - - BBButton mbb = {}; - mbb.pszModuleName = szModuleName; - mbb.dwButtonID = luaL_checkinteger(L, 2); - - INT_PTR res = ::Srmm_RemoveButton(&mbb); - lua_pushinteger(L, res); - - return 1; -} - -static luaL_Reg msgbuttinsbarApi[] = -{ - { "AddButton", lua_AddButton }, - { "ModifyButton", lua_ModifyButton }, - { "RemoveButton", lua_RemoveButton }, - - { NULL, NULL } -}; - -/***********************************************/ - -#define MT_CUSTOMBUTTONCLICKDATA "CustomButtonClickData" - -static int bcd_new(lua_State *L) -{ - CustomButtonClickData *bcd = (CustomButtonClickData*)lua_touserdata(L, 1); - if (bcd == NULL) - { - lua_pushnil(L); - return 1; - } - - CustomButtonClickData **udata = (CustomButtonClickData**)lua_newuserdata(L, sizeof(CustomButtonClickData*)); - *udata = bcd; - - luaL_setmetatable(L, MT_CUSTOMBUTTONCLICKDATA); - - return 1; -} - -static int bcd__index(lua_State *L) -{ - CustomButtonClickData *bcd = *(CustomButtonClickData**)luaL_checkudata(L, 1, MT_CUSTOMBUTTONCLICKDATA); - const char *key = lua_tostring(L, 2); - - if (mir_strcmpi(key, "Module") == 0) - lua_pushstring(L, ptrA(mir_utf8encode(bcd->pszModule))); - else if (mir_strcmpi(key, "ButtonID") == 0) - lua_pushinteger(L, bcd->dwButtonId); - else if (mir_strcmpi(key, "hContact") == 0) - lua_pushinteger(L, bcd->hContact); - else if (mir_strcmpi(key, "Flags") == 0) - lua_pushinteger(L, bcd->flags); - else - lua_pushnil(L); - - return 1; -} - -/***********************************************/ - -extern "C" LUAMOD_API int luaopen_m_msg_buttonsbar(lua_State *L) -{ - luaL_newlib(L, msgbuttinsbarApi); - - lua_register(L, MT_CUSTOMBUTTONCLICKDATA, bcd_new); - - luaL_newmetatable(L, MT_CUSTOMBUTTONCLICKDATA); - lua_pushcfunction(L, bcd__index); - lua_setfield(L, -2, "__index"); - lua_pop(L, 1); - - return 1; -} -- cgit v1.2.3