Start documentation server on demand instead of the start of the app

This commit is contained in:
0xb00bface 2021-01-23 17:25:39 +01:00
parent ce4a8fe24e
commit bab8392430
3 changed files with 17 additions and 15 deletions

View File

@ -26,6 +26,7 @@ public class DocServer {
return;
}
started = true;
server = new Server();
HttpConfiguration config = new HttpConfiguration();
@ -55,7 +56,6 @@ public class DocServer {
try {
server.start();
started = true;
server.join();
} catch (BindException e) {
LOG.error("Port {} is already in use", http.getPort(), e);

View File

@ -32,7 +32,6 @@ import ctbrec.Config;
import ctbrec.Model;
import ctbrec.StringUtil;
import ctbrec.Version;
import ctbrec.docs.DocServer;
import ctbrec.event.Event;
import ctbrec.event.EventBusHolder;
import ctbrec.event.EventHandler;
@ -134,7 +133,6 @@ public class CamrecApplication extends Application {
startOnlineMonitor();
createGui(primaryStage);
checkForUpdates();
startHelpServer();
registerClipboardListener();
}
@ -160,16 +158,6 @@ public class CamrecApplication extends Application {
}
}
private void startHelpServer() {
new Thread(() -> {
try {
DocServer.start();
} catch (Exception e) {
LOG.error("Couldn't start documentation server", e);
}
}).start();
}
private void startOnlineMonitor() {
for (Site site : sites) {
if(site.isEnabled()) {

View File

@ -1,5 +1,9 @@
package ctbrec.ui.tabs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ctbrec.docs.DocServer;
import ctbrec.ui.DesktopIntegration;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
@ -8,16 +12,26 @@ import javafx.scene.layout.BorderPane;
public class HelpTab extends Tab {
private static final Logger LOG = LoggerFactory.getLogger(HelpTab.class);
public HelpTab() {
setClosable(true);
setText("Help");
Button openHelp = new Button("Open Help");
openHelp.setPadding(new Insets(20));
BorderPane layout = new BorderPane(openHelp);
BorderPane.setMargin(openHelp, new Insets(20));
setContent(layout);
openHelp.setOnAction(e -> DesktopIntegration.open("http://localhost:5689/docs/index.md"));
openHelp.setOnAction(e -> {
new Thread(() -> {
try {
DocServer.start();
} catch (Exception ex) {
LOG.error("Couldn't start documentation server", ex);
}
}).start();
DesktopIntegration.open("http://localhost:5689/docs/index.md");
});
}
}