Skip to content

Commit 0e36601

Browse files
authored
Merge v0.5
2 parents 56fef3b + 02c872b commit 0e36601

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+3413
-1103
lines changed

.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
pinyin.txt
2-
output_*.txt
3-
41
## Ignore Visual Studio temporary files, build results, and
52
## files generated by popular Visual Studio add-ons.
63
##

Hijacker/Hijacker.rc

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ END
5151
//
5252

5353
VS_VERSION_INFO VERSIONINFO
54-
FILEVERSION 0,4,0,1
55-
PRODUCTVERSION 0,4,0,1
54+
FILEVERSION 0,5,0,1
55+
PRODUCTVERSION 0,5,0,1
5656
FILEFLAGSMASK 0x3fL
5757
#ifdef _DEBUG
5858
FILEFLAGS 0x1L
@@ -69,12 +69,12 @@ BEGIN
6969
BEGIN
7070
VALUE "CompanyName", "https://github.com/Chaoses-Ib/IbEverythingExt"
7171
VALUE "FileDescription", "Everything ƴ��������չ"
72-
VALUE "FileVersion", "0.4.0.1"
72+
VALUE "FileVersion", "0.5.0.1"
7373
VALUE "InternalName", "Hijacker.dll"
7474
VALUE "LegalCopyright", "Copyright (C) 2021 ����Ib"
7575
VALUE "OriginalFilename", "WindowsCodecs.dll"
7676
VALUE "ProductName", "IbEverythingExt"
77-
VALUE "ProductVersion", "0.4.0.1"
77+
VALUE "ProductVersion", "0.5.0.1"
7878
END
7979
END
8080
BLOCK "VarFileInfo"

Hijacker/Hijacker.vcxproj

+19-1
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
<OptimizeReferences>true</OptimizeReferences>
133133
<GenerateDebugInformation>true</GenerateDebugInformation>
134134
<EnableUAC>false</EnableUAC>
135+
<AdditionalOptions>/PDBALTPATH:https://github.com/Chaoses-Ib/IbEverythingExt %(AdditionalOptions)</AdditionalOptions>
135136
</Link>
136137
</ItemDefinitionGroup>
137138
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -168,31 +169,47 @@
168169
<OptimizeReferences>true</OptimizeReferences>
169170
<GenerateDebugInformation>true</GenerateDebugInformation>
170171
<EnableUAC>false</EnableUAC>
172+
<AdditionalOptions>/PDBALTPATH:https://github.com/Chaoses-Ib/IbEverythingExt %(AdditionalOptions)</AdditionalOptions>
171173
</Link>
172174
</ItemDefinitionGroup>
173175
<ItemGroup>
174176
<ClInclude Include="config.hpp" />
175177
<ClInclude Include="framework.h" />
176178
<ClInclude Include="helper.hpp" />
177179
<ClInclude Include="ipc.hpp" />
180+
<ClInclude Include="ipc_window.hpp" />
181+
<ClInclude Include="match.hpp" />
178182
<ClInclude Include="pch.h" />
179183
<ClInclude Include="pinyin.hpp" />
184+
<ClInclude Include="PinyinSearch.hpp" />
185+
<ClInclude Include="PinyinSearchEdit.hpp" />
186+
<ClInclude Include="PinyinSearchPcre.hpp" />
180187
<ClInclude Include="quick_select.hpp" />
181188
<ClInclude Include="resource.h" />
182189
<ClInclude Include="search_history.hpp" />
183190
</ItemGroup>
184191
<ItemGroup>
185192
<ClCompile Include="config.cpp" />
186193
<ClCompile Include="dllmain.cpp" />
194+
<ClCompile Include="helper.cpp" />
187195
<ClCompile Include="ipc.cpp" />
196+
<ClCompile Include="ipc_window.cpp" />
197+
<ClCompile Include="match.cpp">
198+
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MaxSpeed</Optimization>
199+
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">MaxSpeed</Optimization>
200+
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Default</BasicRuntimeChecks>
201+
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Default</BasicRuntimeChecks>
202+
</ClCompile>
188203
<ClCompile Include="pch.cpp">
189204
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
190205
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
191206
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
192207
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
193208
</ClCompile>
194209
<ClCompile Include="pinyin.cpp" />
195-
<ClCompile Include="pinyin_data.cpp" />
210+
<ClCompile Include="PinyinSearch.cpp" />
211+
<ClCompile Include="PinyinSearchEdit.cpp" />
212+
<ClCompile Include="PinyinSearchPcre.cpp" />
196213
<ClCompile Include="quick_select.cpp" />
197214
<ClCompile Include="search_history.cpp" />
198215
</ItemGroup>
@@ -206,5 +223,6 @@
206223
<Import Project="C:\L\C++\packages\IbWinCppLib\IbWinCppLib.props" />
207224
<Import Project="C:\L\C++\packages\IbDllHijackLib\IbDllHijackLib.props" />
208225
<Import Project="C:\L\C++\packages\IbEverythingLib\IbEverythingLib.props" />
226+
<Import Project="C:\L\C++\packages\IbPinyinLib\IbPinyinLib.props" />
209227
</ImportGroup>
210228
</Project>

Hijacker/Hijacker.vcxproj.filters

+33-3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,21 @@
4242
<ClInclude Include="config.hpp">
4343
<Filter>Header Files</Filter>
4444
</ClInclude>
45+
<ClInclude Include="PinyinSearchPcre.hpp">
46+
<Filter>Header Files</Filter>
47+
</ClInclude>
48+
<ClInclude Include="PinyinSearch.hpp">
49+
<Filter>Header Files</Filter>
50+
</ClInclude>
51+
<ClInclude Include="PinyinSearchEdit.hpp">
52+
<Filter>Header Files</Filter>
53+
</ClInclude>
54+
<ClInclude Include="ipc_window.hpp">
55+
<Filter>Header Files</Filter>
56+
</ClInclude>
57+
<ClInclude Include="match.hpp">
58+
<Filter>Header Files</Filter>
59+
</ClInclude>
4560
</ItemGroup>
4661
<ItemGroup>
4762
<ClCompile Include="dllmain.cpp">
@@ -53,9 +68,6 @@
5368
<ClCompile Include="pinyin.cpp">
5469
<Filter>Source Files</Filter>
5570
</ClCompile>
56-
<ClCompile Include="pinyin_data.cpp">
57-
<Filter>Source Files</Filter>
58-
</ClCompile>
5971
<ClCompile Include="search_history.cpp">
6072
<Filter>Source Files</Filter>
6173
</ClCompile>
@@ -68,6 +80,24 @@
6880
<ClCompile Include="config.cpp">
6981
<Filter>Source Files</Filter>
7082
</ClCompile>
83+
<ClCompile Include="PinyinSearchPcre.cpp">
84+
<Filter>Source Files</Filter>
85+
</ClCompile>
86+
<ClCompile Include="PinyinSearch.cpp">
87+
<Filter>Source Files</Filter>
88+
</ClCompile>
89+
<ClCompile Include="PinyinSearchEdit.cpp">
90+
<Filter>Source Files</Filter>
91+
</ClCompile>
92+
<ClCompile Include="ipc_window.cpp">
93+
<Filter>Source Files</Filter>
94+
</ClCompile>
95+
<ClCompile Include="match.cpp">
96+
<Filter>Source Files</Filter>
97+
</ClCompile>
98+
<ClCompile Include="helper.cpp">
99+
<Filter>Source Files</Filter>
100+
</ClCompile>
71101
</ItemGroup>
72102
<ItemGroup>
73103
<ResourceCompile Include="Hijacker.rc">

Hijacker/PinyinSearch.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include "pch.h"
2+
#include "PinyinSearch.hpp"
3+
#include "PinyinSearchPcre.hpp"
4+
#include "PinyinSearchEdit.hpp"
5+
#include <cassert>
6+
7+
std::unique_ptr<PinyinSearch> make_pinyin_search(PinyinSearchMode mode, std::wstring& instance_name, HWND ipc_window) {
8+
if (mode == PinyinSearchMode::Auto) {
9+
try {
10+
return std::make_unique<PinyinSearchPcre>();
11+
} catch (const std::runtime_error& e) {
12+
mode = PinyinSearchMode::Edit;
13+
}
14+
}
15+
16+
switch (mode) {
17+
case PinyinSearchMode::Pcre:
18+
return std::make_unique<PinyinSearchPcre>();
19+
case PinyinSearchMode::Edit:
20+
return std::make_unique<PinyinSearchEdit>(instance_name, ipc_window);
21+
default:
22+
assert(false);
23+
}
24+
}

Hijacker/PinyinSearch.hpp

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#pragma once
2+
#include <memory>
3+
#include <string>
4+
5+
#include <vector>
6+
#define IB_PINYIN_ENCODING 32
7+
#include <IbPinyinLib/Pinyin.hpp>
8+
9+
enum class PinyinSearchMode {
10+
Auto,
11+
Pcre,
12+
Edit
13+
};
14+
15+
class PinyinSearch {
16+
public:
17+
virtual ~PinyinSearch() {}
18+
19+
virtual void everything_created() {}
20+
virtual void edit_created(HWND edit) {}
21+
};
22+
23+
std::unique_ptr<PinyinSearch> make_pinyin_search(PinyinSearchMode mode, std::wstring& instance_name, HWND ipc_window);

0 commit comments

Comments
 (0)