aboutsummaryrefslogtreecommitdiff
path: root/src/Body.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Body.cpp')
-rw-r--r--src/Body.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/Body.cpp b/src/Body.cpp
index 7f96263..3f5c755 100644
--- a/src/Body.cpp
+++ b/src/Body.cpp
@@ -186,10 +186,11 @@ namespace QuickMedia {
return true;
}
- void Body::set_selected_item(int item) {
+ void Body::set_selected_item(int item, bool reset_prev_selected_item) {
//assert(item >= 0 && item < (int)items.size());
selected_item = item;
- prev_selected_item = selected_item;
+ if(reset_prev_selected_item)
+ prev_selected_item = selected_item;
clamp_selection();
//page_scroll = 0.0f;
}
@@ -216,10 +217,6 @@ namespace QuickMedia {
clamp_selection();
}
- void Body::reset_selected() {
- select_first_item();
- }
-
void Body::clear_items() {
items.clear();
selected_item = 0;
@@ -235,6 +232,7 @@ namespace QuickMedia {
items.insert(items.end(), std::make_move_iterator(new_items.begin()), std::make_move_iterator(new_items.end()));
}
+ // TODO: Binary search and use hint to start search from start or end (for example when adding "previous" items or "next" items)
void Body::insert_item_by_timestamp(std::shared_ptr<BodyItem> body_item) {
for(size_t i = 0; i < items.size(); ++i) {
if(body_item->get_timestamp() < items[i]->get_timestamp()) {