From 3f6c9be000f73bfee0c31966689060a84cec4e30 Mon Sep 17 00:00:00 2001 From: gekoramy Date: Tue, 28 Aug 2018 19:34:43 +0200 Subject: [PATCH 1/4] Replace GridPane with VBox and HBox --- .../quiz/app/preview/PreviewPresenter.java | 3 + .../github/quiz/app/preview/preview.fxml | 128 ++++++++---------- 2 files changed, 61 insertions(+), 70 deletions(-) diff --git a/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java b/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java index 6760b17..35e6220 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java +++ b/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java @@ -92,6 +92,9 @@ public void initialize(URL location, ResourceBundle resources) { progress.progressProperty().bind(examStarter.getQuestionPool().progressProperty()); + btnRefresh.managedProperty().bindBidirectional(btnRefresh.visibleProperty()); + btnDownload.managedProperty().bindBidirectional(btnDownload.visibleProperty()); + updateAvailable.valueProperty().addListener((value, oldValue, newValue) -> { if (newValue != null && newValue) { btnDownload.visibleProperty().set(true); diff --git a/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml b/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml index ebbcac7..2ee8615 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml +++ b/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml @@ -13,76 +13,64 @@ progress="1"/> - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + From c38151d5da803a0a1514350c8540747e7cb0d0eb Mon Sep 17 00:00:00 2001 From: gekoramy Date: Tue, 28 Aug 2018 19:38:37 +0200 Subject: [PATCH 2/4] Replace GridPane with VBox and HBox --- .../github/quiz/app/download/download.fxml | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/main/java/me/gekoramy/github/quiz/app/download/download.fxml b/src/main/java/me/gekoramy/github/quiz/app/download/download.fxml index caf4de2..1904069 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/download/download.fxml +++ b/src/main/java/me/gekoramy/github/quiz/app/download/download.fxml @@ -5,30 +5,22 @@ - + - + - - - - - - - - - + - - - - + From e054ace2bfde1c6766c6af69c9e27cefb4ce0823 Mon Sep 17 00:00:00 2001 From: gekoramy Date: Tue, 28 Aug 2018 19:40:29 +0200 Subject: [PATCH 3/4] Let user change the width of Download and Preview stages --- src/main/java/me/gekoramy/github/quiz/app/AppDownload.java | 4 ++-- src/main/java/me/gekoramy/github/quiz/app/AppPreview.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/me/gekoramy/github/quiz/app/AppDownload.java b/src/main/java/me/gekoramy/github/quiz/app/AppDownload.java index e0bb302..4a47969 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/AppDownload.java +++ b/src/main/java/me/gekoramy/github/quiz/app/AppDownload.java @@ -33,9 +33,9 @@ public void start(Stage stage) { Injector.setConfigurationSource(customProperties::get); DownloadView appView = new DownloadView(); Scene scene = new Scene(appView.getView()); - stage.setHeight(150.0); + stage.setMinHeight(150.0); + stage.setMaxHeight(150.0); stage.setTitle("Download"); - stage.setResizable(false); stage.setScene(scene); stage.show(); } diff --git a/src/main/java/me/gekoramy/github/quiz/app/AppPreview.java b/src/main/java/me/gekoramy/github/quiz/app/AppPreview.java index d302324..86efc13 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/AppPreview.java +++ b/src/main/java/me/gekoramy/github/quiz/app/AppPreview.java @@ -38,10 +38,10 @@ public void start(Stage stage) { PreviewView appView = new PreviewView(); Scene scene = new Scene(appView.getView()); ((PreviewPresenter) appView.getPresenter()).setAccelerators(scene); - stage.setHeight(150.0); + stage.setMinHeight(150.0); + stage.setMaxHeight(150.0); stage.setTitle("Preview"); stage.setScene(scene); - stage.setResizable(false); stage.show(); } From 97f5346d6805feddc35e5a984d15215265f826fa Mon Sep 17 00:00:00 2001 From: gekoramy Date: Tue, 28 Aug 2018 19:49:19 +0200 Subject: [PATCH 4/4] Add the ability to shuffle --- .../github/quiz/app/preview/PreviewPresenter.java | 7 +++++++ .../me/gekoramy/github/quiz/app/preview/preview.fxml | 10 ++++++++++ .../me/gekoramy/github/quiz/service/ExamStarter.java | 4 ++++ src/main/java/me/gekoramy/github/quiz/util/Pool.java | 5 ++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java b/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java index 35e6220..28382a4 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java +++ b/src/main/java/me/gekoramy/github/quiz/app/preview/PreviewPresenter.java @@ -50,6 +50,8 @@ public class PreviewPresenter implements Initializable { @FXML private Hyperlink btnRefresh; @FXML + private Hyperlink btnShuffle; + @FXML private Hyperlink btnDownload; @FXML private Hyperlink btnStart; @@ -111,6 +113,7 @@ public void initialize(URL location, ResourceBundle resources) { btnStore.setOnAction(e -> onStore()); btnDownload.setOnAction(e -> onDownload()); btnRefresh.setOnAction(e -> onRefresh()); + btnShuffle.setOnAction(e -> onShuffle()); btnStart.setOnAction(e -> onStart()); } @@ -183,4 +186,8 @@ private void onRefresh() { } } } + + private void onShuffle() { + examStarter.shuffle(); + } } diff --git a/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml b/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml index 2ee8615..f96cd06 100755 --- a/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml +++ b/src/main/java/me/gekoramy/github/quiz/app/preview/preview.fxml @@ -51,6 +51,16 @@ + + + + + + + + diff --git a/src/main/java/me/gekoramy/github/quiz/service/ExamStarter.java b/src/main/java/me/gekoramy/github/quiz/service/ExamStarter.java index fea628d..0064cb3 100755 --- a/src/main/java/me/gekoramy/github/quiz/service/ExamStarter.java +++ b/src/main/java/me/gekoramy/github/quiz/service/ExamStarter.java @@ -47,4 +47,8 @@ protected Void call() { } }; } + + public void shuffle() { + questionPool.shuffle(); + } } diff --git a/src/main/java/me/gekoramy/github/quiz/util/Pool.java b/src/main/java/me/gekoramy/github/quiz/util/Pool.java index b5cf157..c7eb61b 100755 --- a/src/main/java/me/gekoramy/github/quiz/util/Pool.java +++ b/src/main/java/me/gekoramy/github/quiz/util/Pool.java @@ -54,7 +54,6 @@ public DoubleProperty progressProperty() { public void revert() { toDoList.clear(); toDoList.addAll(totalList); - Collections.shuffle(toDoList); this.progress.set(1); } @@ -76,4 +75,8 @@ public List retrieve(int many) { public boolean isDone() { return toDoList.size() == 0; } + + public void shuffle() { + Collections.shuffle(toDoList); + } }