fix: 插件相关更新;

This commit is contained in:
寂静的羽夏 2025-06-15 22:39:26 +08:00
parent a1c0d30f4f
commit 44f25c0ef3
7 changed files with 228 additions and 208 deletions

View File

@ -62,8 +62,8 @@ TestPlugin::TestPlugin() : WingHex::IWingPlugin() {
std::bind(QOverload<const QVariantList &>::of(&TestPlugin::test_c), std::bind(QOverload<const QVariantList &>::of(&TestPlugin::test_c),
this, std::placeholders::_1); this, std::placeholders::_1);
info.ret = MetaType::Void; info.ret = MetaType::Void;
info.params.append(qMakePair(MetaType(MetaType::Int | MetaType::Array), info.params.append(
QStringLiteral("c"))); qMakePair(MetaType::Int | MetaType::Array, QStringLiteral("c")));
_scriptInfo.insert(QStringLiteral("test_c"), info); _scriptInfo.insert(QStringLiteral("test_c"), info);
} }
@ -91,7 +91,7 @@ TestPlugin::TestPlugin() : WingHex::IWingPlugin() {
info.fn = info.fn =
std::bind(QOverload<const QVariantList &>::of(&TestPlugin::test_f), std::bind(QOverload<const QVariantList &>::of(&TestPlugin::test_f),
this, std::placeholders::_1); this, std::placeholders::_1);
info.ret = MetaType(MetaType::Byte | MetaType::Array); info.ret = MetaType::Byte | MetaType::Array;
_scriptInfo.insert(QStringLiteral("test_f"), info); _scriptInfo.insert(QStringLiteral("test_f"), info);
} }

@ -1 +1 @@
Subproject commit 07d1b5a19e7b3fca2444c02edbe1d28e13d34316 Subproject commit 8541087abd410facd5559038f67949a58a39aa50

View File

@ -2285,195 +2285,195 @@
<context> <context>
<name>PluginSystem</name> <name>PluginSystem</name>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2292"/> <location filename="../../src/class/pluginsystem.cpp" line="2295"/>
<source>LoadingPlugin</source> <source>LoadingPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2310"/> <location filename="../../src/class/pluginsystem.cpp" line="2313"/>
<source>InvalidPluginBrokenInfo</source> <source>InvalidPluginBrokenInfo</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2743"/> <location filename="../../src/class/pluginsystem.cpp" line="2746"/>
<source>AppClosingCanceled:</source> <source>AppClosingCanceled:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2820"/> <location filename="../../src/class/pluginsystem.cpp" line="2823"/>
<source>- PluginID:</source> <source>- PluginID:</source>
<translation>- ID</translation> <translation>- ID</translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2842"/> <location filename="../../src/class/pluginsystem.cpp" line="2845"/>
<source>FoundDrvPluginCount</source> <source>FoundDrvPluginCount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2907"/> <location filename="../../src/class/pluginsystem.cpp" line="2910"/>
<source>RegisterScriptFnUnSupportedTypes:</source> <source>RegisterScriptFnUnSupportedTypes:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2917"/> <location filename="../../src/class/pluginsystem.cpp" line="2920"/>
<location filename="../../src/class/pluginsystem.cpp" line="2985"/> <location filename="../../src/class/pluginsystem.cpp" line="2988"/>
<source>RegisterScriptFnInvalidSig:</source> <source>RegisterScriptFnInvalidSig:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2925"/> <location filename="../../src/class/pluginsystem.cpp" line="2928"/>
<location filename="../../src/class/pluginsystem.cpp" line="2993"/> <location filename="../../src/class/pluginsystem.cpp" line="2996"/>
<source>RegisterScriptFnConflitSig:</source> <source>RegisterScriptFnConflitSig:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3044"/> <location filename="../../src/class/pluginsystem.cpp" line="3047"/>
<source>InvalidEnumName:</source> <source>InvalidEnumName:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3054"/> <location filename="../../src/class/pluginsystem.cpp" line="3057"/>
<source>InvalidEnumValue:</source> <source>InvalidEnumValue:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3089"/> <location filename="../../src/class/pluginsystem.cpp" line="3092"/>
<source>InvalidMarcosRegister:</source> <source>InvalidMarcosRegister:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3334"/> <location filename="../../src/class/pluginsystem.cpp" line="3337"/>
<source>ErrLoadPluginSDKVersion</source> <source>ErrLoadPluginSDKVersion</source>
<translation> SDK </translation> <translation> SDK </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3338"/> <location filename="../../src/class/pluginsystem.cpp" line="3341"/>
<source>ErrLoadPluginNoName</source> <source>ErrLoadPluginNoName</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3359"/> <location filename="../../src/class/pluginsystem.cpp" line="3362"/>
<source>ErrLoadInitPlugin</source> <source>ErrLoadInitPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3366"/> <location filename="../../src/class/pluginsystem.cpp" line="3369"/>
<source>PluginName :</source> <source>PluginName :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3367"/> <location filename="../../src/class/pluginsystem.cpp" line="3370"/>
<source>PluginAuthor :</source> <source>PluginAuthor :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3368"/> <location filename="../../src/class/pluginsystem.cpp" line="3371"/>
<source>PluginWidgetRegister</source> <source>PluginWidgetRegister</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3472"/> <location filename="../../src/class/pluginsystem.cpp" line="3475"/>
<source>ErrLoadExtPluginSDKVersion</source> <source>ErrLoadExtPluginSDKVersion</source>
<translation> SDK </translation> <translation> SDK </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3475"/> <location filename="../../src/class/pluginsystem.cpp" line="3478"/>
<source>ExtPluginAuthor :</source> <source>ExtPluginAuthor :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3476"/> <location filename="../../src/class/pluginsystem.cpp" line="3479"/>
<source>ExtPluginWidgetRegister</source> <source>ExtPluginWidgetRegister</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3492"/> <location filename="../../src/class/pluginsystem.cpp" line="3495"/>
<source>ErrLoadInitExtPlugin</source> <source>ErrLoadInitExtPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3517"/> <location filename="../../src/class/pluginsystem.cpp" line="3520"/>
<source>ChooseFile</source> <source>ChooseFile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3524"/> <location filename="../../src/class/pluginsystem.cpp" line="3527"/>
<location filename="../../src/class/pluginsystem.cpp" line="3529"/> <location filename="../../src/class/pluginsystem.cpp" line="3532"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3525"/> <location filename="../../src/class/pluginsystem.cpp" line="3528"/>
<source>FileNotExist</source> <source>FileNotExist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3530"/> <location filename="../../src/class/pluginsystem.cpp" line="3533"/>
<source>FilePermission</source> <source>FilePermission</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3560"/> <location filename="../../src/class/pluginsystem.cpp" line="3563"/>
<source>EmptyNameDockWidget:</source> <source>EmptyNameDockWidget:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3570"/> <location filename="../../src/class/pluginsystem.cpp" line="3573"/>
<source>InvalidNameDockWidget:</source> <source>InvalidNameDockWidget:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3578"/> <location filename="../../src/class/pluginsystem.cpp" line="3581"/>
<source>InvalidNullDockWidget:</source> <source>InvalidNullDockWidget:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3645"/> <location filename="../../src/class/pluginsystem.cpp" line="3648"/>
<source>Not allowed operation in non-UI thread</source> <source>Not allowed operation in non-UI thread</source>
<translation> UI 线</translation> <translation> UI 线</translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2868"/> <location filename="../../src/class/pluginsystem.cpp" line="2871"/>
<source>UnsafePluginDir</source> <source>UnsafePluginDir</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2317"/> <location filename="../../src/class/pluginsystem.cpp" line="2320"/>
<source>InvalidPluginID</source> <source>InvalidPluginID</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2320"/> <location filename="../../src/class/pluginsystem.cpp" line="2323"/>
<source>InvalidDupPlugin</source> <source>InvalidDupPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2785"/> <location filename="../../src/class/pluginsystem.cpp" line="2788"/>
<source>FoundPluginCount</source> <source>FoundPluginCount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2816"/> <location filename="../../src/class/pluginsystem.cpp" line="2819"/>
<source>PluginLoadingFailedSummary</source> <source>PluginLoadingFailedSummary</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2821"/> <location filename="../../src/class/pluginsystem.cpp" line="2824"/>
<source>- Dependencies:</source> <source>- Dependencies:</source>
<translation>- </translation> <translation>- </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2823"/> <location filename="../../src/class/pluginsystem.cpp" line="2826"/>
<source>PUID:</source> <source>PUID:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2824"/> <location filename="../../src/class/pluginsystem.cpp" line="2827"/>
<source>Version:</source> <source>Version:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2831"/> <location filename="../../src/class/pluginsystem.cpp" line="2834"/>
<source>PluginLoadingFinished</source> <source>PluginLoadingFinished</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5247,18 +5247,18 @@
<translation> AngelScript API </translation> <translation> AngelScript API </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/wingangelapi.cpp" line="1416"/> <location filename="../../src/class/wingangelapi.cpp" line="1433"/>
<source>NotSupportedQMetaType:</source> <source>NotSupportedQMetaType:</source>
<translation> QT </translation> <translation> QT </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/wingangelapi.cpp" line="1760"/> <location filename="../../src/class/wingangelapi.cpp" line="1777"/>
<location filename="../../src/class/wingangelapi.cpp" line="1844"/> <location filename="../../src/class/wingangelapi.cpp" line="1861"/>
<source>Get Exception While ScriptCall: (%1) %2</source> <source>Get Exception While ScriptCall: (%1) %2</source>
<translation>%1%2</translation> <translation>%1%2</translation>
</message> </message>
<message> <message>
<location filename="../../src/class/wingangelapi.cpp" line="1786"/> <location filename="../../src/class/wingangelapi.cpp" line="1803"/>
<source>InvalidRetType: need </source> <source>InvalidRetType: need </source>
<translation> </translation> <translation> </translation>
</message> </message>

View File

@ -2285,195 +2285,195 @@
<context> <context>
<name>PluginSystem</name> <name>PluginSystem</name>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2292"/> <location filename="../../src/class/pluginsystem.cpp" line="2295"/>
<source>LoadingPlugin</source> <source>LoadingPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2310"/> <location filename="../../src/class/pluginsystem.cpp" line="2313"/>
<source>InvalidPluginBrokenInfo</source> <source>InvalidPluginBrokenInfo</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2743"/> <location filename="../../src/class/pluginsystem.cpp" line="2746"/>
<source>AppClosingCanceled:</source> <source>AppClosingCanceled:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2820"/> <location filename="../../src/class/pluginsystem.cpp" line="2823"/>
<source>- PluginID:</source> <source>- PluginID:</source>
<translation>- ID</translation> <translation>- ID</translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2842"/> <location filename="../../src/class/pluginsystem.cpp" line="2845"/>
<source>FoundDrvPluginCount</source> <source>FoundDrvPluginCount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2907"/> <location filename="../../src/class/pluginsystem.cpp" line="2910"/>
<source>RegisterScriptFnUnSupportedTypes:</source> <source>RegisterScriptFnUnSupportedTypes:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2917"/> <location filename="../../src/class/pluginsystem.cpp" line="2920"/>
<location filename="../../src/class/pluginsystem.cpp" line="2985"/> <location filename="../../src/class/pluginsystem.cpp" line="2988"/>
<source>RegisterScriptFnInvalidSig:</source> <source>RegisterScriptFnInvalidSig:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2925"/> <location filename="../../src/class/pluginsystem.cpp" line="2928"/>
<location filename="../../src/class/pluginsystem.cpp" line="2993"/> <location filename="../../src/class/pluginsystem.cpp" line="2996"/>
<source>RegisterScriptFnConflitSig:</source> <source>RegisterScriptFnConflitSig:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3044"/> <location filename="../../src/class/pluginsystem.cpp" line="3047"/>
<source>InvalidEnumName:</source> <source>InvalidEnumName:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3054"/> <location filename="../../src/class/pluginsystem.cpp" line="3057"/>
<source>InvalidEnumValue:</source> <source>InvalidEnumValue:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3089"/> <location filename="../../src/class/pluginsystem.cpp" line="3092"/>
<source>InvalidMarcosRegister:</source> <source>InvalidMarcosRegister:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3334"/> <location filename="../../src/class/pluginsystem.cpp" line="3337"/>
<source>ErrLoadPluginSDKVersion</source> <source>ErrLoadPluginSDKVersion</source>
<translation> SDK </translation> <translation> SDK </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3338"/> <location filename="../../src/class/pluginsystem.cpp" line="3341"/>
<source>ErrLoadPluginNoName</source> <source>ErrLoadPluginNoName</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3359"/> <location filename="../../src/class/pluginsystem.cpp" line="3362"/>
<source>ErrLoadInitPlugin</source> <source>ErrLoadInitPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3366"/> <location filename="../../src/class/pluginsystem.cpp" line="3369"/>
<source>PluginName :</source> <source>PluginName :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3367"/> <location filename="../../src/class/pluginsystem.cpp" line="3370"/>
<source>PluginAuthor :</source> <source>PluginAuthor :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3368"/> <location filename="../../src/class/pluginsystem.cpp" line="3371"/>
<source>PluginWidgetRegister</source> <source>PluginWidgetRegister</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3472"/> <location filename="../../src/class/pluginsystem.cpp" line="3475"/>
<source>ErrLoadExtPluginSDKVersion</source> <source>ErrLoadExtPluginSDKVersion</source>
<translation> SDK </translation> <translation> SDK </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3475"/> <location filename="../../src/class/pluginsystem.cpp" line="3478"/>
<source>ExtPluginAuthor :</source> <source>ExtPluginAuthor :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3476"/> <location filename="../../src/class/pluginsystem.cpp" line="3479"/>
<source>ExtPluginWidgetRegister</source> <source>ExtPluginWidgetRegister</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3492"/> <location filename="../../src/class/pluginsystem.cpp" line="3495"/>
<source>ErrLoadInitExtPlugin</source> <source>ErrLoadInitExtPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3517"/> <location filename="../../src/class/pluginsystem.cpp" line="3520"/>
<source>ChooseFile</source> <source>ChooseFile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3524"/> <location filename="../../src/class/pluginsystem.cpp" line="3527"/>
<location filename="../../src/class/pluginsystem.cpp" line="3529"/> <location filename="../../src/class/pluginsystem.cpp" line="3532"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3525"/> <location filename="../../src/class/pluginsystem.cpp" line="3528"/>
<source>FileNotExist</source> <source>FileNotExist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3530"/> <location filename="../../src/class/pluginsystem.cpp" line="3533"/>
<source>FilePermission</source> <source>FilePermission</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3560"/> <location filename="../../src/class/pluginsystem.cpp" line="3563"/>
<source>EmptyNameDockWidget:</source> <source>EmptyNameDockWidget:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3570"/> <location filename="../../src/class/pluginsystem.cpp" line="3573"/>
<source>InvalidNameDockWidget:</source> <source>InvalidNameDockWidget:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3578"/> <location filename="../../src/class/pluginsystem.cpp" line="3581"/>
<source>InvalidNullDockWidget:</source> <source>InvalidNullDockWidget:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="3645"/> <location filename="../../src/class/pluginsystem.cpp" line="3648"/>
<source>Not allowed operation in non-UI thread</source> <source>Not allowed operation in non-UI thread</source>
<translation> UI </translation> <translation> UI </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2868"/> <location filename="../../src/class/pluginsystem.cpp" line="2871"/>
<source>UnsafePluginDir</source> <source>UnsafePluginDir</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2317"/> <location filename="../../src/class/pluginsystem.cpp" line="2320"/>
<source>InvalidPluginID</source> <source>InvalidPluginID</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2320"/> <location filename="../../src/class/pluginsystem.cpp" line="2323"/>
<source>InvalidDupPlugin</source> <source>InvalidDupPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2785"/> <location filename="../../src/class/pluginsystem.cpp" line="2788"/>
<source>FoundPluginCount</source> <source>FoundPluginCount</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2816"/> <location filename="../../src/class/pluginsystem.cpp" line="2819"/>
<source>PluginLoadingFailedSummary</source> <source>PluginLoadingFailedSummary</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2821"/> <location filename="../../src/class/pluginsystem.cpp" line="2824"/>
<source>- Dependencies:</source> <source>- Dependencies:</source>
<translation>- </translation> <translation>- </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2823"/> <location filename="../../src/class/pluginsystem.cpp" line="2826"/>
<source>PUID:</source> <source>PUID:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2824"/> <location filename="../../src/class/pluginsystem.cpp" line="2827"/>
<source>Version:</source> <source>Version:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/class/pluginsystem.cpp" line="2831"/> <location filename="../../src/class/pluginsystem.cpp" line="2834"/>
<source>PluginLoadingFinished</source> <source>PluginLoadingFinished</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5247,18 +5247,18 @@
<translation> AngelScript 調 API </translation> <translation> AngelScript 調 API </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/wingangelapi.cpp" line="1416"/> <location filename="../../src/class/wingangelapi.cpp" line="1433"/>
<source>NotSupportedQMetaType:</source> <source>NotSupportedQMetaType:</source>
<translation> QT </translation> <translation> QT </translation>
</message> </message>
<message> <message>
<location filename="../../src/class/wingangelapi.cpp" line="1760"/> <location filename="../../src/class/wingangelapi.cpp" line="1777"/>
<location filename="../../src/class/wingangelapi.cpp" line="1844"/> <location filename="../../src/class/wingangelapi.cpp" line="1861"/>
<source>Get Exception While ScriptCall: (%1) %2</source> <source>Get Exception While ScriptCall: (%1) %2</source>
<translation>調%1%2</translation> <translation>調%1%2</translation>
</message> </message>
<message> <message>
<location filename="../../src/class/wingangelapi.cpp" line="1786"/> <location filename="../../src/class/wingangelapi.cpp" line="1803"/>
<source>InvalidRetType: need </source> <source>InvalidRetType: need </source>
<translation> </translation> <translation> </translation>
</message> </message>

View File

@ -45,8 +45,6 @@
#include <private/qmetaobject_p.h> #include <private/qmetaobject_p.h>
PluginSystem::PluginSystem(QObject *parent) : QObject(parent) { PluginSystem::PluginSystem(QObject *parent) : QObject(parent) {
qRegisterMetaType<MetaCallInfo>("MetaCallInfo");
auto mobj = PluginSystem::metaObject(); auto mobj = PluginSystem::metaObject();
auto total = mobj->methodCount(); auto total = mobj->methodCount();
for (int i = 0; i < total; ++i) { for (int i = 0; i < total; ++i) {
@ -372,7 +370,7 @@ bool PluginSystem::existsServiceHost(const QObject *sender,
} }
bool PluginSystem::invokeServiceImpl(const QObject *sender, const QString &puid, bool PluginSystem::invokeServiceImpl(const QObject *sender, const QString &puid,
const MetaCallInfo &infos) { const WingHex::MetaCallInfo &infos) {
auto p = checkPluginAndReport(sender, __func__); auto p = checkPluginAndReport(sender, __func__);
if (p == nullptr) { if (p == nullptr) {
return false; return false;
@ -396,6 +394,10 @@ bool PluginSystem::invokeServiceImpl(const QObject *sender, const QString &puid,
const QtPrivate::QMetaTypeInterface *const *metaTypes; const QtPrivate::QMetaTypeInterface *const *metaTypes;
std::tie(method, c, paramCount, parameters, typeNames, metaTypes) = infos; std::tie(method, c, paramCount, parameters, typeNames, metaTypes) = infos;
if (parameters == nullptr || typeNames == nullptr || metaTypes == nullptr) {
return false;
}
QMetaMethod m; QMetaMethod m;
// retrive method // retrive method
auto len = meta->methodCount(); auto len = meta->methodCount();
@ -417,6 +419,7 @@ bool PluginSystem::invokeServiceImpl(const QObject *sender, const QString &puid,
continue; continue;
} }
m = met; m = met;
break;
} }
} }

View File

@ -422,7 +422,7 @@ public slots:
WING_API bool existsServiceHost(const QObject *sender, const QString &puid); WING_API bool existsServiceHost(const QObject *sender, const QString &puid);
WING_API bool invokeServiceImpl(const QObject *sender, const QString &puid, WING_API bool invokeServiceImpl(const QObject *sender, const QString &puid,
const MetaCallInfo &infos); const WingHex::MetaCallInfo &infos);
WING_API bool isCurrentDocEditing(const QObject *sender); WING_API bool isCurrentDocEditing(const QObject *sender);

View File

@ -258,25 +258,30 @@ void WingAngelAPI::installLogAPI(asIScriptEngine *engine) {
Q_ASSERT(r >= 0); Q_ASSERT(r >= 0);
Q_UNUSED(r); Q_UNUSED(r);
registerAPI(engine, registerAPI(
asMETHODPR(WingAngelAPI, logInfo, (const QString &), void), engine,
"void info(const string &in message)"); asMETHODPR(WingAngelAPI, logInfo, (const QString &) const, void),
"void info(const string &in message)");
registerAPI(engine, registerAPI(
asMETHODPR(WingAngelAPI, logTrace, (const QString &), void), engine,
"void trace(const string &in message)"); asMETHODPR(WingAngelAPI, logTrace, (const QString &) const, void),
"void trace(const string &in message)");
registerAPI(engine, registerAPI(
asMETHODPR(WingAngelAPI, logDebug, (const QString &), void), engine,
"void debug(const string &in message)"); asMETHODPR(WingAngelAPI, logDebug, (const QString &) const, void),
"void debug(const string &in message)");
registerAPI(engine, registerAPI(
asMETHODPR(WingAngelAPI, logWarn, (const QString &), void), engine,
"void warn(const string &in message)"); asMETHODPR(WingAngelAPI, logWarn, (const QString &) const, void),
"void warn(const string &in message)");
registerAPI(engine, registerAPI(
asMETHODPR(WingAngelAPI, logError, (const QString &), void), engine,
"void error(const string &in message)"); asMETHODPR(WingAngelAPI, logError, (const QString &) const, void),
"void error(const string &in message)");
engine->SetDefaultNamespace(""); engine->SetDefaultNamespace("");
} }
@ -544,65 +549,73 @@ void WingAngelAPI::installHexReaderAPI(asIScriptEngine *engine) {
Q_ASSERT(r >= 0); Q_ASSERT(r >= 0);
Q_UNUSED(r); Q_UNUSED(r);
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, isCurrentDocEditing,
(void) const, bool),
"bool isCurrentDocEditing()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, currentDocFilename,
(void) const, QString),
"string currentDocFilename()");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, isCurrentDocEditing, (void), bool), asMETHODPR(WingHex::IWingPlugin, isInsertionMode, (void) const, bool),
"bool isCurrentDocEditing()"); "bool isInsertionMode()");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, currentDocFilename, (void), QString), asMETHODPR(WingHex::IWingPlugin, isReadOnly, (void) const, bool),
"string currentDocFilename()"); "bool isReadOnly()");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, isKeepSize, (void) const, bool),
"bool isKeepSize()");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, isInsertionMode, (void), bool), asMETHODPR(WingHex::IWingPlugin, isLocked, (void) const, bool),
"bool isInsertionMode()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, isReadOnly, (void), bool),
"bool isReadOnly()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, isKeepSize, (void), bool),
"bool isKeepSize()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, isLocked, (void), bool),
"bool isLocked()"); "bool isLocked()");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, currentPos, (void), asMETHODPR(WingHex::IWingPlugin, currentPos, (void) const,
WingHex::HexPosition), WingHex::HexPosition),
"HexPosition currentPos()"); "HexPosition currentPos()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, stringVisible, (void), bool),
"bool stringVisible()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, addressVisible, (void), bool),
"bool addressVisible()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, headerVisible, (void), bool),
"bool headerVisible()");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, isModified, (void), bool),
"bool isModified()");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, documentLines, (void), qsizetype), asMETHODPR(WingHex::IWingPlugin, stringVisible, (void) const, bool),
QSIZETYPE_WRAP("documentLines()")); "bool stringVisible()");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, documentBytes, (void), qsizetype), asMETHODPR(WingHex::IWingPlugin, addressVisible, (void) const, bool),
QSIZETYPE_WRAP("documentBytes()")); "bool addressVisible()");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, headerVisible, (void) const, bool),
"bool headerVisible()");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, isModified, (void) const, bool),
"bool isModified()");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, currentRow, (void), qsizetype), asMETHODPR(WingHex::IWingPlugin, documentLines, (void) const,
QSIZETYPE_WRAP("currentRow()")); qsizetype),
QSIZETYPE_WRAP("documentLines()"));
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, documentBytes, (void) const,
qsizetype),
QSIZETYPE_WRAP("documentBytes()"));
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, currentColumn, (void), qsizetype), asMETHODPR(WingHex::IWingPlugin, currentRow, (void) const, qsizetype),
QSIZETYPE_WRAP("currentColumn()")); QSIZETYPE_WRAP("currentRow()"));
registerAPI( registerAPI(engine,
engine, asMETHODPR(WingHex::IWingPlugin, currentColumn, (void) const,
asMETHODPR(WingHex::IWingPlugin, currentOffset, (void), qsizetype), qsizetype),
QSIZETYPE_WRAP("currentOffset()")); QSIZETYPE_WRAP("currentColumn()"));
registerAPI( registerAPI(engine,
engine, asMETHODPR(WingHex::IWingPlugin, currentOffset, (void) const,
asMETHODPR(WingHex::IWingPlugin, selectedLength, (void), qsizetype), qsizetype),
QSIZETYPE_WRAP("selectedLength()")); QSIZETYPE_WRAP("currentOffset()"));
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, selectedLength, (void) const,
qsizetype),
QSIZETYPE_WRAP("selectedLength()"));
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingAngelAPI, _HexReader_selectedBytes, (qsizetype), asMETHODPR(WingAngelAPI, _HexReader_selectedBytes, (qsizetype),
@ -614,76 +627,80 @@ void WingAngelAPI::installHexReaderAPI(asIScriptEngine *engine) {
"byte[][]@ selectionBytes()"); "byte[][]@ selectionBytes()");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, selectionStart, (qsizetype), asMETHODPR(WingHex::IWingPlugin, selectionStart,
WingHex::HexPosition), (qsizetype) const, WingHex::HexPosition),
"HexPosition selectionStart(" QSIZETYPE " index)"); "HexPosition selectionStart(" QSIZETYPE " index)");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, selectionEnd, (qsizetype), asMETHODPR(WingHex::IWingPlugin, selectionEnd,
WingHex::HexPosition), (qsizetype) const, WingHex::HexPosition),
"HexPosition selectionEnd(" QSIZETYPE " index)"); "HexPosition selectionEnd(" QSIZETYPE " index)");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, selectionLength, (qsizetype), asMETHODPR(WingHex::IWingPlugin, selectionLength,
qsizetype), (qsizetype) const, qsizetype),
QSIZETYPE_WRAP("selectionLength(" QSIZETYPE " index)")); QSIZETYPE_WRAP("selectionLength(" QSIZETYPE " index)"));
registerAPI(engine, registerAPI(
asMETHODPR(WingHex::IWingPlugin, selectionCount, (), qsizetype), engine,
QSIZETYPE_WRAP("selectionCount()")); asMETHODPR(WingHex::IWingPlugin, selectionCount, () const, qsizetype),
QSIZETYPE_WRAP("selectionCount()"));
registerAPI(engine, registerAPI(
asMETHODPR(WingHex::IWingPlugin, addressBase, (void), quintptr), engine,
QPTR_WRAP("addressBase()")); asMETHODPR(WingHex::IWingPlugin, addressBase, (void) const, quintptr),
QPTR_WRAP("addressBase()"));
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingAngelAPI, _HexReader_readBytes, asMETHODPR(WingAngelAPI, _HexReader_readBytes,
(qsizetype, qsizetype), CScriptArray *), (qsizetype, qsizetype), CScriptArray *),
"byte[]@ readBytes(" QSIZETYPE " offset," QSIZETYPE " len)"); "byte[]@ readBytes(" QSIZETYPE " offset," QSIZETYPE " len)");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, readInt8, (qsizetype), qint8),
"int8 readInt8(" QSIZETYPE " offset)");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, readUInt8, (qsizetype), quint8), asMETHODPR(WingHex::IWingPlugin, readInt8, (qsizetype) const, qint8),
"int8 readInt8(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readUInt8, (qsizetype) const, quint8),
"uint8 readUInt8(" QSIZETYPE " offset)"); "uint8 readUInt8(" QSIZETYPE " offset)");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, readInt16, (qsizetype), qint16), asMETHODPR(WingHex::IWingPlugin, readInt16, (qsizetype) const, qint16),
"int16 readInt16(" QSIZETYPE " offset)"); "int16 readInt16(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readUInt16, (qsizetype), quint16),
"uint16 readUInt16(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readInt32, (qsizetype), qint32),
"int readInt32(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readUInt32, (qsizetype), quint32),
"uint readUInt32(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readInt64, (qsizetype), qint64),
"int64 readInt64(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readUInt64, (qsizetype), quint64),
"uint64 readUInt64(" QSIZETYPE " offset)");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, readFloat, (qsizetype), float), asMETHODPR(WingHex::IWingPlugin, readUInt16, (qsizetype) const,
"float readFloat(" QSIZETYPE " offset)"); quint16),
"uint16 readUInt16(" QSIZETYPE " offset)");
registerAPI( registerAPI(
engine, engine,
asMETHODPR(WingHex::IWingPlugin, readDouble, (qsizetype), double), asMETHODPR(WingHex::IWingPlugin, readInt32, (qsizetype) const, qint32),
"int readInt32(" QSIZETYPE " offset)");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, readUInt32, (qsizetype) const,
quint32),
"uint readUInt32(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readInt64, (qsizetype) const, qint64),
"int64 readInt64(" QSIZETYPE " offset)");
registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, readUInt64, (qsizetype) const,
quint64),
"uint64 readUInt64(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readFloat, (qsizetype) const, float),
"float readFloat(" QSIZETYPE " offset)");
registerAPI(
engine,
asMETHODPR(WingHex::IWingPlugin, readDouble, (qsizetype) const, double),
"double readDouble(" QSIZETYPE " offset)"); "double readDouble(" QSIZETYPE " offset)");
registerAPI(engine, registerAPI(engine,
asMETHODPR(WingHex::IWingPlugin, readString, asMETHODPR(WingHex::IWingPlugin, readString,
(qsizetype, const QString &), QString), (qsizetype, const QString &) const, QString),
"string readString(" QSIZETYPE "string readString(" QSIZETYPE
" offset, string &in encoding = \"\")"); " offset, string &in encoding = \"\")");
@ -697,15 +714,15 @@ void WingAngelAPI::installHexReaderAPI(asIScriptEngine *engine) {
(qsizetype, const CScriptArray &), qsizetype), (qsizetype, const CScriptArray &), qsizetype),
QSIZETYPE_WRAP("findPrevious(" QSIZETYPE " begin, byte[] &in ba)")); QSIZETYPE_WRAP("findPrevious(" QSIZETYPE " begin, byte[] &in ba)"));
registerAPI( registerAPI(engine,
engine, asMETHODPR(WingHex::IWingPlugin, bookMarkComment,
asMETHODPR(WingHex::IWingPlugin, bookMarkComment, (qsizetype), QString), (qsizetype) const, QString),
"string bookMarkComment(" QSIZETYPE " pos)"); "string bookMarkComment(" QSIZETYPE " pos)");
registerAPI( registerAPI(engine,
engine, asMETHODPR(WingHex::IWingPlugin, existBookMark,
asMETHODPR(WingHex::IWingPlugin, existBookMark, (qsizetype), bool), (qsizetype) const, bool),
"bool existBookMark(" QSIZETYPE " pos)"); "bool existBookMark(" QSIZETYPE " pos)");
engine->SetDefaultNamespace(""); engine->SetDefaultNamespace("");
} }