Update design

This commit is contained in:
DrLeonardo 2019-04-06 21:42:11 +03:00
parent e26d95b93d
commit 6d69efe258
30 changed files with 104 additions and 134 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 978 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

View file

@ -48,7 +48,7 @@
</font>
</JFXButton>
<JFXButton id="clientSettings" alignment="CENTER" centerShape="false" contentDisplay="CENTER" layoutX="281.0" layoutY="355.0" styleClass="clientSettings" text="" textAlignment="CENTER" />
<Label id="serverStatus" alignment="TOP_RIGHT" contentDisplay="RIGHT" layoutX="306.0" layoutY="12.0" prefHeight="25.0" prefWidth="60.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 name="System Bold" size="16.0" />
</font>

View file

@ -24,7 +24,7 @@ #overlay > #action.close {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-color: #2d83ce;
-fx-pref-width: 100px;
-fx-pref-width: 150px;
-fx-pref-height: 25px;
}
@ -44,7 +44,7 @@ #overlay > #action.kill {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-color: #CE5757;
-fx-pref-width: 100px;
-fx-pref-width: 150px;
-fx-pref-height: 25px;
}

View file

@ -15,6 +15,6 @@
<!-- 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="Убить" />
<JFXButton fx:id="copy" defaultButton="true" layoutX="423.0" layoutY="390.0" prefHeight="30.0" prefWidth="100.0" text="Копировать" />
<JFXButton fx:id="action" layoutX="583.0" layoutY="390.0" prefHeight="25.0" prefWidth="100.0" text="Убить" />
</Pane>

View file

@ -1,6 +1,8 @@
/*-- DrLeonardo Design --*/
#holder {
-fx-background-color: #fff;
}
/* Labels */
#holder > #settingsTitle {
-fx-font-size: 14pt;
@ -13,7 +15,7 @@ #holder > #apply{
-fx-text-fill: white;
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-pref-width: 100px;
-fx-pref-width: 150px;
-fx-pref-height: 25px;
}
#holder > #apply:hover,
@ -38,3 +40,4 @@ .separator *.line {
-fx-border-color: transparent;
-fx-border-width: 0 0 10 0;
}
/*-- DrLeonardo Design --*/

View file

@ -13,9 +13,9 @@
<children>
<Pane id="holder" prefHeight="425.0" prefWidth="693.0">
<children>
<JFXScrollPane id="modlist" prefHeight="425.0" prefWidth="693.0">
<JFXScrollPane id="modlist" prefHeight="425.0" prefWidth="694.0">
<content>
<VBox prefHeight="424.0" prefWidth="693.0">
<VBox prefHeight="232.0" prefWidth="689.0">
<children>
</children>
<padding>
@ -24,7 +24,7 @@
</VBox>
</content>
</JFXScrollPane>
<JFXButton fx:id="apply" defaultButton="true" layoutX="580.0" layoutY="388.0" prefHeight="25.0" prefWidth="100.0" text="Применить" />
<JFXButton fx:id="apply" defaultButton="true" layoutX="532.0" layoutY="390.0" prefHeight="25.0" prefWidth="100.0" text="Применить" />
</children>
</Pane>
</children>

View file

@ -1,7 +1,6 @@
var options = {
file: DirBridge.dir.resolve("options.bin"),
/* options and overlay functions */
load: function(profiles) {
LogHelper.debug("Loading options file");
try {
@ -139,11 +138,11 @@ var options = {
textDescr = new javafx.scene.text.Text(modDescription);
if(subLevel > 1) {
for(var i = 1; i < subLevel; i++){
textDescr.setWrappingWidth(370-(25*i));
textDescr.setWrappingWidth(640-(25*i));
textDescr.setTranslateX(25+(25*i));
}
} else {
textDescr.setWrappingWidth(370);
textDescr.setWrappingWidth(640);
textDescr.setTranslateX(25);
}
textDescr.setTextAlignment(javafx.scene.text.TextAlignment.JUSTIFY);

View file

@ -1,4 +1,4 @@
/* Label */
/*-- DrLeonardo Design --*/
#overlay > #description {
-fx-font-size: 12pt;
-fx-text-fill: #fff;
@ -8,3 +8,4 @@ #overlay > #description {
#overlay > #description.error {
-fx-text-fill: red;
}
/*-- DrLeonardo Design --*/

View file

@ -1,22 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXSpinner?>
<?import java.net.URL?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?>
<!-- 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">
<children>
<ImageView id="spinner" fx:id="spinner" fitHeight="161.0" fitWidth="161.0" layoutX="266.0" layoutY="93.0" y="-6.0">
<image>
<Image url="@../../images/icons/loading.gif" />
</image>
</ImageView>
<!-- Description -->
<Label fx:id="description" alignment="CENTER" contentDisplay="CENTER" layoutX="205.0" layoutY="248.0" prefHeight="64.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" />
<JFXSpinner fx:id="spinner" layoutX="313.0" layoutY="178.0" prefHeight="70.0" prefWidth="67.0" />
</children>
<stylesheets>
<URL value="@processing.css" />

View file

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

View file

@ -1,8 +1,11 @@
/*-- DrLeonardo Design --*/
#holder {
-fx-background-color: #fff;
}
#holder > #transferDialog {
-fx-background-color: RGBA(0, 0, 0, 0.1);
-fx-background-color: rgba(0, 0, 0, 0.5);
-fx-pref-width: 694px;
-fx-pref-height: 425px;
}
/* Labels */
#holder > #settingsTitle {
@ -41,37 +44,42 @@ #holder > #ramSlider:pressed > .thumb {
/* Dir options */
#holder > #deleteDir, #cancelTransfer {
-fx-background-color: #CE5757;
-fx-text-fill: white;
-fx-background-radius: 0;
-fx-text-fill: white;
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-color: #CE5757;
-fx-pref-width: 150px;
-fx-pref-height: 25px;
}
#holder > #deleteDir:hover,#cancelTransfer:hover,
#holder > #deleteDir:focused,#cancelTransfer:focused {
-fx-opacity: 0.8;
-fx-background-color: #DB5252;
}
#holder > #changeDir {
-fx-background-color: #B4B4B4;
-fx-text-fill: white;
-fx-background-color: transparent;
-fx-text-fill: #909090;
-fx-background-radius: 0;
}
#holder > #changeDir:hover,
#holder > #changeDir:focused {
-fx-opacity: 0.8;
}
#holder > #changeDir:focused,
#holder > #changeDir:pressed {
-fx-opacity: 0.8;
-fx-font-weight: bold;
}
#holder > #apply,#applyTransfer{
-fx-background-color: #61B373;
-fx-text-fill: #fff;
-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,#applyTransfer:hover,
#holder > #apply:focused,#applyTransfer:focused{
-fx-background-color: #74C085;
}
/*-- DrLeonardo Design --*/

View file

@ -15,48 +15,44 @@
<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" layoutX="1.0" layoutY="-1.0" prefHeight="425.0" prefWidth="693.0">
<Pane id="holder" prefHeight="425.0" prefWidth="694.0">
<children>
<JFXCheckBox fx:id="autoEnter" layoutX="14.0" layoutY="127.0" text="Автовход на сервер" />
<JFXCheckBox fx:id="autoEnter" checkedColor="#61b373" layoutX="14.0" layoutY="127.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" />
<JFXCheckBox fx:id="fullScreen" layoutX="13.0" layoutY="250.0" text="Клиент в полный экран" />
<JFXCheckBox fx:id="fullScreen" checkedColor="#61b373" layoutX="13.0" layoutY="250.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" />
<JFXCheckBox id="debug" layoutX="13.0" layoutY="183.0" text="Режим Отладки" />
<JFXCheckBox id="debug" checkedColor="#61b373" layoutX="13.0" layoutY="183.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" />
<!-- RAM settings -->
<TextFlow layoutX="126.0" layoutY="17.0" prefHeight="16.0" prefWidth="19.0">
<TextFlow layoutX="126.0" layoutY="15.0" prefHeight="16.0" prefWidth="112.0">
<Text fx:id="ramLabel" />
</TextFlow>
<Separator layoutY="112.0" prefHeight="3.0" prefWidth="693.0" />
<!-- RAM settings -->
<!-- Deldir settings -->
<JFXButton fx:id="deleteDir" layoutX="328.0" layoutY="365.0" prefHeight="25.0" prefWidth="245.0" text="Очистить данные игровых клиентов" textAlignment="CENTER" wrapText="true">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXButton>
<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="401.0" prefHeight="25.0" prefWidth="200.0" text="Сменить директорию загрузки" textAlignment="CENTER" wrapText="true" />
<Hyperlink id="dirLabel" alignment="TOP_LEFT" layoutX="199.0" layoutY="402.0" prefHeight="23.0" prefWidth="493.0" text="C:/Users" />
<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" />
<!-- Changedir settings -->
<JFXButton fx:id="apply" defaultButton="true" layoutX="583.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>
<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">
<Pane fx:id="transferDialog" prefHeight="425.0" prefWidth="694.0" visible="false">
<children>
<Text fill="WHITE" layoutX="147.0" layoutY="195.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">
<font>
<Font size="19.0" />
</font>
</Text>
<JFXButton fx:id="applyTransfer" layoutX="178.0" layoutY="226.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="Нет, не нужно." />
<JFXButton fx:id="applyTransfer" layoutX="165.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>
</Pane>

View file

@ -1,28 +1,23 @@
var settingsClass = Java.extend(LauncherSettingsClass.static, {
setDefault: function() {
// Auth settings
settings.login = null;
settings.rsaPassword = null;
settings.profile = 0;
// Client settings
settings.updatesDir = DirBridge.defaultUpdatesDir;
settings.autoEnter = config.autoEnterDefault;
settings.fullScreen = config.fullScreenDefault;
settings.setRAM(config.ramDefault);
// Offline cache
settings.lastDigest = null;
settings.lastProfiles.clear();
settings.lastHDirs.clear();
// Apply CLI params
cliParams.applySettings();
},
setPassword: function(password) {
var encrypted = SecurityHelper.newRSAEncryptCipher(Launcher.getConfig().publicKey).doFinal(IOHelper.encode(password));
//settings.password = encrypted;
return encrypted;
},
@ -43,7 +38,6 @@ var settingsOverlay = {
initOverlay: function() {
settingsOverlay.overlay = loadFXML("dialog/overlay/settings/settings.fxml");
// Lookup autoEnter checkbox
var holder = settingsOverlay.overlay.lookup("#holder");
var autoEnterBox = holder.lookup("#autoEnter");
@ -51,40 +45,34 @@ var settingsOverlay = {
autoEnterBox.selectedProperty()["addListener(javafx.beans.value.ChangeListener)"](
function(o, ov, nv) settings.autoEnter = nv);
// Lookup dir label
settingsOverlay.dirLabel = holder.lookup("#dirLabel");
settingsOverlay.dirLabel.setOnAction(function(event)
app.getHostServices().showDocument(settings.updatesDir.toUri()));
settingsOverlay.updateDirLabel();
// Lokup transferDialog pane
settingsOverlay.transferDialog = holder.lookup("#transferDialog");
settingsOverlay.transferDialog.setVisible(false);
// Lookup change dir button
holder.lookup("#changeDir").setOnAction(function(event) {
var chooser = new javafx.stage.DirectoryChooser();
chooser.setTitle("Сменить директорию загрузок");
chooser.setInitialDirectory(DirBridge.dir.toFile());
// Set new result
var newDir = chooser.showDialog(stage);
if (newDir !== null) {
settingsOverlay.transferCatalogDialog(newDir.toPath());
}
});
// Lookup fullScreen checkbox
var fullScreenBox = holder.lookup("#fullScreen");
fullScreenBox.setSelected(settings.fullScreen);
fullScreenBox.selectedProperty()["addListener(javafx.beans.value.ChangeListener)"](
function(o, ov, nv) settings.fullScreen = nv);
// Lookup RAM label
settingsOverlay.ramLabel = holder.lookup("#ramLabel");
settingsOverlay.updateRAMLabel();
// Lookup RAM slider options
var ramSlider = holder.lookup("#ramSlider");
ramSlider.setMax(JVMHelper.RAM);
ramSlider.setSnapToTicks(true);
@ -99,7 +87,6 @@ var settingsOverlay = {
settingsOverlay.updateRAMLabel();
});
// Lookup delete dir button
var deleteDirButton = holder.lookup("#deleteDir");
deleteDirButton.setOnAction(function(event) {
if (!settingsOverlay.deleteDirPressedAgain) {
@ -108,7 +95,6 @@ var settingsOverlay = {
return;
}
// Delete dir!
settingsOverlay.deleteUpdatesDir();
settingsOverlay.deleteDirPressedAgain = false;
settingsOverlay.count = settingsOverlay.count+1;
@ -124,14 +110,11 @@ var settingsOverlay = {
))));
});
// Lookup debug checkbox
var debugBox = settingsOverlay.overlay.lookup("#debug");
debugBox.setSelected(LogHelper.isDebugEnabled());
debugBox.selectedProperty()["addListener(javafx.beans.value.ChangeListener)"](
function(o, ov, nv) LogHelper.setDebugEnabled(nv));
// Lookup apply settings button
holder.lookup("#apply").setOnAction(function(event) overlay.hide(0, null));
},
@ -145,7 +128,6 @@ var settingsOverlay = {
settingsOverlay.transferDialog.setVisible(false);
});
settingsOverlay.transferDialog.lookup("#applyTransfer").setOnAction(function(event) {
//Здесь могла быть ваша реклама, либо DirBridge.move();
DirBridge.move(newDir);
settings.updatesDir = newDir;
DirBridge.dirUpdates = settings.updatesDir;
@ -177,17 +159,17 @@ var settingsOverlay = {
};
LogHelper.debug("Dir: %s", DirBridge.dir);
var settings = new settingsClass;
/* ====================== CLI PARAMS ===================== */
var cliParams = {
login: null, password: null, profile: -1, autoLogin: false, // Auth
updatesDir: null, autoEnter: null, fullScreen: null, ram: -1, // Client
offline: false, // Offline
login: null, password: null, profile: -1, autoLogin: false,
updatesDir: null, autoEnter: null, fullScreen: null, ram: -1,
offline: false,
init: function(params) {
var named = params.getNamed();
var unnamed = params.getUnnamed();
// Read auth cli params
cliParams.login = named.get("login");
cliParams.password = named.get("password");
var profile = named.get("profile");
@ -196,7 +178,6 @@ var cliParams = {
}
cliParams.autoLogin = unnamed.contains("--autoLogin");
// Read client cli params
var updatesDir = named.get("updatesDir");
if (updatesDir !== null) {
cliParams.updatesDir = IOHelper.toPath(named.get("updatesDir"));
@ -214,7 +195,6 @@ var cliParams = {
cliParams.ram = java.lang.Integer.parseInt(ram);
}
// Read offline cli param
var offline = named.get("offline");
if (offline !== null) {
cliParams.offline = java.lang.Boolean.parseBoolean(offline);
@ -222,7 +202,6 @@ var cliParams = {
},
applySettings: function() {
// Apply auth params
if (cliParams.login !== null) {
settings.login = cliParams.login;
}
@ -233,9 +212,7 @@ var cliParams = {
settings.profile = cliParams.profile;
}
// Apply client params
if (cliParams.updatesDir !== null) {
//settings.updatesDir = cliParams.updatesDir;
}
if (cliParams.autoEnter !== null) {
settings.autoLogin = cliParams.autoEnter;
@ -247,7 +224,6 @@ var cliParams = {
settings.setRAM(cliParams.ram);
}
// Apply offline param
if (cliParams.offline !== null) {
settings.offline = cliParams.offline;
}

View file

@ -1,3 +1,13 @@
/*-- DrLeonardo Design --*/
/* Background */
#overlay {
-fx-background-color: transparent;
-fx-background-size: cover;
-fx-pref-width: 693px;
-fx-pref-height: 425px;
-fx-background-image: url('../../images/background.jpg');
}
#overlay > #utitle {
-fx-alignment: top-left;
}
@ -8,11 +18,13 @@ #overlay > #description {
}
#overlay > #description.error {
-fx-text-fill: red;
-fx-text-fill: #CE5757;
}
.downloadPane {
-fx-background-color: rgba(0, 0, 0, 0.46);
-fx-background-color: rgba(0, 0, 0, 0.3);
-fx-pref-width: 693px;
-fx-pref-height: 425px;
}
/* Progress bar */
@ -42,3 +54,4 @@ .progress-bar > .track {
-fx-background-insets: 0;
-fx-background-radius: 3px;
}
/*-- DrLeonardo Design --*/

View file

@ -1,43 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXProgressBar?>
<?import com.jfoenix.controls.JFXSpinner?>
<?import java.net.URL?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressBar?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<!-- 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>
<ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../images/background.png" />
</image>
</ImageView>
<Pane layoutY="28.0" prefHeight="372.0" prefWidth="600.0" styleClass="downloadPane" />
<ImageView fitHeight="12.0" fitWidth="11.0" layoutX="9.0" layoutY="8.0">
<image>
<Image url="@../../images/icons/logo_small.png" />
</image>
</ImageView>
<Label fx:id="description" layoutX="12.0" layoutY="267.0" prefHeight="98.0" prefWidth="576.0" text="..." textFill="WHITE" />
<ProgressBar fx:id="progress" disable="false" layoutX="-1.0" layoutY="376.0" opacity="1.0" prefHeight="24.0" prefWidth="600.0" progress="1.0" style="" />
<!-- Update controls -->
<Label fx:id="utitle" alignment="TOP_LEFT" layoutX="15.0" layoutY="236.0" prefHeight="30.0" prefWidth="470.0" text="Обновление..." textFill="WHITE">
<Pane prefHeight="425.0" prefWidth="693.0" styleClass="downloadPane">
<children>
<Label fx:id="description" layoutX="14.0" layoutY="302.0" prefHeight="98.0" prefWidth="660.0" text="..." textFill="WHITE" />
<Label fx:id="utitle" alignment="TOP_LEFT" layoutX="59.0" layoutY="269.0" prefHeight="18.0" prefWidth="470.0" text="Обновление..." textFill="WHITE">
<font>
<Font name="System Bold" size="20.0" />
<Font size="13.0" />
</font>
</Label>
<ImageView fitHeight="160.0" fitWidth="160.0" layoutX="219.0" layoutY="70.0" y="-6.0">
<image>
<Image url="@../../images/icons/loading.gif" />
</image>
</ImageView>
<JFXProgressBar fx:id="progress" layoutY="407.0" prefHeight="18.0" prefWidth="693.0" />
<JFXSpinner layoutX="14.0" layoutY="261.0" prefHeight="35.0" prefWidth="32.0" />
</children></Pane>
</children>
<stylesheets>
<URL value="@update.css" />
<URL value="@../../styles.css" />
</stylesheets>
</Pane>

View file

@ -1,11 +1,9 @@
var update = {
overlay: null, title: null, description: null, progress: null,
/* State and overlay functions */
initOverlay: function() {
update.overlay = loadFXML("dialog/overlay/update/update.fxml");
// Lookup nodes
update.title = update.overlay.lookup("#utitle");
update.description = update.overlay.lookup("#description");
update.progress = update.overlay.lookup("#progress");
@ -21,7 +19,6 @@ var update = {
setError: function(e) {
LogHelper.error(e);
// Set error description
update.description.getStyleClass().add("error");
update.description.setText(e.toString());
},
@ -34,17 +31,16 @@ var update = {
var estimatedMM = ((estimatedSeconds % 3600) / 60) | 0;
var estimatedSS = (estimatedSeconds % 60) | 0;
task.updateMessage(java.lang.String.format(
"Файл: %s%n" + // File line
"Загружено (Всего): %.2f / %.2f MiB.%n" + // Total downloaded line
"Файл: %s%n" +
"Загружено (Всего): %.2f / %.2f MiB.%n" +
"%n" +
"Средняя скорость: %.1f Kbps%n" + // Speed line
"Примерно осталось: %d:%02d:%02d%n", // Estimated line
"Средняя скорость: %.1f Kbps%n" +
"Примерно осталось: %d:%02d:%02d%n",
// Formatting
state.filePath, // File path
state.getTotalDownloadedMiB() + /* Fuck nashorn */ 0.0, state.getTotalSizeMiB() + 0.0, // Total downloaded
bps <= 0.0 ? 0.0 : bps / 1024.0, // Speed
estimatedHH, estimatedMM, estimatedSS // Estimated (hh:mm:ss)
state.filePath,
state.getTotalDownloadedMiB() + 0.0, state.getTotalSizeMiB() + 0.0,
bps <= 0.0 ? 0.0 : bps / 1024.0,
estimatedHH, estimatedMM, estimatedSS
));
task.updateProgress(state.totalDownloaded, state.totalSize);
},
@ -77,19 +73,17 @@ function offlineUpdateRequest(dirName, dir, matcher, digest) {
return;
}
// Verify dir with matcher using FunctionalBridge`s API
return FunctionalBridge.offlineUpdateRequest(dir, hdir, matcher, digest).run();
};
}
/* Export functions */
function makeUpdateRequest(dirName, dir, matcher, digest, callback) {
var request = settings.offline ? { setStateCallback: function(stateCallback) { /* Ignored */ } } :
var request = settings.offline ? { setStateCallback: function(stateCallback) { } } :
new UpdateRequest(dirName, dir, matcher, digest);
var task = settings.offline ? newTask(offlineUpdateRequest(dirName, dir, matcher, digest)) :
newRequestTask(request);
// Set task properties and start
update.setTaskProperties(task, request, callback);
task.updateMessage("Состояние: Хеширование");
task.updateProgress(-1, -1);

View file

@ -61,7 +61,7 @@ #back {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #CE5757;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/back.png');
-fx-pref-width: 45px;
@ -71,7 +71,7 @@ #goConsole {
-fx-background-position: center;
-jfx-button-type: FLAT;
-fx-background-repeat: no-repeat;
-fx-background-color: #CE5757;
-fx-background-color: #323232;
-fx-background-radius: 0;
-fx-background-image: url('images/icons/console.png');
-fx-pref-width: 45px;
@ -302,7 +302,7 @@ #serverLabel{
#serverStatus{
-fx-text-fill: #323232;
-fx-pref-width: 60px;
-fx-pref-width: 120px;
-fx-pref-height: 25px;
}