Skip to content

Commit 67a45f0

Browse files
committed
重构程序,通过使用支持排名的map和根据需要修改的智能指针,大大简化了字符串编辑的逻辑
1 parent 09fe57e commit 67a45f0

Some content is hidden

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

45 files changed

+4529
-1868
lines changed

QtResArscEditor.rc

510 Bytes
Binary file not shown.

QtResArscEditor.sln

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.13.35806.99 d17.13
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtResArscEditor", "QtResArscEditor.vcxproj", "{5965181F-7D91-4333-BA99-7E3124F1D577}"
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtResArscEditor", "QtResArscEditor.vcxproj", "{D399DED1-EC1C-41F0-9847-AD1C6B7B6E68}"
77
EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1010
Debug|x64 = Debug|x64
1111
Release|x64 = Release|x64
1212
EndGlobalSection
1313
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14-
{5965181F-7D91-4333-BA99-7E3124F1D577}.Debug|x64.ActiveCfg = Debug|x64
15-
{5965181F-7D91-4333-BA99-7E3124F1D577}.Debug|x64.Build.0 = Debug|x64
16-
{5965181F-7D91-4333-BA99-7E3124F1D577}.Release|x64.ActiveCfg = Release|x64
17-
{5965181F-7D91-4333-BA99-7E3124F1D577}.Release|x64.Build.0 = Release|x64
14+
{D399DED1-EC1C-41F0-9847-AD1C6B7B6E68}.Debug|x64.ActiveCfg = Debug|x64
15+
{D399DED1-EC1C-41F0-9847-AD1C6B7B6E68}.Debug|x64.Build.0 = Debug|x64
16+
{D399DED1-EC1C-41F0-9847-AD1C6B7B6E68}.Release|x64.ActiveCfg = Release|x64
17+
{D399DED1-EC1C-41F0-9847-AD1C6B7B6E68}.Release|x64.Build.0 = Release|x64
1818
EndGlobalSection
1919
GlobalSection(SolutionProperties) = preSolution
2020
HideSolutionNode = FALSE
2121
EndGlobalSection
2222
GlobalSection(ExtensibilityGlobals) = postSolution
23-
SolutionGuid = {4D5880C4-F152-4B49-AE1C-65CD91CA6EB7}
23+
SolutionGuid = {4A76AA79-EAB3-4224-A687-5069E2458CE2}
2424
EndGlobalSection
2525
EndGlobal

QtResArscEditor.vcxproj

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</ProjectConfiguration>
1212
</ItemGroup>
1313
<PropertyGroup Label="Globals">
14-
<ProjectGuid>{5965181F-7D91-4333-BA99-7E3124F1D577}</ProjectGuid>
14+
<ProjectGuid>{D399DED1-EC1C-41F0-9847-AD1C6B7B6E68}</ProjectGuid>
1515
<Keyword>QtVS_v304</Keyword>
1616
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
1717
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
@@ -60,18 +60,23 @@
6060
</ImportGroup>
6161
<PropertyGroup Label="UserMacros" />
6262
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
63+
<EnableClangTidyCodeAnalysis>false</EnableClangTidyCodeAnalysis>
64+
<RunCodeAnalysis>false</RunCodeAnalysis>
6365
</PropertyGroup>
6466
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
6567
</PropertyGroup>
66-
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
68+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
6769
<ClCompile>
6870
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
6971
</ClCompile>
7072
</ItemDefinitionGroup>
71-
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
73+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
7274
<ClCompile>
7375
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
7476
</ClCompile>
77+
<Link>
78+
<Version>2.0</Version>
79+
</Link>
7580
</ItemDefinitionGroup>
7681
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
7782
<ClCompile>
@@ -102,39 +107,61 @@
102107
</Link>
103108
</ItemDefinitionGroup>
104109
<ItemGroup>
110+
<ClCompile Include="src\common\QUtf8.cpp" />
111+
<ClCompile Include="src\common\utf8.cpp" />
112+
<ClCompile Include="src\GuidFactory.cpp" />
105113
<ClCompile Include="src\QAddLocaleDialog.cpp" />
106114
<ClCompile Include="src\QAppendDialog.cpp" />
115+
<ClCompile Include="src\QArscString.cpp" />
107116
<ClCompile Include="src\QEditDialog.cpp" />
108117
<ClCompile Include="src\QPublicFinal.cpp" />
109118
<ClCompile Include="src\QResArscEditor.cpp" />
110119
<ClCompile Include="src\QResArscEditorUI.cpp" />
111120
<ClCompile Include="src\QResArscParser.cpp" />
112-
<ClCompile Include="src\QUtf8.cpp" />
121+
<ClCompile Include="src\QStringPool.cpp" />
122+
<ClCompile Include="src\QTablePackage.cpp" />
123+
<ClCompile Include="src\QTableType.cpp" />
124+
<ClCompile Include="src\QTreeWidgetItem_ArscValue.cpp" />
113125
<ClCompile Include="src\ResArscStruct.cpp" />
114-
<ClCompile Include="src\StringPoolExtend.cpp" />
115126
<ClCompile Include="src\SimpleRichText.cpp" />
116-
<ClCompile Include="src\TablePackageExtend.cpp" />
117-
<ClCompile Include="src\utf8.cpp" />
118-
<QtRcc Include="QResArscEditorUI.qrc" />
127+
<QtRcc Include="QtResArscEditorUI.qrc" />
128+
<QtUic Include="QResArscEditorUI.ui" />
119129
<ClCompile Include="main.cpp" />
120130
</ItemGroup>
121131
<ItemGroup>
122132
<QtMoc Include="src\QResArscParser.h" />
123133
</ItemGroup>
124134
<ItemGroup>
125-
<QtMoc Include="src\QEditDialog.h" />
135+
<ClInclude Include="src\QTablePackage.h" />
136+
</ItemGroup>
137+
<ItemGroup>
138+
<ClInclude Include="src\common\basicDefine.h" />
139+
<ClInclude Include="src\common\bpptree.h" />
140+
<ClInclude Include="src\common\bpptree_map.h" />
141+
<ClInclude Include="src\common\QUtf8.h" />
142+
<ClInclude Include="src\common\sbtree.h" />
143+
<ClInclude Include="src\common\sbtree_map.h" />
144+
<ClInclude Include="src\common\shared_ptr.h" />
145+
<ClInclude Include="src\common\utf8.h" />
146+
<ClInclude Include="src\GuidFactory.h" />
126147
<QtMoc Include="src\QAppendDialog.h" />
127-
<QtMoc Include="src\QPublicFinal.h" />
128148
<QtMoc Include="src\QAddLocaleDialog.h" />
129-
<ClInclude Include="src\QUtf8.h" />
130-
<ClInclude Include="src\StringPoolExtend.h" />
149+
<QtMoc Include="src\QEditDialog.h" />
131150
<ClInclude Include="src\SimpleRichText.h" />
132-
<ClInclude Include="src\TablePackageExtend.h" />
133-
<ClInclude Include="src\utf8.h" />
134151
<QtMoc Include="src\QResArscEditorUI.h" />
135152
<QtMoc Include="src\QResArscEditor.h" />
136-
<ClInclude Include="src\basicDefine.h" />
153+
<ClInclude Include="src\QArscString.h" />
154+
<ClInclude Include="src\QStringPool.h" />
155+
<ClInclude Include="src\QTableType.h" />
156+
<ClInclude Include="src\QTreeWidgetItem_ArscValue.h" />
137157
<ClInclude Include="src\ResArscStruct.h" />
158+
<QtMoc Include="src\QPublicFinal.h" />
159+
</ItemGroup>
160+
<ItemGroup>
161+
<Natvis Include="src\common\sbtree.natvis" />
162+
</ItemGroup>
163+
<ItemGroup>
164+
<Image Include="QtResArscEditor.ico" />
138165
</ItemGroup>
139166
<ItemGroup>
140167
<ResourceCompile Include="QtResArscEditor.rc" />

QtResArscEditor.vcxproj.filters

Lines changed: 98 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -21,104 +21,158 @@
2121
<UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
2222
<Extensions>ts</Extensions>
2323
</Filter>
24-
<Filter Include="utf8">
25-
<UniqueIdentifier>{ae6f8a82-e3a0-43da-85b2-20bf4236eee2}</UniqueIdentifier>
24+
<Filter Include="common">
25+
<UniqueIdentifier>{5303893d-8e97-4363-a37e-c1c1ec20fbf8}</UniqueIdentifier>
2626
</Filter>
2727
</ItemGroup>
2828
<ItemGroup>
29-
<QtRcc Include="QResArscEditorUI.qrc">
29+
<QtRcc Include="QtResArscEditorUI.qrc">
3030
<Filter>Resource Files</Filter>
3131
</QtRcc>
3232
</ItemGroup>
3333
<ItemGroup>
34-
<ClCompile Include="main.cpp">
34+
<ClCompile Include="src\GuidFactory.cpp">
3535
<Filter>Source Files</Filter>
3636
</ClCompile>
3737
<ClCompile Include="src\QResArscParser.cpp">
3838
<Filter>Source Files</Filter>
3939
</ClCompile>
40-
<ClCompile Include="src\QResArscEditorUI.cpp">
40+
<ClCompile Include="src\QTablePackage.cpp">
4141
<Filter>Source Files</Filter>
4242
</ClCompile>
43-
<ClCompile Include="src\ResArscStruct.cpp">
43+
<ClCompile Include="main.cpp">
4444
<Filter>Source Files</Filter>
4545
</ClCompile>
46-
<ClCompile Include="src\QResArscEditor.cpp">
46+
<ClCompile Include="src\QPublicFinal.cpp">
4747
<Filter>Source Files</Filter>
4848
</ClCompile>
49-
<ClCompile Include="src\SimpleRichText.cpp">
49+
<ClCompile Include="src\QStringPool.cpp">
5050
<Filter>Source Files</Filter>
5151
</ClCompile>
52-
<ClCompile Include="src\QEditDialog.cpp">
52+
<ClCompile Include="src\QResArscEditorUI.cpp">
5353
<Filter>Source Files</Filter>
5454
</ClCompile>
55-
<ClCompile Include="src\QAppendDialog.cpp">
55+
<ClCompile Include="src\QResArscEditor.cpp">
5656
<Filter>Source Files</Filter>
5757
</ClCompile>
58-
<ClCompile Include="src\QPublicFinal.cpp">
58+
<ClCompile Include="src\QArscString.cpp">
5959
<Filter>Source Files</Filter>
6060
</ClCompile>
61-
<ClCompile Include="src\QAddLocaleDialog.cpp">
61+
<ClCompile Include="src\common\QUtf8.cpp">
62+
<Filter>common</Filter>
63+
</ClCompile>
64+
<ClCompile Include="src\common\utf8.cpp">
65+
<Filter>common</Filter>
66+
</ClCompile>
67+
<ClCompile Include="src\QTableType.cpp">
68+
<Filter>Source Files</Filter>
69+
</ClCompile>
70+
<ClCompile Include="src\ResArscStruct.cpp">
6271
<Filter>Source Files</Filter>
6372
</ClCompile>
64-
<ClCompile Include="src\StringPoolExtend.cpp">
73+
<ClCompile Include="src\QTreeWidgetItem_ArscValue.cpp">
74+
<Filter>Source Files</Filter>
75+
</ClCompile>
76+
<ClCompile Include="src\SimpleRichText.cpp">
6577
<Filter>Source Files</Filter>
6678
</ClCompile>
67-
<ClCompile Include="src\QUtf8.cpp">
68-
<Filter>utf8</Filter>
79+
<ClCompile Include="src\QAppendDialog.cpp">
80+
<Filter>Source Files</Filter>
6981
</ClCompile>
70-
<ClCompile Include="src\utf8.cpp">
71-
<Filter>utf8</Filter>
82+
<ClCompile Include="src\QAddLocaleDialog.cpp">
83+
<Filter>Source Files</Filter>
7284
</ClCompile>
73-
<ClCompile Include="src\TablePackageExtend.cpp">
85+
<ClCompile Include="src\QEditDialog.cpp">
7486
<Filter>Source Files</Filter>
7587
</ClCompile>
7688
</ItemGroup>
89+
<ItemGroup>
90+
<ClInclude Include="src\GuidFactory.h">
91+
<Filter>Header Files</Filter>
92+
</ClInclude>
93+
<ClInclude Include="src\QStringPool.h">
94+
<Filter>Header Files</Filter>
95+
</ClInclude>
96+
<ClInclude Include="src\ResArscStruct.h">
97+
<Filter>Header Files</Filter>
98+
</ClInclude>
99+
<ClInclude Include="src\QArscString.h">
100+
<Filter>Header Files</Filter>
101+
</ClInclude>
102+
<ClInclude Include="src\common\basicDefine.h">
103+
<Filter>common</Filter>
104+
</ClInclude>
105+
<ClInclude Include="src\common\QUtf8.h">
106+
<Filter>common</Filter>
107+
</ClInclude>
108+
<ClInclude Include="src\common\sbtree.h">
109+
<Filter>common</Filter>
110+
</ClInclude>
111+
<ClInclude Include="src\common\sbtree_map.h">
112+
<Filter>common</Filter>
113+
</ClInclude>
114+
<ClInclude Include="src\common\utf8.h">
115+
<Filter>common</Filter>
116+
</ClInclude>
117+
<ClInclude Include="src\common\bpptree.h">
118+
<Filter>common</Filter>
119+
</ClInclude>
120+
<ClInclude Include="src\common\bpptree_map.h">
121+
<Filter>common</Filter>
122+
</ClInclude>
123+
<ClInclude Include="src\QTreeWidgetItem_ArscValue.h">
124+
<Filter>Header Files</Filter>
125+
</ClInclude>
126+
<ClInclude Include="src\SimpleRichText.h">
127+
<Filter>Header Files</Filter>
128+
</ClInclude>
129+
<ClInclude Include="src\common\shared_ptr.h">
130+
<Filter>Header Files</Filter>
131+
</ClInclude>
132+
<ClInclude Include="src\QTableType.h">
133+
<Filter>Header Files</Filter>
134+
</ClInclude>
135+
<ClInclude Include="src\QTablePackage.h">
136+
<Filter>Header Files</Filter>
137+
</ClInclude>
138+
</ItemGroup>
77139
<ItemGroup>
78140
<QtMoc Include="src\QResArscParser.h">
79141
<Filter>Header Files</Filter>
80142
</QtMoc>
81-
<QtMoc Include="src\QResArscEditorUI.h">
143+
<QtMoc Include="src\QPublicFinal.h">
82144
<Filter>Header Files</Filter>
83145
</QtMoc>
84-
<QtMoc Include="src\QResArscEditor.h">
146+
<QtMoc Include="src\QResArscEditorUI.h">
85147
<Filter>Header Files</Filter>
86148
</QtMoc>
87-
<QtMoc Include="src\QEditDialog.h">
149+
<QtMoc Include="src\QResArscEditor.h">
88150
<Filter>Header Files</Filter>
89151
</QtMoc>
90152
<QtMoc Include="src\QAppendDialog.h">
91153
<Filter>Header Files</Filter>
92154
</QtMoc>
93-
<QtMoc Include="src\QPublicFinal.h">
155+
<QtMoc Include="src\QAddLocaleDialog.h">
94156
<Filter>Header Files</Filter>
95157
</QtMoc>
96-
<QtMoc Include="src\QAddLocaleDialog.h">
158+
<QtMoc Include="src\QEditDialog.h">
97159
<Filter>Header Files</Filter>
98160
</QtMoc>
99161
</ItemGroup>
100162
<ItemGroup>
101-
<ClInclude Include="src\ResArscStruct.h">
102-
<Filter>Header Files</Filter>
103-
</ClInclude>
104-
<ClInclude Include="src\basicDefine.h">
105-
<Filter>Header Files</Filter>
106-
</ClInclude>
107-
<ClInclude Include="src\SimpleRichText.h">
108-
<Filter>Header Files</Filter>
109-
</ClInclude>
110-
<ClInclude Include="src\StringPoolExtend.h">
111-
<Filter>Header Files</Filter>
112-
</ClInclude>
113-
<ClInclude Include="src\utf8.h">
114-
<Filter>utf8</Filter>
115-
</ClInclude>
116-
<ClInclude Include="src\QUtf8.h">
117-
<Filter>utf8</Filter>
118-
</ClInclude>
119-
<ClInclude Include="src\TablePackageExtend.h">
120-
<Filter>Header Files</Filter>
121-
</ClInclude>
163+
<QtUic Include="QResArscEditorUI.ui">
164+
<Filter>Form Files</Filter>
165+
</QtUic>
166+
</ItemGroup>
167+
<ItemGroup>
168+
<Natvis Include="src\common\sbtree.natvis">
169+
<Filter>common</Filter>
170+
</Natvis>
171+
</ItemGroup>
172+
<ItemGroup>
173+
<Image Include="QtResArscEditor.ico">
174+
<Filter>Resource Files</Filter>
175+
</Image>
122176
</ItemGroup>
123177
<ItemGroup>
124178
<ResourceCompile Include="QtResArscEditor.rc">

main.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
#include <QtWidgets/QApplication>
21
#include "src/QResArscEditor.h"
3-
#include "src/ResArscStruct.h"
4-
#include "src/SimpleRichText.h"
2+
#include <QtWidgets/QApplication>
3+
#include <map>
4+
#include <QDebug>
5+
#include <set>
56

67
int main(int argc, char* argv[])
78
{
8-
QApplication a(argc, argv);
9-
initTableConfig();
10-
QResArscEditor w;
11-
w.show();
12-
return a.exec();
9+
QApplication app(argc, argv);
10+
QResArscEditor window;
11+
window.show();
12+
return app.exec();
1313
}

src/GuidFactory.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include "GuidFactory.h"
2+
3+
GuidFactory::GuidFactory()
4+
:m_guid(0)
5+
{
6+
7+
}
8+
GuidFactory::~GuidFactory()
9+
{
10+
11+
}
12+
void GuidFactory::reset()
13+
{
14+
m_guid = 0;
15+
}
16+
int GuidFactory::getNewGuid()
17+
{
18+
return m_guid++;
19+
}

0 commit comments

Comments
 (0)