Open config dir from Settings->Help
This commit is contained in:
parent
fc70e65c37
commit
07f4e21c9b
|
@ -333,7 +333,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
"Use hlsdl to record the live streams. Some features might not work correctly."),
|
"Use hlsdl to record the live streams. Some features might not work correctly."),
|
||||||
Setting.of("hlsdl executable", hlsdlExecutable, "Path to the hlsdl executable"),
|
Setting.of("hlsdl executable", hlsdlExecutable, "Path to the hlsdl executable"),
|
||||||
Setting.of("Log hlsdl output", loghlsdlOutput, "Log hlsdl output to files in the system's temp directory"))),
|
Setting.of("Log hlsdl output", loghlsdlOutput, "Log hlsdl output to files in the system's temp directory"))),
|
||||||
Category.of("Help", (new HelpTab()).getContent()),
|
Category.of("Help/Cfg/Log", (new HelpTab()).getContent()),
|
||||||
Category.of("Donate", (new DonateTabFx()).getContent()));
|
Category.of("Donate", (new DonateTabFx()).getContent()));
|
||||||
Region preferencesView = prefs.getView();
|
Region preferencesView = prefs.getView();
|
||||||
prefs.onRestartRequired(this::showRestartRequired);
|
prefs.onRestartRequired(this::showRestartRequired);
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package ctbrec.ui.tabs;
|
package ctbrec.ui.tabs;
|
||||||
|
|
||||||
|
import ctbrec.Config;
|
||||||
|
import ctbrec.OS;
|
||||||
import ctbrec.docs.DocServer;
|
import ctbrec.docs.DocServer;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
|
@ -27,15 +29,20 @@ public class HelpTab extends Tab {
|
||||||
|
|
||||||
Button openHelp = new Button("Open Help");
|
Button openHelp = new Button("Open Help");
|
||||||
Button openLog = new Button("Open Log File");
|
Button openLog = new Button("Open Log File");
|
||||||
|
Button openCfg = new Button("Open config dir");
|
||||||
openHelp.setPadding(new Insets(20));
|
openHelp.setPadding(new Insets(20));
|
||||||
openLog.setPadding(new Insets(20));
|
openLog.setPadding(new Insets(20));
|
||||||
Label logFilePathLabel = new Label("Log: " + new File("ctbrec.log").getAbsolutePath());
|
openCfg.setPadding(new Insets(20));
|
||||||
|
Label logFilePathLabel = new Label("Log file: " + new File("ctbrec.log").getAbsolutePath());
|
||||||
|
File cfgDir = Config.getInstance().getConfigDir();
|
||||||
|
String path = (cfgDir != null) ? cfgDir.getAbsolutePath() : "Unknown";
|
||||||
|
Label configPathLabel = new Label("Config dir: " + path);
|
||||||
|
|
||||||
VBox vbox = new VBox();
|
VBox vbox = new VBox();
|
||||||
vbox.setAlignment(Pos.CENTER); // Center align the buttons
|
vbox.setAlignment(Pos.CENTER); // Center align the buttons
|
||||||
vbox.setSpacing(20); // Set a 20 pixel gap between the buttons
|
vbox.setSpacing(20); // Set a 20 pixel gap between the buttons
|
||||||
vbox.getChildren().addAll(openHelp, openLog, logFilePathLabel);
|
vbox.getChildren().addAll(openHelp, openCfg, configPathLabel, openLog, logFilePathLabel);
|
||||||
|
|
||||||
BorderPane layout = new BorderPane();
|
BorderPane layout = new BorderPane();
|
||||||
|
|
||||||
// Add the VBox to the center region of the BorderPane
|
// Add the VBox to the center region of the BorderPane
|
||||||
|
@ -73,6 +80,29 @@ public class HelpTab extends Tab {
|
||||||
log.warn("Log file doesn't exist: {}", logFile.getAbsolutePath());
|
log.warn("Log file doesn't exist: {}", logFile.getAbsolutePath());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
openCfg.setOnAction(e -> {
|
||||||
|
File configDir = Config.getInstance().getConfigDir();
|
||||||
|
if (configDir.exists()) {
|
||||||
|
try {
|
||||||
|
// Use Runtime.getRuntime().exec() to open the file in a separate process
|
||||||
|
String osName = System.getProperty("os.name").toLowerCase();
|
||||||
|
ProcessBuilder pb = null;
|
||||||
|
if (osName.contains("mac")) {
|
||||||
|
pb = new ProcessBuilder("open", configDir.getAbsolutePath());
|
||||||
|
} else if (osName.contains("win")) {
|
||||||
|
pb = new ProcessBuilder("explorer.exe", configDir.getAbsolutePath());
|
||||||
|
} else { // Assume it's a Unix/Linux system
|
||||||
|
pb = new ProcessBuilder("xdg-open", configDir.getAbsolutePath());
|
||||||
|
}
|
||||||
|
pb.start();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
log.error("Couldn't open config dir", ex);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.warn("Config dir doesn't exist: {}", configDir.getAbsolutePath());
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startDocumentationServer() {
|
private void startDocumentationServer() {
|
||||||
|
|
Loading…
Reference in New Issue