aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/Matrix.hpp1
-rw-r--r--src/QuickMedia.cpp26
-rw-r--r--src/plugins/Matrix.cpp6
3 files changed, 26 insertions, 7 deletions
diff --git a/plugins/Matrix.hpp b/plugins/Matrix.hpp
index eea7f9b..974238f 100644
--- a/plugins/Matrix.hpp
+++ b/plugins/Matrix.hpp
@@ -450,6 +450,7 @@ namespace QuickMedia {
MatrixRoomDirectoryPage(Program *program, Matrix *matrix) : Page(program), matrix(matrix) {}
const char* get_title() const override { return "Room directory"; }
bool allow_submit_no_selection() const override { return true; }
+ bool clear_search_after_submit() override { return true; }
PluginResult submit(const std::string &title, const std::string &url, std::vector<Tab> &result_tabs) override;
private:
Matrix *matrix;
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 92f9309..5281325 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -5121,6 +5121,14 @@ namespace QuickMedia {
return move_room;
}
+ static void add_body_item_unique_title(BodyItems &body_items, const std::string &title) {
+ for(auto &body_item : body_items) {
+ if(body_item->get_title() == title)
+ return;
+ }
+ body_items.push_back(BodyItem::create(title));
+ }
+
void Program::after_matrix_login_page() {
if(!window.isOpen())
exit(exit_code);
@@ -5138,8 +5146,22 @@ namespace QuickMedia {
auto matrix_invites_page = std::make_unique<MatrixInvitesPage>(this, matrix, invites_body.get(), matrix_invites_page_search_bar.get());
auto room_directory_body = create_body();
- room_directory_body->items.push_back(BodyItem::create(matrix->get_homeserver_domain()));
- room_directory_body->items.push_back(BodyItem::create("matrix.org"));
+ add_body_item_unique_title(room_directory_body->items, matrix->get_homeserver_domain());
+ add_body_item_unique_title(room_directory_body->items, "midov.pl");
+ add_body_item_unique_title(room_directory_body->items, "matrix.org");
+ add_body_item_unique_title(room_directory_body->items, "kde.org");
+ add_body_item_unique_title(room_directory_body->items, "librem.one");
+ add_body_item_unique_title(room_directory_body->items, "grats.pw");
+ add_body_item_unique_title(room_directory_body->items, "maunium.net");
+ add_body_item_unique_title(room_directory_body->items, "halogen.city");
+ add_body_item_unique_title(room_directory_body->items, "gnome.org");
+ add_body_item_unique_title(room_directory_body->items, "shivering-isles.com");
+ add_body_item_unique_title(room_directory_body->items, "nerdsin.space");
+ add_body_item_unique_title(room_directory_body->items, "glowers.club");
+ add_body_item_unique_title(room_directory_body->items, "privacytools.io");
+ add_body_item_unique_title(room_directory_body->items, "linuxdelta.com");
+ add_body_item_unique_title(room_directory_body->items, "tchncs.de");
+ add_body_item_unique_title(room_directory_body->items, "jupiterbroadcasting.com");
auto matrix_room_directory_page = std::make_unique<MatrixRoomDirectoryPage>(this, matrix);
MatrixQuickMedia matrix_handler(this, matrix, matrix_rooms_page.get(), matrix_rooms_tag_page.get(), matrix_invites_page.get());
diff --git a/src/plugins/Matrix.cpp b/src/plugins/Matrix.cpp
index bbe9897..6050b18 100644
--- a/src/plugins/Matrix.cpp
+++ b/src/plugins/Matrix.cpp
@@ -1740,16 +1740,12 @@ namespace QuickMedia {
static std::string message_content_extract_thumbnail_url(const rapidjson::Value &content_json, const std::string &homeserver) {
const rapidjson::Value &info_json = GetMember(content_json, "info");
if(info_json.IsObject()) {
- sf::Vector2i thumbnail_size;
- if(!message_content_extract_thumbnail_size(content_json, thumbnail_size))
- return "";
-
const rapidjson::Value &thumbnail_url_json = GetMember(info_json, "thumbnail_url");
if(thumbnail_url_json.IsString()) {
std::string thumbnail_str = thumbnail_url_json.GetString();
if(strncmp(thumbnail_str.c_str(), "mxc://", 6) == 0) {
thumbnail_str.erase(thumbnail_str.begin(), thumbnail_str.begin() + 6);
- return homeserver + "/_matrix/media/r0/thumbnail/" + std::move(thumbnail_str) + "?width=" + std::to_string(thumbnail_size.x) + "&height=" + std::to_string(thumbnail_size.y);
+ return homeserver + "/_matrix/media/r0/download/" + std::move(thumbnail_str);
}
}
}