summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirLua/src')
-rw-r--r--plugins/MirLua/src/Modules/m_clist.cpp17
-rw-r--r--plugins/MirLua/src/Modules/m_database.cpp8
-rw-r--r--plugins/MirLua/src/Modules/m_message.cpp2
-rw-r--r--plugins/MirLua/src/options.cpp352
-rw-r--r--plugins/MirLua/src/options.h47
-rw-r--r--plugins/MirLua/src/plugin.cpp22
-rw-r--r--plugins/MirLua/src/stdafx.h1
-rw-r--r--plugins/MirLua/src/version.h2
8 files changed, 228 insertions, 223 deletions
diff --git a/plugins/MirLua/src/Modules/m_clist.cpp b/plugins/MirLua/src/Modules/m_clist.cpp
index 6de506cfd0..005a21fc1b 100644
--- a/plugins/MirLua/src/Modules/m_clist.cpp
+++ b/plugins/MirLua/src/Modules/m_clist.cpp
@@ -117,6 +117,22 @@ static int clist_AddTrayMenuItem(lua_State *L)
return 1;
}
+static int clist_AddGroupMenuItem(lua_State *L)
+{
+ luaL_checktype(L, 1, LUA_TTABLE);
+
+ CMenuItem mi(&g_plugin);
+ MakeMenuItem(L, mi);
+
+ HGENMENU res = Menu_AddGroupMenuItem(&mi);
+ if (res != nullptr)
+ lua_pushlightuserdata(L, res);
+ else
+ lua_pushnil(L);
+
+ return 1;
+}
+
static luaL_Reg clistApi[] =
{
{ "AddMainMenuRoot", clist_AddMainMenuRoot },
@@ -126,6 +142,7 @@ static luaL_Reg clistApi[] =
{ "AddContactMenuItem", clist_AddContactMenuItem },
{ "AddTrayMenuItem", clist_AddTrayMenuItem },
+ { "AddGroupMenuItem", clist_AddGroupMenuItem },
{ nullptr, nullptr }
};
diff --git a/plugins/MirLua/src/Modules/m_database.cpp b/plugins/MirLua/src/Modules/m_database.cpp
index e3f4922643..030b749bd7 100644
--- a/plugins/MirLua/src/Modules/m_database.cpp
+++ b/plugins/MirLua/src/Modules/m_database.cpp
@@ -294,7 +294,7 @@ void MakeDbEvent(lua_State *L, DBEVENTINFO &dbei)
lua_pop(L, 1);
lua_getfield(L, -1, "Timestamp");
- dbei.timestamp = lua_tonumber(L, -1);
+ dbei.iTimestamp = lua_tonumber(L, -1);
lua_pop(L, 1);
lua_getfield(L, -1, "Flags");
@@ -692,9 +692,11 @@ LUAMOD_API int luaopen_m_database(lua_State *L)
MT<DBEVENTINFO>(L, MT_DBEVENTINFO)
.Field(&DBEVENTINFO::szModule, "Module", LUA_TSTRINGA)
- .Field(&DBEVENTINFO::timestamp, "Timestamp", LUA_TINTEGER)
+ .Field(&DBEVENTINFO::iTimestamp, "Timestamp", LUA_TINTEGER)
.Field(&DBEVENTINFO::eventType, "Type", LUA_TINTEGER)
- .Field(&DBEVENTINFO::flags, "Flags", LUA_TINTEGER);
+ .Field(&DBEVENTINFO::flags, "Flags", LUA_TINTEGER)
+ .Field(&DBEVENTINFO::cbBlob, "BlobSize", LUA_TINTEGER)
+ .Field(&DBEVENTINFO::pBlob, "Message", LUA_TSTRING);
return 1;
}
diff --git a/plugins/MirLua/src/Modules/m_message.cpp b/plugins/MirLua/src/Modules/m_message.cpp
index 1425771a14..be10f333ab 100644
--- a/plugins/MirLua/src/Modules/m_message.cpp
+++ b/plugins/MirLua/src/Modules/m_message.cpp
@@ -36,7 +36,7 @@ static int message_Send(lua_State *L)
else if ((res = ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)message)) != ACKRESULT_FAILED) {
DBEVENTINFO dbei = {};
dbei.szModule = MODULENAME;
- dbei.timestamp = time(0);
+ dbei.iTimestamp = time(0);
dbei.eventType = EVENTTYPE_MESSAGE;
dbei.cbBlob = (uint32_t)mir_strlen(message);
dbei.pBlob = mir_strdup(message);
diff --git a/plugins/MirLua/src/options.cpp b/plugins/MirLua/src/options.cpp
index 0da9f34357..b73d923360 100644
--- a/plugins/MirLua/src/options.cpp
+++ b/plugins/MirLua/src/options.cpp
@@ -1,19 +1,5 @@
#include "stdafx.h"
-CMLuaOptionsMain::CMLuaOptionsMain() :
- CDlgBase(g_plugin, IDD_OPTIONSMAIN),
- m_popupOnError(this, IDC_POPUPONERROR),
- m_popupOnObsolete(this, IDC_POPUPONOBSOLETE),
- m_scriptsList(this, IDC_SCRIPTS),
- m_reload(this, IDC_RELOAD)
-{
- CreateLink(m_popupOnError, "PopupOnError", DBVT_BYTE, 1);
- CreateLink(m_popupOnObsolete, "PopupOnObsolete", DBVT_BYTE, 1);
-
- m_scriptsList.OnClick = Callback(this, &CMLuaOptionsMain::OnScriptListClick);
- m_reload.OnClick = Callback(this, &CMLuaOptionsMain::OnReload);
-}
-
static int ScriptStatusToIcon(ScriptStatus status)
{
switch (status) {
@@ -28,174 +14,240 @@ static int ScriptStatusToIcon(ScriptStatus status)
return 0;
}
-void CMLuaOptionsMain::LoadScripts()
+/////////////////////////////////////////////////////////////////////////////////////////
+// main options page
+
+class CMLuaOptionsMain : public CDlgBase
{
- for (auto &script : g_plugin.m_scripts) {
- int iIcon = ScriptStatusToIcon(script->GetStatus());
- int iItem = m_scriptsList.AddItem(script->GetName(), iIcon, (LPARAM)script);
- m_scriptsList.SetCheckState(iItem, script->IsEnabled());
- m_scriptsList.SetItem(iItem, 1, TranslateT("Open"), 2);
- m_scriptsList.SetItem(iItem, 2, TranslateT("Reload"), 3);
- if (!script->IsBinary())
- m_scriptsList.SetItem(iItem, 3, TranslateT("Compile"), 4);
+ CCtrlCheck m_popupOnError;
+ CCtrlCheck m_popupOnObsolete;
+
+ CCtrlListView m_scriptsList;
+ CCtrlButton m_reload;
+
+ void LoadScripts()
+ {
+ for (auto &script : g_plugin.m_scripts) {
+ int iIcon = ScriptStatusToIcon(script->GetStatus());
+ int iItem = m_scriptsList.AddItem(script->GetName(), iIcon, (LPARAM)script);
+ m_scriptsList.SetCheckState(iItem, script->IsEnabled());
+ m_scriptsList.SetItem(iItem, 1, TranslateT("Open"), 2);
+ m_scriptsList.SetItem(iItem, 2, TranslateT("Reload"), 3);
+ if (!script->IsBinary())
+ m_scriptsList.SetItem(iItem, 3, TranslateT("Compile"), 4);
+ }
}
-}
-bool CMLuaOptionsMain::OnInitDialog()
-{
- CDlgBase::OnInitDialog();
+public:
+ CMLuaOptionsMain() :
+ CDlgBase(g_plugin, IDD_OPTIONSMAIN),
+ m_popupOnError(this, IDC_POPUPONERROR),
+ m_popupOnObsolete(this, IDC_POPUPONOBSOLETE),
+ m_scriptsList(this, IDC_SCRIPTS),
+ m_reload(this, IDC_RELOAD)
+ {
+ CreateLink(m_popupOnError, "PopupOnError", DBVT_BYTE, 1);
+ CreateLink(m_popupOnObsolete, "PopupOnObsolete", DBVT_BYTE, 1);
+
+ m_scriptsList.OnClick = Callback(this, &CMLuaOptionsMain::onClick_List);
+ m_scriptsList.OnDoubleClick = Callback(this, &CMLuaOptionsMain::onDblClick_List);
+
+ m_reload.OnClick = Callback(this, &CMLuaOptionsMain::OnReload);
+ }
- m_scriptsList.SetExtendedListViewStyle(LVS_EX_SUBITEMIMAGES | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_INFOTIP);
+ bool OnInitDialog() override
+ {
+ CDlgBase::OnInitDialog();
- HIMAGELIST hImageList = m_scriptsList.CreateImageList(LVSIL_SMALL);
- ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_LOADED));
- ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_FAILED));
- ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_OPEN));
- ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_RELOAD));
- ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_COMPILE));
+ m_scriptsList.SetExtendedListViewStyle(LVS_EX_SUBITEMIMAGES | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_INFOTIP);
- wchar_t scriptDir[MAX_PATH];
- FoldersGetCustomPathW(g_hScriptsFolder, scriptDir, _countof(scriptDir), VARSW(MIRLUA_PATHT));
+ HIMAGELIST hImageList = m_scriptsList.CreateImageList(LVSIL_SMALL);
+ ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_LOADED));
+ ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_FAILED));
+ ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_OPEN));
+ ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_RELOAD));
+ ImageList_AddIcon(hImageList, g_plugin.getIcon(IDI_COMPILE));
- wchar_t relativeScriptDir[MAX_PATH];
- PathToRelativeW(scriptDir, relativeScriptDir, nullptr);
+ wchar_t scriptDir[MAX_PATH];
+ FoldersGetCustomPathW(g_hScriptsFolder, scriptDir, _countof(scriptDir), VARSW(MIRLUA_PATHT));
- wchar_t header[MAX_PATH + 100];
- mir_snwprintf(header, L"%s (%s)", TranslateT("Common scripts"), relativeScriptDir);
+ wchar_t relativeScriptDir[MAX_PATH];
+ PathToRelativeW(scriptDir, relativeScriptDir, nullptr);
- m_scriptsList.AddColumn(0, TranslateT("Script"), 346);
- m_scriptsList.AddColumn(1, nullptr, 34 - GetSystemMetrics(SM_CXVSCROLL));
- m_scriptsList.AddColumn(2, nullptr, 36 - GetSystemMetrics(SM_CXVSCROLL));
- m_scriptsList.AddColumn(3, nullptr, 36 - GetSystemMetrics(SM_CXVSCROLL));
+ wchar_t header[MAX_PATH + 100];
+ mir_snwprintf(header, L"%s (%s)", TranslateT("Common scripts"), relativeScriptDir);
- LoadScripts();
- return true;
-}
+ m_scriptsList.AddColumn(0, TranslateT("Script"), 346);
+ m_scriptsList.AddColumn(1, nullptr, 34 - GetSystemMetrics(SM_CXVSCROLL));
+ m_scriptsList.AddColumn(2, nullptr, 36 - GetSystemMetrics(SM_CXVSCROLL));
+ m_scriptsList.AddColumn(3, nullptr, 36 - GetSystemMetrics(SM_CXVSCROLL));
-bool CMLuaOptionsMain::OnApply()
-{
- int count = m_scriptsList.GetItemCount();
- for (int iItem = 0; iItem < count; iItem++) {
- CMLuaScript *script = (CMLuaScript*)m_scriptsList.GetItemData(iItem);
- if (!m_scriptsList.GetCheckState(iItem))
- script->Disable();
- else
- script->Enable();
+ LoadScripts();
+ return true;
}
- return true;
-}
-void CMLuaOptionsMain::OnScriptListClick(CCtrlListView::TEventInfo *evt)
-{
- LVITEM lvi = {};
- lvi.iItem = evt->nmlvia->iItem;
- if (lvi.iItem == -1)
- return;
+ bool OnApply() override
+ {
+ int count = m_scriptsList.GetItemCount();
+ for (int iItem = 0; iItem < count; iItem++) {
+ CMLuaScript *script = (CMLuaScript *)m_scriptsList.GetItemData(iItem);
+ if (!m_scriptsList.GetCheckState(iItem))
+ script->Disable();
+ else
+ script->Enable();
+ }
+ return true;
+ }
- lvi.pszText = (LPTSTR)mir_calloc(MAX_PATH * sizeof(wchar_t));
- lvi.cchTextMax = MAX_PATH;
- lvi.mask = LVIF_GROUPID | LVIF_TEXT | LVIF_PARAM;
- m_scriptsList.GetItem(&lvi);
- lvi.iSubItem = evt->nmlvia->iSubItem;
+ void onClick_List(CCtrlListView::TEventInfo *evt)
+ {
+ LVITEM lvi = {};
+ lvi.iItem = evt->nmlvia->iItem;
+ if (lvi.iItem == -1)
+ return;
- CMLuaScript *script = (CMLuaScript*)lvi.lParam;
+ lvi.mask = LVIF_PARAM;
+ m_scriptsList.GetItem(&lvi);
+ auto *script = (CMLuaScript *)lvi.lParam;
- switch (lvi.iSubItem) {
- case 1:
- ShellExecute(m_hwnd, L"open", script->GetFilePath(), nullptr, nullptr, SW_SHOWNORMAL);
- break;
-
- case 2:
- script->Reload();
- lvi.mask = LVIF_IMAGE;
- lvi.iSubItem = 0;
- lvi.iImage = ScriptStatusToIcon(script->GetStatus());
- m_scriptsList.SetItem(&lvi);
- m_scriptsList.Update(lvi.iItem);
- break;
-
- case 3:
- if (script->IsBinary())
+ switch (evt->nmlvia->iSubItem) {
+ case 1:
+ ShellExecute(m_hwnd, L"open", script->GetFilePath(), nullptr, nullptr, SW_SHOWNORMAL);
break;
- script->Compile();
- lvi.mask = LVIF_IMAGE;
- lvi.iSubItem = 0;
- lvi.iImage = ScriptStatusToIcon(script->GetStatus());
- m_scriptsList.SetItem(&lvi);
- m_scriptsList.Update(lvi.iItem);
- break;
+
+ case 2:
+ script->Reload();
+ lvi.mask = LVIF_IMAGE;
+ lvi.iSubItem = 0;
+ lvi.iImage = ScriptStatusToIcon(script->GetStatus());
+ m_scriptsList.SetItem(&lvi);
+ m_scriptsList.Update(lvi.iItem);
+ break;
+
+ case 3:
+ if (script->IsBinary())
+ break;
+ script->Compile();
+ lvi.mask = LVIF_IMAGE;
+ lvi.iSubItem = 0;
+ lvi.iImage = ScriptStatusToIcon(script->GetStatus());
+ m_scriptsList.SetItem(&lvi);
+ m_scriptsList.Update(lvi.iItem);
+ break;
+ }
}
- mir_free(lvi.pszText);
-}
+ void onDblClick_List(CCtrlListView::TEventInfo *evt)
+ {
+ int iItem = evt->nmlv->iItem;
+ if (iItem == -1)
+ return;
-void CMLuaOptionsMain::OnReload(CCtrlBase*)
-{
- m_scriptsList.SetSilent(true);
- m_scriptsList.DeleteAllItems();
- g_plugin.ReloadLuaScripts();
- LoadScripts();
- m_scriptsList.SetSilent(false);
-}
+ auto *script = (CMLuaScript *)m_scriptsList.GetItemData(iItem);
+ ShellExecute(m_hwnd, L"open", script->GetFilePath(), nullptr, nullptr, SW_SHOWNORMAL);
+ }
+
+ void OnReload(CCtrlBase *)
+ {
+ m_scriptsList.SetSilent(true);
+ m_scriptsList.DeleteAllItems();
+ g_plugin.ReloadLuaScripts();
+ LoadScripts();
+ m_scriptsList.SetSilent(false);
+ }
+};
-/***********************************************/
+/////////////////////////////////////////////////////////////////////////////////////////
+// evaluate options page
-CMLuaEvaluateOptions::CMLuaEvaluateOptions() :
- CDlgBase(g_plugin, IDD_OPTIONSEVALUATE),
- m_script(this, IDC_SCRIPTTEXT),
- m_result(this, IDC_SCRIPTRESULT),
- m_autoEval(this, IDC_AUTOEVAL),
- m_evaluate(this, IDC_EVALUATE)
+class CMLuaEvaluateOptions : public CDlgBase
{
- this->L = lua_newthread(g_plugin.L);
- threadRef = luaL_ref(L, LUA_REGISTRYINDEX);
+ lua_State *L = nullptr;
+ int threadRef = 0;
+
+ CCtrlEdit m_script;
+ CCtrlEdit m_result;
+
+ CCtrlCheck m_autoEval;
+ CCtrlButton m_evaluate;
+
+ void OnAutoEvalChange(CCtrlBase *)
+ {
+ if (m_autoEval.IsChecked()) {
+ m_script.OnChange = Callback(this, &CMLuaEvaluateOptions::OnEvaluate);
+ m_evaluate.Click();
+ }
+ else m_script.OnChange = CCallback<CCtrlBase>();
+ }
- CreateLink(m_autoEval, "AutoEval", DBVT_BYTE, 0);
+ void OnEvaluate(CCtrlBase *)
+ {
+ ptrW script(m_script.GetText());
- m_autoEval.OnChange = Callback(this, &CMLuaEvaluateOptions::OnAutoEvalChange);
- m_evaluate.OnClick = Callback(this, &CMLuaEvaluateOptions::OnEvaluate);
-}
+ CMLuaEnvironment env(L);
+ env.Eval(script);
+ m_result.SetText(ptrW(mir_utf8decodeW(lua_tostring(L, -1))));
+ lua_pop(L, 1);
+ env.Unload();
+ }
-CMLuaEvaluateOptions::~CMLuaEvaluateOptions()
-{
- luaL_unref(L, LUA_REGISTRYINDEX, threadRef);
- threadRef = 0;
-}
+public:
+ CMLuaEvaluateOptions() :
+ CDlgBase(g_plugin, IDD_OPTIONSEVALUATE),
+ m_script(this, IDC_SCRIPTTEXT),
+ m_result(this, IDC_SCRIPTRESULT),
+ m_autoEval(this, IDC_AUTOEVAL),
+ m_evaluate(this, IDC_EVALUATE)
+ {
+ this->L = lua_newthread(g_plugin.L);
+ threadRef = luaL_ref(L, LUA_REGISTRYINDEX);
+
+ CreateLink(m_autoEval, "AutoEval", DBVT_BYTE, 0);
+
+ m_autoEval.OnChange = Callback(this, &CMLuaEvaluateOptions::OnAutoEvalChange);
+ m_evaluate.OnClick = Callback(this, &CMLuaEvaluateOptions::OnEvaluate);
+ }
-bool CMLuaEvaluateOptions::OnInitDialog()
-{
- m_script.SetText(m_pPlugin.getMStringW("Script"));
- if (m_autoEval.IsChecked()) {
- m_script.OnChange = Callback(this, &CMLuaEvaluateOptions::OnEvaluate);
- m_evaluate.Click();
+ ~CMLuaEvaluateOptions()
+ {
+ luaL_unref(L, LUA_REGISTRYINDEX, threadRef);
+ threadRef = 0;
}
- return true;
-}
-bool CMLuaEvaluateOptions::OnApply()
-{
- m_pPlugin.setWString("Script", m_script.GetText());
- return true;
-}
+ bool OnInitDialog() override
+ {
+ m_script.SetText(m_pPlugin.getMStringW("Script"));
+ if (m_autoEval.IsChecked()) {
+ m_script.OnChange = Callback(this, &CMLuaEvaluateOptions::OnEvaluate);
+ m_evaluate.Click();
+ }
+ return true;
+ }
-void CMLuaEvaluateOptions::OnAutoEvalChange(CCtrlBase*)
-{
- if (m_autoEval.IsChecked()) {
- m_script.OnChange = Callback(this, &CMLuaEvaluateOptions::OnEvaluate);
- m_evaluate.Click();
+ bool OnApply() override
+ {
+ m_pPlugin.setWString("Script", m_script.GetText());
+ return true;
}
- else m_script.OnChange = CCallback<CCtrlBase>();
-}
+};
-void CMLuaEvaluateOptions::OnEvaluate(CCtrlBase*)
+/////////////////////////////////////////////////////////////////////////////////////////
+// module entry point
+
+int CMPlugin::OnOptionsInit(WPARAM wParam, LPARAM)
{
- ptrW script(m_script.GetText());
+ OPTIONSDIALOGPAGE odp = {};
+ odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE | ODPF_DONTTRANSLATE;
+ odp.szGroup.w = LPGENW("Services");
+ odp.szTitle.w = L"Lua";
- CMLuaEnvironment env(L);
- env.Eval(script);
- m_result.SetText(ptrW(mir_utf8decodeW(lua_tostring(L, -1))));
- lua_pop(L, 1);
- env.Unload();
-}
+ odp.szTab.w = LPGENW("Scripts");
+ odp.pDialog = new CMLuaOptionsMain();
+ g_plugin.addOptions(wParam, &odp);
+
+ odp.szTab.w = LPGENW("Evaluate");
+ odp.pDialog = new CMLuaEvaluateOptions();
+ g_plugin.addOptions(wParam, &odp);
-/***********************************************/
+ return 0;
+}
diff --git a/plugins/MirLua/src/options.h b/plugins/MirLua/src/options.h
deleted file mode 100644
index 3e942e73a2..0000000000
--- a/plugins/MirLua/src/options.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#pragma once
-
-class CMLuaOptionsMain : public CDlgBase
-{
- CCtrlCheck m_popupOnError;
- CCtrlCheck m_popupOnObsolete;
-
- CCtrlListView m_scriptsList;
- CCtrlButton m_reload;
-
- void LoadScripts();
-
-protected:
- bool OnInitDialog() override;
- bool OnApply() override;
-
- void OnScriptListClick(CCtrlListView::TEventInfo *evt);
- void OnReload(CCtrlBase*);
-
-public:
- CMLuaOptionsMain();
-};
-
-/***********************************************/
-
-class CMLuaEvaluateOptions : public CDlgBase
-{
- lua_State *L = nullptr;
- int threadRef = 0;
-
- CCtrlEdit m_script;
- CCtrlEdit m_result;
-
- CCtrlCheck m_autoEval;
- CCtrlButton m_evaluate;
-
-protected:
- bool OnInitDialog() override;
- bool OnApply() override;
-
- void OnAutoEvalChange(CCtrlBase*);
- void OnEvaluate(CCtrlBase*);
-
-public:
- CMLuaEvaluateOptions();
- ~CMLuaEvaluateOptions();
-};
diff --git a/plugins/MirLua/src/plugin.cpp b/plugins/MirLua/src/plugin.cpp
index b6dba83f2e..463851669f 100644
--- a/plugins/MirLua/src/plugin.cpp
+++ b/plugins/MirLua/src/plugin.cpp
@@ -86,28 +86,10 @@ void CMPlugin::ReloadLuaScripts()
/***********************************************/
-int CMPlugin::OnOptionsInit(WPARAM wParam, LPARAM)
-{
- OPTIONSDIALOGPAGE odp = {};
- 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 CMLuaOptionsMain();
- g_plugin.addOptions(wParam, &odp);
-
- odp.szTab.w = LPGENW("Evaluate");
- odp.pDialog = new CMLuaEvaluateOptions();
- g_plugin.addOptions(wParam, &odp);
-
- return 0;
-}
-
int CMPlugin::OnModulesLoaded(WPARAM, LPARAM)
{
- g_hCLibsFolder = FoldersRegisterCustomPathW(MODULENAME, "CLibsFolder", MIRLUA_PATHT, TranslateT("C libs folder"));
- g_hScriptsFolder = FoldersRegisterCustomPathW(MODULENAME, "ScriptsFolder", MIRLUA_PATHT, TranslateT("Scripts folder"));
+ g_hCLibsFolder = FoldersRegisterCustomPathW(MODULENAME, LPGEN("C Libs Folder"), MIRLUA_PATHT);
+ g_hScriptsFolder = FoldersRegisterCustomPathW(MODULENAME, LPGEN("Scripts folder"), MIRLUA_PATHT);
LoadLuaScripts();
diff --git a/plugins/MirLua/src/stdafx.h b/plugins/MirLua/src/stdafx.h
index 7f768fe342..1f56a586d1 100644
--- a/plugins/MirLua/src/stdafx.h
+++ b/plugins/MirLua/src/stdafx.h
@@ -49,7 +49,6 @@ class CMLuaScript;
#include "module_loader.h"
#include "script_loader.h"
#include "variables_loader.h"
-#include "options.h"
#include "metatable.h"
#define MODULENAME LPGEN("MirLua")
diff --git a/plugins/MirLua/src/version.h b/plugins/MirLua/src/version.h
index 795ccc9df6..b5cfded620 100644
--- a/plugins/MirLua/src/version.h
+++ b/plugins/MirLua/src/version.h
@@ -10,4 +10,4 @@
#define __DESCRIPTION "Extends Miranda NG functionality with Lua scripts."
#define __AUTHOR "Miranda NG team"
#define __AUTHORWEB "https://miranda-ng.org/p/MirLua"
-#define __COPYRIGHT "© 2015-24 Miranda NG team"
+#define __COPYRIGHT "© 2015-25 Miranda NG team"