summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src/main.cpp
diff options
context:
space:
mode:
authoraunsane <aunsane@gmail.com>2018-03-22 01:53:49 +0300
committeraunsane <aunsane@gmail.com>2018-03-22 01:54:09 +0300
commit2a498d86625f65f6ab308fa20c421099c785bf94 (patch)
tree9c0d59f41411e46288f88ccdbde4a0d23f440720 /plugins/MirLua/src/main.cpp
parent46cded99bbfb90bea8e998e9183c20cc3e4f7365 (diff)
MirLua: various fixes
- CMLua now inherit PLUGIN - additional lua fuctions initialization moved to separated loader - ability to realod script without object recreation - scropt object should control own enable state - fix m_json whit is not workes almost at all - version bump
Diffstat (limited to 'plugins/MirLua/src/main.cpp')
-rw-r--r--plugins/MirLua/src/main.cpp46
1 files changed, 20 insertions, 26 deletions
diff --git a/plugins/MirLua/src/main.cpp b/plugins/MirLua/src/main.cpp
index 22fabbbdef..d316b47cd0 100644
--- a/plugins/MirLua/src/main.cpp
+++ b/plugins/MirLua/src/main.cpp
@@ -38,41 +38,35 @@ extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD)
return &pluginInfo;
}
-int OnModulesLoaded(WPARAM, LPARAM)
+int OnOptionsInit(WPARAM wParam, LPARAM)
{
- g_hCLibsFolder = FoldersRegisterCustomPathT(MODULE, "CLibsFolder", MIRLUA_PATHT, TranslateT("C libs folder"));
- g_hScriptsFolder = FoldersRegisterCustomPathT(MODULE, "ScriptsFolder", MIRLUA_PATHT, TranslateT("Scripts folder"));
-
- HookEvent(ME_OPT_INITIALISE, CMLuaOptions::OnOptionsInit);
-
- InitIcons();
-
- g_mLua = new CMLua();
- g_mLua->Load();
+ OPTIONSDIALOGPAGE odp = {};
+ odp.hInstance = g_hInstance;
+ odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE | ODPF_DONTTRANSLATE;
+ odp.szGroup.w = LPGENW("Services");
+ odp.szTitle.w = L"Lua";
+ odp.szTab.w = LPGENW("Scripts");
+ odp.pDialog = new CMLuaOptions(g_mLua);
+ Options_AddPage(wParam, &odp);
return 0;
}
-INT_PTR Call(WPARAM wParam, LPARAM lParam)
+int OnModulesLoaded(WPARAM, LPARAM)
{
- return g_mLua->Call(wParam, lParam);
-}
+ g_hCLibsFolder = FoldersRegisterCustomPathT(MODULE, "CLibsFolder", MIRLUA_PATHT, TranslateT("C libs folder"));
+ g_hScriptsFolder = FoldersRegisterCustomPathT(MODULE, "ScriptsFolder", MIRLUA_PATHT, TranslateT("Scripts folder"));
-INT_PTR Exec(WPARAM wParam, LPARAM lParam)
-{
- return g_mLua->Exec(wParam, lParam);
-}
+ HookEvent(ME_OPT_INITIALISE, OnOptionsInit);
-INT_PTR Eval(WPARAM wParam, LPARAM lParam)
-{
- return g_mLua->Eval(wParam, lParam);
+ return 0;
}
extern "C" int __declspec(dllexport) Load(void)
{
mir_getLP(&pluginInfo);
- HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
+ InitIcons();
NETLIBUSER nlu = {};
nlu.flags = NUF_OUTGOING | NUF_INCOMING | NUF_HTTPCONNS;
@@ -89,9 +83,10 @@ extern "C" int __declspec(dllexport) Load(void)
hRecvMessage = CreateHookableEvent(MODULE PSR_MESSAGE);
CreateProtoServiceFunction(MODULE, PSR_MESSAGE, FilterRecvMessage);
- CreateServiceFunction(MS_LUA_CALL, Call);
- CreateServiceFunction(MS_LUA_EXEC, Exec);
- CreateServiceFunction(MS_LUA_EVAL, Eval);
+ g_mLua = new CMLua();
+ g_mLua->Load();
+
+ HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
return 0;
}
@@ -100,8 +95,7 @@ extern "C" int __declspec(dllexport) Unload(void)
{
delete g_mLua;
- if (hNetlib)
- {
+ if (hNetlib) {
Netlib_CloseHandle(hNetlib);
hNetlib = nullptr;
}