Open config dir from Settings->Help
This commit is contained in:
parent
91b1572672
commit
e1c3cf9e72
|
@ -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,14 +29,19 @@ 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();
|
||||||
|
|
||||||
|
@ -73,8 +80,31 @@ 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() {
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue