aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_content_view/conversation_item_skeleton.vala
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/conversation_content_view/conversation_item_skeleton.vala')
-rw-r--r--main/src/ui/conversation_content_view/conversation_item_skeleton.vala13
1 files changed, 6 insertions, 7 deletions
diff --git a/main/src/ui/conversation_content_view/conversation_item_skeleton.vala b/main/src/ui/conversation_content_view/conversation_item_skeleton.vala
index 96cb6c3d..9e98cacb 100644
--- a/main/src/ui/conversation_content_view/conversation_item_skeleton.vala
+++ b/main/src/ui/conversation_content_view/conversation_item_skeleton.vala
@@ -173,7 +173,7 @@ public class ConversationItemSkeleton : Plugins.ConversationItemWidgetInterface,
private void update_time() {
time_label.label = get_relative_time(item.time.to_local()).to_string();
- time_update_timeout = Timeout.add_seconds((int) get_next_time_change(), () => {
+ time_update_timeout = Timeout.add_seconds((int) get_next_time_change(item.time), () => {
if (this.main_grid.parent == null) return false;
update_time();
return false;
@@ -206,16 +206,15 @@ public class ConversationItemSkeleton : Plugins.ConversationItemWidgetInterface,
}
}
- private int get_next_time_change() {
+ public static int get_next_time_change(DateTime datetime) {
DateTime now = new DateTime.now_local();
- DateTime item_time = item.time;
- TimeSpan timespan = now.difference(item_time);
+ TimeSpan timespan = now.difference(datetime);
if (timespan < 10 * TimeSpan.MINUTE) {
- if (now.get_second() < item_time.get_second()) {
- return item_time.get_second() - now.get_second();
+ if (now.get_second() < datetime.get_second()) {
+ return datetime.get_second() - now.get_second();
} else {
- return 60 - (now.get_second() - item_time.get_second());
+ return 60 - (now.get_second() - datetime.get_second());
}
} else {
return (23 - now.get_hour()) * 3600 + (59 - now.get_minute()) * 60 + (59 - now.get_second());