From d86c73ade0c5007f1b4b1e79885bb45093fb758e Mon Sep 17 00:00:00 2001 From: Voomra Date: Thu, 27 Feb 2025 16:32:10 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=BC=D0=B5=D0=BD=D1=8E=20"=D0=BA?= =?UTF-8?q?=D0=B0=D0=BA=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=D1=81=D1=8F"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ss14/extractor/gui/MainController.java | 50 +++++++++++++++++++ src/main/resources/view/main.fxml | 2 + 2 files changed, 52 insertions(+) diff --git a/src/main/java/ru/di9/ss14/extractor/gui/MainController.java b/src/main/java/ru/di9/ss14/extractor/gui/MainController.java index d4b9308..a2cc683 100644 --- a/src/main/java/ru/di9/ss14/extractor/gui/MainController.java +++ b/src/main/java/ru/di9/ss14/extractor/gui/MainController.java @@ -7,6 +7,8 @@ import javafx.fxml.Initializable; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.*; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.Priority; import javafx.stage.*; import lombok.Setter; import ru.di9.ss14.extractor.ContentDbManager; @@ -113,6 +115,54 @@ public class MainController implements Initializable { alert.showAndWait(); } + public void onClickHelpMenu() { + Alert alert = new Alert(Alert.AlertType.INFORMATION); + alert.setTitle("Справка"); + alert.setHeaderText("Как пользоваться программой?"); + + TextArea textArea = new TextArea(""" + В начале необходимо открыть файл базы данных контента "Space Station 14 Launcher". + + 1. Откройте меню "Файл" -> "Открыть" + 2. Выберите файл базы данных "лаунчера". + Для Windows, файл находиться по одному из следующих путей: + - %LOCALAPPDATA%\\Space Station 14\\launcher\\content.db + - C:\\Users\\\\AppData\\Local\\Space Station 14\\launcher\\content.db + + После загрузки появится список, состоящий из HEX последовательностей. Каждая из этих последовательностей - + это контент сервера, на который вы когда-либо заходили через "лаунчер". + К сожалению, в данной версии программы не встроен механизм, позволяющий "дешифровать" данные последовательности, + а потому вам придётся экспериментально выяснять, какая из представленных HEX последовательностей является + искомым сервером. + + Раскрытие списка HEX последовательности загружает информацию о контенте выбранного сервера. + + После этого, вы можете либо выгрузить конкретный файл (контент), либо выгрузить папку целиком. + Для этого нажмите на нужном элементе Правой Кнопкой Мыши (ПКМ) и выберите единственный пункт "Сохранить". + + Так же, после раскрытия HEX последовательности, вы можете нажать ПКМ на неё и выгрузить весь контент по + выбранному серверу. + """); + + textArea.setEditable(false); + textArea.setWrapText(true); + + textArea.setMaxWidth(Double.MAX_VALUE); + textArea.setMaxHeight(Double.MAX_VALUE); + + GridPane.setVgrow(textArea, Priority.ALWAYS); + GridPane.setHgrow(textArea, Priority.ALWAYS); + + GridPane expContent = new GridPane(); + expContent.setMaxWidth(Double.MAX_VALUE); + expContent.add(textArea, 0, 0); + + alert.getDialogPane().setExpandableContent(expContent); + alert.getDialogPane().setExpanded(true); + + alert.showAndWait(); + } + private void createTreeItems(TreeItem parentItem, SortedSet sortedSet) { sortedSet.forEach(contentRec -> { var fileItem = new TreeItemExt<>( diff --git a/src/main/resources/view/main.fxml b/src/main/resources/view/main.fxml index 5ceda33..31990d3 100644 --- a/src/main/resources/view/main.fxml +++ b/src/main/resources/view/main.fxml @@ -12,6 +12,8 @@ + +