aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorConfuSomu2023-01-05 15:26:28 -0500
committerConfuSomu2023-01-05 15:26:28 -0500
commita962b2d93227557c68a719b2401f8d6bb3969899 (patch)
treeb50b1bac5b38c9b2dfd82668615ccc8ba6ccd474 /src
parentc269400dbb2e40d60349ab0a1d67414303653c91 (diff)
downloadActorViewer-a962b2d93227557c68a719b2401f8d6bb3969899.tar
ActorViewer-a962b2d93227557c68a719b2401f8d6bb3969899.tar.gz
ActorViewer-a962b2d93227557c68a719b2401f8d6bb3969899.zip
Allow only listing statuses which have attachments
Diffstat (limited to 'src')
-rw-r--r--src/archive_parser.cpp9
-rw-r--r--src/list_item.cpp4
-rw-r--r--src/list_item.h4
3 files changed, 12 insertions, 5 deletions
diff --git a/src/archive_parser.cpp b/src/archive_parser.cpp
index d3b9197..d9d4cf1 100644
--- a/src/archive_parser.cpp
+++ b/src/archive_parser.cpp
@@ -129,12 +129,19 @@ void Archive::update_status_list(ViewStatusTypes allowed_types, QListWidget *par
if (obj.value("object").isObject()) {
QJsonObject activity = obj.value("object").toObject();
+ bool has_attachment = false;
+ if (activity.contains("attachment") and not activity["attachment"].toArray().isEmpty())
+ has_attachment = true;
+
+ if (allowed_types.onlyWithAttachment and not has_attachment)
+ goto next_item;
+
if (activity.value("content").isString()) {
// Strip HTML for display in list, according to https://stackoverflow.com/a/12157835
QTextDocument strip_html;
strip_html.setHtml(activity.value("content").toString());
- ListItem *item = new ListItem(strip_html.toPlainText(), status_type, parent, i);
+ ListItem *item = new ListItem(strip_html.toPlainText(), status_type, has_attachment, parent, i);
}
}
}
diff --git a/src/list_item.cpp b/src/list_item.cpp
index b84f147..7ecbe57 100644
--- a/src/list_item.cpp
+++ b/src/list_item.cpp
@@ -12,8 +12,8 @@ QIcon* choose_icon(StatusType status_type) {
}
}
-ListItem::ListItem(const QString &text, StatusType status_type, QListWidget *parent, int index) :
- status_index(index)
+ListItem::ListItem(const QString &text, StatusType status_type, bool has_attachement, QListWidget *parent, int index) :
+ status_index(index), has_attachement(has_attachement)
{
setText(text);
setIcon(*choose_icon(status_type));
diff --git a/src/list_item.h b/src/list_item.h
index ce5b6b2..866a98f 100644
--- a/src/list_item.h
+++ b/src/list_item.h
@@ -9,11 +9,11 @@ public:
ArchiveListItemType = QListWidgetItem::UserType
};
- ListItem(const QString &text, StatusType status_type, QListWidget *parent = nullptr, int index = 0);
+ ListItem(const QString &text, StatusType status_type, bool has_attachement, QListWidget *parent = nullptr, int index = 0);
int get_status_index();
private:
int status_index;
StatusType status_type;
- bool has_attachement;
+ bool has_attachement = false;
};