aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-06-15 20:26:02 +0200
committerdec05eba <dec05eba@protonmail.com>2021-06-15 20:26:02 +0200
commitdccfb471ff7017f9ce3a6ed264a684e4fbc383e4 (patch)
treedf05404dcae6e26d2c1c8b2335d3d2899b913159 /src
parent2c0347ff7a13896dcc64c1deb4447449790bad73 (diff)
Add manga description to mangadex and mangakatana search, fix matrix notification invite not showing when opening quickmedia, clear fetch page and items on reload of lazy page
Diffstat (limited to 'src')
-rw-r--r--src/QuickMedia.cpp6
-rw-r--r--src/VideoPlayer.cpp3
-rw-r--r--src/plugins/Mangadex.cpp8
-rw-r--r--src/plugins/Matrix.cpp4
4 files changed, 17 insertions, 4 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 0513862..ff792e4 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -814,6 +814,7 @@ namespace QuickMedia {
{"//div[id='book_list']//div[class='media']//img", "src", nullptr},
{"//div[id='single_book']//div[class='cover']//img", "src", nullptr}
})
+ .description_handler({{"//div[id='book_list']//div[class='*summary*']", "text"}})
.authors_handler({{"//div[id='single_book']//a[class='author']", "text", "href", "/author/"}})
.list_chapters_handler("//div[class='chapters']//div[class='chapter']//a", "text", "href", "/manga/")
.list_chapters_uploaded_time_handler("//div[class='chapters']//div[class='update_time']", "text", nullptr)
@@ -1716,8 +1717,11 @@ namespace QuickMedia {
for(size_t i = 0; i < tabs.size(); ++i) {
tabs[i].body->clear_cache();
- if(tabs[i].page->is_lazy_fetch_page() && static_cast<LazyFetchPage*>(tabs[i].page.get())->reload_on_page_change())
+ if(tabs[i].page->is_lazy_fetch_page() && static_cast<LazyFetchPage*>(tabs[i].page.get())->reload_on_page_change()) {
tab_associated_data[i].lazy_fetch_finished = false;
+ tab_associated_data[i].fetched_page = 0;
+ tabs[i].body->clear_items();
+ }
}
if(tabs[selected_tab].page->allow_submit_no_selection()) {
diff --git a/src/VideoPlayer.cpp b/src/VideoPlayer.cpp
index 379b5b4..8c17f35 100644
--- a/src/VideoPlayer.cpp
+++ b/src/VideoPlayer.cpp
@@ -98,13 +98,14 @@ namespace QuickMedia {
input_ipc_client_fd_arg.c_str(),
"--cursor-autohide=no", /* "--no-input-default-bindings", "--input-vo-keyboard=no", "--no-input-cursor", */
"--no-terminal",
- "--save-position-on-quit=yes",
+ "--save-position-on-quit=no",
"--profile=pseudo-gui", // For gui when playing audio, requires a version of mpv that isn't ancient
ytdl_format.c_str(),
"--no-resume-playback",
// TODO: Disable hr seek on low power devices?
"--hr-seek=yes",
//"--cache=no",
+ "--force-seekable=yes",
"--cache-pause=no",
input_conf.c_str(),
wid_arg.c_str()
diff --git a/src/plugins/Mangadex.cpp b/src/plugins/Mangadex.cpp
index 45e81cd..0178c1e 100644
--- a/src/plugins/Mangadex.cpp
+++ b/src/plugins/Mangadex.cpp
@@ -186,6 +186,14 @@ namespace QuickMedia {
auto body_item = BodyItem::create(std::move(title));
body_item->url = id_json.asString();
+ const Json::Value &description_json = attributes_json["description"];
+ if(description_json.isObject()) {
+ const Json::Value &en_json = description_json["en"];
+ if(en_json.isString()) {
+ body_item->set_description(en_json.asString());
+ body_item->set_description_color(sf::Color(179, 179, 179));
+ }
+ }
result_items.push_back(std::move(body_item));
}
diff --git a/src/plugins/Matrix.cpp b/src/plugins/Matrix.cpp
index 89c9984..1e20bf6 100644
--- a/src/plugins/Matrix.cpp
+++ b/src/plugins/Matrix.cpp
@@ -1567,7 +1567,7 @@ namespace QuickMedia {
std::string room_id(room_id_json.GetString(), room_id_json.GetStringLength());
RoomData *room = get_room_by_id(room_id);
if(!room) {
- fprintf(stderr, "Warning: got notification in unknown room %s\n", room_id.c_str());
+ //fprintf(stderr, "Warning: got notification in unknown room %s\n", room_id.c_str());
continue;
}
@@ -2656,7 +2656,7 @@ namespace QuickMedia {
invite.room_avatar_url = room->get_avatar_url();
invite.invited_by = invited_by;
invite.timestamp = timestamp_json.GetInt64();
- invite.new_invite = !next_batch.empty();
+ invite.new_invite = !sync_is_cache;
std::string room_id_str(room_id.GetString(), room_id.GetStringLength());
if(set_invite(room_id_str, invite))