Skip to content

Commit 9c8a4fb

Browse files
committed
2.2.5
1 parent d26d9c9 commit 9c8a4fb

File tree

8 files changed

+361
-10
lines changed

8 files changed

+361
-10
lines changed

App/App.cpp

Lines changed: 340 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,347 @@ bool App::singleAppLock()
6161
}
6262
void App::initConfig()
6363
{
64-
QFile file("./Config/config.json");
65-
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
66-
qFatal() << "打开配置文件失败";
67-
return;
64+
QString jsonStr = R"888({
65+
"stayOn": true,
66+
"defaultLang": "en",
67+
"hotKey": "Ctrl+Alt+Z",
68+
"winPin": [
69+
{
70+
"name": "toolBar",
71+
"zhcn": "工具栏(Ctrl+T)",
72+
"en": "Toolbar (Ctrl+T)"
73+
},
74+
{
75+
"name": "quit",
76+
"zhcn": "退出(Esc)",
77+
"en": "Quit (Esc)"
78+
}
79+
],
80+
"icon": {
81+
"fontPath": "./Config/iconfont.ttf",
82+
"fontName": "iconfont"
83+
},
84+
"tray": {
85+
"iconPath": "Config/logo.ico",
86+
"menu": [
87+
{
88+
"name": "start",
89+
"zhcn": "截图",
90+
"en": "Capture"
91+
},
92+
{
93+
"name": "about",
94+
"zhcn": "关于",
95+
"en": "About"
96+
},
97+
{
98+
"name": "quit",
99+
"zhcn": "退出",
100+
"en": "Quit"
101+
}
102+
]
103+
},
104+
"toolMain": [
105+
{
106+
"name": "rect",
107+
"icon": "e8e8",
108+
"zhcn": "矩形",
109+
"en": "Rect"
110+
},
111+
{
112+
"name": "ellipse",
113+
"icon": "e6bc",
114+
"zhcn": "圆形",
115+
"en": "Eellipse"
116+
},
117+
{
118+
"name": "arrow",
119+
"icon": "e603",
120+
"zhcn": "箭头",
121+
"en": "Arrow"
122+
},
123+
{
124+
"name": "number",
125+
"icon": "e776",
126+
"zhcn": "标号",
127+
"en": "Number"
128+
},
129+
{
130+
"name": "line",
131+
"icon": "e601",
132+
"zhcn": "线条",
133+
"en": "Pen"
134+
},
135+
{
136+
"name": "text",
137+
"icon": "e6ec",
138+
"zhcn": "文本",
139+
"en": "Text"
140+
},
141+
{
142+
"name": "mosaic",
143+
"icon": "e82e",
144+
"zhcn": "马赛克",
145+
"en": "Mosaic"
146+
},
147+
{
148+
"name": "eraser",
149+
"icon": "e6be",
150+
"zhcn": "橡皮擦",
151+
"en": "Eraser"
152+
},
153+
{
154+
"name": "splitter"
155+
},
156+
{
157+
"name": "undo",
158+
"icon": "ed85",
159+
"zhcn": "撤销",
160+
"en": "Undo"
161+
},
162+
{
163+
"name": "redo",
164+
"icon": "ed8a",
165+
"zhcn": "重做",
166+
"en": "Redo"
167+
},
168+
{
169+
"name": "splitter"
170+
},
171+
{
172+
"name": "pin",
173+
"icon": "e6a3",
174+
"zhcn": "钉住",
175+
"en": "Pin"
176+
},
177+
{
178+
"name": "clipboard",
179+
"icon": "e87f",
180+
"zhcn": "保存到剪切板",
181+
"en": "Save to Clipboard"
182+
},
183+
{
184+
"name": "save",
185+
"icon": "e6c0",
186+
"zhcn": "保存",
187+
"en": "Save to Disk"
188+
},
189+
{
190+
"name": "close",
191+
"icon": "e6e7",
192+
"zhcn": "关闭",
193+
"en": "Close"
68194
}
69-
QByteArray jsonData = file.readAll();
70-
file.close();
71-
QJsonDocument document = QJsonDocument::fromJson(jsonData);
195+
],
196+
"toolSub": {
197+
"rect": [
198+
{
199+
"name": "rectFill",
200+
"icon": "e602",
201+
"selectDefault": false,
202+
"zhcn": "填充矩形",
203+
"en": "Filled Rect"
204+
},
205+
{
206+
"name": "strokeCtrl",
207+
"zhcn": "线条粗细:",
208+
"en": "Stroke Width: ",
209+
"value": 3,
210+
"min": 1,
211+
"max": 20
212+
},
213+
{
214+
"name": "colorCtrl",
215+
"selectedIndex": 0
216+
}
217+
],
218+
"ellipse": [
219+
{
220+
"name": "ellipseFill",
221+
"icon": "e600",
222+
"selectDefault": false,
223+
"zhcn": "填充椭圆",
224+
"en": "Filled Ellipse"
225+
},
226+
{
227+
"name": "strokeCtrl",
228+
"zhcn": "线条粗细:",
229+
"en": "Stroke Width: ",
230+
"value": 3,
231+
"min": 1,
232+
"max": 20
233+
},
234+
{
235+
"name": "colorCtrl",
236+
"selectedIndex": 1
237+
}
238+
],
239+
"arrow": [
240+
{
241+
"name": "arrowFill",
242+
"selectDefault": true,
243+
"icon": "e604",
244+
"zhcn": "填充箭头",
245+
"en": "Filled Arrow"
246+
},
247+
{
248+
"name": "strokeCtrl",
249+
"zhcn": "箭头大小:",
250+
"en": "Arrow Size: ",
251+
"value": 18,
252+
"min": 12,
253+
"max": 60
254+
},
255+
{
256+
"name": "colorCtrl",
257+
"selectedIndex": 2
258+
}
259+
],
260+
"number": [
261+
{
262+
"name": "numberFill",
263+
"selectDefault": true,
264+
"icon": "e605",
265+
"zhcn": "填充标号",
266+
"en": "Filled Number"
267+
},
268+
{
269+
"name": "colorCtrl",
270+
"selectedIndex": 3
271+
}
272+
],
273+
"line": [
274+
{
275+
"name": "lineTransparent",
276+
"selectDefault": false,
277+
"icon": "e607",
278+
"zhcn": "半透明线条",
279+
"en": "Translucent Line"
280+
},
281+
{
282+
"name": "strokeCtrl",
283+
"zhcn": "线条粗细:",
284+
"en": "Stroke Width: ",
285+
"value": 12,
286+
"min": 6,
287+
"max": 160
288+
},
289+
{
290+
"name": "colorCtrl",
291+
"selectedIndex": 4
292+
}
293+
],
294+
"text": [
295+
{
296+
"name": "bold",
297+
"selectDefault": false,
298+
"icon": "e634",
299+
"zhcn": "粗体",
300+
"en": "Bold"
301+
},
302+
{
303+
"name": "italic",
304+
"selectDefault": false,
305+
"icon": "e682",
306+
"zhcn": "斜体",
307+
"en": "Italics"
308+
},
309+
{
310+
"name": "strokeCtrl",
311+
"zhcn": "字体大小:",
312+
"en": "Font Size: ",
313+
"value": 16,
314+
"min": 8,
315+
"max": 60
316+
},
317+
{
318+
"name": "colorCtrl",
319+
"selectedIndex": 5
320+
}
321+
],
322+
"mosaic": [
323+
{
324+
"name": "mosaicFill",
325+
"icon": "e602",
326+
"selectDefault": false,
327+
"zhcn": "",
328+
"en": ""
329+
},
330+
{
331+
"name": "strokeCtrl",
332+
"zhcn": "线条粗细:",
333+
"en": "Stroke Width: ",
334+
"value": 26,
335+
"min": 16,
336+
"max": 80
337+
}
338+
],
339+
"eraser": [
340+
{
341+
"name": "eraserFill",
342+
"icon": "e602",
343+
"selectDefault": false,
344+
"zhcn": "矩形橡皮擦",
345+
"en": "Rectangle Eraser"
346+
},
347+
{
348+
"name": "strokeCtrl",
349+
"value": 16,
350+
"zhcn": "线条粗细:",
351+
"en": "Stroke Width: ",
352+
"min": 12,
353+
"max": 60
354+
}
355+
]
356+
},
357+
"colorCtrl": {
358+
"icon": "e61d",
359+
"iconSelected": "e721",
360+
"items": [
361+
{
362+
"en": "red",
363+
"zhcn": "红",
364+
"value": "#CF1322"
365+
},
366+
{
367+
"en": "yellow",
368+
"zhcn": "黄",
369+
"value": "#D48806"
370+
},
371+
{
372+
"en": "green",
373+
"zhcn": "绿",
374+
"value": "#389E0D"
375+
},
376+
{
377+
"en": "cyan",
378+
"zhcn": "青",
379+
"value": "#13C2C2"
380+
},
381+
{
382+
"en": "blue",
383+
"zhcn": "蓝",
384+
"value": "#0958D9"
385+
},
386+
{
387+
"en": "purple",
388+
"zhcn": "紫",
389+
"value": "#722ED1"
390+
},
391+
{
392+
"en": "pink",
393+
"zhcn": "粉",
394+
"value": "#EB2F96"
395+
},
396+
{
397+
"en": "black",
398+
"zhcn": "黑",
399+
"value": "#000000"
400+
}
401+
]
402+
}
403+
})888";
404+
QJsonDocument document = QJsonDocument::fromJson(jsonStr.toUtf8());
72405
if (!document.isObject()) {
73406
qFatal() << "配置文件格式错误";
74407
return;

App/Font.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ void Font::initData(const QJsonObject& obj)
99
{
1010
QFont font("Microsoft YaHei", 9);
1111
qApp->setFont(font);
12-
QString fontPath = obj["fontPath"].toString();
13-
auto result = QFontDatabase::addApplicationFont(fontPath);
12+
auto result = QFontDatabase::addApplicationFont(":/Config/iconfont.ttf");
1413
if (result != 0) {
1514
qFatal() << "没有找到字体图标文件";
1615
}

App/Res.rc

0 Bytes
Binary file not shown.

Config/config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"stayOn": true,
23
"defaultLang": "en",
34
"hotKey": "Ctrl+Alt+Z",
45
"winPin": [

0 commit comments

Comments
 (0)