mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2024-12-27 07:10:41 +08:00
Add a button to open log directory
This commit is contained in:
parent
6c74364fa5
commit
8905f2e855
28
.github/ISSUE_TEMPLATE.md
vendored
Normal file
28
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# 公告
|
||||||
|
|
||||||
|
提交前请确保你的启动器版本是**最新的开发版**,可以在启动器设置中更换更新通道至开发版获取更新。
|
||||||
|
|
||||||
|
**如果你在阅读完本公告后仍然希望在此处发布 issue,请将公告内容删去,并按照下面的模板填入相关信息。**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
我们发现,对于不经常检查邮箱的人来说,GitHub issues 的反馈效率太低,时隔几个小时甚至一天的情况很多。为了改善反馈效率,并将积极为 HMCL 提供问题反馈和建议的人聚集起来,我们希望在这里反馈的人可以在 HMCL 3 用户 QQ 群:219177735 中反馈信息,**而不在 GitHub Issues 中反馈问题**。
|
||||||
|
|
||||||
|
如果你希望在 QQ 群中反馈问题,也请将下面的信息表填好直接发在群中,加快我们的沟通速度。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 问题提交
|
||||||
|
|
||||||
|
*完整地填下面的问题提交表对我们很重要,这可以加快我们分析问题原因的速度。*
|
||||||
|
|
||||||
|
* 启动器版本:
|
||||||
|
* 操作系统:
|
||||||
|
* Java 版本:
|
||||||
|
* 错误截图(最好请将整个电脑屏幕的截图发上来):
|
||||||
|
* 游戏版本(如果是启动通过启动器自带的自动安装功能安装的游戏):
|
||||||
|
* 对游戏做的修改(是否自行通过安装器安装 Rift 等 API,以及 mod):
|
||||||
|
* 游戏崩溃报告(如果有):
|
||||||
|
* 启动器崩溃报告(如果有):
|
||||||
|
* 启动器日志文件(在启动器设置中打开日志文件夹并将文件夹内所有文件打包发在这里):
|
||||||
|
* 问题描述(如何触发问题):
|
@ -28,6 +28,7 @@ import javafx.beans.property.*;
|
|||||||
import javafx.scene.control.ToggleGroup;
|
import javafx.scene.control.ToggleGroup;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
|
import org.jackhuang.hmcl.Launcher;
|
||||||
import org.jackhuang.hmcl.Metadata;
|
import org.jackhuang.hmcl.Metadata;
|
||||||
import org.jackhuang.hmcl.setting.*;
|
import org.jackhuang.hmcl.setting.*;
|
||||||
import org.jackhuang.hmcl.ui.construct.Validator;
|
import org.jackhuang.hmcl.ui.construct.Validator;
|
||||||
@ -200,6 +201,11 @@ public final class SettingsPage extends SettingsView implements DecoratorPage {
|
|||||||
UpdateHandler.updateFrom(target);
|
UpdateHandler.updateFrom(target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onOpenLogFolder() {
|
||||||
|
FXUtils.openFolder(Launcher.LOG_DIRECTORY);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onHelp() {
|
protected void onHelp() {
|
||||||
FXUtils.openLink(Metadata.HELP_URL);
|
FXUtils.openLink(Metadata.HELP_URL);
|
||||||
|
@ -333,34 +333,49 @@ public abstract class SettingsView extends StackPane {
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
VBox fontPane = new VBox();
|
ComponentSublist logPane = new ComponentSublist();
|
||||||
fontPane.setSpacing(5);
|
logPane.setTitle(i18n("settings.launcher.log"));
|
||||||
settingsPane.getContent().add(fontPane);
|
|
||||||
|
|
||||||
{
|
{
|
||||||
BorderPane borderPane = new BorderPane();
|
JFXButton logButton = new JFXButton(i18n("settings.launcher.log.dir"));
|
||||||
fontPane.getChildren().add(borderPane);
|
logButton.setOnMouseClicked(e -> onOpenLogFolder());
|
||||||
{
|
logButton.getStyleClass().setAll("jfx-button-border");
|
||||||
Label left = new Label(i18n("settings.launcher.log_font"));
|
|
||||||
BorderPane.setAlignment(left, Pos.CENTER_LEFT);
|
|
||||||
borderPane.setLeft(left);
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
logPane.setHeaderRight(logButton);
|
||||||
HBox hBox = new HBox();
|
|
||||||
hBox.setSpacing(3);
|
|
||||||
|
|
||||||
cboFont = new FontComboBox(12, false);
|
|
||||||
txtFontSize = new JFXTextField();
|
|
||||||
FXUtils.setLimitWidth(txtFontSize, 50);
|
|
||||||
hBox.getChildren().setAll(cboFont, txtFontSize);
|
|
||||||
|
|
||||||
borderPane.setRight(hBox);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lblDisplay = new Label("[23:33:33] [Client Thread/INFO] [WaterPower]: Loaded mod WaterPower.");
|
{
|
||||||
fontPane.getChildren().add(lblDisplay);
|
VBox fontPane = new VBox();
|
||||||
|
fontPane.setSpacing(5);
|
||||||
|
|
||||||
|
{
|
||||||
|
BorderPane borderPane = new BorderPane();
|
||||||
|
fontPane.getChildren().add(borderPane);
|
||||||
|
{
|
||||||
|
Label left = new Label(i18n("settings.launcher.log.font"));
|
||||||
|
BorderPane.setAlignment(left, Pos.CENTER_LEFT);
|
||||||
|
borderPane.setLeft(left);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
HBox hBox = new HBox();
|
||||||
|
hBox.setSpacing(3);
|
||||||
|
|
||||||
|
cboFont = new FontComboBox(12, false);
|
||||||
|
txtFontSize = new JFXTextField();
|
||||||
|
FXUtils.setLimitWidth(txtFontSize, 50);
|
||||||
|
hBox.getChildren().setAll(cboFont, txtFontSize);
|
||||||
|
|
||||||
|
borderPane.setRight(hBox);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lblDisplay = new Label("[23:33:33] [Client Thread/INFO] [WaterPower]: Loaded mod WaterPower.");
|
||||||
|
fontPane.getChildren().add(lblDisplay);
|
||||||
|
|
||||||
|
logPane.getContent().add(fontPane);
|
||||||
|
}
|
||||||
|
settingsPane.getContent().add(logPane);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -477,4 +492,5 @@ public abstract class SettingsView extends StackPane {
|
|||||||
|
|
||||||
protected abstract void onUpdate();
|
protected abstract void onUpdate();
|
||||||
protected abstract void onHelp();
|
protected abstract void onHelp();
|
||||||
|
protected abstract void onOpenLogFolder();
|
||||||
}
|
}
|
||||||
|
@ -88,11 +88,16 @@ class ComponentListCell extends StackPane {
|
|||||||
VBox labelVBox = new VBox();
|
VBox labelVBox = new VBox();
|
||||||
labelVBox.setAlignment(Pos.CENTER_LEFT);
|
labelVBox.setAlignment(Pos.CENTER_LEFT);
|
||||||
|
|
||||||
|
boolean overrideHeaderLeft = false;
|
||||||
if (list instanceof ComponentSublist) {
|
if (list instanceof ComponentSublist) {
|
||||||
Node leftNode = ((ComponentSublist) list).getHeaderLeft();
|
Node leftNode = ((ComponentSublist) list).getHeaderLeft();
|
||||||
if (leftNode != null)
|
if (leftNode != null) {
|
||||||
labelVBox.getChildren().setAll(leftNode);
|
labelVBox.getChildren().setAll(leftNode);
|
||||||
} else {
|
overrideHeaderLeft = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!overrideHeaderLeft) {
|
||||||
Label label = new Label();
|
Label label = new Label();
|
||||||
label.textProperty().bind(list.titleProperty());
|
label.textProperty().bind(list.titleProperty());
|
||||||
labelVBox.getChildren().add(label);
|
labelVBox.getChildren().add(label);
|
||||||
@ -108,6 +113,7 @@ class ComponentListCell extends StackPane {
|
|||||||
groupNode.setLeft(labelVBox);
|
groupNode.setLeft(labelVBox);
|
||||||
|
|
||||||
HBox right = new HBox();
|
HBox right = new HBox();
|
||||||
|
right.setSpacing(16);
|
||||||
right.setAlignment(Pos.CENTER_RIGHT);
|
right.setAlignment(Pos.CENTER_RIGHT);
|
||||||
if (list instanceof ComponentSublist) {
|
if (list instanceof ComponentSublist) {
|
||||||
Node rightNode = ((ComponentSublist) list).getHeaderRight();
|
Node rightNode = ((ComponentSublist) list).getHeaderRight();
|
||||||
|
@ -546,7 +546,7 @@
|
|||||||
.jfx-button-raised {
|
.jfx-button-raised {
|
||||||
-fx-text-fill: white;
|
-fx-text-fill: white;
|
||||||
-fx-background-color: -fx-base-color;
|
-fx-background-color: -fx-base-color;
|
||||||
-fx-font-size:14px;
|
-fx-font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.jfx-button-raised .jfx-rippler {
|
.jfx-button-raised .jfx-rippler {
|
||||||
@ -558,6 +558,22 @@
|
|||||||
-fx-font-size: 14px;
|
-fx-font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.jfx-button-border {
|
||||||
|
-fx-text-fill: -fx-base-color;
|
||||||
|
-fx-border-color: gray;
|
||||||
|
-fx-border-radius: 5px;
|
||||||
|
-fx-border-width: 0.2px;
|
||||||
|
-fx-padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.jfx-button-border .jfx-rippler {
|
||||||
|
-jfx-rippler-fill: -fx-base-check-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.jfx-button-border .label {
|
||||||
|
-fx-text-fill: -fx-base-color;
|
||||||
|
}
|
||||||
|
|
||||||
.jfx-button-raised-round {
|
.jfx-button-raised-round {
|
||||||
-fx-background-color: -fx-base-color;
|
-fx-background-color: -fx-base-color;
|
||||||
-fx-background-radius: 50px;
|
-fx-background-radius: 50px;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<BorderPane><left><Label text="%archive.version"/></left><right><Label fx:id="lblVersion" /></right></BorderPane>
|
<BorderPane><left><Label text="%archive.version"/></left><right><Label fx:id="lblVersion" /></right></BorderPane>
|
||||||
<BorderPane><left><Label text="%archive.author"/></left><right><Label fx:id="lblAuthor" /></right></BorderPane>
|
<BorderPane><left><Label text="%archive.author"/></left><right><Label fx:id="lblAuthor" /></right></BorderPane>
|
||||||
<BorderPane>
|
<BorderPane>
|
||||||
<left><JFXButton fx:id="btnDescription" onMouseClicked="#onDescribe" text="%modpack.wizard.step.3" styleClass="jfx-button" /></left>
|
<left><JFXButton fx:id="btnDescription" onMouseClicked="#onDescribe" text="%modpack.wizard.step.3" styleClass="jfx-button-border" /></left>
|
||||||
<right><JFXButton buttonType="RAISED" fx:id="btnInstall" onMouseClicked="#onInstall" text="%button.install" styleClass="jfx-button-raised" /></right>
|
<right><JFXButton buttonType="RAISED" fx:id="btnInstall" onMouseClicked="#onInstall" text="%button.install" styleClass="jfx-button-raised" /></right>
|
||||||
</BorderPane>
|
</BorderPane>
|
||||||
</ComponentList>
|
</ComponentList>
|
||||||
|
@ -327,7 +327,9 @@ settings.launcher.common_path.tooltip=This app will save all game libraries and
|
|||||||
settings.launcher.download_source=Download Source
|
settings.launcher.download_source=Download Source
|
||||||
settings.launcher.enable_game_list=Display game list in main page
|
settings.launcher.enable_game_list=Display game list in main page
|
||||||
settings.launcher.language=Language
|
settings.launcher.language=Language
|
||||||
settings.launcher.log_font=Log Font
|
settings.launcher.log=Log
|
||||||
|
settings.launcher.log.font=Log Font
|
||||||
|
settings.launcher.log.dir=Open Log Directory
|
||||||
settings.launcher.proxy=Proxy
|
settings.launcher.proxy=Proxy
|
||||||
settings.launcher.proxy.authentication=Proxy Authentication
|
settings.launcher.proxy.authentication=Proxy Authentication
|
||||||
settings.launcher.proxy.disable=Use system proxies
|
settings.launcher.proxy.disable=Use system proxies
|
||||||
|
@ -327,7 +327,9 @@ settings.launcher.common_path.tooltip=啟動器將所有遊戲資源及依賴庫
|
|||||||
settings.launcher.download_source=下載來源
|
settings.launcher.download_source=下載來源
|
||||||
settings.launcher.enable_game_list=在首頁內顯示遊戲列表
|
settings.launcher.enable_game_list=在首頁內顯示遊戲列表
|
||||||
settings.launcher.language=語言
|
settings.launcher.language=語言
|
||||||
settings.launcher.log_font=記錄字體
|
settings.launcher.log=記錄
|
||||||
|
settings.launcher.log.font=記錄字體
|
||||||
|
settings.launcher.log.dir=打開記錄資料夾
|
||||||
settings.launcher.proxy=代理
|
settings.launcher.proxy=代理
|
||||||
settings.launcher.proxy.authentication=身份驗證
|
settings.launcher.proxy.authentication=身份驗證
|
||||||
settings.launcher.proxy.disable=使用系統代理
|
settings.launcher.proxy.disable=使用系統代理
|
||||||
|
@ -327,7 +327,9 @@ settings.launcher.common_path.tooltip=启动器将所有游戏资源及依赖库
|
|||||||
settings.launcher.download_source=下载源
|
settings.launcher.download_source=下载源
|
||||||
settings.launcher.enable_game_list=在主页内显示游戏列表
|
settings.launcher.enable_game_list=在主页内显示游戏列表
|
||||||
settings.launcher.language=语言
|
settings.launcher.language=语言
|
||||||
settings.launcher.log_font=日志字体
|
settings.launcher.log=日志
|
||||||
|
settings.launcher.log.font=日志字体
|
||||||
|
settings.launcher.log.dir=打开日志文件夹
|
||||||
settings.launcher.proxy=代理
|
settings.launcher.proxy=代理
|
||||||
settings.launcher.proxy.authentication=身份验证
|
settings.launcher.proxy.authentication=身份验证
|
||||||
settings.launcher.proxy.disable=使用系统代理
|
settings.launcher.proxy.disable=使用系统代理
|
||||||
|
Loading…
Reference in New Issue
Block a user