-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Added Splash screen to Drifty GUI #400
Conversation
…-add-splash-screen
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThe changes involve refining the Drifty GUI application's Docker setup to enable the GUI to access the X11 socket for display and removing unnecessary elements from the build instructions. Changes
Assessment against linked issues
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChat with CodeRabbit Bot (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah! You did it 🎉 Now, Relax 😉, Grab a drink ☕, and wait for the maintainers to check your contributions. Meanwhile, you can discuss on other issues and solve them 😀. Thank You 😃!
Meanwhile you can also discuss about the project in our Discord Server 😀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 2
Configuration used: CodeRabbit UI
Files ignored due to filter (2)
- GUI/pom.xml
- GUI/src/main/resources/META-INF/native-image/reflect-config.json
Files selected for processing (10)
- .github/workflows/build.yml (1 hunks)
- .github/workflows/docker-publish.yml (1 hunks)
- CLI/src/main/java/module-info.java (1 hunks)
- Core/src/main/java/init/Environment.java (2 hunks)
- Core/src/main/java/preferences/Clear.java (1 hunks)
- Core/src/main/java/preferences/Get.java (1 hunks)
- Core/src/main/java/preferences/Labels.java (1 hunks)
- Core/src/main/java/preferences/Set.java (1 hunks)
- GUI/src/main/java/main/Drifty_GUI.java (4 hunks)
- GUI/src/main/java/ui/Splash.java (1 hunks)
Additional comments: 11
CLI/src/main/java/module-info.java (1)
- 4-4: Please ensure that the
org.apache.commons.io
module is utilized within the project, as unused module requirements can lead to unnecessary bloat.Core/src/main/java/preferences/Labels.java (1)
- 11-11: The addition of the
YT_DLP_UPDATING
constant is noted and appears to be part of the new feature implementation.Core/src/main/java/preferences/Clear.java (1)
- 30-32: The new
ytDlpUpdating
method correctly implements the removal of theYT_DLP_UPDATING
preference.Core/src/main/java/preferences/Set.java (1)
- 62-65: The new
ytDlpUpdating
method in theSet
class is correctly implemented to update theYT_DLP_UPDATING
preference.Core/src/main/java/preferences/Get.java (1)
- 65-67: The new
ytDlpUpdating
method in theGet
class is correctly implemented to retrieve theYT_DLP_UPDATING
preference.GUI/src/main/java/ui/Splash.java (1)
- 20-74: The implementation of the
Splash
class appears to be well-structured and aligns with the objective of displaying a splash screen during application startup.Core/src/main/java/init/Environment.java (1)
- 63-69: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [65-80]
The modifications to the
checkAndUpdateYtDlp
method correctly set theYT_DLP_UPDATING
preference to indicate the update status of ytDlp..github/workflows/docker-publish.yml (1)
- 80-98: The workflow has been updated to include steps for installing ffmpeg based on the operating system and to modify the Maven command to skip tests. Please ensure that skipping tests does not overlook any potential issues that could be caught by running them.
GUI/src/main/java/main/Drifty_GUI.java (3)
37-38: Setting the
javafx.preloader
property to use theSplash
class is correct for integrating the splash screen. Ensure that theSplash
class is properly implemented and that it extendsjavafx.application.Preloader
.52-59: The
start
method has been updated to initialize the environment, set stage properties, and notify the preloader before showing the stage. This is a critical part of integrating the splash screen. Ensure that theEnvironment.initializeEnvironment()
method is correctly implemented and that it does not cause any delays or exceptions that could affect the display of the splash screen.73-73: The call to
UIController.initLogic(gridPane)
within thecreateScene
method suggests that UI initialization logic is being handled here. Verify that this method is correctly setting up the UI components and that it does not interfere with the splash screen's display.Verification successful
The
initLogic
method exists in theUIController
class and is defined aspublic static void initLogic(MainGridPane pane)
. This confirms the method's presence and signature, which is responsible for initializing the UI logic.Given this information, the method
UIController.initLogic(gridPane)
within thecreateScene
method is correctly placed for UI initialization. There is no evidence from the scripts run to suggest that it interferes with the splash screen's display.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify the implementation of UIController.initLogic method. ast-grep --lang java --pattern $'class UIController { $$$ static void initLogic(MainGridPane $_) { $$$ } $$$ }'Length of output: 112
Script:
#!/bin/bash # First, find the UIController class file. fd "UIController.java" # Then, if the file exists, use ast-grep to search for the initLogic method within the UIController class. # The pattern is broadened to capture any static method named initLogic, regardless of its parameters or contents.Length of output: 61
Script:
#!/bin/bash # Now that we have the path to the UIController class, let's use ast-grep to search for the initLogic method. ast-grep --lang java --pattern $'class UIController { $$$ static void initLogic($$$) { $$$ } $$$ }' --file GUI/src/main/java/ui/UIController.javaLength of output: 340
Script:
#!/bin/bash # Correcting the ast-grep command to search for the initLogic method in the UIController class without specifying the file. ast-grep --lang java --pattern $'class UIController { $$$ static void initLogic($$$) { $$$ } $$$ }'Length of output: 100
Script:
#!/bin/bash # Using ripgrep to search for the initLogic method signature in the UIController.java file. rg "static void initLogic" GUI/src/main/java/ui/UIController.javaLength of output: 121
…-add-splash-screen
…-add-splash-screen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (2)
- Docker/macOS Docker Build Instructions.md (1 hunks)
- README.md (1 hunks)
Files skipped from review due to trivial changes (2)
- Docker/macOS Docker Build Instructions.md
- README.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
Fixes issue
Fixes #280
Changes proposed
Check List (Check all the applicable boxes)
Screen Recordings
When Drifty GUI is run for the very first time 👇
Screencast.from.2023-12-27.20-43-25.webm
When Drifty GUI is run the second time 👇
Screencast.from.2023-12-27.20-47-04.webm
Summary by CodeRabbit
Summary by CodeRabbit