mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 01:17:35 +00:00
SpiceAgent: Minor formatting changes
This commit is contained in:
parent
7e3fd73410
commit
3c0b6919f7
1 changed files with 15 additions and 5 deletions
|
@ -26,6 +26,7 @@ SpiceAgent::SpiceAgent(int fd, ConnectionToClipboardServer& connection)
|
||||||
warnln("Failed to handle message: {}", result.release_error());
|
warnln("Failed to handle message: {}", result.release_error());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
m_clipboard_connection.on_data_changed = [this] {
|
m_clipboard_connection.on_data_changed = [this] {
|
||||||
if (m_just_set_clip) {
|
if (m_just_set_clip) {
|
||||||
m_just_set_clip = false;
|
m_just_set_clip = false;
|
||||||
|
@ -39,6 +40,7 @@ SpiceAgent::SpiceAgent(int fd, ConnectionToClipboardServer& connection)
|
||||||
auto grab_buffer = ClipboardGrab::make_buffer({ *type });
|
auto grab_buffer = ClipboardGrab::make_buffer({ *type });
|
||||||
send_message(grab_buffer);
|
send_message(grab_buffer);
|
||||||
};
|
};
|
||||||
|
|
||||||
auto buffer = AnnounceCapabilities::make_buffer(true, { Capability::ClipboardByDemand });
|
auto buffer = AnnounceCapabilities::make_buffer(true, { Capability::ClipboardByDemand });
|
||||||
send_message(buffer);
|
send_message(buffer);
|
||||||
}
|
}
|
||||||
|
@ -47,14 +49,17 @@ Optional<SpiceAgent::ClipboardType> SpiceAgent::mime_type_to_clipboard_type(Depr
|
||||||
{
|
{
|
||||||
if (mime == "text/plain")
|
if (mime == "text/plain")
|
||||||
return ClipboardType::Text;
|
return ClipboardType::Text;
|
||||||
else if (mime == "image/jpeg")
|
|
||||||
|
if (mime == "image/jpeg")
|
||||||
return ClipboardType::JPEG;
|
return ClipboardType::JPEG;
|
||||||
else if (mime == "image/bmp")
|
|
||||||
|
if (mime == "image/bmp")
|
||||||
return ClipboardType::BMP;
|
return ClipboardType::BMP;
|
||||||
else if (mime == "image/png" || mime == "image/x-serenityos")
|
|
||||||
|
if (mime == "image/png" || mime == "image/x-serenityos")
|
||||||
return ClipboardType::PNG;
|
return ClipboardType::PNG;
|
||||||
else
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<void> SpiceAgent::on_message_received()
|
ErrorOr<void> SpiceAgent::on_message_received()
|
||||||
|
@ -79,8 +84,10 @@ ErrorOr<void> SpiceAgent::on_message_received()
|
||||||
auto* request_message = reinterpret_cast<ClipboardRequest*>(message->data);
|
auto* request_message = reinterpret_cast<ClipboardRequest*>(message->data);
|
||||||
auto clipboard = m_clipboard_connection.get_clipboard_data();
|
auto clipboard = m_clipboard_connection.get_clipboard_data();
|
||||||
auto& mime = clipboard.mime_type();
|
auto& mime = clipboard.mime_type();
|
||||||
|
|
||||||
ByteBuffer backing_byte_buffer;
|
ByteBuffer backing_byte_buffer;
|
||||||
ReadonlyBytes bytes;
|
ReadonlyBytes bytes;
|
||||||
|
|
||||||
if (mime == "image/x-serenityos") {
|
if (mime == "image/x-serenityos") {
|
||||||
auto bitmap = m_clipboard_connection.get_bitmap();
|
auto bitmap = m_clipboard_connection.get_bitmap();
|
||||||
backing_byte_buffer = MUST(Gfx::PNGWriter::encode(*bitmap));
|
backing_byte_buffer = MUST(Gfx::PNGWriter::encode(*bitmap));
|
||||||
|
@ -89,6 +96,7 @@ ErrorOr<void> SpiceAgent::on_message_received()
|
||||||
auto data = clipboard.data();
|
auto data = clipboard.data();
|
||||||
bytes = { data.data<void>(), data.size() };
|
bytes = { data.data<void>(), data.size() };
|
||||||
}
|
}
|
||||||
|
|
||||||
auto clipboard_buffer = Clipboard::make_buffer((ClipboardType)request_message->type, bytes);
|
auto clipboard_buffer = Clipboard::make_buffer((ClipboardType)request_message->type, bytes);
|
||||||
send_message(clipboard_buffer);
|
send_message(clipboard_buffer);
|
||||||
break;
|
break;
|
||||||
|
@ -96,6 +104,7 @@ ErrorOr<void> SpiceAgent::on_message_received()
|
||||||
case (u32)MessageType::ClipboardGrab: {
|
case (u32)MessageType::ClipboardGrab: {
|
||||||
auto* grab_message = reinterpret_cast<ClipboardGrab*>(message->data);
|
auto* grab_message = reinterpret_cast<ClipboardGrab*>(message->data);
|
||||||
auto found_type = ClipboardType::None;
|
auto found_type = ClipboardType::None;
|
||||||
|
|
||||||
for (size_t i = 0; i < (message->size / 4); i++) {
|
for (size_t i = 0; i < (message->size / 4); i++) {
|
||||||
auto type = (ClipboardType)grab_message->types[i];
|
auto type = (ClipboardType)grab_message->types[i];
|
||||||
if (found_type == ClipboardType::None) {
|
if (found_type == ClipboardType::None) {
|
||||||
|
@ -112,6 +121,7 @@ ErrorOr<void> SpiceAgent::on_message_received()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found_type == ClipboardType::None)
|
if (found_type == ClipboardType::None)
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue