mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +00:00
LibGUI+WindowServer: Make DragOperation hold a MimeData instance
...instead of maybe bitmap + a single mime type and its corresponding data. This allows drag&drop operations to hold multiple different kinds of data, and the views/applications to choose between those. For instance, Spreadsheet can keep the structure of the dragged cells, and still provide text-only data to be passed to different unrelated editors.
This commit is contained in:
parent
c930e02624
commit
6d1e47e7dd
15 changed files with 98 additions and 59 deletions
|
@ -31,8 +31,10 @@
|
|||
#include <AK/HashTable.h>
|
||||
#include <AK/RefCounted.h>
|
||||
#include <AK/String.h>
|
||||
#include <LibCore/MimeData.h>
|
||||
#include <LibGUI/ModelIndex.h>
|
||||
#include <LibGUI/ModelRole.h>
|
||||
#include <LibGUI/ModelSelection.h>
|
||||
#include <LibGUI/Variant.h>
|
||||
#include <LibGfx/Forward.h>
|
||||
#include <LibGfx/TextAlignment.h>
|
||||
|
@ -93,6 +95,7 @@ public:
|
|||
}
|
||||
|
||||
virtual StringView drag_data_type() const { return {}; }
|
||||
virtual RefPtr<Core::MimeData> mime_data(const ModelSelection&) const;
|
||||
|
||||
void register_view(Badge<AbstractView>, AbstractView&);
|
||||
void unregister_view(Badge<AbstractView>, AbstractView&);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue