-
Notifications
You must be signed in to change notification settings - Fork 5
/
MainPage.qml
147 lines (122 loc) · 3.12 KB
/
MainPage.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import QtQuick 2.13
import QtQuick.Controls 2.5
import QtQuick.Layouts 1.12
import QtQuick.Dialogs 1.3
AbstractPage {
id: mainPage
Image {
z: -1
anchors.centerIn: parent
source: "ClamAV.png"
}
MouseArea{
id: movement
anchors.fill: parent
property real pressX
property real pressY
function press()
{
movement.pressX = movement.mouseX
movement.pressY = movement.mouseY
}
function move()
{
mainPage.window.x += movement.mouseX - movement.pressX
mainPage.window.y += movement.mouseY - movement.pressY
}
onPressed: press()
onPositionChanged: move()
}
GridLayout {
anchors.fill: parent
anchors.margins: 5
rows: 2
columns: 3
opacity: 0.6
RaphaelButton {
Layout.fillWidth: true
Layout.fillHeight: true
id: log
text: qsTr("检测文件")
window: mainPage.window
onClicked: {
selectFile.open()
}
}
RaphaelButton {
Layout.fillWidth: true
Layout.fillHeight: true
id: clear
text: qsTr("扫描目录")
window: mainPage.window
onClicked: {
selectDialog.open()
}
}
RaphaelButton {
Layout.fillWidth: true
Layout.fillHeight: true
id: clearAll
text: qsTr("全局扫描")
window: mainPage.window
onClicked: {
toScanPage()
ClamAV.start()
}
}
RaphaelButton {
Layout.fillWidth: true
Layout.fillHeight: true
id: update
text: qsTr("更新病毒库")
window: mainPage.window
onClicked: {
toUpdatePage()
Updater.update()
}
}
RaphaelButton {
Layout.fillWidth: true
Layout.fillHeight: true
id: source
text: qsTr("获取源码")
window: mainPage.window
onClicked: {
Qt.openUrlExternally("https://github.com/hubenchang0515/Raphael")
}
}
RaphaelButton {
Layout.fillWidth: true
Layout.fillHeight: true
id: quit
text: qsTr("退出")
window: mainPage.window
onClicked: {
Qt.quit()
}
}
}
// 选择扫描目录的窗口
FileDialog {
id: selectFile
title: qsTr("检测文件")
folder: shortcuts.desktop
onAccepted: {
close()
toScanPage()
ClamAV.start(fileUrl)
}
}
// 选择扫描目录的窗口
FileDialog {
id: selectDialog
title: qsTr("扫描目录")
folder: shortcuts.desktop
selectFolder: true
onAccepted: {
close()
toScanPage()
ClamAV.start(fileUrl)
}
}
}