diff options
author | Marvin W <git@larma.de> | 2023-02-07 20:10:17 +0100 |
---|---|---|
committer | Marvin W <git@larma.de> | 2023-02-07 20:23:52 +0100 |
commit | 116682e311edca6665a0497c8b225b4fe69859a7 (patch) | |
tree | b9a9de7e705c3fec2fda528c2b8b2529486201fc /main/src/ui/conversation_content_view/conversation_item_skeleton.vala | |
parent | 32ae87a3c4cebaa05e0e702d744900cd414000db (diff) | |
download | dino-116682e311edca6665a0497c8b225b4fe69859a7.tar.gz dino-116682e311edca6665a0497c8b225b4fe69859a7.zip |
Fix various date/time stamps not updated or wrong time zone
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.vala | 13 |
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()); |