eros: about screen

This commit is contained in:
Bixilon 2021-12-18 01:08:51 +01:00
parent cf2eef8cd7
commit d12a69974a
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
8 changed files with 237 additions and 5 deletions

View File

@ -449,5 +449,10 @@
<artifactId>zstd-jni</artifactId> <artifactId>zstd-jni</artifactId>
<version>1.5.0-4</version> <version>1.5.0-4</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.afester.javafx</groupId>
<artifactId>FranzXaver</artifactId>
<version>0.1</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -14,6 +14,7 @@
package de.bixilon.minosoft.gui.eros.main package de.bixilon.minosoft.gui.eros.main
import de.bixilon.minosoft.data.registries.ResourceLocation import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.gui.eros.main.about.AboutController
import de.bixilon.minosoft.gui.eros.main.account.AccountController import de.bixilon.minosoft.gui.eros.main.account.AccountController
import de.bixilon.minosoft.gui.eros.main.play.PlayController import de.bixilon.minosoft.gui.eros.main.play.PlayController
import de.bixilon.minosoft.gui.eros.main.profiles.ProfilesController import de.bixilon.minosoft.gui.eros.main.profiles.ProfilesController
@ -27,7 +28,7 @@ enum class ErosMainActivities(
PLAY(PlayController.LAYOUT), PLAY(PlayController.LAYOUT),
PROFILES(ProfilesController.LAYOUT), PROFILES(ProfilesController.LAYOUT),
HELP("".toResourceLocation()), HELP("".toResourceLocation()),
ABOUT("".toResourceLocation()), ABOUT(AboutController.LAYOUT),
ACCOUNT(AccountController.LAYOUT), ACCOUNT(AccountController.LAYOUT),

View File

@ -106,8 +106,7 @@ class MainErosController : JavaFXWindowController() {
JavaFXUtil.HOST_SERVICES.showDocument("https://gitlab.bixilon.de/bixilon/minosoft/-/issues/") JavaFXUtil.HOST_SERVICES.showDocument("https://gitlab.bixilon.de/bixilon/minosoft/-/issues/")
} }
aboutIconFX.setOnMouseClicked { aboutIconFX.setOnMouseClicked {
// ToDo: activity = ErosMainActivities.ABOUT activity = ErosMainActivities.ABOUT
JavaFXUtil.HOST_SERVICES.showDocument("https://gitlab.bixilon.de/bixilon/minosoft/")
} }
exitIconFX.apply { exitIconFX.apply {
clickable() clickable()

View File

@ -0,0 +1,53 @@
/*
* Minosoft
* Copyright (C) 2021 Moritz Zwerger
*
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
*/
package de.bixilon.minosoft.gui.eros.main.about
import afester.javafx.svg.SvgLoader
import de.bixilon.minosoft.Minosoft
import de.bixilon.minosoft.gui.eros.controller.EmbeddedJavaFXController
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.text
import de.bixilon.minosoft.terminal.RunConfiguration
import de.bixilon.minosoft.util.KUtil.toResourceLocation
import javafx.fxml.FXML
import javafx.scene.control.TextArea
import javafx.scene.image.ImageView
import javafx.scene.layout.HBox
import javafx.scene.layout.Pane
import javafx.scene.text.TextFlow
class AboutController : EmbeddedJavaFXController<HBox>() {
@FXML private lateinit var minosoftLogoFX: ImageView
@FXML private lateinit var bixilonLogoFX: Pane
@FXML private lateinit var versionStringFX: TextFlow
@FXML private lateinit var aboutTextFX: TextFlow
@FXML private lateinit var copyrightFX: TextArea
override fun init() {
minosoftLogoFX.image = JavaFXUtil.MINOSOFT_LOGO
bixilonLogoFX.children.setAll(SvgLoader().loadSvg(Minosoft.MINOSOFT_ASSETS_MANAGER["minosoft:textures/icons/bixilon_logo.svg".toResourceLocation()]))
versionStringFX.text = RunConfiguration.VERSION_STRING
aboutTextFX.text = """
No clue what to put here :(
"""
}
companion object {
val LAYOUT = "minosoft:eros/main/about/about.fxml".toResourceLocation()
}
}

View File

@ -470,6 +470,7 @@ class GLFWWindow(
GLFW_MOUSE_BUTTON_RIGHT to KeyCodes.MOUSE_BUTTON_RIGHT, GLFW_MOUSE_BUTTON_RIGHT to KeyCodes.MOUSE_BUTTON_RIGHT,
GLFW_MOUSE_BUTTON_MIDDLE to KeyCodes.MOUSE_BUTTON_MIDDLE, GLFW_MOUSE_BUTTON_MIDDLE to KeyCodes.MOUSE_BUTTON_MIDDLE,
) )
val CursorModes.glfw: Int val CursorModes.glfw: Int
get() { get() {
return when (this) { return when (this) {

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.Text?>
<?import javafx.scene.text.TextFlow?>
<HBox xmlns:fx="http://javafx.com/fxml/1" fx:id="root" prefHeight="500.0" prefWidth="900.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" xmlns="http://javafx.com/javafx/17" fx:controller="de.bixilon.minosoft.gui.eros.main.about.AboutController">
<GridPane HBox.hgrow="ALWAYS">
<columnConstraints>
<ColumnConstraints hgrow="NEVER" minWidth="10.0"/>
<ColumnConstraints hgrow="ALWAYS" maxWidth="Infinity"/>
</columnConstraints>
<GridPane>
<columnConstraints>
<ColumnConstraints hgrow="NEVER"/>
</columnConstraints>
<rowConstraints>
<RowConstraints vgrow="NEVER"/>
<RowConstraints vgrow="NEVER"/>
<RowConstraints vgrow="ALWAYS"/>
</rowConstraints>
<ImageView fx:id="minosoftLogoFX" fitHeight="200.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0"/>
</GridPane.margin>
</ImageView>
<Pane fx:id="bixilonLogoFX" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0"/>
</GridPane.margin>
</Pane>
</GridPane>
<GridPane GridPane.columnIndex="1">
<columnConstraints>
<ColumnConstraints hgrow="ALWAYS" maxWidth="Infinity"/>
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="30.0" vgrow="NEVER"/>
<RowConstraints minHeight="30.0" vgrow="NEVER"/>
<RowConstraints minHeight="50.0" vgrow="ALWAYS"/>
</rowConstraints>
<TextFlow fx:id="versionStringFX" style="-fx-font-weight: bold; -fx-font-size: 50;" textAlignment="CENTER">
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</GridPane.margin>
<Text text="Minosoft 0.1-pre"/>
</TextFlow>
<TextFlow fx:id="aboutTextFX" textAlignment="CENTER" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</GridPane.margin>
<Text text="Version abc&#10;Other text&#10;"/>
</TextFlow>
<TextArea fx:id="copyrightFX" editable="false"
text="Minosoft&#10;Copyright (C) 2021 Moritz Zwerger and contributors&#10;&#10;This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.&#10;&#10;This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.&#10;&#10;You should have received a copy of the GNU General Public License along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;.&#10;&#10;This software is not affiliated with Mojang AB, the original developer of Minecraft."
wrapText="true" GridPane.rowIndex="2">
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</GridPane.margin>
</TextArea>
</GridPane>
<rowConstraints>
<RowConstraints vgrow="ALWAYS"/>
</rowConstraints>
</GridPane>
</HBox>

View File

@ -75,7 +75,7 @@ minosoft:modify_server.edit.update_button=Save server
minosoft:server_list.hide_offline=Hide offline minosoft:server_list.hide_offline=Hide offline
minosoft:server_list.hide_full=Hide full minosoft:server_list.hide_full=Hide full
minosoft:server_list.hide_empty=Hide empty minosoft:server_list.hide_empty=Hide empty
minosoft:server_list.add_server=Hide empty minosoft:server_list.add_server=Add server
minosoft:server_list.button.connect=Connect minosoft:server_list.button.connect=Connect
minosoft:server_list.button.edit=Edit minosoft:server_list.button.edit=Edit
minosoft:server_list.refresh.header=Refresh minosoft:server_list.refresh.header=Refresh
@ -86,7 +86,7 @@ minosoft:server_list.refresh.text2=information
minosoft:main.account.list.info.button.verify=Verify minosoft:main.account.list.info.button.verify=Verify
minosoft:main.account.list.info.button.use=Use minosoft:main.account.list.info.button.use=Use
minosoft:main.account.list.info.add=Add account minosoft:main.account.list.info.button.add=Add account
minosoft:main.account.no_account_selected=No account selected minosoft:main.account.no_account_selected=No account selected
minosoft:main.account.type.mojang=Mojang minosoft:main.account.type.mojang=Mojang
minosoft:main.account.type.microsoft=Microsoft minosoft:main.account.type.microsoft=Microsoft

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns="http://www.w3.org/2000/svg"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:export-filename="C:\Users\Simeon Weigel\Pictures\Inkskape\Bixilon Logo beta.png"
inkscape:export-xdpi="66.842232"
inkscape:export-ydpi="66.842232"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="Bixilon Logo.svg">
<defs
id="defs2"/>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.49497475"
inkscape:cx="347.58152"
inkscape:cy="330.78167"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"/>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-74.701271)">
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:2.70799971;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4518"
cx="150"
cy="124.70127"
r="50"/>
<circle
cy="124.70128"
cx="50"
id="circle4520"
style="fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:2.70800018;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
r="50"/>
<rect
style="fill:#0009ff;fill-opacity:1;stroke:none;stroke-width:2.70799994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4522"
width="30"
height="60"
x="85"
y="164.70128"
ry="5.0411592"/>
<g
id="g4530"
transform="matrix(1.0057283,0.17257229,-0.17008463,1.020438,49.14435,-21.505875)">
<rect
transform="matrix(0.95849028,0.28512521,-0.28315718,0.95907352,0,0)"
ry="5.0321536"
y="206.52092"
x="71.046646"
height="29.946407"
width="100.05277"
id="rect4524"
style="fill:#ffff00;fill-opacity:1;stroke:none;stroke-width:2.70629311;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<rect
style="fill:#ffff00;fill-opacity:1;stroke:none;stroke-width:2.70629311;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4526"
width="100.0537"
height="29.946131"
x="-19.874584"
y="-280.77682"
ry="5.0321069"
transform="matrix(-0.81465832,0.57994122,-0.57824673,-0.81586195,0,0)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB