mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 00:57:45 +00:00
HexEditor: Add UTF8 to the value inspector
This commit is contained in:
parent
e5736cdf2f
commit
ef113b2f91
2 changed files with 19 additions and 1 deletions
|
@ -332,7 +332,16 @@ void HexEditorWidget::update_inspector_values(size_t position)
|
||||||
value_inspector_model->set_parsed_value(ValueInspectorModel::ValueType::Double, "");
|
value_inspector_model->set_parsed_value(ValueInspectorModel::ValueType::Double, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: Parse as other values like ASCII, UTF8, UTF16, Timestamp etc
|
// FIXME: This probably doesn't honour endianness correctly.
|
||||||
|
Utf8View utf8_view { ReadonlyBytes { reinterpret_cast<u8 const*>(&unsigned_64_bit_int), 4 } };
|
||||||
|
size_t valid_bytes;
|
||||||
|
utf8_view.validate(valid_bytes);
|
||||||
|
if (valid_bytes == 0)
|
||||||
|
value_inspector_model->set_parsed_value(ValueInspectorModel::ValueType::UTF8, "");
|
||||||
|
else
|
||||||
|
value_inspector_model->set_parsed_value(ValueInspectorModel::ValueType::UTF8, utf8_view.unicode_substring_view(0, 1).as_string());
|
||||||
|
|
||||||
|
// FIXME: Parse as other values like UTF16, Timestamp etc
|
||||||
|
|
||||||
m_value_inspector->set_model(value_inspector_model);
|
m_value_inspector->set_model(value_inspector_model);
|
||||||
m_value_inspector->update();
|
m_value_inspector->update();
|
||||||
|
|
|
@ -27,6 +27,7 @@ public:
|
||||||
Float,
|
Float,
|
||||||
Double,
|
Double,
|
||||||
ASCII,
|
ASCII,
|
||||||
|
UTF8,
|
||||||
__Count
|
__Count
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,6 +94,8 @@ public:
|
||||||
return "Double";
|
return "Double";
|
||||||
case ASCII:
|
case ASCII:
|
||||||
return "ASCII";
|
return "ASCII";
|
||||||
|
case UTF8:
|
||||||
|
return "UTF-8";
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -128,6 +131,12 @@ public:
|
||||||
case UnsignedLong:
|
case UnsignedLong:
|
||||||
case Double:
|
case Double:
|
||||||
return 8;
|
return 8;
|
||||||
|
case UTF8: {
|
||||||
|
auto utf8_view = Utf8View(m_values.at(index.row()));
|
||||||
|
if (utf8_view.validate())
|
||||||
|
return static_cast<i32>(utf8_view.byte_length());
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue