aboutsummaryrefslogtreecommitdiff
path: root/src/SearchBar.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-10-11 21:35:37 +0200
committerdec05eba <dec05eba@protonmail.com>2020-10-13 13:13:01 +0200
commit77ed51898157d99112be7550471ec06e32344c9e (patch)
tree0645274d0f13b4fa6940d4054f74a070611a8ef0 /src/SearchBar.cpp
parentda89ec98fb34757f0c46dc8cb2dd87ae78d317ce (diff)
Refactor plugin into seperate pages
TODO: Readd 4chan login page, manganelo creators page, autocomplete
Diffstat (limited to 'src/SearchBar.cpp')
-rw-r--r--src/SearchBar.cpp29
1 files changed, 18 insertions, 11 deletions
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();