aboutsummaryrefslogtreecommitdiff
path: root/src/Body.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Body.cpp')
-rw-r--r--src/Body.cpp51
1 files changed, 27 insertions, 24 deletions
diff --git a/src/Body.cpp b/src/Body.cpp
index 1b1d35a..5a23694 100644
--- a/src/Body.cpp
+++ b/src/Body.cpp
@@ -288,11 +288,12 @@ namespace QuickMedia {
//item_background.set_position(sf::Vector2f(body_pos.x, item_background_target_pos_y));
}
- void Body::select_last_item() {
+ void Body::select_last_item(bool reset_prev_select) {
int new_selected_item = std::max(0, (int)items.size() - 1);
selected_scrolled = 0.0f;
selected_item = new_selected_item;
- //prev_selected_item = selected_item;
+ if(reset_prev_select)
+ prev_selected_item = selected_item;
//page_scroll = 0.0f;
clamp_selection();
clamp_selected_item_to_body_count = 1;
@@ -312,8 +313,8 @@ namespace QuickMedia {
//item_background.set_position(sf::Vector2f(body_pos.x, item_background_target_pos_y));
}
- void Body::prepend_items(BodyItems new_items) {
- items.insert(items.begin(), std::make_move_iterator(new_items.begin()), std::make_move_iterator(new_items.end()));
+ void Body::prepend_items_reverse(BodyItems new_items) {
+ items.insert(items.begin(), std::make_move_iterator(new_items.rbegin()), std::make_move_iterator(new_items.rend()));
items_set_dirty();
}
@@ -1006,30 +1007,32 @@ namespace QuickMedia {
if(body_item->dirty_timestamp) {
body_item->dirty_timestamp = false;
- //time_t time_now = time(NULL);
- //struct tm *now_tm = localtime(&time_now);
+ if(body_item->get_timestamp() != 0) {
+ //time_t time_now = time(NULL);
+ //struct tm *now_tm = localtime(&time_now);
- time_t message_timestamp = body_item->get_timestamp() / 1000;
- struct tm message_tm;
- localtime_r(&message_timestamp, &message_tm);
+ time_t message_timestamp = body_item->get_timestamp() / 1000;
+ struct tm message_tm;
+ localtime_r(&message_timestamp, &message_tm);
- //bool is_same_year = message_tm->tm_year == now_tm->tm_year;
-
- char time_str[128] = {0};
- /*
- if(is_same_year)
- strftime(time_str, sizeof(time_str) - 1, "%a %b %d %H:%M:%S", message_tm);
- else
- strftime(time_str, sizeof(time_str) - 1, "%a %b %d %H:%M:%S %Y", message_tm);
- */
- strftime(time_str, sizeof(time_str) - 1, "%a %b %d %H:%M", &message_tm);
+ //bool is_same_year = message_tm->tm_year == now_tm->tm_year;
+
+ char time_str[128] = {0};
+ /*
+ if(is_same_year)
+ strftime(time_str, sizeof(time_str) - 1, "%a %b %d %H:%M:%S", message_tm);
+ else
+ strftime(time_str, sizeof(time_str) - 1, "%a %b %d %H:%M:%S %Y", message_tm);
+ */
+ strftime(time_str, sizeof(time_str) - 1, "%a %b %d %H:%M", &message_tm);
- if(body_item->timestamp_text)
- body_item->timestamp_text->setString(time_str);
- else
- body_item->timestamp_text = std::make_unique<sf::Text>(time_str, *FontLoader::get_font(FontLoader::FontType::LATIN), std::floor(10 * get_ui_scale()));
+ if(body_item->timestamp_text)
+ body_item->timestamp_text->setString(time_str);
+ else
+ body_item->timestamp_text = std::make_unique<sf::Text>(time_str, *FontLoader::get_font(FontLoader::FontType::LATIN), std::floor(10 * get_ui_scale()));
- body_item->timestamp_text->setFillColor(sf::Color(185, 190, 198, 100));
+ body_item->timestamp_text->setFillColor(sf::Color(185, 190, 198, 100));
+ }
}
}