From 77ed51898157d99112be7550471ec06e32344c9e Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 11 Oct 2020 21:35:37 +0200 Subject: Refactor plugin into seperate pages TODO: Readd 4chan login page, manganelo creators page, autocomplete --- src/SearchBar.cpp | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'src/SearchBar.cpp') diff --git a/src/SearchBar.cpp b/src/SearchBar.cpp index f489779..382b06a 100644 --- a/src/SearchBar.cpp +++ b/src/SearchBar.cpp @@ -32,6 +32,7 @@ namespace QuickMedia { draw_logo(false), needs_update(true), input_masked(input_masked), + typing(false), vertical_pos(0.0f) { text.setFillColor(text_placeholder_color); @@ -97,6 +98,7 @@ namespace QuickMedia { u8_str->clear(); if(onTextUpdateCallback) onTextUpdateCallback(*u8_str); + typing = false; } else if(updated_autocomplete && elapsed_time >= autocomplete_search_delay) { updated_autocomplete = false; if(!show_placeholder && onAutocompleteRequestCallback) { @@ -160,24 +162,23 @@ namespace QuickMedia { } else { clear_autocomplete_if_text_not_substring(); } - if(!updated_search && onTextBeginTypingCallback) - onTextBeginTypingCallback(); + if(!updated_search) { + typing = true; + if(onTextBeginTypingCallback) + onTextBeginTypingCallback(); + } updated_search = true; updated_autocomplete = true; time_since_search_update.restart(); } } else if(codepoint == 13) { // Return - bool clear_search = true; if(onTextSubmitCallback) { auto u8 = text.getString().toUtf8(); std::string *u8_str = (std::string*)&u8; if(show_placeholder) u8_str->clear(); - clear_search = onTextSubmitCallback(*u8_str); + onTextSubmitCallback(*u8_str); } - - if(clear_search) - clear(); } else if(codepoint > 31) { // Non-control character append_text(sf::String(codepoint)); } else if(codepoint == '\n') @@ -211,8 +212,11 @@ namespace QuickMedia { text.setString(str); clear_autocomplete_if_text_not_substring(); - if(!updated_search && onTextBeginTypingCallback) - onTextBeginTypingCallback(); + if(!updated_search) { + typing = true; + if(onTextBeginTypingCallback) + onTextBeginTypingCallback(); + } updated_search = true; updated_autocomplete = true; time_since_search_update.restart(); @@ -235,8 +239,11 @@ namespace QuickMedia { text.setFillColor(sf::Color::White); } text.setString(autocomplete_str); - if(!updated_search && onTextBeginTypingCallback) - onTextBeginTypingCallback(); + if(!updated_search) { + typing = true; + if(onTextBeginTypingCallback) + onTextBeginTypingCallback(); + } updated_search = true; updated_autocomplete = true; time_since_search_update.restart(); -- cgit v1.2.3