forked from j62/ctbrec
Add setting to define the start tab
When ctbrec is started, this is the first tab shown to the user.
This commit is contained in:
parent
d1e6a790ba
commit
2202dc969f
|
@ -21,6 +21,7 @@ import com.squareup.moshi.Moshi;
|
||||||
import com.squareup.moshi.Types;
|
import com.squareup.moshi.Types;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
|
import ctbrec.StringUtil;
|
||||||
import ctbrec.Version;
|
import ctbrec.Version;
|
||||||
import ctbrec.io.HttpClient;
|
import ctbrec.io.HttpClient;
|
||||||
import ctbrec.recorder.LocalRecorder;
|
import ctbrec.recorder.LocalRecorder;
|
||||||
|
@ -110,9 +111,6 @@ public class CamrecApplication extends Application {
|
||||||
rootPane.getTabs().add(siteTab);
|
rootPane.getTabs().add(siteTab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
((SiteTab)rootPane.getTabs().get(0)).selected();
|
|
||||||
} catch(ClassCastException | IndexOutOfBoundsException e) {}
|
|
||||||
|
|
||||||
RecordedModelsTab modelsTab = new RecordedModelsTab("Recording", recorder, sites);
|
RecordedModelsTab modelsTab = new RecordedModelsTab("Recording", recorder, sites);
|
||||||
rootPane.getTabs().add(modelsTab);
|
rootPane.getTabs().add(modelsTab);
|
||||||
|
@ -122,6 +120,8 @@ public class CamrecApplication extends Application {
|
||||||
rootPane.getTabs().add(settingsTab);
|
rootPane.getTabs().add(settingsTab);
|
||||||
rootPane.getTabs().add(new DonateTabFx());
|
rootPane.getTabs().add(new DonateTabFx());
|
||||||
|
|
||||||
|
switchToStartTab();
|
||||||
|
|
||||||
primaryStage.getScene().getStylesheets().add("/ctbrec/ui/ThumbCell.css");
|
primaryStage.getScene().getStylesheets().add("/ctbrec/ui/ThumbCell.css");
|
||||||
primaryStage.getScene().widthProperty().addListener((observable, oldVal, newVal) -> Config.getInstance().getSettings().windowWidth = newVal.intValue());
|
primaryStage.getScene().widthProperty().addListener((observable, oldVal, newVal) -> Config.getInstance().getSettings().windowWidth = newVal.intValue());
|
||||||
primaryStage.getScene().heightProperty()
|
primaryStage.getScene().heightProperty()
|
||||||
|
@ -184,6 +184,21 @@ public class CamrecApplication extends Application {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void switchToStartTab() {
|
||||||
|
String startTab = Config.getInstance().getSettings().startTab;
|
||||||
|
if(StringUtil.isNotBlank(startTab)) {
|
||||||
|
for (Tab tab : rootPane.getTabs()) {
|
||||||
|
if(Objects.equals(startTab, tab.getText())) {
|
||||||
|
rootPane.getSelectionModel().select(tab);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(rootPane.getSelectionModel().getSelectedItem() instanceof TabSelectionListener) {
|
||||||
|
((TabSelectionListener)rootPane.getSelectionModel().getSelectedItem()).selected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void createRecorder() {
|
private void createRecorder() {
|
||||||
if (config.getSettings().localRecording) {
|
if (config.getSettings().localRecording) {
|
||||||
recorder = new LocalRecorder(config);
|
recorder = new LocalRecorder(config);
|
||||||
|
|
|
@ -15,6 +15,7 @@ import ctbrec.Config;
|
||||||
import ctbrec.Hmac;
|
import ctbrec.Hmac;
|
||||||
import ctbrec.Settings;
|
import ctbrec.Settings;
|
||||||
import ctbrec.Settings.DirectoryStructure;
|
import ctbrec.Settings.DirectoryStructure;
|
||||||
|
import ctbrec.StringUtil;
|
||||||
import ctbrec.sites.ConfigUI;
|
import ctbrec.sites.ConfigUI;
|
||||||
import ctbrec.sites.Site;
|
import ctbrec.sites.Site;
|
||||||
import javafx.beans.value.ChangeListener;
|
import javafx.beans.value.ChangeListener;
|
||||||
|
@ -75,6 +76,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
private ComboBox<Integer> maxResolution;
|
private ComboBox<Integer> maxResolution;
|
||||||
private ComboBox<SplitAfterOption> splitAfter;
|
private ComboBox<SplitAfterOption> splitAfter;
|
||||||
private ComboBox<DirectoryStructure> directoryStructure;
|
private ComboBox<DirectoryStructure> directoryStructure;
|
||||||
|
private ComboBox<String> startTab;
|
||||||
private List<Site> sites;
|
private List<Site> sites;
|
||||||
private Label restartLabel;
|
private Label restartLabel;
|
||||||
private Accordion credentialsAccordion = new Accordion();
|
private Accordion credentialsAccordion = new Accordion();
|
||||||
|
@ -373,7 +375,17 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
splitAfter.setOnAction((e) -> Config.getInstance().getSettings().splitRecordings = splitAfter.getSelectionModel().getSelectedItem().getValue());
|
splitAfter.setOnAction((e) -> Config.getInstance().getSettings().splitRecordings = splitAfter.getSelectionModel().getSelectedItem().getValue());
|
||||||
GridPane.setMargin(l, new Insets(0, 0, 0, 0));
|
GridPane.setMargin(l, new Insets(0, 0, 0, 0));
|
||||||
GridPane.setMargin(splitAfter, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
GridPane.setMargin(splitAfter, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
||||||
maxResolution.prefWidthProperty().bind(splitAfter.widthProperty());
|
|
||||||
|
l = new Label("Start Tab");
|
||||||
|
layout.add(l, 0, row);
|
||||||
|
startTab = new ComboBox<>();
|
||||||
|
layout.add(startTab, 1, row++);
|
||||||
|
startTab.setOnAction((e) -> Config.getInstance().getSettings().startTab = startTab.getSelectionModel().getSelectedItem());
|
||||||
|
GridPane.setMargin(l, new Insets(0, 0, 0, 0));
|
||||||
|
GridPane.setMargin(startTab, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
||||||
|
|
||||||
|
splitAfter.prefWidthProperty().bind(startTab.widthProperty());
|
||||||
|
maxResolution.prefWidthProperty().bind(startTab.widthProperty());
|
||||||
|
|
||||||
TitledPane general = new TitledPane("General", layout);
|
TitledPane general = new TitledPane("General", layout);
|
||||||
general.setCollapsible(false);
|
general.setCollapsible(false);
|
||||||
|
@ -589,6 +601,14 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void selected() {
|
public void selected() {
|
||||||
|
startTab.getItems().clear();
|
||||||
|
for(Tab tab : getTabPane().getTabs()) {
|
||||||
|
startTab.getItems().add(tab.getText());
|
||||||
|
}
|
||||||
|
String startTabName = Config.getInstance().getSettings().startTab;
|
||||||
|
if(StringUtil.isNotBlank(startTabName)) {
|
||||||
|
startTab.getSelectionModel().select(startTabName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class Settings {
|
||||||
public String proxyPort;
|
public String proxyPort;
|
||||||
public String proxyUser;
|
public String proxyUser;
|
||||||
public String proxyPassword;
|
public String proxyPassword;
|
||||||
|
public String startTab = "Settings";
|
||||||
public int thumbWidth = 180;
|
public int thumbWidth = 180;
|
||||||
public boolean updateThumbnails = true;
|
public boolean updateThumbnails = true;
|
||||||
public int windowWidth = 1340;
|
public int windowWidth = 1340;
|
||||||
|
|
Loading…
Reference in New Issue