aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorConfuSomu2023-01-06 17:15:12 -0500
committerConfuSomu2023-01-06 17:17:45 -0500
commitfafdc293f4f875e09ca90faeae6dfac962f144b2 (patch)
tree771b3920fc52f0bca01bbc79440fbb480cac425b /src
parent1beb256de0a6e0c92f2c23b29d0577f282ea165a (diff)
downloadActorViewer-fafdc293f4f875e09ca90faeae6dfac962f144b2.tar
ActorViewer-fafdc293f4f875e09ca90faeae6dfac962f144b2.tar.gz
ActorViewer-fafdc293f4f875e09ca90faeae6dfac962f144b2.zip
Dynamically resize image depending on widget size
Diffstat (limited to 'src')
-rw-r--r--src/archive_parser.cpp9
-rw-r--r--src/archive_parser.h4
-rw-r--r--src/mainwindow.cpp2
3 files changed, 8 insertions, 7 deletions
diff --git a/src/archive_parser.cpp b/src/archive_parser.cpp
index 98056e2..27d059b 100644
--- a/src/archive_parser.cpp
+++ b/src/archive_parser.cpp
@@ -201,7 +201,7 @@ QString get_html_status_object_as_list(QJsonObject obj, QString element_name) {
return text;
}
-QString Archive::get_html_status_attachments(QJsonValueRef attachments_ref) {
+QString Archive::get_html_status_attachments(QJsonValueRef attachments_ref, int text_zone_width) {
QString text;
QJsonArray attachments = attachments_ref.toArray();
@@ -221,7 +221,8 @@ QString Archive::get_html_status_attachments(QJsonValueRef attachments_ref) {
}
if (attachment.contains("mediaType") and attachment["mediaType"].toString().startsWith("image/"))
- att_html.replace("{{img-width}}", "440");
+ // dynamically resize image based on the display widget size to avoid horizontal scrolling
+ att_html.replace("{{img-width}}", QString::number((float)text_zone_width - (float)text_zone_width*0.15));
else
att_html.replace("{{img-width}}", "0");
@@ -236,7 +237,7 @@ QString Archive::get_html_status_attachments(QJsonValueRef attachments_ref) {
}
// status_index is assumed to be a valid index
-QString Archive::get_html_status_info(int status_index) {
+QString Archive::get_html_status_info(int status_index, int text_zone_width) {
QString info_text(*get_html_status_info_template());
QJsonObject obj = outbox_items->at(status_index).toObject();
@@ -262,7 +263,7 @@ QString Archive::get_html_status_info(int status_index) {
info_text.replace("{{summary}}", summary_text);
}
- info_text.replace("{{attachment-div}}", get_html_status_attachments(activity["attachment"]));
+ info_text.replace("{{attachment-div}}", get_html_status_attachments(activity["attachment"], text_zone_width));
if (activity.contains("url") and activity["url"].isString())
info_text.replace("{{url-status}}", activity["url"].toString());
diff --git a/src/archive_parser.h b/src/archive_parser.h
index 0a1d5f3..a396840 100644
--- a/src/archive_parser.h
+++ b/src/archive_parser.h
@@ -30,7 +30,7 @@ public:
InitError init();
void update_status_list(ViewStatusTypes allowed_types, QListWidget *parent);
- QString get_html_status_info(int status_index);
+ QString get_html_status_info(int status_index, int text_zone_width);
private:
QString outbox_filename;
ArchiveType archive_type;
@@ -38,5 +38,5 @@ private:
QJsonObject *outbox_json = nullptr;
QJsonArray *outbox_items = nullptr;
- QString get_html_status_attachments(QJsonValueRef attachments_ref);
+ QString get_html_status_attachments(QJsonValueRef attachments_ref, int text_zone_width);
};
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index f8440c8..49f34de 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -72,7 +72,7 @@ void MainWindow::on_actionAbout_triggered(bool checked) {
void MainWindow::on_listWidget_itemActivated(QListWidgetItem *item) {
ListItem* casted = dynamic_cast<ListItem*>(item);
if (casted != nullptr) { // this is always a nullptr, but it should work?? https://cplusplus.com/forum/beginner/78766/
- QString status_info = data_archive->get_html_status_info(casted->get_status_index());
+ QString status_info = data_archive->get_html_status_info(casted->get_status_index(), ui->statusInfoText->width());
ui->statusInfoText->setHtml(status_info);
}
}