1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:37:34 +00:00

Userland: Accept drag_enter events for widgets supporting file drops

This patch will switch cursor to DragCopy when a user enters a widget
while dragging file(s), giving them a visual clue that it *might* be
dropped into this widget.

This is a rather naive approach, as the cursor icon will change for any
kind of file, as currently programs don't know the drag contents before
dropping it. But after all I think it's better than nothing. :^)
This commit is contained in:
Karol Kosek 2022-11-04 22:32:17 +01:00 committed by Andrew Kaster
parent 461ee18d64
commit 0b7f5bbdfb
21 changed files with 89 additions and 0 deletions

View file

@ -872,6 +872,13 @@ void MainWidget::update_preview()
m_font_preview_window->update();
}
void MainWidget::drag_enter_event(GUI::DragEvent& event)
{
auto const& mime_types = event.mime_types();
if (mime_types.contains_slow("text/uri-list"))
event.accept();
}
void MainWidget::drop_event(GUI::DropEvent& event)
{
event.accept();

View file

@ -62,6 +62,7 @@ private:
ErrorOr<void> create_undo_stack();
ErrorOr<RefPtr<GUI::Window>> create_preview_window();
virtual void drag_enter_event(GUI::DragEvent&) override;
virtual void drop_event(GUI::DropEvent&) override;
void undo();