Deep-Live-Cam icon indicating copy to clipboard operation
Deep-Live-Cam copied to clipboard

Testing

Open chungcc454-design opened this issue 2 months ago • 1 comments

Summary by Sourcery

Enable drag-and-drop file input in the UI by migrating to tkdnd.TkinterDnD.Tk, grouping widgets in a main frame, updating to dark mode, and adding drop handlers with preview support

New Features:

  • Add drag-and-drop file support for source and target selection using tkdnd.TkinterDnD.Tk integration
  • Introduce handle_drop_source and handle_drop_target handlers to process dropped files and render previews

Enhancements:

  • Switch UI root from CTk to tkdnd.TkinterDnD.Tk and encapsulate widgets in a main frame
  • Set appearance mode to dark and apply custom background colors

chungcc454-design avatar Oct 05 '25 04:10 chungcc454-design

Reviewer's Guide

Refactor create_root to use a tkdnd.TkinterDnD root with dark mode and a main_frame layout, reparent all widgets under this container, integrate drag-and-drop support with new handlers, and remove unused NSFW filter code.

Class diagram for updated UI root and drag-and-drop handlers

classDiagram
    class TkinterDnD_Tk {
        +minsize()
        +title()
        +configure(bg)
        +protocol()
    }
    class CTkFrame {
        +pack()
    }
    class CTkLabel {
        +place()
        +drop_target_register()
        +dnd_bind()
        +configure(image)
    }
    class CTkButton {
        +place()
        +drop_target_register()
        +dnd_bind()
    }
    class handle_drop_source {
        +__call__(event)
    }
    class handle_drop_target {
        +__call__(event)
    }
    TkinterDnD_Tk <|-- CTkFrame
    CTkFrame <|-- CTkLabel
    CTkFrame <|-- CTkButton
    CTkLabel <.. handle_drop_source : dnd_bind
    CTkButton <.. handle_drop_source : dnd_bind
    CTkLabel <.. handle_drop_target : dnd_bind
    CTkButton <.. handle_drop_target : dnd_bind

File-Level Changes

Change Details Files
Root initialization and appearance adjustment
  • Changed create_root return type to tkdnd.TkinterDnD.Tk
  • Switched appearance mode to dark and configured background color
  • Added main_frame container and packed it into root
modules/ui.py
Reparented UI widgets under main_frame container
  • Updated all CTkLabel, CTkButton, CTkSwitch, and CTkOptionMenu creations to use main_frame as parent
modules/ui.py
Integrated drag-and-drop support for source and target selection
  • Registered drop targets and bound <<Drop>> events on labels and select buttons
  • Implemented handle_drop_source and handle_drop_target to parse file paths, validate types, render previews, and update status
modules/ui.py
Removed unused NSFW filter code
  • Deleted commented-out nsfw_switch block and cleaned up extra blank lines
modules/ui.py

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Oct 05 '25 04:10 sourcery-ai[bot]