mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 07:47:35 +00:00
3DViewer: Add support for dropping files
This commit is contained in:
parent
75d0f2c703
commit
14dbd28033
1 changed files with 22 additions and 0 deletions
|
@ -91,6 +91,7 @@ private:
|
||||||
glEndList();
|
glEndList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void drop_event(GUI::DropEvent&) override;
|
||||||
virtual void paint_event(GUI::PaintEvent&) override;
|
virtual void paint_event(GUI::PaintEvent&) override;
|
||||||
virtual void resize_event(GUI::ResizeEvent&) override;
|
virtual void resize_event(GUI::ResizeEvent&) override;
|
||||||
virtual void timer_event(Core::TimerEvent&) override;
|
virtual void timer_event(Core::TimerEvent&) override;
|
||||||
|
@ -123,6 +124,27 @@ private:
|
||||||
float m_zoom = 1;
|
float m_zoom = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void GLContextWidget::drop_event(GUI::DropEvent& event)
|
||||||
|
{
|
||||||
|
if (!event.mime_data().has_urls())
|
||||||
|
return;
|
||||||
|
|
||||||
|
event.accept();
|
||||||
|
|
||||||
|
if (event.mime_data().urls().is_empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (auto& url : event.mime_data().urls()) {
|
||||||
|
if (url.protocol() != "file")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
auto response = FileSystemAccessClient::Client::the().try_request_file(window(), url.path(), Core::OpenMode::ReadOnly);
|
||||||
|
if (response.is_error())
|
||||||
|
return;
|
||||||
|
load_file(response.value());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GLContextWidget::paint_event(GUI::PaintEvent& event)
|
void GLContextWidget::paint_event(GUI::PaintEvent& event)
|
||||||
{
|
{
|
||||||
GUI::Frame::paint_event(event);
|
GUI::Frame::paint_event(event);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue