mirror of
https://github.com/uowuo/abaddon.git
synced 2025-03-04 03:03:16 -05:00
view image alt text on hover
This commit is contained in:
parent
260fc2a745
commit
23bf237e4e
@ -46,6 +46,9 @@ ChatMessageItemContainer *ChatMessageItemContainer::FromMessage(const Message &d
|
||||
for (const auto &a : data.Attachments) {
|
||||
if (IsURLViewableImage(a.ProxyURL) && a.Width.has_value() && a.Height.has_value()) {
|
||||
auto *widget = container->CreateImageComponent(a.ProxyURL, a.URL, *a.Width, *a.Height);
|
||||
if (a.Description.has_value()) {
|
||||
widget->set_tooltip_text(*a.Description);
|
||||
}
|
||||
container->m_main.add(*widget);
|
||||
} else {
|
||||
auto *widget = container->CreateAttachmentComponent(a);
|
||||
|
@ -128,6 +128,7 @@ void to_json(nlohmann::json &j, const AttachmentData &m) {
|
||||
j["proxy_url"] = m.ProxyURL;
|
||||
JS_IF("height", m.Height);
|
||||
JS_IF("width", m.Width);
|
||||
JS_IF("description", m.Description);
|
||||
}
|
||||
|
||||
void from_json(const nlohmann::json &j, AttachmentData &m) {
|
||||
@ -138,6 +139,7 @@ void from_json(const nlohmann::json &j, AttachmentData &m) {
|
||||
JS_D("proxy_url", m.ProxyURL);
|
||||
JS_ON("height", m.Height);
|
||||
JS_ON("width", m.Width);
|
||||
JS_ON("description", m.Description);
|
||||
}
|
||||
|
||||
void from_json(const nlohmann::json &j, MessageReferenceData &m) {
|
||||
|
@ -168,8 +168,9 @@ struct AttachmentData {
|
||||
int Bytes;
|
||||
std::string URL;
|
||||
std::string ProxyURL;
|
||||
std::optional<int> Height; // null
|
||||
std::optional<int> Width; // null
|
||||
std::optional<int> Height; // null
|
||||
std::optional<int> Width; // null
|
||||
std::optional<std::string> Description; // alt text
|
||||
|
||||
friend void to_json(nlohmann::json &j, const AttachmentData &m);
|
||||
friend void from_json(const nlohmann::json &j, AttachmentData &m);
|
||||
|
@ -368,6 +368,7 @@ void Store::SetMessage(Snowflake id, const Message &message) {
|
||||
s->Bind(6, a.ProxyURL);
|
||||
s->Bind(7, a.Height);
|
||||
s->Bind(8, a.Width);
|
||||
s->Bind(9, a.Description);
|
||||
if (!s->Insert())
|
||||
fprintf(stderr, "message attachment insert failed for %" PRIu64 "/%" PRIu64 ": %s\n", static_cast<uint64_t>(id), static_cast<uint64_t>(a.ID), m_db.ErrStr());
|
||||
s->Reset();
|
||||
@ -1021,6 +1022,7 @@ Message Store::GetMessageBound(std::unique_ptr<Statement> &s) const {
|
||||
s->Get(5, q.ProxyURL);
|
||||
s->Get(6, q.Height);
|
||||
s->Get(7, q.Width);
|
||||
s->Get(8, q.Description);
|
||||
}
|
||||
s->Reset();
|
||||
}
|
||||
@ -1509,6 +1511,7 @@ bool Store::CreateTables() {
|
||||
proxy TEXT NOT NULL,
|
||||
height INTEGER,
|
||||
width INTEGER,
|
||||
description TEXT,
|
||||
PRIMARY KEY(message, id)
|
||||
)
|
||||
)";
|
||||
@ -2212,7 +2215,7 @@ bool Store::CreateStatements() {
|
||||
|
||||
m_stmt_set_attachment = std::make_unique<Statement>(m_db, R"(
|
||||
REPLACE INTO attachments VALUES (
|
||||
?, ?, ?, ?, ?, ?, ?, ?
|
||||
?, ?, ?, ?, ?, ?, ?, ?, ?
|
||||
)
|
||||
)");
|
||||
if (!m_stmt_set_attachment->OK()) {
|
||||
|
Loading…
Reference in New Issue
Block a user