mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-12-23 00:51:01 +03:00
Update
This commit is contained in:
parent
6d69efe258
commit
cf89635471
9 changed files with 168 additions and 98 deletions
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
<!-- DrLeonardo Design -->
|
<!-- DrLeonardo Design -->
|
||||||
|
|
||||||
<Pane fx:id="layout" prefWidth="740.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
<Pane fx:id="background" prefWidth="738.0" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
<Pane fx:id="consolePane" prefHeight="425.0" prefWidth="693.0" styleClass="consolePane">
|
<Pane fx:id="consolePane" prefHeight="425.0" prefWidth="693.0" styleClass="consolePane">
|
||||||
<children>
|
<children>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
var authPane, dimPane, serverPane, bar;
|
var authPane, dimPane, serverPane, bar, optionsPane;
|
||||||
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,12 +10,13 @@ function initLauncher() {
|
||||||
initLoginScene();
|
initLoginScene();
|
||||||
initMenuScene();
|
initMenuScene();
|
||||||
initConsoleScene();
|
initConsoleScene();
|
||||||
|
initOptionsScene();
|
||||||
|
|
||||||
debug.initOverlay();
|
debug.initOverlay();
|
||||||
processing.initOverlay();
|
processing.initOverlay();
|
||||||
settingsOverlay.initOverlay();
|
settingsOverlay.initOverlay();
|
||||||
update.initOverlay();
|
update.initOverlay();
|
||||||
options.initOverlay();
|
//options.initOverlay();
|
||||||
|
|
||||||
verifyLauncher();
|
verifyLauncher();
|
||||||
}
|
}
|
||||||
|
@ -41,14 +42,14 @@ function initLoginScene() {
|
||||||
authPane = pane;
|
authPane = pane;
|
||||||
|
|
||||||
loginField = pane.lookup("#login");
|
loginField = pane.lookup("#login");
|
||||||
loginField.setOnMouseMoved(function(event){rootPane.fireEvent(event)});
|
loginField.setOnMouseMoved(function(event){rootPane.fireEvent(event)});
|
||||||
loginField.setOnAction(goAuth);
|
loginField.setOnAction(goAuth);
|
||||||
if (settings.login !== null) {
|
if (settings.login !== null) {
|
||||||
loginField.setText(settings.login);
|
loginField.setText(settings.login);
|
||||||
}
|
}
|
||||||
|
|
||||||
passwordField = pane.lookup("#password");
|
passwordField = pane.lookup("#password");
|
||||||
passwordField.setOnMouseMoved(function(event){rootPane.fireEvent(event)});
|
passwordField.setOnMouseMoved(function(event){rootPane.fireEvent(event)});
|
||||||
passwordField.setOnAction(goAuth);
|
passwordField.setOnAction(goAuth);
|
||||||
if (settings.rsaPassword !== null) {
|
if (settings.rsaPassword !== null) {
|
||||||
passwordField.getStyleClass().add("hasSaved");
|
passwordField.getStyleClass().add("hasSaved");
|
||||||
|
@ -149,7 +150,7 @@ function initOffline() {
|
||||||
function goAuth(event) {
|
function goAuth(event) {
|
||||||
if (overlay.current !== null) {
|
if (overlay.current !== null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var login = loginField.getText();
|
var login = loginField.getText();
|
||||||
if (login.isEmpty()) {
|
if (login.isEmpty()) {
|
||||||
|
@ -176,34 +177,18 @@ 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 ======== */
|
|
||||||
function goOptions(event) {
|
|
||||||
// Verify there's no other overlays
|
|
||||||
if (overlay.current !== null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show options overlay
|
|
||||||
options.update();
|
|
||||||
overlay.show(options.overlay, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ======== Processing functions ======== */
|
/* ======== Processing functions ======== */
|
||||||
function verifyLauncher(e) {
|
function verifyLauncher(e) {
|
||||||
processing.resetOverlay();
|
processing.resetOverlay();
|
||||||
|
@ -212,7 +197,7 @@ function verifyLauncher(e) {
|
||||||
processing.resetOverlay();
|
processing.resetOverlay();
|
||||||
// Init offline if set
|
// 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;
|
||||||
|
@ -220,9 +205,9 @@ function verifyLauncher(e) {
|
||||||
updateProfilesList(result.profiles);
|
updateProfilesList(result.profiles);
|
||||||
options.load();
|
options.load();
|
||||||
overlay.hide(0, function() {
|
overlay.hide(0, function() {
|
||||||
if (cliParams.autoLogin) {
|
if (cliParams.autoLogin) {
|
||||||
goAuth(null);
|
goAuth(null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
}));
|
}));
|
||||||
|
@ -245,37 +230,37 @@ 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("Обновление файлов ресурсов");
|
||||||
var assetDirName = profile.getAssetDir();
|
var assetDirName = profile.getAssetDir();
|
||||||
var assetDir = settings.updatesDir.resolve(assetDirName);
|
var assetDir = settings.updatesDir.resolve(assetDirName);
|
||||||
var assetMatcher = profile.getAssetUpdateMatcher();
|
var assetMatcher = profile.getAssetUpdateMatcher();
|
||||||
makeSetProfileRequest(profile, function() {
|
makeSetProfileRequest(profile, function() {
|
||||||
ClientLauncher.setProfile(profile);
|
ClientLauncher.setProfile(profile);
|
||||||
makeUpdateRequest(assetDirName, assetDir, assetMatcher, digest, function(assetHDir) {
|
makeUpdateRequest(assetDirName, assetDir, assetMatcher, digest, function(assetHDir) {
|
||||||
settings.lastHDirs.put(assetDirName, assetHDir.hdir);
|
settings.lastHDirs.put(assetDirName, assetHDir.hdir);
|
||||||
|
|
||||||
update.resetOverlay("Обновление файлов клиента");
|
update.resetOverlay("Обновление файлов клиента");
|
||||||
var clientDirName = profile.getDir();
|
var clientDirName = profile.getDir();
|
||||||
var clientDir = settings.updatesDir.resolve(clientDirName);
|
var clientDir = settings.updatesDir.resolve(clientDirName);
|
||||||
var clientMatcher = profile.getClientUpdateMatcher();
|
var clientMatcher = profile.getClientUpdateMatcher();
|
||||||
makeUpdateRequest(clientDirName, clientDir, clientMatcher, digest, function(clientHDir) {
|
makeUpdateRequest(clientDirName, clientDir, clientMatcher, digest, function(clientHDir) {
|
||||||
settings.lastHDirs.put(clientDirName, clientHDir.hdir);
|
settings.lastHDirs.put(clientDirName, clientHDir.hdir);
|
||||||
doLaunchClient(assetDir, assetHDir.hdir, clientDir, clientHDir.hdir, profile, pp, accessToken);
|
doLaunchClient(assetDir, assetHDir.hdir, clientDir, clientHDir.hdir, profile, pp, accessToken);
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function doLaunchClient(assetDir, assetHDir, clientDir, clientHDir, profile, pp, accessToken) {
|
function doLaunchClient(assetDir, assetHDir, clientDir, clientHDir, profile, pp, accessToken) {
|
||||||
processing.resetOverlay();
|
processing.resetOverlay();
|
||||||
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) {
|
||||||
|
@ -317,8 +302,8 @@ function updateProfilesList(profiles) {
|
||||||
});
|
});
|
||||||
LogHelper.debug("Load selected %d profile",settings.profile);
|
LogHelper.debug("Load selected %d profile",settings.profile);
|
||||||
if(profiles.length > 0) {
|
if(profiles.length > 0) {
|
||||||
if(settings.profile >= profiles.length)
|
if(settings.profile >= profiles.length)
|
||||||
settings.profile = profiles.length-1;
|
settings.profile = profiles.length-1;
|
||||||
serverHolder.set(serverList.getChildren().get(settings.profile));
|
serverHolder.set(serverList.getChildren().get(settings.profile));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -1,33 +1,61 @@
|
||||||
/*-- DrLeonardo Design --*/
|
/*-- DrLeonardo Design --*/
|
||||||
#holder {
|
#background {
|
||||||
-fx-background-color: #fff;
|
-fx-background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Labels */
|
/* Labels */
|
||||||
#holder > #settingsTitle {
|
#background > #settingsTitle {
|
||||||
-fx-font-size: 14pt;
|
-fx-font-size: 14pt;
|
||||||
-fx-alignment: baseline-center;
|
-fx-alignment: baseline-center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#holder > #apply{
|
.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
#apply{
|
||||||
-fx-background-color: #61B373;
|
-fx-background-color: #61B373;
|
||||||
-fx-background-radius: 0;
|
-fx-background-radius: 0;
|
||||||
-fx-text-fill: white;
|
-fx-text-fill: white;
|
||||||
-fx-background-position: center;
|
-fx-background-position: center;
|
||||||
-jfx-button-type: FLAT;
|
-jfx-button-type: FLAT;
|
||||||
-fx-pref-width: 150px;
|
-fx-pref-width: 45px;
|
||||||
-fx-pref-height: 25px;
|
-fx-pref-height: 45px;
|
||||||
}
|
}
|
||||||
#holder > #apply:hover,
|
#apply:hover,
|
||||||
#holder > #apply:focused{
|
#apply:focused{
|
||||||
-fx-background-color: #74C085;
|
-fx-background-color: #74C085;
|
||||||
}
|
}
|
||||||
|
|
||||||
#holder > #modlist {
|
#optionsPane > #modlist {
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
|
|
||||||
}
|
}
|
||||||
#holder > #modlist > .viewport {
|
|
||||||
|
#optionsPane > #modlist > .viewport {
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +64,12 @@ .description-text {
|
||||||
-fx-fill: #8c8c8c;
|
-fx-fill: #8c8c8c;
|
||||||
-fx-font-size: 12px;
|
-fx-font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lineHead {
|
||||||
|
-fx-stroke: #d8d8d8;
|
||||||
|
-fx-stroke-width: 3;
|
||||||
|
}
|
||||||
|
|
||||||
.separator *.line {
|
.separator *.line {
|
||||||
-fx-border-color: transparent;
|
-fx-border-color: transparent;
|
||||||
-fx-border-width: 0 0 10 0;
|
-fx-border-width: 0 0 10 0;
|
||||||
|
|
|
@ -1,32 +1,45 @@
|
||||||
<?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 com.jfoenix.controls.JFXScrollPane?>
|
<?import com.jfoenix.controls.JFXToggleButton?>
|
||||||
<?import java.net.URL?>
|
<?import java.net.URL?>
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
|
<?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?>
|
||||||
|
<?import javafx.scene.shape.Line?>
|
||||||
|
|
||||||
<!-- DrLeonardo Design -->
|
<!-- 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">
|
<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>
|
<children>
|
||||||
<Pane id="holder" prefHeight="425.0" prefWidth="693.0">
|
<Pane id="optionsPane" prefHeight="425.0" prefWidth="693.0" styleClass="optionsPane">
|
||||||
<children>
|
<children>
|
||||||
<JFXScrollPane id="modlist" prefHeight="425.0" prefWidth="694.0">
|
<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="588.0" layoutX="100.0" layoutY="80.0" startX="-100.0" stroke="#5b3636" styleClass="lineHead" />
|
||||||
|
<ScrollPane id="modlist" layoutY="75.0" prefHeight="351.0" prefWidth="694.0">
|
||||||
<content>
|
<content>
|
||||||
<VBox prefHeight="232.0" prefWidth="689.0">
|
<VBox prefHeight="349.0" prefWidth="692.0">
|
||||||
<children>
|
<children>
|
||||||
</children>
|
</children>
|
||||||
<padding>
|
<padding>
|
||||||
<Insets left="10.0" top="8.0" />
|
<Insets left="10.0" top="8.0" />
|
||||||
</padding>
|
</padding>
|
||||||
</VBox>
|
</VBox>
|
||||||
</content>
|
</content>
|
||||||
</JFXScrollPane>
|
</ScrollPane>
|
||||||
<JFXButton fx:id="apply" defaultButton="true" layoutX="532.0" layoutY="390.0" prefHeight="25.0" prefWidth="100.0" text="Применить" />
|
</children>
|
||||||
</children>
|
</Pane>
|
||||||
</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="335.0" text="" textAlignment="CENTER" />
|
||||||
|
<JFXButton fx:id="apply" layoutY="380.0" prefHeight="25.0" prefWidth="45.0" />
|
||||||
|
</children>
|
||||||
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
<stylesheets>
|
<stylesheets>
|
||||||
<URL value="@options.css" />
|
<URL value="@options.css" />
|
||||||
|
|
|
@ -1,3 +1,38 @@
|
||||||
|
var optionsPane;
|
||||||
|
|
||||||
|
/* ======== init Options ======== */
|
||||||
|
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("#apply").setOnAction(function(){
|
||||||
|
setCurrentScene(menuScene);
|
||||||
|
});
|
||||||
|
pane.lookup("#back").setOnAction(function(){
|
||||||
|
setCurrentScene(menuScene);
|
||||||
|
});
|
||||||
|
|
||||||
|
var pane = optionsMenu.lookup("#optionsPane");
|
||||||
|
optionsPane = pane;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ======== Options ======== */
|
||||||
|
function goOptions(event) {
|
||||||
|
setCurrentScene(optionsScene);
|
||||||
|
}
|
||||||
|
|
||||||
var options = {
|
var options = {
|
||||||
file: DirBridge.dir.resolve("options.bin"),
|
file: DirBridge.dir.resolve("options.bin"),
|
||||||
|
|
||||||
|
@ -73,24 +108,19 @@ 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 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 +138,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,7 +164,7 @@ 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++){
|
||||||
|
@ -153,7 +183,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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<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" />
|
<Separator layoutY="112.0" prefHeight="3.0" prefWidth="694.0" />
|
||||||
<!-- RAM settings -->
|
<!-- RAM settings -->
|
||||||
|
|
||||||
<!-- Deldir settings -->
|
<!-- Deldir settings -->
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<JFXButton fx:id="apply" defaultButton="true" layoutX="534.0" layoutY="365.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">
|
||||||
|
|
|
@ -254,7 +254,7 @@ .scroll-bar {
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-pane>.corner {
|
.scroll-pane>.corner {
|
||||||
-fx-background-color: black;
|
-fx-background-color: rgba(0, 0, 0, 0.19);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Server buttons */
|
/* Server buttons */
|
||||||
|
|
|
@ -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, consolePane, optionsMenu;
|
||||||
|
|
||||||
var LauncherApp = Java.extend(JSApplication, {
|
var LauncherApp = Java.extend(JSApplication, {
|
||||||
init: function() {
|
init: function() {
|
||||||
|
@ -9,7 +9,7 @@ var LauncherApp = Java.extend(JSApplication, {
|
||||||
cliParams.applySettings();
|
cliParams.applySettings();
|
||||||
}, start: function(primaryStage) {
|
}, start: function(primaryStage) {
|
||||||
stage = primaryStage;
|
stage = primaryStage;
|
||||||
stage.initStyle(javafx.stage.StageStyle.TRANSPARENT);
|
stage.initStyle(javafx.stage.StageStyle.TRANSPARENT);
|
||||||
stage.setResizable(false);
|
stage.setResizable(false);
|
||||||
stage.setTitle(config.title);
|
stage.setTitle(config.title);
|
||||||
|
|
||||||
|
@ -21,6 +21,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");
|
consolePane = loadFXML("dialog/console.fxml");
|
||||||
|
optionsMenu = loadFXML("dialog/overlay/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);
|
||||||
|
@ -31,6 +32,9 @@ var LauncherApp = Java.extend(JSApplication, {
|
||||||
consoleScene = new javafx.scene.Scene(consolePane);
|
consoleScene = new javafx.scene.Scene(consolePane);
|
||||||
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();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue