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 --- plugins/MirLua/Modules/m_enumerable/src/main.cpp | 10 +- .../m_msg_buttonsbar/m_msg_buttonsbar.vcxproj | 33 ----- .../MirLua/Modules/m_msg_buttonsbar/src/main.cpp | 146 --------------------- .../MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx | 1 - .../MirLua/Modules/m_msg_buttonsbar/src/stdafx.h | 12 -- plugins/MirLua/Modules/m_toptoolbar/src/main.cpp | 20 ++- plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h | 2 +- 7 files changed, 21 insertions(+), 203 deletions(-) delete mode 100644 plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj delete mode 100644 plugins/MirLua/Modules/m_msg_buttonsbar/src/main.cpp delete mode 100644 plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx delete mode 100644 plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h (limited to 'plugins/MirLua/Modules') diff --git a/plugins/MirLua/Modules/m_enumerable/src/main.cpp b/plugins/MirLua/Modules/m_enumerable/src/main.cpp index b905b18b62..8494c1385a 100644 --- a/plugins/MirLua/Modules/m_enumerable/src/main.cpp +++ b/plugins/MirLua/Modules/m_enumerable/src/main.cpp @@ -429,9 +429,6 @@ extern "C" LUAMOD_API int luaopen_m_enumerable(lua_State *L) { luaL_newlib(L, methods); - lua_pushcfunction(L, lua__new); - lua_setglobal(L, MT_ENUMERABLE); - luaL_newmetatable(L, MT_ENUMERABLE); luaL_setfuncs(L, enumerableMeta, 0); lua_pushvalue(L, -1); @@ -439,5 +436,12 @@ extern "C" LUAMOD_API int luaopen_m_enumerable(lua_State *L) luaL_setfuncs(L, enumerableApi, 0); lua_pop(L, 1); + lua_createtable(L, 0, 1); + lua_pushcfunction(L, lua__new); + lua_setfield(L, -2, "new"); + lua_pushvalue(L, -1); + lua_setglobal(L, MT_ENUMERABLE); + lua_pop(L, 1); + return 1; } diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj b/plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj deleted file mode 100644 index 4da3d4da50..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/m_msg_buttonsbar.vcxproj +++ /dev/null @@ -1,33 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - m_msg_buttonsbar - {DCBE5EC2-84B2-4C03-810C-BD13D975D8D9} - - - - - - - Sync - - - 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; -} diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx b/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx deleted file mode 100644 index fd4f341c7b..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.cxx +++ /dev/null @@ -1 +0,0 @@ -#include "stdafx.h" diff --git a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h b/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h deleted file mode 100644 index 39dfe8a861..0000000000 --- a/plugins/MirLua/Modules/m_msg_buttonsbar/src/stdafx.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _COMMON_H_ -#define _COMMON_H_ - -#include - -#include - -#include -#include -#include - -#endif //_COMMON_H_ \ No newline at end of file diff --git a/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp b/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp index af73c963ce..17a8d95b00 100644 --- a/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp +++ b/plugins/MirLua/Modules/m_toptoolbar/src/main.cpp @@ -29,11 +29,11 @@ static TTBButton* MakeTBButton(lua_State *L) lua_pop(L, 1); lua_getfield(L, -1, "wParamUp"); - tbb->wParamUp = (WPARAM)lua_touserdata(L, -1); + tbb->wParamUp = (WPARAM)luaM_tomparam(L, -1); lua_pop(L, 1); lua_getfield(L, -1, "lParamUp"); - tbb->lParamUp = (LPARAM)lua_touserdata(L, -1); + tbb->lParamUp = (LPARAM)luaM_tomparam(L, -1); lua_pop(L, 1); // dn state @@ -46,11 +46,11 @@ static TTBButton* MakeTBButton(lua_State *L) lua_pop(L, 1); lua_getfield(L, -1, "wParamDown"); - tbb->wParamDown = (WPARAM)lua_touserdata(L, -1); + tbb->wParamDown = (WPARAM)luaM_tomparam(L, -1); lua_pop(L, 1); lua_getfield(L, -1, "lParamDown"); - tbb->lParamDown = (LPARAM)lua_touserdata(L, -1); + tbb->lParamDown = (LPARAM)luaM_tomparam(L, -1); lua_pop(L, 1); return tbb; @@ -64,9 +64,15 @@ static int lua_AddButton(lua_State *L) return 1; } - TTBButton* tbb = MakeTBButton(L); + TTBButton *tbb = MakeTBButton(L); + + HANDLE res = TopToolbar_AddButton(tbb); + if (res == (HANDLE)-1) + { + lua_pushnil(L); + return 1; + } - HANDLE res = ::TopToolbar_AddButton(tbb); lua_pushlightuserdata(L, res); mir_free(tbb->name); @@ -81,7 +87,7 @@ static int lua_RemoveButton(lua_State *L) { HANDLE hTTButton = (HANDLE)lua_touserdata(L, 1); - INT_PTR res = ::CallService(MS_TTB_REMOVEBUTTON, (WPARAM)hTTButton, 0); + INT_PTR res = CallService(MS_TTB_REMOVEBUTTON, (WPARAM)hTTButton, 0); lua_pushinteger(L, res); return 1; diff --git a/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h b/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h index d69907bf2c..45e1eea058 100644 --- a/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h +++ b/plugins/MirLua/Modules/m_toptoolbar/src/stdafx.h @@ -3,7 +3,7 @@ #include -#include +#include #include #include -- cgit v1.2.3