diff options
author | dec05eba <dec05eba@protonmail.com> | 2020-11-05 12:31:08 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-11-05 12:31:08 +0100 |
commit | 7067bca54b8b23a4f3f4cd66b20f5ffe7187f424 (patch) | |
tree | a98dafea92aee90988573172f86dd4be2b004095 /src | |
parent | 3dd837611eef939a1fd54621c523cff4ab48e136 (diff) |
Change chat input to I, remove read marker delay
Diffstat (limited to 'src')
-rw-r--r-- | src/QuickMedia.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
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<int> 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; |