From 7067bca54b8b23a4f3f4cd66b20f5ffe7187f424 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 5 Nov 2020 12:31:08 +0100 Subject: Change chat input to I, remove read marker delay --- src/QuickMedia.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 5d980f3..5fc5fb7 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -2528,7 +2528,7 @@ namespace QuickMedia { }, is_tor_enabled()); }; - Entry comment_input("Press m to begin writing a comment..."); + Entry comment_input("Press i to begin writing a comment..."); comment_input.draw_background = false; comment_input.set_editable(false); @@ -2596,6 +2596,7 @@ namespace QuickMedia { sf::Vector2f body_pos; sf::Vector2f body_size; bool redraw = true; + bool frame_skip_text_entry = false; sf::Event event; std::stack comment_navigation_stack; @@ -2603,7 +2604,7 @@ namespace QuickMedia { while (current_page == PageType::IMAGE_BOARD_THREAD && window.isOpen()) { while (window.pollEvent(event)) { - if(navigation_stage == NavigationStage::REPLYING) { + if(navigation_stage == NavigationStage::REPLYING && !frame_skip_text_entry) { comment_input.process_event(event); // To prevent pressing enter in comment_input text submit from also immediately sending captcha solution.. is there no better solution? if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Enter) @@ -2715,10 +2716,13 @@ namespace QuickMedia { comment_input.append_text(std::move(text_to_add)); comment_input.move_caret_to_end(); } - } else if(navigation_stage == NavigationStage::VIEWING_COMMENTS && event.type == sf::Event::KeyReleased && event.key.code == sf::Keyboard::M) { - navigation_stage = NavigationStage::REPLYING; - comment_input.set_editable(true); - comment_input.move_caret_to_end(); + + if(event.key.code == sf::Keyboard::I) { + frame_skip_text_entry = true; + navigation_stage = NavigationStage::REPLYING; + comment_input.set_editable(true); + comment_input.move_caret_to_end(); + } } if(event.type == sf::Event::KeyPressed && navigation_stage == NavigationStage::SOLVING_POST_CAPTCHA) { @@ -2774,6 +2778,7 @@ namespace QuickMedia { } } } + frame_skip_text_entry = false; chat_input_height_full = comment_input.get_height() + chat_input_padding_y * 2.0f; @@ -3303,7 +3308,7 @@ namespace QuickMedia { read_marker_timeout_ms = 0; redraw = true; - Entry chat_input("Press m to begin writing a message..."); + Entry chat_input("Press i to begin writing a message..."); chat_input.draw_background = false; chat_input.set_editable(false); @@ -3754,7 +3759,7 @@ namespace QuickMedia { chat_input.set_editable(false); } - if(event.key.code == sf::Keyboard::M) { + if(event.key.code == sf::Keyboard::I) { frame_skip_text_entry = true; chat_input.set_editable(true); chat_state = ChatState::TYPING_MESSAGE; @@ -4248,7 +4253,7 @@ namespace QuickMedia { Message *message = (Message*)last_visible_item->userdata; // TODO: What if two messages have the same timestamp? if(message->timestamp > current_room->last_read_message_timestamp) { - read_marker_timeout_ms = read_marker_timeout_ms_default; + //read_marker_timeout_ms = read_marker_timeout_ms_default; current_room->last_read_message_timestamp = message->timestamp; // TODO: What if the message is no longer valid? setting_read_marker = true; -- cgit v1.2.3