Main.fxml
18.8 KB
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.chart.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.Font?>
<VBox xmlns="http://javafx.com/javafx/9" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="org.code4everything.qiniu.controller.MainController">
<BorderPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="600.0"
prefWidth="700.0" VBox.vgrow="ALWAYS">
<center>
<TabPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="50.0"
prefWidth="700.0" tabClosingPolicy="UNAVAILABLE" BorderPane.alignment="CENTER">
<Tab text="文件上传">
<HBox>
<SplitPane dividerPositions="0.6" prefHeight="520.0" prefWidth="702.0" HBox.hgrow="ALWAYS">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</padding>
<VBox>
<TextArea fx:id="uploadStatusTA" editable="false"
maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308"
prefHeight="504.0" prefWidth="336.0" promptText="文件上传状态" VBox.vgrow="ALWAYS">
<contextMenu>
<ContextMenu>
<items>
<MenuItem mnemonicParsing="false" onAction="#clearUploadStatus"
text="清空"/>
<MenuItem mnemonicParsing="false" onAction="#saveUploadStatus"
text="另存为"/>
<MenuItem mnemonicParsing="false" onAction="#copyUploadStatus"
text="复制"/>
</items>
</ContextMenu>
</contextMenu>
<VBox.margin>
<Insets right="10.0"/>
</VBox.margin>
</TextArea>
</VBox>
<VBox prefHeight="500.0" prefWidth="171.0">
<ComboBox fx:id="prefixCB" editable="true" maxHeight="1.7976931348623157E308"
maxWidth="1.7976931348623157E308" prefHeight="35.0" prefWidth="277.0"
promptText="文件前缀, 不设置则为空" VBox.vgrow="NEVER">
<VBox.margin>
<Insets left="10.0"/>
</VBox.margin>
</ComboBox>
<HBox prefHeight="100.0" prefWidth="200.0" VBox.vgrow="NEVER">
<padding>
<Insets left="10.0" right="10.0" top="10.0"/>
</padding>
<CheckBox fx:id="recursiveCB" mnemonicParsing="false" text="文件夹递归"
selected="true"/>
<CheckBox fx:id="keepPathCB" mnemonicParsing="false" text="保持文件夹路径" selected="true">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</CheckBox>
</HBox>
<TextArea fx:id="selectedFileTA" maxHeight="1.7976931348623157E308"
maxWidth="1.7976931348623157E308" onDragDropped="#dragFileDropped"
onDragOver="#dragFileOver" prefHeight="800.0" prefWidth="332.0"
promptText="文件路径, 一个文件一行, 支持拖曳文件, 支持抓取网络文件" VBox.vgrow="ALWAYS">
<VBox.margin>
<Insets left="10.0" top="10.0"/>
</VBox.margin>
</TextArea>
<HBox alignment="TOP_CENTER" VBox.vgrow="NEVER">
<VBox.margin>
<Insets left="10.0" top="10.0"/>
</VBox.margin>
<Button contentDisplay="CENTER" maxHeight="1.7976931348623157E308"
maxWidth="1.7976931348623157E308" mnemonicParsing="false"
onAction="#showOpenFileDialog" prefHeight="27.0" prefWidth="156.0"
text="选择文件"
HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets right="10.0"/>
</HBox.margin>
</Button>
<Button alignment="CENTER" maxHeight="1.7976931348623157E308"
maxWidth="1.7976931348623157E308" mnemonicParsing="false"
onAction="#uploadFile" prefHeight="27.0" prefWidth="156.0" text="开始上传"
HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Button>
</HBox>
</VBox>
</SplitPane>
</HBox>
</Tab>
<Tab text="资源管理">
<VBox>
<HBox alignment="CENTER_LEFT" prefHeight="52.0" prefWidth="700.0" VBox.vgrow="NEVER">
<padding>
<Insets left="10.0"/>
</padding>
<Label alignment="CENTER" text="空间域名" HBox.hgrow="NEVER">
<font>
<Font size="14.0"/>
</font>
</Label>
<TextField fx:id="domainTF" editable="false" prefHeight="27.0"
prefWidth="245.0" promptText="空间域名" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</TextField>
<TextField fx:id="searchTF" onKeyReleased="#searchFile" prefHeight="27.0"
prefWidth="275.0" promptText="搜索文件, 支持正则表达式" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</TextField>
<HBox alignment="CENTER_RIGHT" HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets/>
</HBox.margin>
<padding>
<Insets right="15.0"/>
</padding>
<Label fx:id="lengthLabel"/>
</HBox>
</HBox>
<HBox VBox.vgrow="ALWAYS">
<TableView fx:id="resTV" editable="true" prefHeight="479.0" prefWidth="602.0"
HBox.hgrow="ALWAYS">
<columns>
<TableColumn fx:id="nameTC" prefWidth="278.0" text="文件名"/>
<TableColumn fx:id="typeTC" minWidth="5.0" prefWidth="81.0" text="文件类型"/>
<TableColumn fx:id="sizeTC" prefWidth="90.0" text="文件大小"/>
<TableColumn fx:id="timeTC" prefWidth="152.0" text="最后更新时间"/>
</columns>
<HBox.margin>
<Insets bottom="10.0" left="10.0"/>
</HBox.margin>
</TableView>
<VBox alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" HBox.hgrow="NEVER">
<Button mnemonicParsing="false" onAction="#refreshResourceData" text="刷新列表"
VBox.vgrow="NEVER"/>
<Button mnemonicParsing="false" onAction="#copyLink" text="复制链接" VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#deleteFile" text="删除文件" VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#showFileMovableDialog" text="移动到..."
VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#setLife" text="生存时间" VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#updateFile" text="更新镜像" VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#publicDownload" text="公有下载"
VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#privateDownload" text="私有下载"
VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#openFile" text="打开文件" VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#refreshFile" text="文件刷新" VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#downloadCdnLog" text="日志下载"
VBox.vgrow="NEVER">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
</Button>
<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
<VBox.margin>
<Insets top="10.0"/>
</VBox.margin>
<padding>
<Insets bottom="10.0"/>
</padding>
<Label fx:id="sizeLabel"/>
</VBox>
</VBox>
</HBox>
</VBox>
</Tab>
<Tab text="数据统计">
<VBox>
<HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="40.0"
prefWidth="700.0" VBox.vgrow="NEVER">
<Label text="开始日期" HBox.hgrow="NEVER">
<font>
<Font size="14.0"/>
</font>
<HBox.margin>
<Insets/>
</HBox.margin>
</Label>
<DatePicker fx:id="startDP" onAction="#dateChange" prefWidth="125.0" promptText="开始日期"
HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</DatePicker>
<Label text="结束日期">
<font>
<Font size="14.0"/>
</font>
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Label>
<DatePicker fx:id="endDP" onAction="#dateChange" prefWidth="125.0" promptText="结束日期"
HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</DatePicker>
<ComboBox fx:id="fluxUnitCB" prefWidth="70.0" promptText="统计单位" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</ComboBox>
<ComboBox fx:id="bandwidthUnitCB" prefWidth="70.0" promptText="统计单位">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</ComboBox>
<Label text="时间跨度不超过31天" HBox.hgrow="NEVER">
<font>
<Font size="14.0"/>
</font>
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Label>
</HBox>
<AreaChart fx:id="fluxAC" VBox.vgrow="ALWAYS">
<xAxis>
<CategoryAxis side="BOTTOM"/>
</xAxis>
<yAxis>
<NumberAxis side="LEFT"/>
</yAxis>
</AreaChart>
<AreaChart fx:id="bandwidthAC" VBox.vgrow="ALWAYS">
<xAxis>
<CategoryAxis side="BOTTOM"/>
</xAxis>
<yAxis>
<NumberAxis side="LEFT"/>
</yAxis>
</AreaChart>
</VBox>
</Tab>
</TabPane>
</center>
<top>
<VBox BorderPane.alignment="CENTER">
<BorderPane.margin>
<Insets/>
</BorderPane.margin>
<HBox VBox.vgrow="NEVER">
<padding>
<Insets top="10" bottom="10"/>
</padding>
<ComboBox fx:id="bucketCB" minHeight="-Infinity" minWidth="-Infinity" prefHeight="27.0"
prefWidth="205.0" promptText="还没有选择存储空间" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</ComboBox>
<TextField fx:id="zoneTF" editable="false" promptText="存储区域" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</TextField>
<Button mnemonicParsing="false" onAction="#showBucketDialog" text="添加存储空间"
HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#showKeyDialog" text="重置密钥" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#openConfigFile" text="打开配置文件" HBox.hgrow="NEVER">
<HBox.margin>
<Insets left="10.0"/>
</HBox.margin>
</Button>
</HBox>
</VBox>
</top>
</BorderPane>
</VBox>