diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java index 83735e21ac0f46412f97377344554a679c6faa03..92b01c61b23927f401c293190a848db347f9d391 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/BasicMenuToolbarViewController.java @@ -15,10 +15,7 @@ import javafx.beans.binding.StringBinding; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.FXML; -import javafx.scene.control.Button; -import javafx.scene.control.Label; -import javafx.scene.control.Menu; -import javafx.scene.control.Slider; +import javafx.scene.control.*; import javafx.scene.layout.HBox; import java.util.ResourceBundle; @@ -31,10 +28,16 @@ public abstract class BasicMenuToolbarViewController extends MenuToolbarViewCont @FXML protected HBox iconHbox; + @FXML + protected HBox toolbarHBox; + + @FXML + protected ScrollPane buttonScrollPane; @FXML protected HBox pageHBox; @FXML - protected HBox toolbarHBox; + protected HBox toolbarItemContainer; + @FXML protected Menu recentOpenMenu; @FXML @@ -81,6 +84,8 @@ public abstract class BasicMenuToolbarViewController extends MenuToolbarViewCont fontIcon.setOnMouseClicked(e -> showNotMediaFoundDialog()); notFoundContainer.getChildren().add(0, fontIcon); + + buttonScrollPane.maxWidthProperty().bind(toolbarHBox.widthProperty().subtract(toolbarItemContainer.widthProperty())); } public void showNotMediaFoundDialog() { diff --git a/PlayWall/src/main/resources/view/main/desktop/Header.fxml b/PlayWall/src/main/resources/view/main/desktop/Header.fxml index 8383f694f9a847157ff36e78fd1a0264919ff3f3..754b93e4cb49ac51404b35261fbf6a1c5879df6d 100644 --- a/PlayWall/src/main/resources/view/main/desktop/Header.fxml +++ b/PlayWall/src/main/resources/view/main/desktop/Header.fxml @@ -5,7 +5,7 @@ <?import javafx.scene.layout.*?> <?import javafx.scene.text.Font?> <VBox maxHeight="-Infinity" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" - xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1"> <children> <MenuBar fx:id="menuBar" prefHeight="29.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> @@ -150,35 +150,43 @@ <HBox fx:id="toolbarHBox" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="14.0" styleClass="tool-bar"> <children> - <HBox fx:id="pageHBox" alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="14.0" - HBox.hgrow="ALWAYS"/> - <HBox fx:id="notFoundContainer" alignment="CENTER" spacing="14.0"> + <ScrollPane fx:id="buttonScrollPane" fitToHeight="true" vbarPolicy="NEVER" + HBox.hgrow="ALWAYS"> + <content> + <HBox fx:id="pageHBox" alignment="CENTER_LEFT" spacing="14.0"/> + </content> + </ScrollPane> + <HBox fx:id="toolbarItemContainer"> <children> - <Label fx:id="notFoundLabel"/> - </children> - </HBox> - <HBox fx:id="iconHbox" alignment="CENTER" spacing="7.0"> - <children> - <Label fx:id="liveLabel" text="%main.label.live" textFill="RED"> - <font> - <Font size="26.0"/> - </font> - </Label> - </children> - </HBox> - <HBox alignment="CENTER" spacing="7.0" HBox.hgrow="NEVER"> - <children> - <Label fx:id="volumeDownLabel"> - <font> - <Font size="24.0"/> - </font> - </Label> - <Slider fx:id="volumeSlider" focusTraversable="false" max="1.0"/> - <Label fx:id="volumeUpLabel"> - <font> - <Font size="24.0"/> - </font> - </Label> + <HBox fx:id="notFoundContainer" alignment="CENTER" spacing="14.0"> + <children> + <Label fx:id="notFoundLabel"/> + </children> + </HBox> + <HBox fx:id="iconHbox" alignment="CENTER" spacing="7.0"> + <children> + <Label fx:id="liveLabel" text="%main.label.live" textFill="RED"> + <font> + <Font size="26.0"/> + </font> + </Label> + </children> + </HBox> + <HBox alignment="CENTER" spacing="7.0" HBox.hgrow="NEVER"> + <children> + <Label fx:id="volumeDownLabel"> + <font> + <Font size="24.0"/> + </font> + </Label> + <Slider fx:id="volumeSlider" focusTraversable="false" max="1.0"/> + <Label fx:id="volumeUpLabel"> + <font> + <Font size="24.0"/> + </font> + </Label> + </children> + </HBox> </children> </HBox> </children> diff --git a/PlayWall/src/main/sass/components/page-buttons.scss b/PlayWall/src/main/sass/components/page-buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..9025ed6f1081f600a939527ef249ec37c67f5bca --- /dev/null +++ b/PlayWall/src/main/sass/components/page-buttons.scss @@ -0,0 +1,37 @@ +@import "variables"; + + +#page-button-list { + -fx-base: rgb(20, 20, 20); + + /* The main scrollbar **track** CSS class */ + .scroll-bar:horizontal .track { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-background-radius: 0em; + -fx-border-radius: 2em; + } + + /* The increment and decrement button CSS class of scrollbar */ + .scroll-bar:horizontal .increment-button, + .scroll-bar:horizontal .decrement-button { + -fx-background-color: transparent; + -fx-background-radius: 0em; + -fx-padding: 0 0 4 0; + + } + + .scroll-bar .increment-arrow, + .scroll-bar .decrement-arrow { + -fx-shape: " "; + -fx-padding: 0; + } + + /* The main scrollbar **thumb** CSS class which we drag every time (movable) */ + .scroll-bar:horizontal .thumb { + -fx-background-color: derive(black, 90%); + -fx-background-insets: 2, 0, 0; + -fx-background-radius: 2em; + + } +} \ No newline at end of file diff --git a/PlayWall/src/main/sass/modern.scss b/PlayWall/src/main/sass/modern.scss index 7046c6af039f7e778946349465614c6b1a8e9f6b..5da008b42787df85b72d02a6d0be221da62012a5 100644 --- a/PlayWall/src/main/sass/modern.scss +++ b/PlayWall/src/main/sass/modern.scss @@ -17,6 +17,8 @@ @import "components/treeview"; @import "components/tableview"; +@import "components/page-buttons"; + @font-face { font-family: "Lato"; src: url("Lato/Lato-Regular.ttf"); @@ -140,9 +142,8 @@ PlayPad Elements -fx-fill: white; } - /* - Custom classes +Custom classes */ .title {