Update design

This commit is contained in:
Дмитрий Лео 2019-04-06 17:21:38 +03:00
parent 7f3102f292
commit e26d95b93d
22 changed files with 174 additions and 164 deletions

View file

@ -0,0 +1,32 @@
<?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

@ -9,6 +9,7 @@ var loginData;
function initLauncher() { function initLauncher() {
initLoginScene(); initLoginScene();
initMenuScene(); initMenuScene();
initConsoleScene();
debug.initOverlay(); debug.initOverlay();
processing.initOverlay(); processing.initOverlay();
@ -34,7 +35,7 @@ function initLoginScene() {
bar = pane; bar = pane;
loginPane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()}); loginPane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()});
loginPane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)}); loginPane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
loginPane.lookup("#discord").setOnAction(function(){ openURL(config.discord_url); }); loginPane.lookup("#discord").setOnAction(function(){ openURL(config.discord); });
var pane = loginPane.lookup("#authPane"); var pane = loginPane.lookup("#authPane");
authPane = pane; authPane = pane;
@ -82,6 +83,7 @@ function initMenuScene() {
menuPane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)}); menuPane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
menuPane.lookup("#discord").setOnAction(function(){ openURL(config.discord); }); menuPane.lookup("#discord").setOnAction(function(){ openURL(config.discord); });
menuPane.lookup("#settings").setOnAction(goSettings); menuPane.lookup("#settings").setOnAction(goSettings);
menuPane.lookup("#goConsole").setOnAction(goConsole);
menuPane.lookup("#logout").setOnAction(function(){ menuPane.lookup("#logout").setOnAction(function(){
setCurrentScene(loginScene); setCurrentScene(loginScene);
}); });
@ -103,6 +105,32 @@ function initMenuScene() {
} }
/* ======== init Console ======== */
function initConsoleScene() {
consolePane.setOnMousePressed(function(event){ movePoint = new javafx.geometry.Point2D(event.getSceneX(), event.getSceneY())});
consolePane.setOnMouseDragged(function(event) {
if(movePoint === null) {
return;
}
stage.setX(event.getScreenX() - movePoint.getX());
stage.setY(event.getScreenY() - movePoint.getY());
});
var pane = consolePane.lookup("#bar");
bar = pane;
consolePane.lookup("#close").setOnAction(function(event){ javafx.application.Platform.exit()});
consolePane.lookup("#hide").setOnAction(function(event){ stage.setIconified(true)});
consolePane.lookup("#back").setOnAction(function(){
setCurrentScene(menuScene);
});
var pane = consolePane.lookup("#consolePane");
consolePane = pane;
}
/* ======== init Offline ======== */ /* ======== init Offline ======== */
function initOffline() { function initOffline() {
stage.setTitle(config.title + " [Offline]"); stage.setTitle(config.title + " [Offline]");
@ -146,6 +174,13 @@ function goAuth(event) {
doAuth(login, rsaPassword); doAuth(login, rsaPassword);
} }
/* ======== Console ======== */
function goConsole(event) {
if (overlay.current !== null) {
return;
}
}
/* ======== Settings ======== */ /* ======== Settings ======== */
function goSettings(event) { function goSettings(event) {
// Verify there's no other overlays // Verify there's no other overlays

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

View file

@ -71,6 +71,7 @@
<JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" styleClass="close" text="" textAlignment="CENTER" /> <JFXButton id="close" alignment="CENTER" contentDisplay="CENTER" styleClass="close" text="" textAlignment="CENTER" />
<JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" text="" textAlignment="CENTER" /> <JFXButton id="discord" alignment="CENTER" contentDisplay="CENTER" layoutY="380.0" text="" textAlignment="CENTER" />
<JFXButton id="settings" alignment="CENTER" contentDisplay="CENTER" layoutY="92.0" text="" textAlignment="CENTER" /> <JFXButton id="settings" alignment="CENTER" contentDisplay="CENTER" layoutY="92.0" text="" textAlignment="CENTER" />
<JFXButton id="goConsole" fx:id="console" alignment="CENTER" contentDisplay="CENTER" layoutY="138.0" text="" textAlignment="CENTER" />
<JFXButton id="logout" alignment="CENTER" contentDisplay="CENTER" layoutY="334.0" text="" /> <JFXButton id="logout" alignment="CENTER" contentDisplay="CENTER" layoutY="334.0" text="" />
</children> </children>
</Pane> </Pane>

View file

@ -1,4 +1,9 @@
/* Output */ /*-- DrLeonardo Design --*/
Button {
-fx-cursor: hand;
}
/* Outputs */
#overlay > #output { #overlay > #output {
-fx-background-color: white; -fx-background-color: white;
-fx-background-radius: 0; -fx-background-radius: 0;
@ -15,34 +20,37 @@ #overlay > #output .content {
#overlay > #copy, #overlay > #copy,
#overlay > #action.close { #overlay > #action.close {
-fx-background-radius: 0; -fx-background-radius: 0;
-fx-background-color: rgba(33,133,208,.5);
-fx-text-fill: white; -fx-text-fill: white;
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-color: #2d83ce;
-fx-pref-width: 100px;
-fx-pref-height: 25px;
} }
#overlay > #copy:hover, #overlay > #copy:hover,
#overlay > #copy:focused, #overlay > #copy:focused,
#overlay > #action.close:hover, #overlay > #action.close:hover,
#overlay > #action.close:focused { #overlay > #action.close:focused,
-fx-background-color: rgba(22,120,194,.5);
}
#overlay > #copy:pressed, #overlay > #copy:pressed,
#overlay > #action.close:pressed { #overlay > #action.close:pressed {
-fx-background-color: rgba(22,105,164,.5); -fx-background-color: #1568ce;
} }
/* Kill button */ /* Kill button */
#overlay > #action.kill { #overlay > #action.kill {
-fx-background-radius: 0; -fx-background-radius: 0;
-fx-background-color: rgba(219,40,40,.5);
-fx-text-fill: white; -fx-text-fill: white;
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-color: #CE5757;
-fx-pref-width: 100px;
-fx-pref-height: 25px;
} }
#overlay > #action.kill:hover, #overlay > #action.kill:hover,
#overlay > #action.kill:focused { #overlay > #action.kill:focused,
-fx-background-color: rgba(202,16,16,.5);
}
#overlay > #action.kill:pressed { #overlay > #action.kill:pressed {
-fx-background-color: rgba(178,30,30,.5); -fx-background-color: #DB5252;
} }
/*-- DrLeonardo Design --*/

View file

@ -1,19 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXTextArea?>
<?import java.net.URL?> <?import java.net.URL?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<!-- DrLeonardo Design --> <!-- DrLeonardo Design -->
<Pane fx:id="overlay" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.20"> <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">
<stylesheets> <stylesheets>
<URL value="@debug.css" /> <URL value="@debug.css" />
<URL value="@../../styles.css" />
</stylesheets> </stylesheets>
<!-- Debug controls --> <!-- Debug controls -->
<TextArea fx:id="output" layoutY="28.0" prefHeight="372.0" prefWidth="600.0" /> <JFXTextArea fx:id="output" prefHeight="425.0" prefWidth="693.0" />
<Button fx:id="copy" defaultButton="true" layoutX="375.0" layoutY="352.0" prefHeight="30.0" prefWidth="100.0" text="Копировать" /> <JFXButton fx:id="copy" defaultButton="true" layoutX="465.0" layoutY="386.0" prefHeight="30.0" prefWidth="100.0" text="Копировать" />
<Button fx:id="action" layoutX="480.0" layoutY="352.0" prefHeight="30.0" prefWidth="100.0" /> <JFXButton fx:id="action" layoutX="579.0" layoutY="386.0" prefHeight="25.0" prefWidth="100.0" text="Убить" />
</Pane> </Pane>

View file

@ -4,22 +4,18 @@ var debug = {
initOverlay: function() { initOverlay: function() {
debug.overlay = loadFXML("dialog/overlay/debug/debug.fxml"); debug.overlay = loadFXML("dialog/overlay/debug/debug.fxml");
// Lookup output
debug.output = debug.overlay.lookup("#output"); debug.output = debug.overlay.lookup("#output");
debug.output.setEditable(false); debug.output.setEditable(false);
// Lookup copy button
debug.copy = debug.overlay.lookup("#copy"); debug.copy = debug.overlay.lookup("#copy");
debug.copy.setOnAction(function(event) { debug.copy.setOnAction(function(event) {
var content = new javafx.scene.input.ClipboardContent(); var content = new javafx.scene.input.ClipboardContent();
content.putString(debug.output.getText()); content.putString(debug.output.getText());
// Set clipboard content
javafx.scene.input.Clipboard.getSystemClipboard(). javafx.scene.input.Clipboard.getSystemClipboard().
setContent(content); setContent(content);
}); });
/// Lookup action button
debug.action = debug.overlay.lookup("#action"); debug.action = debug.overlay.lookup("#action");
debug.action.setOnAction(function(event) { debug.action.setOnAction(function(event) {
var process = debug.process; var process = debug.process;
@ -29,7 +25,6 @@ var debug = {
return; return;
} }
// Hide overlay
overlay.hide(0, null); overlay.hide(0, null);
}); });
}, },
@ -50,12 +45,10 @@ var debug = {
var alive = !forceClose && var alive = !forceClose &&
process !== null && process.isAlive(); process !== null && process.isAlive();
// Decide what we update to
var text = alive ? "Убить" : "Закрыть"; var text = alive ? "Убить" : "Закрыть";
var addClass = alive ? "kill" : "close"; var addClass = alive ? "kill" : "close";
var removeClass = alive ? "close" : "kill"; var removeClass = alive ? "close" : "kill";
// Update button
debug.action.setText(text); debug.action.setText(text);
debug.action.getStyleClass().remove(removeClass); debug.action.getStyleClass().remove(removeClass);
debug.action.getStyleClass().add(addClass); debug.action.getStyleClass().add(addClass);
@ -67,7 +60,6 @@ function debugProcess(process) {
debug.process = process; debug.process = process;
debug.updateActionButton(false); debug.updateActionButton(false);
// Create new task
var task = newTask(function() { var task = newTask(function() {
var buffer = IOHelper.newCharBuffer(); var buffer = IOHelper.newCharBuffer();
var reader = IOHelper.newReader(process.getInputStream(), var reader = IOHelper.newReader(process.getInputStream(),
@ -78,11 +70,9 @@ function debugProcess(process) {
appendFunction(new java.lang.String(buffer, 0, length)); appendFunction(new java.lang.String(buffer, 0, length));
} }
// So we wait for exit code
return process.waitFor(); return process.waitFor();
}); });
// Set completion handlers
task.setOnFailed(function(event) { task.setOnFailed(function(event) {
debug.updateActionButton(true); debug.updateActionButton(true);
debug.append(java.lang.System.lineSeparator() + task.getException()); debug.append(java.lang.System.lineSeparator() + task.getException());
@ -92,6 +82,5 @@ function debugProcess(process) {
debug.append(java.lang.System.lineSeparator() + "Exit code " + task.getValue()); debug.append(java.lang.System.lineSeparator() + "Exit code " + task.getValue());
}); });
// Gogogo
startTask(task); startTask(task);
} }

View file

@ -9,8 +9,12 @@ #holder > #settingsTitle {
#holder > #apply{ #holder > #apply{
-fx-background-color: #61B373; -fx-background-color: #61B373;
-fx-text-fill: #fff;
-fx-background-radius: 0; -fx-background-radius: 0;
-fx-text-fill: white;
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-pref-width: 100px;
-fx-pref-height: 25px;
} }
#holder > #apply:hover, #holder > #apply:hover,
#holder > #apply:focused{ #holder > #apply:focused{
@ -25,64 +29,6 @@ #holder > #modlist > .viewport {
-fx-background-color: transparent; -fx-background-color: transparent;
} }
.scroll-pane {
-fx-background-color: transparent;
}
.scroll-bar:horizontal, .scroll-bar:vertical{
-fx-background-color:transparent;
}
.increment-button, .decrement-button, .increment-arrow, .decrement-arrow {
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.scroll-bar:horizontal .track,
.scroll-bar:vertical .track{
-fx-background-color: transparent;
-fx-border-color: transparent;
}
.scroll-bar:horizontal .thumb,
.scroll-bar:vertical .thumb {
-fx-background-color: rgba(0, 0, 0, 0.19);
-fx-background-radius: 0;
}
.scroll-bar{
-fx-font-size: 6px;
}
.scroll-pane > .corner {
-fx-background-color: black;
}
.check-box{
-fx-background-color: transparent;
-fx-text-fill:#2c2c2c;
-fx-font-size: 13px;
-fx-background-image: url('../../images/icons/checkbox.png');
-fx-background-repeat: no-repeat;
}
.check-box .mark {
-fx-background-color: transparent;
}
.check-box .box {
-fx-background-color: transparent;
}
.check-box:selected{
-fx-background-color: transparent;
-fx-background-image: url('../../images/icons/checkbox_checked.png');
-fx-background-repeat: no-repeat;
}
.check-box:selected .mark {
-fx-background-color: transparent;
}
.check-box:selected .box {
-fx-background-color: transparent;
}
.description-text { .description-text {
-fx-font-smoothing-type: lcd; -fx-font-smoothing-type: lcd;
-fx-fill: #8c8c8c; -fx-fill: #8c8c8c;

View file

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXScrollPane?>
<?import java.net.URL?> <?import java.net.URL?>
<?import javafx.geometry.Insets?> <?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
<!-- DrLeonardo Design --> <!-- DrLeonardo Design -->
<Pane fx:id="overlay" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.20" xmlns:fx="http://javafx.com/fxml/1"> <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> <children>
<Pane id="holder" layoutX="171.0" layoutY="28.0" prefHeight="371.0" prefWidth="428.0"> <Pane id="holder" prefHeight="425.0" prefWidth="693.0">
<children> <children>
<ScrollPane id="modlist" hbarPolicy="NEVER"> <JFXScrollPane id="modlist" prefHeight="425.0" prefWidth="693.0">
<content> <content>
<VBox prefHeight="370.0" prefWidth="428.0"> <VBox prefHeight="424.0" prefWidth="693.0">
<children> <children>
</children> </children>
<padding> <padding>
@ -23,12 +23,13 @@
</padding> </padding>
</VBox> </VBox>
</content> </content>
</ScrollPane> </JFXScrollPane>
<Button fx:id="apply" defaultButton="true" layoutX="318.0" layoutY="336.0" prefHeight="25.0" prefWidth="100.0" text="Применить" /> <JFXButton fx:id="apply" defaultButton="true" layoutX="580.0" layoutY="388.0" prefHeight="25.0" prefWidth="100.0" text="Применить" />
</children> </children>
</Pane> </Pane>
</children> </children>
<stylesheets> <stylesheets>
<URL value="@options.css" /> <URL value="@options.css" />
<URL value="@../../styles.css" />
</stylesheets> </stylesheets>
</Pane> </Pane>

View file

@ -1,5 +1,5 @@
var options = { var options = {
file: DirBridge.dir.resolve("options.bin"), // options file file: DirBridge.dir.resolve("options.bin"),
/* options and overlay functions */ /* options and overlay functions */
load: function(profiles) { load: function(profiles) {
@ -8,7 +8,6 @@ var options = {
tryWithResources(new HInput(IOHelper.newInput(options.file)), options.read); tryWithResources(new HInput(IOHelper.newInput(options.file)), options.read);
} catch(e) { } catch(e) {
LogHelper.error(e); LogHelper.error(e);
//options.setDefault();
} }
}, },
@ -21,7 +20,6 @@ var options = {
} }
}, },
// Internal functions
read: function(input) { read: function(input) {
var magic = input.readInt(); var magic = input.readInt();
if (magic != config.settingsMagic) { if (magic != config.settingsMagic) {
@ -89,7 +87,7 @@ var options = {
var nodelist = new java.util.ArrayList; var nodelist = new java.util.ArrayList;
holder.getChildren().forEach(function(node,i,arr) { holder.getChildren().forEach(function(node,i,arr) {
if(node instanceof javafx.scene.control.CheckBox) 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) {
@ -115,7 +113,7 @@ var options = {
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 javafx.scene.control.CheckBox(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++)//Выделение субмодификаций сдвигом.
@ -159,5 +157,4 @@ var options = {
holder.getChildren().clear(); holder.getChildren().clear();
holder.getChildren().addAll(checkBoxList); holder.getChildren().addAll(checkBoxList);
} }
}; };

View file

@ -8,15 +8,15 @@
<!-- DrLeonardo Design | Fixes by Yaroslavik --> <!-- DrLeonardo Design | Fixes by Yaroslavik -->
<Pane fx:id="overlay" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.20" xmlns:fx="http://javafx.com/fxml/1"> <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> <children>
<ImageView id="spinner" fx:id="spinner" fitHeight="161.0" fitWidth="161.0" layoutX="213.0" layoutY="94.0" y="-6.0"> <ImageView id="spinner" fx:id="spinner" fitHeight="161.0" fitWidth="161.0" layoutX="266.0" layoutY="93.0" y="-6.0">
<image> <image>
<Image url="@../../images/icons/loading.gif" /> <Image url="@../../images/icons/loading.gif" />
</image> </image>
</ImageView> </ImageView>
<!-- Description --> <!-- Description -->
<Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="152.0" layoutY="249.0" prefHeight="64.0" prefWidth="283.0" text="..." textAlignment="CENTER" /> <Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="205.0" layoutY="248.0" prefHeight="64.0" prefWidth="283.0" text="..." textAlignment="CENTER" />
</children> </children>
<stylesheets> <stylesheets>
<URL value="@processing.css" /> <URL value="@processing.css" />

View file

@ -80,7 +80,7 @@ function makeLauncherRequest(callback) {
settings.offline = true; settings.offline = true;
overlay.swap(2500, processing.overlay, function() makeLauncherRequest(callback)); overlay.swap(2500, processing.overlay, function() makeLauncherRequest(callback));
}, false); }, false);
task.updateMessage("Обновление списка серверов"); task.updateMessage("Обновление лаунчера");
startTask(task); startTask(task);
} }
function makeProfilesRequest(callback) { function makeProfilesRequest(callback) {
@ -96,11 +96,11 @@ function makeProfilesRequest(callback) {
settings.offline = true; settings.offline = true;
overlay.swap(2500, processing.overlay, function() makeProfilesRequest(callback)); overlay.swap(2500, processing.overlay, function() makeProfilesRequest(callback));
}, false); }, false);
task.updateMessage("Обновление списка серверов"); task.updateMessage("Обновление лаунчера");
startTask(task); startTask(task);
} }
function makeSetProfileRequest(profile, callback) { function makeSetProfileRequest(profile, callback) {
var task = newRequestTask(new SetProfileRequest(Launcher.getConfig(), profile)); var task = newRequestTask(new SetProfileRequest, profile);
// Set task properties and start // Set task properties and start
processing.setTaskProperties(task, callback, function() { processing.setTaskProperties(task, callback, function() {

View file

@ -2,7 +2,7 @@ #holder {
-fx-background-color: #fff; -fx-background-color: #fff;
} }
#holder > #transferDialog { #holder > #transferDialog {
-fx-background-color: RGBA(0, 0, 0, 0.9); -fx-background-color: RGBA(0, 0, 0, 0.1);
} }
/* Labels */ /* Labels */
#holder > #settingsTitle { #holder > #settingsTitle {
@ -74,29 +74,4 @@ #holder > #apply,#applyTransfer{
#holder > #apply:hover,#applyTransfer:hover, #holder > #apply:hover,#applyTransfer:hover,
#holder > #apply:focused,#applyTransfer:focused{ #holder > #apply:focused,#applyTransfer:focused{
-fx-background-color: #74C085; -fx-background-color: #74C085;
} }
.check-box{
-fx-background-color: transparent;
-fx-text-fill:#2c2c2c;
-fx-font-size: 13;
-fx-background-image: url('../../images/icons/checkbox.png');
-fx-background-repeat: no-repeat;
}
.check-box .mark {
-fx-background-color: transparent;
}
.check-box .box {
-fx-background-color: transparent;
}
.check-box:selected{
-fx-background-color: transparent;
-fx-background-image: url('../../images/icons/checkbox_checked.png');
-fx-background-repeat: no-repeat;
}
.check-box:selected .mark {
-fx-background-color: transparent;
}
.check-box:selected .box {
-fx-background-color: transparent;
}

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXCheckBox?>
<?import com.jfoenix.controls.JFXSlider?>
<?import java.net.URL?> <?import java.net.URL?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Hyperlink?> <?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Separator?> <?import javafx.scene.control.Separator?>
<?import javafx.scene.control.Slider?>
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?> <?import javafx.scene.text.Text?>
@ -13,49 +13,50 @@
<!-- DrLeonardo Design --> <!-- DrLeonardo Design -->
<Pane fx:id="overlay" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.20" xmlns:fx="http://javafx.com/fxml/1"> <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> <children>
<Pane id="holder" layoutX="1.0" layoutY="28.0" prefHeight="371.0" prefWidth="598.0"> <Pane id="holder" layoutX="1.0" layoutY="-1.0" prefHeight="425.0" prefWidth="693.0">
<children> <children>
<CheckBox fx:id="autoEnter" layoutX="14.0" layoutY="80.0" text="Автовход на сервер" /> <JFXCheckBox fx:id="autoEnter" layoutX="14.0" layoutY="127.0" text="Автовход на сервер" />
<Text fill="#8c8c8c" layoutX="38.0" layoutY="95.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="533.0000102519989" y="15.0" /> <Text fill="#8c8c8c" layoutX="38.0" layoutY="143.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение авто-входа означает что вы сразу после загрузки клиента попадете на сервер" wrappingWidth="636.9999872148037" y="15.0" />
<CheckBox fx:id="fullScreen" layoutX="13.0" layoutY="185.0" text="Клиент в полный экран" /> <JFXCheckBox fx:id="fullScreen" layoutX="13.0" layoutY="250.0" text="Клиент в полный экран" />
<Text fill="#8c8c8c" layoutX="38.0" layoutY="200.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение данной функции позволяет запустить игру сразу в полноэкранном режиме" wrappingWidth="533.0000102519989" y="15.0" /> <Text fill="#8c8c8c" layoutX="38.0" layoutY="267.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Включение данной функции позволяет запустить игру сразу в полноэкранном режиме" wrappingWidth="636.9999872148037" y="15.0" />
<CheckBox id="debug" layoutX="13.0" layoutY="124.0" text="Режим Отладки" /> <JFXCheckBox id="debug" layoutX="13.0" layoutY="183.0" text="Режим Отладки" />
<Text fill="#8c8c8c" layoutX="38.0" layoutY="139.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Режим отладки позволяет просмотреть лог запуска и работы программы в реальном времени прямо из лаунчера, что упрощает поиск нужной информации" wrappingWidth="533.0000016447157" y="15.0" /> <Text fill="#8c8c8c" layoutX="38.0" layoutY="198.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Режим отладки позволяет просмотреть лог запуска и работы программы в реальном времени прямо из лаунчера, что упрощает поиск нужной информации" wrappingWidth="637.0000016447157" y="15.0" />
<!-- RAM settings --> <!-- RAM settings -->
<TextFlow layoutX="128.0" layoutY="6.0"> <TextFlow layoutX="126.0" layoutY="17.0" prefHeight="16.0" prefWidth="19.0">
<Text fx:id="ramLabel" /> <Text fx:id="ramLabel" />
</TextFlow> </TextFlow>
<Slider fx:id="ramSlider" layoutX="18.0" layoutY="26.0" prefHeight="3.0" prefWidth="563.0" /> <Separator layoutY="112.0" prefHeight="3.0" prefWidth="693.0" />
<Separator layoutY="65.0" prefHeight="1.0" prefWidth="598.0" />
<!-- RAM settings --> <!-- RAM settings -->
<!-- Deldir settings --> <!-- Deldir settings -->
<Button fx:id="deleteDir" layoutX="15.0" layoutY="333.0" prefHeight="25.0" prefWidth="245.0" text="Очистить данные игровых клиентов" textAlignment="CENTER" wrapText="true"> <JFXButton fx:id="deleteDir" layoutX="328.0" layoutY="365.0" prefHeight="25.0" prefWidth="245.0" text="Очистить данные игровых клиентов" textAlignment="CENTER" wrapText="true">
<font> <font>
<Font name="System Bold" size="12.0" /> <Font name="System Bold" size="12.0" />
</font> </font>
</Button> </JFXButton>
<!-- Deldir settings --> <!-- Deldir settings -->
<!-- Changedir settings --> <!-- Changedir settings -->
<Button fx:id="changeDir" layoutX="14.0" layoutY="229.0" prefHeight="25.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" /> <JFXButton fx:id="changeDir" layoutY="401.0" prefHeight="25.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" />
<Hyperlink id="dirLabel" alignment="TOP_LEFT" layoutX="215.0" layoutY="230.0" prefHeight="23.0" prefWidth="371.0" text="C:/Users" wrapText="true" /> <Hyperlink id="dirLabel" alignment="TOP_LEFT" layoutX="199.0" layoutY="402.0" prefHeight="23.0" prefWidth="493.0" text="C:/Users" />
<!-- Changedir settings --> <!-- Changedir settings -->
<Button fx:id="apply" defaultButton="true" layoutX="486.0" layoutY="335.0" prefHeight="23.0" prefWidth="100.0" text="Применить" /> <JFXButton fx:id="apply" defaultButton="true" layoutX="583.0" layoutY="365.0" prefHeight="23.0" prefWidth="100.0" text="Применить" />
<Text layoutX="17.0" layoutY="19.0">Выделение памяти: </Text> <Text layoutX="16.0" layoutY="28.0">Выделение памяти: </Text>
<Pane fx:id="transferDialog" prefHeight="371.0" prefWidth="598.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" />
<Pane fx:id="transferDialog" layoutX="-1.0" layoutY="1.0" prefHeight="425.0" prefWidth="694.0" visible="false">
<children> <children>
<Text fill="WHITE" layoutX="99.0" layoutY="155.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Перенести все данные в новую директорию?" wrappingWidth="400.13671875"> <Text fill="WHITE" layoutX="147.0" layoutY="195.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Перенести все данные в новую директорию?" wrappingWidth="400.13671875">
<font> <font>
<Font size="19.0" /> <Font size="19.0" />
</font> </font>
</Text> </Text>
<Button fx:id="applyTransfer" layoutX="130.0" layoutY="186.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Да, перенести!" /> <JFXButton fx:id="applyTransfer" layoutX="178.0" layoutY="226.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Да, перенести!" />
<Button fx:id="cancelTransfer" layoutX="344.0" layoutY="186.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Нет, не нужно." /> <JFXButton fx:id="cancelTransfer" layoutX="392.0" layoutY="226.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="124.0" text="Нет, не нужно." />
</children> </children>
</Pane> </Pane>
@ -64,5 +65,6 @@
</children> </children>
<stylesheets> <stylesheets>
<URL value="@settings.css" /> <URL value="@settings.css" />
<URL value="@../../styles.css" />
</stylesheets> </stylesheets>
</Pane> </Pane>

View file

@ -57,6 +57,26 @@ #hide {
-fx-pref-width: 45px; -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: #CE5757;
-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: #CE5757;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/console.png');
-fx-pref-width: 45px;
-fx-pref-height: 45px;
}
#settings { #settings {
-fx-background-position: center; -fx-background-position: center;
-jfx-button-type: FLAT; -jfx-button-type: FLAT;

View file

@ -17,7 +17,6 @@ var ServerPinger = ServerPingerClass.static;
var Request = RequestClass.static; var Request = RequestClass.static;
var RequestType = RequestTypeClass.static; var RequestType = RequestTypeClass.static;
var RequestException = RequestExceptionClass.static; var RequestException = RequestExceptionClass.static;
var CustomRequest = CustomRequestClass.static;
var PingRequest = PingRequestClass.static; var PingRequest = PingRequestClass.static;
var AuthRequest = AuthRequestClass.static; var AuthRequest = AuthRequestClass.static;
var JoinServerRequest = JoinServerRequestClass.static; var JoinServerRequest = JoinServerRequestClass.static;

View file

@ -1,5 +1,5 @@
var app, stage, scene, loginScene, menuScene; var app, stage, scene, loginScene, menuScene, consoleScene;
var rootPane, loginPane, authPane, menuPane; var rootPane, loginPane, authPane, menuPane, consolePane;
var LauncherApp = Java.extend(JSApplication, { var LauncherApp = Java.extend(JSApplication, {
init: function() { init: function() {
@ -20,6 +20,7 @@ var LauncherApp = Java.extend(JSApplication, {
loginPane = loadFXML("dialog/login.fxml"); loginPane = loadFXML("dialog/login.fxml");
menuPane = loadFXML("dialog/mainmenu.fxml"); menuPane = loadFXML("dialog/mainmenu.fxml");
consolePane = loadFXML("dialog/console.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);
@ -27,6 +28,9 @@ 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.setFill(javafx.scene.paint.Color.TRANSPARENT);
setCurrentScene(loginScene); setCurrentScene(loginScene);
initLauncher(); initLauncher();