Merge branch 'feature/design' into dev

This commit is contained in:
Gravit 2019-04-13 03:30:56 +07:00
commit 81ae4c35f0
No known key found for this signature in database
GPG key ID: 061981E1E85D3216
26 changed files with 378 additions and 348 deletions

View file

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXTextArea?>
<?import java.net.URL?>
<?import javafx.scene.layout.Pane?>
<!-- DrLeonardo Design -->
<Pane fx:id="layout" prefWidth="740.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Pane fx:id="consolePane" prefHeight="425.0" prefWidth="693.0" styleClass="consolePane">
<children>
<!-- Debug controls -->
<JFXTextArea fx:id="output" prefHeight="425.0" prefWidth="693.0" />
<JFXButton fx:id="copy" defaultButton="true" layoutX="465.0" layoutY="386.0" prefHeight="30.0" prefWidth="100.0" text="Копировать" />
<JFXButton fx:id="action" layoutX="579.0" layoutY="386.0" prefHeight="25.0" prefWidth="100.0" text="Убить" />
</children>
</Pane>
<Pane fx:id="bar" layoutX="693.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
<children>
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" text="" textAlignment="CENTER" />
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" text="" textAlignment="CENTER" />
<JFXButton id="back" fx:id="back" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" text="" textAlignment="CENTER" />
</children>
</Pane>
<Pane id="mask" opacity="0.0" prefHeight="425.0" prefWidth="694.0" visible="false" />
</children>
<stylesheets>
<URL value="@styles.css" />
</stylesheets>
</Pane>

View file

@ -1,4 +1,4 @@
var authPane, dimPane, serverPane, bar; var authPane, dimPane, serverPane, bar, optionsPane, consolePane;
var loginField, passwordField, savePasswordBox; var loginField, passwordField, savePasswordBox;
var serverList, serverInfo, serverDescription, serverEntrance, serverLabel, serverStatus; var serverList, serverInfo, serverDescription, serverEntrance, serverLabel, serverStatus;
var profilesList = []; var profilesList = [];
@ -10,17 +10,18 @@ function initLauncher() {
initLoginScene(); initLoginScene();
initMenuScene(); initMenuScene();
initConsoleScene(); initConsoleScene();
initOptionsScene();
/* ======== init Overlays ======== */
debug.initOverlay(); debug.initOverlay();
processing.initOverlay(); processing.initOverlay();
settingsOverlay.initOverlay(); settingsOverlay.initOverlay();
update.initOverlay(); update.initOverlay();
options.initOverlay();
verifyLauncher(); verifyLauncher();
} }
/* ======== init Login ======== */ /* ======== init Login window======== */
function initLoginScene() { function initLoginScene() {
loginPane.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())}); loginPane.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())});
loginPane.setOnMouseDragged(function(event) { loginPane.setOnMouseDragged(function(event) {
@ -65,7 +66,7 @@ function initLoginScene() {
pane.lookup("#goAuth").setOnAction(goAuth); pane.lookup("#goAuth").setOnAction(goAuth);
} }
/* ======== init Menu ======== */ /* ======== init Menu window======== */
function initMenuScene() { function initMenuScene() {
menuPane.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())}); menuPane.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())});
menuPane.setOnMouseDragged(function(event) { menuPane.setOnMouseDragged(function(event) {
@ -95,7 +96,6 @@ function initMenuScene() {
serverList = pane.lookup("#serverlist").getContent(); serverList = pane.lookup("#serverlist").getContent();
serverInfo = pane.lookup("#serverinfo").getContent(); serverInfo = pane.lookup("#serverinfo").getContent();
serverDescription = serverInfo.lookup("#serverDescription"); serverDescription = serverInfo.lookup("#serverDescription");
serverEntrance = pane.lookup("#serverentrance"); serverEntrance = pane.lookup("#serverentrance");
serverStatus = serverEntrance.lookup("#serverStatus"); serverStatus = serverEntrance.lookup("#serverStatus");
serverLabel = serverEntrance.lookup("#serverLabel"); serverLabel = serverEntrance.lookup("#serverLabel");
@ -105,10 +105,10 @@ function initMenuScene() {
} }
/* ======== init Console ======== */ /* ======== init Console window======== */
function initConsoleScene() { function initConsoleScene() {
consolePane.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())}); consoleMenu.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())});
consolePane.setOnMouseDragged(function(event) { consoleMenu.setOnMouseDragged(function(event) {
if(movePoint === null) { if(movePoint === null) {
return; return;
} }
@ -117,18 +117,38 @@ function initConsoleScene() {
stage.setY(event.getScreenY() - movePoint.getY()); stage.setY(event.getScreenY() - movePoint.getY());
}); });
var pane = consolePane.lookup("#bar"); var pane = consoleMenu.lookup("#bar");
bar = pane; bar = pane;
consolePane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()}); pane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()});
consolePane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)}); pane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
consolePane.lookup("#back").setOnAction(function(){ pane.lookup("#back").setOnAction(function(){
setCurrentScene(menuScene); setCurrentScene(menuScene);
}); });
var pane = consolePane.lookup("#consolePane"); var pane = consoleMenu.lookup("#consolePane");
consolePane = pane; consolePane = pane;
}
/* ======== init Options window======== */
function initOptionsScene() {
optionsMenu.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())});
optionsMenu.setOnMouseDragged(function(event) {
if(movePoint === null) {
return;
}
stage.setX(event.getScreenX() - movePoint.getX());
stage.setY(event.getScreenY() - movePoint.getY());
});
var pane = optionsMenu.lookup("#bar");
bar = pane;
pane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()});
pane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
pane.lookup("#back").setOnAction(function(){
setCurrentScene(menuScene);
});
} }
/* ======== init Offline ======== */ /* ======== init Offline ======== */
@ -176,32 +196,23 @@ function goAuth(event) {
/* ======== Console ======== */ /* ======== Console ======== */
function goConsole(event) { function goConsole(event) {
if (overlay.current !== null) { setCurrentScene(consoleScene);
return;
}
} }
/* ======== Settings ======== */ /* ======== Settings ======== */
function goSettings(event) { function goSettings(event) {
// Verify there's no other overlays
if (overlay.current !== null) { if (overlay.current !== null) {
return; return;
} }
// Show settings overlay
overlay.show(settingsOverlay.overlay, null); overlay.show(settingsOverlay.overlay, null);
} }
/* ======== Options ======== */ /* ======== Options ======== */
function goOptions(event) { function goOptions(event) {
// Verify there's no other overlays setCurrentScene(optionsScene);
if (overlay.current !== null) {
return;
}
// Show options overlay
options.update(); options.update();
overlay.show(options.overlay, null);
} }
/* ======== Processing functions ======== */ /* ======== Processing functions ======== */
@ -210,13 +221,11 @@ function verifyLauncher(e) {
overlay.show(processing.overlay, function(event) makeLauncherRequest(function(result) { overlay.show(processing.overlay, function(event) makeLauncherRequest(function(result) {
settings.lastDigest = result.digest; settings.lastDigest = result.digest;
processing.resetOverlay(); processing.resetOverlay();
// Init offline if set
if (settings.offline) { if (settings.offline) {
initOffline(); initOffline();
} }
overlay.swap(0, processing.overlay, function(event) makeProfilesRequest(function(result) { overlay.swap(0, processing.overlay, function(event) makeProfilesRequest(function(result) {
settings.lastProfiles = result.profiles; settings.lastProfiles = result.profiles;
// Update profiles list and hide overlay
updateProfilesList(result.profiles); updateProfilesList(result.profiles);
options.load(); options.load();
overlay.hide(0, function() { overlay.hide(0, function() {
@ -245,7 +254,7 @@ function doAuth(login, rsaPassword) {
} }
function doUpdate(profile, pp, accessToken) { function doUpdate(profile, pp, accessToken) {
var digest = profile.isUpdateFastCheck(); var digest = profile.isUpdateFastCheck();
overlay.swap(0, update.overlay, function(event) { overlay.swap(0, update.overlay, function(event) {
update.resetOverlay("Обновление файлов ресурсов"); update.resetOverlay("Обновление файлов ресурсов");
@ -275,7 +284,7 @@ function doLaunchClient(assetDir, assetHDir, clientDir, clientHDir, profile, pp,
overlay.swap(0, processing.overlay, function(event) overlay.swap(0, processing.overlay, function(event)
launchClient(assetHDir, clientHDir, profile, new ClientLauncherParams(settings.lastDigest, launchClient(assetHDir, clientHDir, profile, new ClientLauncherParams(settings.lastDigest,
assetDir, clientDir, pp, accessToken, settings.autoEnter, settings.fullScreen, settings.ram, 0, 0), doDebugClient) assetDir, clientDir, pp, accessToken, settings.autoEnter, settings.fullScreen, settings.ram, 0, 0), doDebugClient)
); );
} }
function doDebugClient(process) { function doDebugClient(process) {
@ -433,9 +442,11 @@ var serverHolder = {
} }
}; };
/* ======== Overlay scripts ======== */ /* ======== Scenes scripts ======== */
launcher.loadScript("dialog/overlay/debug/debug.js"); launcher.loadScript("dialog/overlay/debug/debug.js");
launcher.loadScript("dialog/overlay/processing/processing.js"); launcher.loadScript("dialog/overlay/processing/processing.js");
launcher.loadScript("dialog/overlay/settings/settings.js"); launcher.loadScript("dialog/overlay/settings/settings.js");
launcher.loadScript("dialog/overlay/options/options.js");
launcher.loadScript("dialog/overlay/update/update.js"); launcher.loadScript("dialog/overlay/update/update.js");
/* ======== Overlays scripts ======== */
launcher.loadScript("dialog/scenes/options/options.js");

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

View file

@ -3,6 +3,7 @@
<?import com.jfoenix.controls.JFXButton?> <?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXTextArea?> <?import com.jfoenix.controls.JFXTextArea?>
<?import java.net.URL?> <?import java.net.URL?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<!-- DrLeonardo Design --> <!-- DrLeonardo Design -->
@ -14,7 +15,10 @@
</stylesheets> </stylesheets>
<!-- Debug controls --> <!-- Debug controls -->
<JFXTextArea fx:id="output" prefHeight="425.0" prefWidth="693.0" /> <JFXTextArea fx:id="output" prefHeight="425.0" prefWidth="693.0">
<JFXButton fx:id="copy" defaultButton="true" layoutX="423.0" layoutY="390.0" prefHeight="30.0" prefWidth="100.0" text="Копировать" /> <padding>
<JFXButton fx:id="action" layoutX="583.0" layoutY="390.0" prefHeight="25.0" prefWidth="100.0" text="Убить" /> <Insets left="10.0" right="10.0" />
</padding></JFXTextArea>
<JFXButton fx:id="copy" defaultButton="true" layoutX="373.0" layoutY="390.0" prefHeight="30.0" prefWidth="100.0" text="Копировать" />
<JFXButton fx:id="action" layoutX="533.0" layoutY="390.0" prefHeight="25.0" prefWidth="150.0" text="Убить" />
</Pane> </Pane>

View file

@ -1,43 +0,0 @@
/*-- DrLeonardo Design --*/
#holder {
-fx-background-color: #fff;
}
/* Labels */
#holder > #settingsTitle {
-fx-font-size: 14pt;
-fx-alignment: baseline-center;
}
#holder > #apply{
-fx-background-color: #61B373;
-fx-background-radius: 0;
-fx-text-fill: white;
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-pref-width: 150px;
-fx-pref-height: 25px;
}
#holder > #apply:hover,
#holder > #apply:focused{
-fx-background-color: #74C085;
}
#holder > #modlist {
-fx-background-color: transparent;
}
#holder > #modlist > .viewport {
-fx-background-color: transparent;
}
.description-text {
-fx-font-smoothing-type: lcd;
-fx-fill: #8c8c8c;
-fx-font-size: 12px;
}
.separator *.line {
-fx-border-color: transparent;
-fx-border-width: 0 0 10 0;
}
/*-- DrLeonardo Design --*/

View file

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXScrollPane?>
<?import java.net.URL?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<!-- DrLeonardo Design -->
<Pane fx:id="overlay" prefHeight="425.0" prefWidth="693.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Pane id="holder" prefHeight="425.0" prefWidth="693.0">
<children>
<JFXScrollPane id="modlist" prefHeight="425.0" prefWidth="694.0">
<content>
<VBox prefHeight="232.0" prefWidth="689.0">
<children>
</children>
<padding>
<Insets left="10.0" top="8.0" />
</padding>
</VBox>
</content>
</JFXScrollPane>
<JFXButton fx:id="apply" defaultButton="true" layoutX="532.0" layoutY="390.0" prefHeight="25.0" prefWidth="100.0" text="Применить" />
</children>
</Pane>
</children>
<stylesheets>
<URL value="@options.css" />
<URL value="@../../styles.css" />
</stylesheets>
</Pane>

View file

@ -7,7 +7,7 @@
<!-- DrLeonardo Design | Fixes by Yaroslavik --> <!-- DrLeonardo Design | Fixes by Yaroslavik -->
<Pane fx:id="overlay" prefHeight="425.0" prefWidth="693.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1"> <Pane fx:id="overlay" prefHeight="425.0" prefWidth="692.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
<children> <children>
<!-- Description --> <!-- Description -->
<Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="205.0" layoutY="272.0" prefHeight="120.0" prefWidth="283.0" text="..." textAlignment="CENTER" /> <Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="205.0" layoutY="272.0" prefHeight="120.0" prefWidth="283.0" text="..." textAlignment="CENTER" />

View file

@ -5,17 +5,14 @@ var processing = {
initOverlay: function() { initOverlay: function() {
processing.overlay = loadFXML("dialog/overlay/processing/processing.fxml"); processing.overlay = loadFXML("dialog/overlay/processing/processing.fxml");
// Lookup nodes
processing.spinner = processing.overlay.lookup("#spinner"); processing.spinner = processing.overlay.lookup("#spinner");
processing.description = processing.overlay.lookup("#description"); processing.description = processing.overlay.lookup("#description");
// Set images
processing.errorImage = new javafx.scene.image.Image( processing.errorImage = new javafx.scene.image.Image(
Launcher.getResourceURL("dialog/images/icons/error.png").toString()); Launcher.getResourceURL("dialog/images/icons/error.png").toString());
}, },
resetOverlay: function() {//JFXSpinner spinner = new JFXSpinner(); resetOverlay: function() {
//processing.spinner.setImage(processing.processingImage);
processing.description.getStyleClass().remove("error"); processing.description.getStyleClass().remove("error");
processing.description.setText("..."); processing.description.setText("...");
}, },

View file

@ -7,6 +7,7 @@
<?import javafx.scene.control.Hyperlink?> <?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Separator?> <?import javafx.scene.control.Separator?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?> <?import javafx.scene.text.Text?>
<?import javafx.scene.text.TextFlow?> <?import javafx.scene.text.TextFlow?>
@ -17,33 +18,23 @@
<children> <children>
<Pane id="holder" prefHeight="425.0" prefWidth="694.0"> <Pane id="holder" prefHeight="425.0" prefWidth="694.0">
<children> <children>
<JFXCheckBox fx:id="autoEnter" checkedColor="#61b373" layoutX="14.0" layoutY="127.0" text="Автовход на сервер" unCheckedColor="#909090" /> <JFXCheckBox fx:id="autoEnter" checkedColor="#61b373" layoutX="14.0" layoutY="134.0" text="Автовход на сервер" unCheckedColor="#909090" />
<Text fill="#8c8c8c" layoutX="38.0" layoutY="143.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="636.9999872148037" y="15.0" /> <Text fill="#8c8c8c" layoutX="38.0" layoutY="150.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="636.9999872148037" y="15.0" />
<JFXCheckBox fx:id="fullScreen" checkedColor="#61b373" layoutX="13.0" layoutY="250.0" text="Клиент в полный экран" unCheckedColor="#909090" /> <JFXCheckBox fx:id="fullScreen" checkedColor="#61b373" layoutX="13.0" layoutY="257.0" text="Клиент в полный экран" unCheckedColor="#909090" />
<Text fill="#8c8c8c" layoutX="38.0" layoutY="267.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение данной функции позволяет запустить игру сразу в полноэкранном режиме" wrappingWidth="636.9999872148037" y="15.0" /> <Text fill="#8c8c8c" layoutX="38.0" layoutY="274.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение данной функции позволяет запустить игру сразу в полноэкранном режиме" wrappingWidth="636.9999872148037" y="15.0" />
<JFXCheckBox id="debug" checkedColor="#61b373" layoutX="13.0" layoutY="183.0" text="Режим Отладки" unCheckedColor="#909090" /> <JFXCheckBox id="debug" checkedColor="#61b373" layoutX="13.0" layoutY="190.0" text="Режим Отладки" unCheckedColor="#909090" />
<Text fill="#8c8c8c" layoutX="38.0" layoutY="198.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Режим отладки позволяет просмотреть лог запуска и работы программы в реальном времени прямо из лаунчера, что упрощает поиск нужной информации" wrappingWidth="637.0000016447157" y="15.0" /> <Text fill="#8c8c8c" layoutX="38.0" layoutY="205.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Режим отладки позволяет просмотреть лог запуска и работы программы в реальном времени прямо из лаунчера, что упрощает поиск нужной информации" wrappingWidth="637.0000016447157" y="15.0" />
<!-- RAM settings -->
<TextFlow layoutX="126.0" layoutY="15.0" prefHeight="16.0" prefWidth="112.0"> <TextFlow layoutX="126.0" layoutY="15.0" prefHeight="16.0" prefWidth="112.0">
<Text fx:id="ramLabel" /> <Text fx:id="ramLabel" />
</TextFlow> </TextFlow>
<Separator layoutY="112.0" prefHeight="3.0" prefWidth="693.0" /> <Line endX="589.0" layoutX="100.0" layoutY="115.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
<!-- RAM settings --> <JFXButton fx:id="deleteDir" layoutX="374.0" layoutY="356.0" prefHeight="25.0" prefWidth="245.0" text="Удалить клиенты" textAlignment="CENTER" wrapText="true" />
<!-- Deldir settings -->
<JFXButton fx:id="deleteDir" layoutX="374.0" layoutY="365.0" prefHeight="25.0" prefWidth="245.0" text="Удалить клиенты" textAlignment="CENTER" wrapText="true" />
<!-- Deldir settings -->
<!-- Changedir settings -->
<JFXButton fx:id="changeDir" layoutY="400.0" prefHeight="25.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" /> <JFXButton fx:id="changeDir" layoutY="400.0" prefHeight="25.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" />
<Hyperlink id="dirLabel" alignment="TOP_LEFT" layoutX="200.0" layoutY="401.0" prefHeight="23.0" prefWidth="493.0" text="C:/Users" /> <Hyperlink id="dirLabel" alignment="TOP_LEFT" layoutX="200.0" layoutY="401.0" prefHeight="23.0" prefWidth="493.0" text="C:/Users" />
<!-- Changedir settings --> <JFXButton fx:id="apply" defaultButton="true" layoutX="534.0" layoutY="356.0" prefHeight="23.0" prefWidth="100.0" text="Применить" />
<JFXButton fx:id="apply" defaultButton="true" layoutX="534.0" layoutY="365.0" prefHeight="23.0" prefWidth="100.0" text="Применить" />
<Text layoutX="16.0" layoutY="28.0">Выделение памяти: </Text> <Text layoutX="16.0" layoutY="28.0">Выделение памяти: </Text>
<JFXSlider fx:id="ramSlider" layoutX="14.0" layoutY="76.0" prefHeight="14.0" prefWidth="663.0" /> <JFXSlider fx:id="ramSlider" layoutX="14.0" layoutY="76.0" prefHeight="14.0" prefWidth="663.0" />
<Separator layoutY="400.0" prefHeight="3.0" prefWidth="693.0" /> <Separator layoutY="400.0" prefHeight="3.0" prefWidth="694.0" />
<Pane fx:id="transferDialog" prefHeight="425.0" prefWidth="694.0" visible="false"> <Pane fx:id="transferDialog" prefHeight="425.0" prefWidth="694.0" visible="false">
<children> <children>
<Text fill="WHITE" layoutX="147.0" layoutY="198.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Перенести все данные в новую директорию?" wrappingWidth="400.13671875"> <Text fill="WHITE" layoutX="147.0" layoutY="198.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Перенести все данные в новую директорию?" wrappingWidth="400.13671875">
@ -55,7 +46,7 @@
<JFXButton fx:id="cancelTransfer" layoutX="379.0" layoutY="226.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Нет, не нужно." /> <JFXButton fx:id="cancelTransfer" layoutX="379.0" layoutY="226.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Нет, не нужно." />
</children> </children>
</Pane> </Pane>
<Line endX="585.0" layoutX="104.0" layoutY="396.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
</children> </children>
</Pane> </Pane>
</children> </children>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView?>
<?import java.net.URL?>
<?import javafx.scene.layout.Pane?>
<!-- DrLeonardo Design -->
<Pane fx:id="background" prefWidth="738.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Pane fx:id="bar" layoutX="692.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
<children>
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="MINUS" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" ripplerFill="#fb8c8c" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="back" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CHEVRON_LEFT" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
</children>
</Pane>
<Pane id="mask" opacity="0.0" prefHeight="425.0" prefWidth="694.0" visible="false" />
</children>
<stylesheets>
<URL value="@../../styles.css" />
</stylesheets>
</Pane>

View file

@ -6,6 +6,7 @@
<?import com.jfoenix.controls.JFXMasonryPane?> <?import com.jfoenix.controls.JFXMasonryPane?>
<?import com.jfoenix.controls.JFXPasswordField?> <?import com.jfoenix.controls.JFXPasswordField?>
<?import com.jfoenix.controls.JFXTextField?> <?import com.jfoenix.controls.JFXTextField?>
<?import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView?>
<?import java.net.URL?> <?import java.net.URL?>
<?import javafx.scene.control.Hyperlink?> <?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
@ -27,16 +28,28 @@
</children> </children>
</Pane> </Pane>
<JFXMasonryPane fx:id="news" prefHeight="425.0" prefWidth="423.0" styleClass="news" /> <JFXMasonryPane fx:id="news" prefHeight="425.0" prefWidth="423.0" styleClass="news" />
<Pane fx:id="bar" layoutX="693.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar"> <Pane fx:id="bar" layoutX="692.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
<children> <children>
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" text="" textAlignment="CENTER" /> <JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" text="" textAlignment="CENTER" /> <graphic>
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" text="" textAlignment="CENTER" /> <MaterialDesignIconView fill="WHITE" glyphName="MINUS" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" ripplerFill="#fb8c8c" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="MESSAGE_TEXT" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
</children> </children>
</Pane> </Pane>
<Pane id="mask" opacity="0.0" prefHeight="425.0" prefWidth="694.0" visible="false" /> <Pane id="mask" opacity="0.0" prefHeight="425.0" prefWidth="694.0" visible="false" />
</children> </children>
<stylesheets> <stylesheets>
<URL value="@styles.css" /> <URL value="@../../styles.css" />
</stylesheets> </stylesheets>
</Pane> </Pane>

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?> <?import com.jfoenix.controls.JFXButton?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView?>
<?import java.net.URL?> <?import java.net.URL?>
<?import javafx.geometry.Insets?> <?import javafx.geometry.Insets?>
<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
@ -18,7 +20,7 @@
<ScrollPane id="serverlist" hbarPolicy="NEVER" layoutX="1.0" prefHeight="425.0" prefWidth="307.0" visible="true"> <ScrollPane id="serverlist" hbarPolicy="NEVER" layoutX="1.0" prefHeight="425.0" prefWidth="307.0" visible="true">
<content> <content>
<FlowPane focusTraversable="false" prefHeight="421.0" prefWidth="306.0" prefWrapLength="0.0" rowValignment="TOP" vgap="10.0" visible="true"> <FlowPane focusTraversable="false" prefHeight="421.0" prefWidth="306.0" prefWrapLength="0.0" rowValignment="TOP" vgap="10.0" visible="true">
<JFXButton id="servercontainer" text="Button"> <JFXButton id="servercontainer" ripplerFill="#ffffff80" text="">
<FlowPane.margin> <FlowPane.margin>
<Insets bottom="10.0" /> <Insets bottom="10.0" />
</FlowPane.margin></JFXButton> </FlowPane.margin></JFXButton>
@ -47,13 +49,16 @@
<Font size="22.0" /> <Font size="22.0" />
</font> </font>
</JFXButton> </JFXButton>
<JFXButton id="clientSettings" alignment="CENTER" centerShape="false" contentDisplay="CENTER" layoutX="281.0" layoutY="355.0" styleClass="clientSettings" text="" textAlignment="CENTER" /> <JFXButton id="clientSettings" alignment="CENTER" centerShape="false" contentDisplay="CENTER" layoutX="281.0" layoutY="355.0" ripplerFill="#84da96" styleClass="clientSettings" text="" textAlignment="CENTER">
<graphic>
<FontAwesomeIconView fill="WHITE" glyphName="SLIDERS" size="30.0" />
</graphic></JFXButton>
<Label id="serverStatus" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="246.0" layoutY="12.0" prefHeight="25.0" prefWidth="104.0" text="12/100" textAlignment="RIGHT" textFill="WHITE"> <Label id="serverStatus" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="246.0" layoutY="12.0" prefHeight="25.0" prefWidth="104.0" text="12/100" textAlignment="RIGHT" textFill="WHITE">
<font> <font>
<Font name="System Bold" size="16.0" /> <Font name="System Bold" size="16.0" />
</font> </font>
</Label> </Label>
<Label id="serverLabel" layoutX="4.0" layoutY="11.0" prefHeight="31.0" prefWidth="265.0" text="СЕРВЕР IFARM"> <Label id="serverLabel" layoutX="4.0" layoutY="11.0" prefHeight="31.0" prefWidth="265.0" text="СЕРВЕР">
<font> <font>
<Font name="System Bold" size="18.0" /> <Font name="System Bold" size="18.0" />
</font> </font>
@ -65,19 +70,44 @@
</Pane> </Pane>
</children> </children>
</Pane> </Pane>
<Pane fx:id="bar" layoutX="693.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar"> <Pane fx:id="bar" layoutX="692.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
<children> <children>
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" text="" textAlignment="CENTER" /> <JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" styleClass="close" text="" textAlignment="CENTER" /> <graphic>
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" text="" textAlignment="CENTER" /> <MaterialDesignIconView fill="WHITE" glyphName="MINUS" size="30" textAlignment="CENTER" />
<JFXButton id="settings" alignment="CENTER" contentDisplay="CENTER" layoutY="92.0" text="" textAlignment="CENTER" /> </graphic>
<JFXButton id="goConsole" fx:id="console" alignment="CENTER" contentDisplay="CENTER" layoutY="138.0" text="" textAlignment="CENTER" /> </JFXButton>
<JFXButton id="logout" alignment="CENTER" contentDisplay="CENTER" layoutY="334.0" text="" /> <JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" ripplerFill="#fb8c8c" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="MESSAGE_TEXT" size="30" smooth="false" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="settings" alignment="CENTER" contentDisplay="CENTER" layoutY="90.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="SETTINGS" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="goConsole" alignment="CENTER" contentDisplay="CENTER" layoutY="138.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CONSOLE" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="logout" alignment="CENTER" contentDisplay="CENTER" layoutY="332.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="LOGOUT" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
</children> </children>
</Pane> </Pane>
<Pane id="mask" opacity="0.0" prefHeight="425.0" prefWidth="694.0" visible="false" /> <Pane id="mask" opacity="0.0" prefHeight="425.0" prefWidth="694.0" visible="false" />
</children> </children>
<stylesheets> <stylesheets>
<URL value="@styles.css" /> <URL value="@../../styles.css" />
<URL value="@../../servers.css" />
</stylesheets> </stylesheets>
</Pane> </Pane>

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXToggleButton?>
<?import de.jensd.fx.glyphs.materialdesignicons.MaterialDesignIconView?>
<?import java.net.URL?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Line?>
<!-- DrLeonardo Design -->
<Pane fx:id="background" prefHeight="425.0" prefWidth="738.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Pane id="optionsPane" prefHeight="425.0" prefWidth="693.0" styleClass="optionsPane">
<children>
<JFXToggleButton layoutX="10.0" layoutY="10.0" styleClass="pressetLight" text="Presset 1" />
<JFXToggleButton layoutX="267.0" layoutY="10.0" styleClass="pressetMedium" text="Presset 2" />
<JFXToggleButton layoutX="549.0" layoutY="10.0" prefHeight="58.0" prefWidth="134.0" styleClass="pressetHigh" text="Presset 3" wrapText="true" />
<Line endX="595.0" layoutX="100.0" layoutY="80.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
<ScrollPane id="modlist" layoutY="84.0" prefHeight="341.0" prefWidth="693.0">
<content>
<VBox prefHeight="339.0" prefWidth="678.0">
<children>
</children>
<padding>
<Insets left="10.0" top="8.0" />
</padding>
</VBox>
</content>
</ScrollPane>
</children>
</Pane>
<Pane fx:id="bar" layoutX="692.0" prefHeight="425.0" prefWidth="43.0" styleClass="bar">
<children>
<JFXButton id="hide" alignment="CENTER" contentDisplay="CENTER" layoutY="45.0" ripplerFill="#646464" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="MINUS" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" ripplerFill="#fb8c8c" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CLOSE" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
<JFXButton id="back" alignment="CENTER" contentDisplay="CENTER" layoutY="379.0" ripplerFill="#61b373" text="" textAlignment="CENTER">
<graphic>
<MaterialDesignIconView fill="WHITE" glyphName="CHEVRON_LEFT" size="30" textAlignment="CENTER" />
</graphic>
</JFXButton>
</children>
</Pane>
</children>
<stylesheets>
<URL value="@../../styles.css" />
</stylesheets>
</Pane>

View file

@ -73,24 +73,21 @@ var options = {
}); });
}, },
/* ===================== OVERLAY ===================== */
count: 0, count: 0,
initOverlay: function() {
options.overlay = loadFXML("dialog/overlay/options/options.fxml");
var holder = options.overlay.lookup("#holder");
holder.lookup("#apply").setOnAction(function(event) overlay.hide(0, null));
},
update: function() { update: function() {
var holder = options.overlay.lookup("#modlist").getContent(); var pane = optionsMenu.lookup("#optionsPane");
optionsPane = pane;
var modlist = pane.lookup("#modlist").getContent();
var nodelist = new java.util.ArrayList; var nodelist = new java.util.ArrayList;
holder.getChildren().forEach(function(node,i,arr) { modlist.getChildren().forEach(function(node,i,arr) {
if(node instanceof com.jfoenix.controls.JFXCheckBox) if(node instanceof com.jfoenix.controls.JFXCheckBox)
nodelist.add(node); nodelist.add(node);
}); });
nodelist.forEach(function(node,i,arr) { nodelist.forEach(function(node,i,arr) {
holder.getChildren().remove(node); modlist.getChildren().remove(node);
}); });
var profile = profilesList[serverHolder.old]; var profile = profilesList[serverHolder.old];
var list = profile.getOptional(); var list = profile.getOptional();
@ -108,14 +105,14 @@ var options = {
LogHelper.debug("optionalMod %s permissions deny",modFile.name); LogHelper.debug("optionalMod %s permissions deny",modFile.name);
return; return;
} }
if(modFile.info != null) //Есть ли описание? if(modFile.info != null)
modDescription = modFile.info; modDescription = modFile.info;
if(modFile.subTreeLevel != null && modFile.subTreeLevel > 1)//Это суб-модификация? if(modFile.subTreeLevel != null && modFile.subTreeLevel > 1)
subLevel = modFile.subTreeLevel; subLevel = modFile.subTreeLevel;
var testMod = new com.jfoenix.controls.JFXCheckBox(modName); var testMod = new com.jfoenix.controls.JFXCheckBox(modName);
if(subLevel > 1) if(subLevel > 1)
for(var i = 1; i < subLevel; i++)//Выделение субмодификаций сдвигом. for(var i = 1; i < subLevel; i++)
testMod.setTranslateX(25*i); testMod.setTranslateX(25*i);
testMod.setSelected(modFile.mark); testMod.setSelected(modFile.mark);
@ -134,15 +131,15 @@ var options = {
options.update(); options.update();
}); });
checkBoxList.add(testMod); checkBoxList.add(testMod);
if(modDescription != "") { //Добавляем описание? if(modDescription != "") {
textDescr = new javafx.scene.text.Text(modDescription); textDescr = new javafx.scene.text.Text(modDescription);
if(subLevel > 1) { if(subLevel > 1) {
for(var i = 1; i < subLevel; i++){ for(var i = 1; i < subLevel; i++){
textDescr.setWrappingWidth(640-(25*i)); textDescr.setWrappingWidth(630-(25*i));
textDescr.setTranslateX(25+(25*i)); textDescr.setTranslateX(25+(25*i));
} }
} else { } else {
textDescr.setWrappingWidth(640); textDescr.setWrappingWidth(630);
textDescr.setTranslateX(25); textDescr.setTranslateX(25);
} }
textDescr.setTextAlignment(javafx.scene.text.TextAlignment.JUSTIFY); textDescr.setTextAlignment(javafx.scene.text.TextAlignment.JUSTIFY);
@ -153,7 +150,7 @@ var options = {
sep.getStyleClass().add("separator"); sep.getStyleClass().add("separator");
checkBoxList.add(sep); checkBoxList.add(sep);
}); });
holder.getChildren().clear(); modlist.getChildren().clear();
holder.getChildren().addAll(checkBoxList); modlist.getChildren().addAll(checkBoxList);
} }
}; };

View file

@ -0,0 +1,32 @@
/*-- DrLeonardo Design --*/
/* Server buttons */
.server-button {
-jfx-button-type: FLAT;
-fx-font-weight: bold;
-fx-font-size: 16pt;
-fx-background-color: transparent;
-fx-background-size: cover;
-fx-background-radius: 0;
-fx-alignment: CENTER-LEFT;
-fx-padding: 0 0 0 75;
-fx-font-family: "Segoe UI";
-fx-text-fill: #323232;
-fx-pref-width: 282px;
-fx-pref-height: 75px;
}
.server-button:selected {
-fx-border-width: 0 0 0 2;
-fx-border-style: none none none solid;
-fx-border-color: #323232;
}
/** server-button-<your profile name> **/
.server-button-Example {
-fx-background-image: url('images/servers/example.png');
}
/*-- DrLeonardo Design --*/

View file

@ -3,7 +3,7 @@ Button, CheckBox, ComboBox, RadioButton {
-fx-cursor: hand; -fx-cursor: hand;
} }
/* Background */ /* Backgrounds */
#layout { #layout {
-fx-background-color: transparent; -fx-background-color: transparent;
-fx-background-size: cover; -fx-background-size: cover;
@ -11,11 +11,32 @@ #layout {
-fx-pref-height: 425px; -fx-pref-height: 425px;
-fx-background-image: url('images/background.jpg'); -fx-background-image: url('images/background.jpg');
} }
#background {
-fx-background-color: #fff;
}
/** Labels **/
#background > #settingsTitle {
-fx-font-size: 14pt;
-fx-alignment: baseline-center;
}
#serverLabel{
-fx-text-fill: #323232;
-fx-padding: 0 0 0 14;
-fx-pref-width: 265px;
-fx-pref-height: 25px;
}
#serverStatus{
-fx-text-fill: #323232;
-fx-pref-width: 120px;
-fx-pref-height: 25px;
}
/* Mask */ /* Mask */
#mask { #mask {
-fx-background-color: rgba(0, 0, 0, 0.5); -fx-background-color: rgba(0, 0, 0, 0.5);
-fx-pref-width: 693px; -fx-pref-width: 692px;
-fx-pref-height: 425px; -fx-pref-height: 425px;
} }
@ -33,82 +54,25 @@ .error{
/* bars */ /* bars */
#bar { #bar {
-fx-background-color: #323232; -fx-background-color: #323232;
-fx-pref-width: 45px; -fx-pref-width: 46px;
-fx-pref-height: 425px; -fx-pref-height: 425px;
} }
/** buttons in bar **/ /** buttons in bar **/
#close { #close {
-fx-background-position: center; -fx-background-position: center;
-jfx-button-type: FLAT; -jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-image: url('images/icons/close.png');
-fx-background-radius: 0; -fx-background-radius: 0;
-fx-background-color: #CE5757; -fx-background-color: #CE5757;
-fx-pref-width: 45px; -fx-pref-width: 46px;
-fx-pref-height: 45px; -fx-pref-height: 45px;
} }
#hide { #hide, #back, #goConsole, #settings, #logout, #discord {
-fx-background-position: center; -fx-background-position: center;
-jfx-button-type: FLAT; -jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #323232;
-fx-background-radius: 0; -fx-background-radius: 0;
-fx-background-image: url('images/icons/hide.png'); -fx-pref-width: 46px;
-fx-pref-width: 45px;
-fx-pref-height: 45px; -fx-pref-height: 45px;
} }
#back {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/back.png');
-fx-pref-width: 45px;
-fx-pref-height: 45px;
}
#goConsole {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/console.png');
-fx-pref-width: 45px;
-fx-pref-height: 45px;
}
#settings {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/settings.png');
-fx-pref-width: 45px;
-fx-pref-height: 45px;
}
#logout {
-fx-background-position: center;
-fx--button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/exit.png');
-fx-pref-width: 45px;
-fx-pref-height: 45px;
}
#discord {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/discord.png');
-fx-pref-width: 45px;
-fx-pref-height: 45px;
}
#close:hover, #close:pressed { -fx-background-color: #DB5252; }
#hide:hover, #hide:pressed, #discord:hover, #discord:pressed, #settings:hover, #settings:pressed, #logout:hover, #logout:pressed { -fx-background-color: #3d3d3d; }
/* LoginMenu */ /* LoginMenu */
#authPane { #authPane {
@ -190,7 +154,7 @@ #news {
/* MenuPane */ /* MenuPane */
.serverentrance { .serverentrance {
-fx-background-color: rgba(255, 255, 255, 0.71); -fx-background-color: rgba(255, 255, 255, 0.71);
-fx-pref-width: 387px; -fx-pref-width: 386px;
-fx-pref-height: 425px; -fx-pref-height: 425px;
} }
@ -208,16 +172,41 @@ .clientLaunch{
.clientSettings{ .clientSettings{
-fx-background-position: center; -fx-background-position: center;
-jfx-button-type: FLAT; -jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #61B373; -fx-background-color: #61B373;
-fx-background-radius: 0; -fx-background-radius: 0;
-fx-pref-width: 85px; -fx-pref-width: 85px;
-fx-pref-height: 51px; -fx-pref-height: 51px;
-fx-background-image: url('images/icons/options.png');
} }
.clientLaunch:hover, .clientLaunch:pressed, .clientSettings:hover, .clientSettings:pressed { -fx-background-color: #74C085; } .clientLaunch:hover, .clientLaunch:pressed { -fx-background-color: #74C085; }
/* Pressets options */
.pressetLight {
-jfx-toggle-color: #61B373;
-jfx-untoggle-color: #FAFAFA;
-jfx-toggle-line-color: rgba(116, 192, 133, 0.79);
-jfx-untoggle-line-color: #999999;
-jfx-size: 10.0;
-jfx-disable-visual-focus: false;
}
.pressetMedium {
-jfx-toggle-color: #61B373;
-jfx-untoggle-color: #FAFAFA;
-jfx-toggle-line-color: rgba(116, 192, 133, 0.79);
-jfx-untoggle-line-color: #999999;
-jfx-size: 10.0;
-jfx-disable-visual-focus: false;
}
.pressetHigh {
-jfx-toggle-color: #61B373;
-jfx-untoggle-color: #FAFAFA;
-jfx-toggle-line-color: rgba(116, 192, 133, 0.79);
-jfx-untoggle-line-color: #999999;
-jfx-size: 10.0;
-jfx-disable-visual-focus: false;
}
/* Scrolls */ /* Scrolls */
.scroll-pane { .scroll-pane {
@ -254,56 +243,33 @@ .scroll-bar {
} }
.scroll-pane>.corner { .scroll-pane>.corner {
-fx-background-color: black; -fx-background-color: rgba(0, 0, 0, 0.19);
} }
/* Server buttons */ /* OptionsPane */
.server-button { #optionsPane > #modlist {
-jfx-button-type: FLAT; -fx-background-color: transparent;
-fx-font-weight: bold;
-fx-font-size: 16pt;
-fx-background-radius: 0;
-fx-alignment: CENTER-LEFT;
-fx-padding: 0 0 0 75;
-fx-font-family: "Segoe UI";
-fx-text-fill: #fff;
-fx-pref-width: 282px;
-fx-pref-height: 75px;
} }
.server-button:selected { #optionsPane > #modlist > .viewport {
-fx-border-width: 0 0 0 5; -fx-background-color: transparent;
-fx-border-style: none none none solid;
-fx-border-color: #323232;
} }
/** Server custom buttons **/ .description-text {
/** server-button-<your profile name> **/ -fx-font-smoothing-type: lcd;
.server-icon-Example { -fx-fill: #8c8c8c;
-fx-background-image: url('images/icons/example.png'); -fx-font-size: 12px;
}
.server-icon-Example2 {
-fx-background-image: url('images/icons/example2.png');
}
.server-button-Example {
-fx-background-image: url('images/servers/example.png');
}
.server-button-Example2 {
-fx-background-image: url('images/servers/example2.png');
} }
/* Labels */ .lineHead {
#serverLabel{ -fx-stroke: #d8d8d8;
-fx-text-fill: #323232; -fx-stroke-width: 10;
-fx-padding: 0 0 0 14;
-fx-pref-width: 265px;
-fx-pref-height: 25px;
} }
#serverStatus{ .separator *.line {
-fx-text-fill: #323232; -fx-border-color: transparent;
-fx-pref-width: 120px; -fx-border-width: 0 0 10 0;
-fx-pref-height: 25px;
} }
#serverlist{ #serverlist{

View file

@ -1,5 +1,5 @@
var app, stage, scene, loginScene, menuScene, consoleScene; var app, stage, scene, loginScene, menuScene, consoleScene, optionsScene;
var rootPane, loginPane, authPane, menuPane, consolePane; var rootPane, loginPane, menuPane, consoleMenu, optionsMenu;
var LauncherApp = Java.extend(JSApplication, { var LauncherApp = Java.extend(JSApplication, {
init: function() { init: function() {
@ -18,9 +18,10 @@ var LauncherApp = Java.extend(JSApplication, {
stage.getIcons().add(new javafx.scene.image.Image(iconURL)); stage.getIcons().add(new javafx.scene.image.Image(iconURL));
}); });
loginPane = loadFXML("dialog/login.fxml"); loginPane = loadFXML("dialog/scenes/login/login.fxml");
menuPane = loadFXML("dialog/mainmenu.fxml"); menuPane = loadFXML("dialog/scenes/mainmenu/mainmenu.fxml");
consolePane = loadFXML("dialog/console.fxml"); consoleMenu = loadFXML("dialog/scenes/console/console.fxml");
optionsMenu = loadFXML("dialog/scenes/options/options.fxml");
loginScene = new javafx.scene.Scene(loginPane); loginScene = new javafx.scene.Scene(loginPane);
loginScene.setFill(javafx.scene.paint.Color.TRANSPARENT); loginScene.setFill(javafx.scene.paint.Color.TRANSPARENT);
@ -28,9 +29,12 @@ var LauncherApp = Java.extend(JSApplication, {
menuScene = new javafx.scene.Scene(menuPane); menuScene = new javafx.scene.Scene(menuPane);
menuScene.setFill(javafx.scene.paint.Color.TRANSPARENT); menuScene.setFill(javafx.scene.paint.Color.TRANSPARENT);
consoleScene = new javafx.scene.Scene(consolePane); consoleScene = new javafx.scene.Scene(consoleMenu);
consoleScene.setFill(javafx.scene.paint.Color.TRANSPARENT); consoleScene.setFill(javafx.scene.paint.Color.TRANSPARENT);
optionsScene = new javafx.scene.Scene(optionsMenu);
optionsScene.setFill(javafx.scene.paint.Color.TRANSPARENT);
setCurrentScene(loginScene); setCurrentScene(loginScene);
initLauncher(); initLauncher();