mirror of
https://github.com/RGBCube/serenity
synced 2025-05-21 16:05:07 +00:00
WindowServer+LibGUI: Add data_type and data fields to drag operations
These fields are intended to carry the real meat of a drag operation, and the "text" is just for what we show on screen (alongside the cursor during the actual drag.) The data field is just a String for now, but in the future we should make it something more flexible.
This commit is contained in:
parent
af7cb7ce1b
commit
cfcb38dff1
13 changed files with 50 additions and 15 deletions
|
@ -247,6 +247,15 @@ GVariant GDirectoryModel::data(const GModelIndex& index, Role role) const
|
|||
ASSERT(index.column() == Column::Name);
|
||||
return entry.full_path(*this);
|
||||
}
|
||||
if (role == Role::DragData) {
|
||||
if (index.column() == Column::Name) {
|
||||
StringBuilder builder;
|
||||
builder.append("file://");
|
||||
builder.append(entry.full_path(*this));
|
||||
return builder.to_string();
|
||||
}
|
||||
return {};
|
||||
}
|
||||
if (role == Role::Sort) {
|
||||
switch (index.column()) {
|
||||
case Column::Icon:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue