mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-15 10:54:18 +00:00
Compare commits
1 Commits
plClipboar
...
moretools
Author | SHA1 | Date | |
---|---|---|---|
aaabc9c333 |
@ -6,4 +6,5 @@ Release/
|
||||
Debug/
|
||||
syntax: regexp
|
||||
^MOULOpenSourceClientPlugin/Plasma20/test/
|
||||
^MOULOpenSourceClientPlugin/Plasma20/tools/
|
||||
^MOULOpenSourceClientPlugin/StaticSDKs/
|
||||
|
@ -135,7 +135,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plClient", "..\plClient\plC
|
||||
{89316659-F4A9-4E92-8200-C36288A61B9B} = {89316659-F4A9-4E92-8200-C36288A61B9B}
|
||||
{1599855E-CC20-4C3A-A382-5290C40BE08E} = {1599855E-CC20-4C3A-A382-5290C40BE08E}
|
||||
{5C9C6E61-02D6-4BA6-A4F5-6E6AE440E477} = {5C9C6E61-02D6-4BA6-A4F5-6E6AE440E477}
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474} = {CA2D4E65-EA68-465F-843A-4AF75243B474}
|
||||
{8E44FB70-5EA0-4D33-B829-E4D16D7C11E3} = {8E44FB70-5EA0-4D33-B829-E4D16D7C11E3}
|
||||
{CA208971-6C77-47F6-AA4B-FB6ECC071132} = {CA208971-6C77-47F6-AA4B-FB6ECC071132}
|
||||
{7D83F872-F06C-4D42-A8F2-D77DC22C5981} = {7D83F872-F06C-4D42-A8F2-D77DC22C5981}
|
||||
@ -501,7 +500,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plPageOptimizer", "..\plPag
|
||||
{1599855E-CC20-4C3A-A382-5290C40BE08E} = {1599855E-CC20-4C3A-A382-5290C40BE08E}
|
||||
{A10FCF60-7425-48D7-9153-CB9D8AD94C8F} = {A10FCF60-7425-48D7-9153-CB9D8AD94C8F}
|
||||
{5C9C6E61-02D6-4BA6-A4F5-6E6AE440E477} = {5C9C6E61-02D6-4BA6-A4F5-6E6AE440E477}
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474} = {CA2D4E65-EA68-465F-843A-4AF75243B474}
|
||||
{8E44FB70-5EA0-4D33-B829-E4D16D7C11E3} = {8E44FB70-5EA0-4D33-B829-E4D16D7C11E3}
|
||||
{CA208971-6C77-47F6-AA4B-FB6ECC071132} = {CA208971-6C77-47F6-AA4B-FB6ECC071132}
|
||||
{7D83F872-F06C-4D42-A8F2-D77DC22C5981} = {7D83F872-F06C-4D42-A8F2-D77DC22C5981}
|
||||
@ -598,8 +596,33 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plClientPatcher", "..\plCli
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plClipboard", "..\..\PubUtilLib\plClipboard\plClipboard.vcproj", "{CA2D4E65-EA68-465F-843A-4AF75243B474}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plFileEncrypt", "..\plFileEncrypt\plFileEncrypt.vcproj", "{728CE37F-B032-45D1-B3B5-EF94D4B8A919}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{677C542F-9027-418D-9D9E-2D526E9FCD09} = {677C542F-9027-418D-9D9E-2D526E9FCD09}
|
||||
{8444A94C-FD1E-47D2-B978-B42ED198F234} = {8444A94C-FD1E-47D2-B978-B42ED198F234}
|
||||
{4054C94F-866A-4AA7-874B-2AFCFEF23A71} = {4054C94F-866A-4AA7-874B-2AFCFEF23A71}
|
||||
{89316659-F4A9-4E92-8200-C36288A61B9B} = {89316659-F4A9-4E92-8200-C36288A61B9B}
|
||||
{CA208971-6C77-47F6-AA4B-FB6ECC071132} = {CA208971-6C77-47F6-AA4B-FB6ECC071132}
|
||||
{032566E8-A751-4863-89E3-CEC33703B3C1} = {032566E8-A751-4863-89E3-CEC33703B3C1}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plFileSecure", "..\plFileSecure\plFileSecure.vcproj", "{E5F40B98-A55E-486D-9A93-8008BF153495}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{677C542F-9027-418D-9D9E-2D526E9FCD09} = {677C542F-9027-418D-9D9E-2D526E9FCD09}
|
||||
{8444A94C-FD1E-47D2-B978-B42ED198F234} = {8444A94C-FD1E-47D2-B978-B42ED198F234}
|
||||
{4054C94F-866A-4AA7-874B-2AFCFEF23A71} = {4054C94F-866A-4AA7-874B-2AFCFEF23A71}
|
||||
{89316659-F4A9-4E92-8200-C36288A61B9B} = {89316659-F4A9-4E92-8200-C36288A61B9B}
|
||||
{CA208971-6C77-47F6-AA4B-FB6ECC071132} = {CA208971-6C77-47F6-AA4B-FB6ECC071132}
|
||||
{032566E8-A751-4863-89E3-CEC33703B3C1} = {032566E8-A751-4863-89E3-CEC33703B3C1}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plPythonPack", "..\plPythonPack\plPythonPack.vcproj", "{84868043-5563-435A-A176-76A059653D5C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{677C542F-9027-418D-9D9E-2D526E9FCD09} = {677C542F-9027-418D-9D9E-2D526E9FCD09}
|
||||
{8444A94C-FD1E-47D2-B978-B42ED198F234} = {8444A94C-FD1E-47D2-B978-B42ED198F234}
|
||||
{4054C94F-866A-4AA7-874B-2AFCFEF23A71} = {4054C94F-866A-4AA7-874B-2AFCFEF23A71}
|
||||
{A32201A8-0255-4863-97B8-4A569C18C624} = {A32201A8-0255-4863-97B8-4A569C18C624}
|
||||
{A47A0DF4-F080-42B4-BC3B-865A02387089} = {A47A0DF4-F080-42B4-BC3B-865A02387089}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
@ -1800,18 +1823,42 @@ Global
|
||||
{F1DC998F-6B75-48FF-8446-D59AF448678E}.Release_Patcher.Build.0 = Release_Patcher|Win32
|
||||
{F1DC998F-6B75-48FF-8446-D59AF448678E}.Release_Server.ActiveCfg = Release_Patcher|Win32
|
||||
{F1DC998F-6B75-48FF-8446-D59AF448678E}.Release_Server.Build.0 = Release_Patcher|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug.ActiveCfg = Debug|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug.Build.0 = Debug|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug_Patcher.ActiveCfg = Debug|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug_Patcher.Build.0 = Debug|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug_Server.ActiveCfg = Debug|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug_Server.Build.0 = Debug|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release.ActiveCfg = Release|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release.Build.0 = Release|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release_Patcher.ActiveCfg = Release|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release_Patcher.Build.0 = Release|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release_Server.ActiveCfg = Release|Win32
|
||||
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release_Server.Build.0 = Release|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Debug.ActiveCfg = Debug|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Debug.Build.0 = Debug|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Debug_Patcher.ActiveCfg = Debug|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Debug_Patcher.Build.0 = Debug|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Debug_Server.ActiveCfg = Debug|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Debug_Server.Build.0 = Debug|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Release.ActiveCfg = Release|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Release.Build.0 = Release|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Release_Patcher.ActiveCfg = Release|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Release_Patcher.Build.0 = Release|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Release_Server.ActiveCfg = Release|Win32
|
||||
{728CE37F-B032-45D1-B3B5-EF94D4B8A919}.Release_Server.Build.0 = Release|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Debug.ActiveCfg = Debug|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Debug.Build.0 = Debug|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Debug_Patcher.ActiveCfg = Debug|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Debug_Patcher.Build.0 = Debug|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Debug_Server.ActiveCfg = Debug|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Debug_Server.Build.0 = Debug|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Release.ActiveCfg = Release|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Release.Build.0 = Release|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Release_Patcher.ActiveCfg = Release|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Release_Patcher.Build.0 = Release|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Release_Server.ActiveCfg = Release|Win32
|
||||
{E5F40B98-A55E-486D-9A93-8008BF153495}.Release_Server.Build.0 = Release|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Debug.ActiveCfg = Debug|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Debug.Build.0 = Debug|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Debug_Patcher.ActiveCfg = Debug|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Debug_Patcher.Build.0 = Debug|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Debug_Server.ActiveCfg = Debug|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Debug_Server.Build.0 = Debug|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Release.ActiveCfg = Release|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Release.Build.0 = Release|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Release_Patcher.ActiveCfg = Release|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Release_Patcher.Build.0 = Release|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Release_Server.ActiveCfg = Release|Win32
|
||||
{84868043-5563-435A-A176-76A059653D5C}.Release_Server.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
|
@ -3,6 +3,7 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="plFileEncrypt"
|
||||
ProjectGUID="{728CE37F-B032-45D1-B3B5-EF94D4B8A919}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
@ -51,7 +52,9 @@
|
||||
TypeLibraryName=".\Debug/plFileEncrypt.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
@ -112,7 +115,9 @@
|
||||
TypeLibraryName=".\Release/plFileEncrypt.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
|
@ -52,7 +52,9 @@
|
||||
TypeLibraryName=".\Debug/plFileSecure.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
@ -114,7 +116,9 @@
|
||||
TypeLibraryName=".\Release/plFileSecure.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
|
@ -1,139 +0,0 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="plClipboard"
|
||||
ProjectGUID="{CA2D4E65-EA68-465F-843A-4AF75243B474}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile=".\Release\plClipboard.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\Debug"
|
||||
IntermediateDirectory=".\Debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
PrecompiledHeaderFile=""
|
||||
AssemblerListingLocation=".\Debug/"
|
||||
ObjectFile=".\Debug/"
|
||||
ProgramDataBaseFileName=".\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile=".\Debug\plClipboard.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plClipboard\plClipboard.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plClipboard\plClipboard.h">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -61,7 +61,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "plgDispatch.h"
|
||||
#include "hsResMgr.h"
|
||||
#include "../pnInputCore/plKeyMap.h"
|
||||
#include "../plClipboard/plClipboard.h"
|
||||
|
||||
#include <locale>
|
||||
|
||||
@ -502,34 +501,6 @@ hsBool pfGUIEditBoxMod::HandleKeyEvent( pfGameGUIMgr::EventType event, plKeyDef
|
||||
DoSomething(); // Query WasEscaped() to see if it was escape vs enter
|
||||
return true;
|
||||
}
|
||||
else if (modifiers & pfGameGUIMgr::kCtrlDown)
|
||||
{
|
||||
if (key == KEY_C)
|
||||
{
|
||||
plClipboard::GetInstance().SetClipboardText(fBuffer);
|
||||
}
|
||||
else if (key == KEY_V)
|
||||
{
|
||||
wchar_t* contents = plClipboard::GetInstance().GetClipboardText();
|
||||
if (contents != nil)
|
||||
{
|
||||
size_t len = wcslen(contents);
|
||||
if (len > 0)
|
||||
{
|
||||
wchar_t* insertTarget = fBuffer + fCursorPos;
|
||||
size_t bufferTailLen = wcslen(insertTarget) + 1; //include terminating \0
|
||||
if (fCursorPos + len + bufferTailLen < fBufferSize)
|
||||
{
|
||||
memmove(insertTarget + len, insertTarget, bufferTailLen * sizeof(wchar_t));
|
||||
memcpy(insertTarget, contents, len * sizeof(wchar_t));
|
||||
fCursorPos += len;
|
||||
HandleExtendedEvent( kValueChanging );
|
||||
}
|
||||
}
|
||||
delete contents;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fIgnoreNextKey = false;
|
||||
|
@ -60,7 +60,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "../plGImage/plDynamicTextMap.h"
|
||||
#include "plgDispatch.h"
|
||||
#include "hsResMgr.h"
|
||||
#include "../plClipboard/plClipboard.h"
|
||||
|
||||
|
||||
//// Tiny Helper Class ///////////////////////////////////////////////////////
|
||||
@ -1173,6 +1172,9 @@ hsBool pfGUIMultiLineEditCtrl::HandleKeyEvent( pfGameGUIMgr::EventType event, pl
|
||||
if ((fPrevCtrl || fNextCtrl) && (fLineStarts.GetCount() <= GetFirstVisibleLine()))
|
||||
return true; // we're ignoring if we can't actually edit our visible frame (and we're linked)
|
||||
|
||||
if (modifiers & pfGameGUIMgr::kCtrlDown)
|
||||
return true; // we're ignoring ctrl key events
|
||||
|
||||
if( event == pfGameGUIMgr::kKeyDown || event == pfGameGUIMgr::kKeyRepeat )
|
||||
{
|
||||
// Use arrow keys to do our dirty work
|
||||
@ -1217,22 +1219,6 @@ hsBool pfGUIMultiLineEditCtrl::HandleKeyEvent( pfGameGUIMgr::EventType event, pl
|
||||
// fEscapedFlag = true;
|
||||
DoSomething(); // Query WasEscaped() to see if it was escape vs enter
|
||||
}
|
||||
else if (modifiers & pfGameGUIMgr::kCtrlDown)
|
||||
{
|
||||
if (key == KEY_C)
|
||||
{
|
||||
plClipboard::GetInstance().SetClipboardText(fBuffer.AcquireArray());
|
||||
}
|
||||
else if (key == KEY_V)
|
||||
{
|
||||
wchar_t* contents = plClipboard::GetInstance().GetClipboardText();
|
||||
if (contents != nil)
|
||||
{
|
||||
InsertString(contents);
|
||||
delete contents;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fIgnoreNextKey = false;
|
||||
|
@ -1,113 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#include "HeadSpin.h"
|
||||
#include "plClipboard.h"
|
||||
|
||||
plClipboard& plClipboard::GetInstance()
|
||||
{
|
||||
static plClipboard theInstance;
|
||||
return theInstance;
|
||||
}
|
||||
|
||||
bool plClipboard::IsTextInClipboard()
|
||||
{
|
||||
#ifdef HS_BUILD_FOR_WIN32
|
||||
return ::IsClipboardFormatAvailable(CF_UNICODETEXT);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
wchar_t* plClipboard::GetClipboardText()
|
||||
{
|
||||
if (!IsTextInClipboard())
|
||||
return nil;
|
||||
|
||||
#ifdef HS_BUILD_FOR_WIN32
|
||||
if (!::OpenClipboard(NULL))
|
||||
return nil;
|
||||
|
||||
HANDLE clipboardData = ::GetClipboardData(CF_UNICODETEXT);
|
||||
size_t size = ::GlobalSize(clipboardData) / sizeof(wchar_t);
|
||||
wchar_t* clipboardDataPtr = (wchar_t*)::GlobalLock(clipboardData);
|
||||
|
||||
wchar_t* result = new wchar_t[size];
|
||||
wcsncpy(result, clipboardDataPtr, size);
|
||||
|
||||
::GlobalUnlock(clipboardData);
|
||||
::CloseClipboard();
|
||||
|
||||
return result;
|
||||
#else
|
||||
return plString::Null;
|
||||
#endif
|
||||
}
|
||||
|
||||
void plClipboard::SetClipboardText(const wchar_t* text)
|
||||
{
|
||||
if (text == nil)
|
||||
return;
|
||||
#ifdef HS_BUILD_FOR_WIN32
|
||||
size_t len = wcslen(text);
|
||||
|
||||
if (len == 0)
|
||||
return;
|
||||
|
||||
HGLOBAL copy = ::GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(wchar_t));
|
||||
if (copy == NULL)
|
||||
return;
|
||||
|
||||
if (!::OpenClipboard(NULL))
|
||||
return;
|
||||
|
||||
::EmptyClipboard();
|
||||
|
||||
wchar_t* target = (wchar_t*)::GlobalLock(copy);
|
||||
wcsncpy(target, text, len + 1);
|
||||
::GlobalUnlock(copy);
|
||||
|
||||
::SetClipboardData(CF_UNICODETEXT, copy);
|
||||
::CloseClipboard();
|
||||
#endif
|
||||
}
|
||||
|
@ -1,62 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifndef _plClipboard_h
|
||||
#define _plClipboard_h
|
||||
|
||||
//// Class Definition /////////////////////////////////////////////////////////
|
||||
|
||||
class plClipboard
|
||||
{
|
||||
private:
|
||||
|
||||
plClipboard() {}
|
||||
plClipboard(const plClipboard& rhs) {}
|
||||
|
||||
public:
|
||||
bool IsTextInClipboard();
|
||||
wchar_t* GetClipboardText();
|
||||
void SetClipboardText(const wchar_t* text);
|
||||
static plClipboard& GetInstance( void );
|
||||
};
|
||||
|
||||
#endif // _Clipboard_h
|
Reference in New Issue
Block a user