diff --git a/src/main/java/ctbrec/ui/FollowedTab.java b/src/main/java/ctbrec/ui/FollowedTab.java index 9578feb7..40dbe3d6 100644 --- a/src/main/java/ctbrec/ui/FollowedTab.java +++ b/src/main/java/ctbrec/ui/FollowedTab.java @@ -1,20 +1,56 @@ package ctbrec.ui; import javafx.concurrent.WorkerStateEvent; +import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Label; +import javafx.scene.control.RadioButton; +import javafx.scene.control.ToggleGroup; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; +import javafx.scene.layout.HBox; public class FollowedTab extends ThumbOverviewTab { private Label status; + private String onlineUrl; + private String offlineUrl; public FollowedTab(String title, String url) { super(title, url, true); + onlineUrl = url; + offlineUrl = url + "offline/"; + status = new Label("Logging in..."); grid.getChildren().add(status); } + @Override + void createGui() { + super.createGui(); + addOnlineOfflineSelector(); + } + + private void addOnlineOfflineSelector() { + ToggleGroup group = new ToggleGroup(); + RadioButton online = new RadioButton("online"); + online.setToggleGroup(group); + RadioButton offline = new RadioButton("offline"); + offline.setToggleGroup(group); + pagination.getChildren().add(online); + pagination.getChildren().add(offline); + HBox.setMargin(online, new Insets(5,5,5,40)); + HBox.setMargin(offline, new Insets(5,5,5,5)); + online.setSelected(true); + group.selectedToggleProperty().addListener((e) -> { + if(online.isSelected()) { + super.url = onlineUrl; + } else { + super.url = offlineUrl; + } + updateService.restart(); + }); + } + @Override protected void onSuccess() { grid.getChildren().remove(status); diff --git a/src/main/java/ctbrec/ui/ThumbOverviewTab.java b/src/main/java/ctbrec/ui/ThumbOverviewTab.java index 476693d0..e0c35536 100644 --- a/src/main/java/ctbrec/ui/ThumbOverviewTab.java +++ b/src/main/java/ctbrec/ui/ThumbOverviewTab.java @@ -78,6 +78,7 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener { String url; boolean loginRequired; HttpClient client = HttpClient.getInstance(); + HBox pagination; int page = 1; TextField pageInput = new TextField(Integer.toString(page)); Button pagePrev = new Button("◀"); @@ -96,7 +97,7 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener { initializeUpdateService(); } - private void createGui() { + void createGui() { grid.setPadding(new Insets(5)); grid.setHgap(5); grid.setVgap(5); @@ -108,6 +109,7 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener { gridLock.lock(); try { filter(); + moveActiveRecordingsToFront(); } finally { gridLock.unlock(); } @@ -124,7 +126,7 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener { scrollPane.setFitToWidth(true); BorderPane.setMargin(scrollPane, new Insets(5)); - HBox pagination = new HBox(5); + pagination = new HBox(5); pagination.getChildren().add(pagePrev); pagination.getChildren().add(pageNext); pagination.getChildren().add(pageInput);