mirror of
https://github.com/octopusYan/alist-gui.git
synced 2025-12-08 17:21:56 +08:00
feat: 语言切换支持、布局重写、配置读取切换为jackson-yaml
This commit is contained in:
39
src/main/resources/fxml/main-view.fxml
Normal file
39
src/main/resources/fxml/main-view.fxml
Normal file
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.*?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<VBox fx:id="mainView" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
|
||||
stylesheets="@../css/main-view.css" prefWidth="720" prefHeight="700"
|
||||
fx:controller="cn.octopusyan.alistgui.controller.MainController">
|
||||
<padding>
|
||||
<Insets left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
<HBox alignment="TOP_CENTER" prefWidth="Infinity">
|
||||
<Label fx:id="homeLabel" alignment="CENTER" text="AList GUI"/>
|
||||
<Label fx:id="statusLabel" alignment="TOP_CENTER" text="%main.status.label-running">
|
||||
<HBox.margin>
|
||||
<Insets left="-10.0" top="-5"/>
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
</HBox>
|
||||
<HBox alignment="TOP_CENTER" prefWidth="Infinity" spacing="25.0">
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
<VBox.margin>
|
||||
<Insets bottom="10.0" top="10.0"/>
|
||||
</VBox.margin>
|
||||
<Button fx:id="startButton" styleClass="control-menu" text="%main.control.start"/>
|
||||
<Button fx:id="passwordButton" styleClass="control-menu" text="%main.control.password"/>
|
||||
<Button fx:id="restartButton" styleClass="control-menu" text="%main.control.restart"/>
|
||||
<Button fx:id="moreButton" styleClass="control-menu" text="%main.control.more"/>
|
||||
</HBox>
|
||||
<TextArea fx:id="logArea" editable="false" prefWidth="Infinity"
|
||||
text="123d1a32s1d3as21d3a2s1d3a2s1d3a2s1d3a2s1d3a2s1d3a2s1d32aasda3s21da32s1d32a1sd"
|
||||
wrapText="true" VBox.vgrow="ALWAYS">
|
||||
<VBox.margin>
|
||||
<Insets bottom="10.0" top="10.0"/>
|
||||
</VBox.margin>
|
||||
</TextArea>
|
||||
</VBox>
|
||||
@ -1,90 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.*?>
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import org.kordamp.ikonli.javafx.*?>
|
||||
<VBox fx:id="rootPane" styleClass="rootPane" alignment="TOP_CENTER" prefHeight="620.0" prefWidth="700.0" spacing="10.0"
|
||||
stylesheets="@../css/root-view.css" xmlns="http://javafx.com/javafx/11.0.14-internal"
|
||||
xmlns:fx="http://javafx.com/fxml/1" fx:controller="cn.octopusyan.alistgui.controller.MainController">
|
||||
|
||||
<VBox fx:id="rootPane" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
|
||||
alignment="TOP_CENTER" prefHeight="720.0" prefWidth="770.0" spacing="10.0"
|
||||
styleClass="root-pane" stylesheets="@../css/root-view.css"
|
||||
fx:controller="cn.octopusyan.alistgui.controller.RootController">
|
||||
|
||||
<HBox fx:id="windowHeader" alignment="CENTER_RIGHT" prefWidth="Infinity" spacing="10.0">
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
<Button fx:id="alwaysOnTopIcon" styleClass="iconButton"/>
|
||||
<Button fx:id="minimizeIcon" styleClass="iconButton"/>
|
||||
<Button fx:id="closeIcon" styleClass="iconButton"/>
|
||||
<FontIcon fx:id="alwaysOnTopIcon" styleClass="icon-button"/>
|
||||
<FontIcon fx:id="minimizeIcon" styleClass="icon-button"/>
|
||||
<FontIcon fx:id="closeIcon" styleClass="icon-button"/>
|
||||
</HBox>
|
||||
|
||||
<TabPane fx:id="tabPane" prefWidth="Infinity" VBox.vgrow="ALWAYS" tabClosingPolicy="UNAVAILABLE">
|
||||
<TabPane fx:id="tabPane" prefWidth="Infinity" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="ALWAYS">
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="20.0" right="20.0" top="10.0"/>
|
||||
<Insets left="20.0" right="20.0"/>
|
||||
</padding>
|
||||
<Tab text="主页">
|
||||
<Tab text="%root.tab.main">
|
||||
<graphic>
|
||||
<FontIcon iconLiteral="cil-library" iconColor="white"/>
|
||||
<FontIcon iconColor="white" iconLiteral="fa-th-large"/>
|
||||
</graphic>
|
||||
<VBox>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
<HBox styleClass="mainViewHeader" prefWidth="Infinity" alignment="TOP_CENTER">
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
<Label fx:id="homeLabel" text="AList GUI" alignment="CENTER"/>
|
||||
<Label fx:id="statusLabel" text="运行中" alignment="TOP_CENTER">
|
||||
<HBox.margin>
|
||||
<Insets left="-10.0" top="-5"/>
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
</HBox>
|
||||
<HBox prefWidth="Infinity" alignment="TOP_CENTER" spacing="25.0">
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
<VBox.margin>
|
||||
<Insets bottom="10.0" top="10.0"/>
|
||||
</VBox.margin>
|
||||
<Button fx:id="startButton" styleClass="controlMenu" text="开始"/>
|
||||
<Button fx:id="passwordButton" styleClass="controlMenu" text="密码"/>
|
||||
<Button fx:id="restartButton" styleClass="controlMenu" text="重启"/>
|
||||
<Button fx:id="moreButton" styleClass="controlMenu" text="更多"/>
|
||||
</HBox>
|
||||
<TextArea fx:id="logArea" editable="false" wrapText="true" prefWidth="Infinity" VBox.vgrow="ALWAYS"
|
||||
text="123d1a32s1d3as21d3a2s1d3a2s1d3a2s1d3a2s1d3a2s1d3a2s1d32aasda3s21da32s1d32a1sd">
|
||||
<VBox.margin>
|
||||
<Insets bottom="10.0" top="10.0"/>
|
||||
</VBox.margin>
|
||||
</TextArea>
|
||||
<HBox prefWidth="Infinity" alignment="CENTER" spacing="25.0">
|
||||
<padding>
|
||||
<Insets bottom="10.0" top="30.0"/>
|
||||
</padding>
|
||||
<Button fx:id="docmentLabel" text="文档" textAlignment="CENTER">
|
||||
<graphic>
|
||||
<FontIcon iconLiteral="cib-readme"/>
|
||||
</graphic>
|
||||
</Button>
|
||||
<Button fx:id="gethubLabel" text="Github" textAlignment="CENTER">
|
||||
<graphic>
|
||||
<FontIcon iconLiteral="cib-github"/>
|
||||
</graphic>
|
||||
</Button>
|
||||
<Button fx:id="otherLabel" text="赞助" textAlignment="CENTER">
|
||||
<graphic>
|
||||
<FontIcon iconLiteral="cib-buy-me-a-coffee"/>
|
||||
</graphic>
|
||||
</Button>
|
||||
</HBox>
|
||||
</VBox>
|
||||
<!-- 引入主页 -->
|
||||
<fx:include fx:id="mainController" source="main-view.fxml" prefWidth="Infinity" prefHeight="-Infinity"/>
|
||||
</Tab>
|
||||
<Tab fx:id="setupTab" text="设置">
|
||||
<Tab text="%root.tab.setup">
|
||||
<graphic>
|
||||
<FontIcon iconLiteral="cil-settings" iconColor="white"/>
|
||||
<FontIcon iconColor="white" iconLiteral="fa-cog"/>
|
||||
</graphic>
|
||||
<!-- 引入设置页 -->
|
||||
<fx:include fx:id="setupController" source="setup-view.fxml" prefWidth="Infinity" prefHeight="-Infinity"/>
|
||||
</Tab>
|
||||
</TabPane>
|
||||
<HBox fx:id="windowFooter" alignment="CENTER" prefWidth="Infinity" spacing="25.0">
|
||||
<padding>
|
||||
<Insets bottom="30.0"/>
|
||||
</padding>
|
||||
<Button fx:id="document" text="%root.foot.doc"/>
|
||||
<Button fx:id="github" text="%root.foot.github"/>
|
||||
<Button fx:id="sponsor" text="%root.foot.sponsor"/>
|
||||
</HBox>
|
||||
</VBox>
|
||||
|
||||
61
src/main/resources/fxml/setup-view.fxml
Normal file
61
src/main/resources/fxml/setup-view.fxml
Normal file
@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<GridPane fx:id="setupView" prefHeight="700" prefWidth="720" stylesheets="@../css/setup-view.css"
|
||||
xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
|
||||
fx:controller="cn.octopusyan.alistgui.controller.SetupController">
|
||||
<padding>
|
||||
<Insets left="10.0" right="10.0" top="20.0"/>
|
||||
</padding>
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" percentWidth="100"/>
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints vgrow="SOMETIMES"/>
|
||||
<RowConstraints vgrow="SOMETIMES"/>
|
||||
</rowConstraints>
|
||||
<VBox spacing="20">
|
||||
<CheckBox fx:id="autoStartCheckBox" text="%setup.auto-start.label"/>
|
||||
<CheckBox fx:id="silentStartupCheckBox" text="%setup.silent-startup.label"/>
|
||||
<HBox alignment="CENTER_LEFT" spacing="10">
|
||||
<Label text="%setup.language"/>
|
||||
<ComboBox fx:id="languageComboBox"/>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER_LEFT" spacing="20">
|
||||
<Label text="%setup.proxyInfo" styleClass="proxyInfo-label"/>
|
||||
<ComboBox fx:id="proxySetupComboBox"/>
|
||||
</HBox>
|
||||
<!-- <HBox spacing="10" visible="false">-->
|
||||
<!-- <RadioButton fx:id="noProxy" text="%proxyInfo.setup.label.no_proxy"/>-->
|
||||
<!-- <RadioButton fx:id="systemProxy" text="%proxyInfo.setup.label.system"/>-->
|
||||
<!-- <RadioButton fx:id="manualProxy" text="%proxyInfo.setup.label.manual"/>-->
|
||||
<!-- </HBox>-->
|
||||
<VBox fx:id="proxySetupPane" spacing="10">
|
||||
<HBox spacing="20" alignment="CENTER_LEFT">
|
||||
<Label text="%setup.proxyInfo.host"/>
|
||||
<TextField fx:id="proxyHost" promptText="127.0.0.1"/>
|
||||
</HBox>
|
||||
<HBox spacing="20" alignment="CENTER_LEFT">
|
||||
<Label text="%setup.proxyInfo.port"/>
|
||||
<TextField fx:id="proxyPort" promptText="8080"/>
|
||||
</HBox>
|
||||
</VBox>
|
||||
</VBox>
|
||||
<AnchorPane GridPane.rowIndex="1">
|
||||
<VBox alignment="CENTER" spacing="10"
|
||||
AnchorPane.bottomAnchor="50" AnchorPane.rightAnchor="0" AnchorPane.topAnchor="0">
|
||||
<HBox alignment="CENTER" styleClass="shield">
|
||||
<Label text="%alist.version" styleClass="shield-name"/>
|
||||
<Label fx:id="alistVersion" styleClass="shield-version"/>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER" styleClass="shield">
|
||||
<Label text="%app.version" styleClass="shield-name"/>
|
||||
<Label text="${project.version}" styleClass="shield-version"/>
|
||||
</HBox>
|
||||
<Button text="%app.update"/>
|
||||
<Button text="%alist.update"/>
|
||||
</VBox>
|
||||
</AnchorPane>
|
||||
</GridPane>
|
||||
Reference in New Issue
Block a user