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

Userland: Take StringView in MimeData::data() and has_{format,text,urls}

This commit is contained in:
Karol Kosek 2023-08-21 16:45:46 +02:00 committed by Sam Atkins
parent d054116012
commit 4f638d3af2
4 changed files with 9 additions and 9 deletions

View file

@ -153,7 +153,7 @@ RefPtr<Core::MimeData> SheetModel::mime_data(const GUI::ModelSelection& selectio
VERIFY(cursor); VERIFY(cursor);
Position cursor_position { (size_t)cursor->column(), (size_t)cursor->row() }; Position cursor_position { (size_t)cursor->column(), (size_t)cursor->row() };
auto mime_data_buffer = mime_data->data("text/x-spreadsheet-data"); auto mime_data_buffer = mime_data->data("text/x-spreadsheet-data"sv);
auto new_data = DeprecatedString::formatted("{}\n{}", auto new_data = DeprecatedString::formatted("{}\n{}",
cursor_position.to_url(m_sheet).to_deprecated_string(), cursor_position.to_url(m_sheet).to_deprecated_string(),
StringView(mime_data_buffer)); StringView(mime_data_buffer));

View file

@ -420,8 +420,8 @@ SpreadsheetView::SpreadsheetView(Sheet& sheet)
ScopeGuard update_after_drop { [this] { update(); } }; ScopeGuard update_after_drop { [this] { update(); } };
if (event.mime_data().has_format("text/x-spreadsheet-data")) { if (event.mime_data().has_format("text/x-spreadsheet-data"sv)) {
auto const& data = event.mime_data().data("text/x-spreadsheet-data"); auto const& data = event.mime_data().data("text/x-spreadsheet-data"sv);
StringView urls { data.data(), data.size() }; StringView urls { data.data(), data.size() };
Vector<Position> source_positions, target_positions; Vector<Position> source_positions, target_positions;

View file

@ -20,19 +20,19 @@ class MimeData : public EventReceiver {
public: public:
virtual ~MimeData() = default; virtual ~MimeData() = default;
ByteBuffer data(DeprecatedString const& mime_type) const { return m_data.get(mime_type).value_or({}); } ByteBuffer data(StringView mime_type) const { return m_data.get(mime_type).value_or({}); }
void set_data(DeprecatedString const& mime_type, ByteBuffer&& data) { m_data.set(mime_type, move(data)); } void set_data(DeprecatedString const& mime_type, ByteBuffer&& data) { m_data.set(mime_type, move(data)); }
bool has_format(DeprecatedString const& mime_type) const { return m_data.contains(mime_type); } bool has_format(StringView mime_type) const { return m_data.contains(mime_type); }
Vector<DeprecatedString> formats() const; Vector<DeprecatedString> formats() const;
// Convenience helpers for "text/plain" // Convenience helpers for "text/plain"
bool has_text() const { return has_format("text/plain"); } bool has_text() const { return has_format("text/plain"sv); }
DeprecatedString text() const; DeprecatedString text() const;
void set_text(DeprecatedString const&); void set_text(DeprecatedString const&);
// Convenience helpers for "text/uri-list" // Convenience helpers for "text/uri-list"
bool has_urls() const { return has_format("text/uri-list"); } bool has_urls() const { return has_format("text/uri-list"sv); }
Vector<URL> urls() const; Vector<URL> urls() const;
ErrorOr<void> set_urls(Vector<URL> const&); ErrorOr<void> set_urls(Vector<URL> const&);

View file

@ -28,8 +28,8 @@ DragOperation::Outcome DragOperation::exec()
VERIFY(m_mime_data); VERIFY(m_mime_data);
Gfx::ShareableBitmap drag_bitmap; Gfx::ShareableBitmap drag_bitmap;
if (m_mime_data->has_format("image/x-raw-bitmap")) { if (m_mime_data->has_format("image/x-raw-bitmap"sv)) {
auto data = m_mime_data->data("image/x-raw-bitmap"); auto data = m_mime_data->data("image/x-raw-bitmap"sv);
auto bitmap = Gfx::Bitmap::create_from_serialized_byte_buffer(move(data)).release_value_but_fixme_should_propagate_errors(); auto bitmap = Gfx::Bitmap::create_from_serialized_byte_buffer(move(data)).release_value_but_fixme_should_propagate_errors();
drag_bitmap = bitmap->to_shareable_bitmap(); drag_bitmap = bitmap->to_shareable_bitmap();
} }