aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-time.c
diff options
context:
space:
mode:
authorMarco Barisione <marco.barisione@collabora.co.uk>2013-07-29 16:32:09 +0800
committerMarco Barisione <marco.barisione@collabora.co.uk>2013-08-20 18:03:05 +0800
commit59d0c113fdf2e565f512c98334a1808cfd216fa9 (patch)
tree6298463ab4aa96a3ad12448387e4e0edc97089df /libempathy/empathy-time.c
parent1f633bf20747995395b1dcc7001e0c9502104eda (diff)
downloadgsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.tar
gsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.tar.gz
gsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.tar.bz2
gsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.tar.lz
gsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.tar.xz
gsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.tar.zst
gsoc2013-empathy-59d0c113fdf2e565f512c98334a1808cfd216fa9.zip
time: move from Empathy to tp-account-widgets
https://bugzilla.gnome.org/show_bug.cgi?id=699492
Diffstat (limited to 'libempathy/empathy-time.c')
-rw-r--r--libempathy/empathy-time.c144
1 files changed, 0 insertions, 144 deletions
diff --git a/libempathy/empathy-time.c b/libempathy/empathy-time.c
deleted file mode 100644
index d14f2c4cc..000000000
--- a/libempathy/empathy-time.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2003-2007 Imendio AB
- * Copyright (C) 2007-2012 Collabora Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Authors: Richard Hult <richard@imendio.com>
- */
-
-#include "config.h"
-#include "empathy-time.h"
-
-#include <glib/gi18n-lib.h>
-
-/* Note: EmpathyTime is always in UTC. */
-
-gint64
-empathy_time_get_current (void)
-{
- GDateTime *now;
- gint64 result;
-
- now = g_date_time_new_now_utc ();
- result = g_date_time_to_unix (now);
- g_date_time_unref (now);
-
- return result;
-}
-
-/* Converts the UTC timestamp to a string, also in UTC.
- * Returns NULL on failure. */
-gchar *
-empathy_time_to_string_utc (gint64 t,
- const gchar *format)
-{
- GDateTime *d;
- char *result;
-
- g_return_val_if_fail (format != NULL, NULL);
-
- d = g_date_time_new_from_unix_utc (t);
- result = g_date_time_format (d, format);
- g_date_time_unref (d);
-
- return result;
-}
-
-/* Converts the UTC timestamp to a string, in local time.
- * Returns NULL on failure. */
-gchar *
-empathy_time_to_string_local (gint64 t,
- const gchar *format)
-{
- GDateTime *d, *local;
- gchar *result;
-
- g_return_val_if_fail (format != NULL, NULL);
-
- d = g_date_time_new_from_unix_utc (t);
- local = g_date_time_to_local (d);
- g_date_time_unref (d);
-
- result = g_date_time_format (local, format);
- g_date_time_unref (local);
-
- return result;
-}
-
-gchar *
-empathy_duration_to_string (guint seconds)
-{
- if (seconds < 60)
- {
- return g_strdup_printf (ngettext ("%d second ago",
- "%d seconds ago", seconds), seconds);
- }
- else if (seconds < (60 * 60))
- {
- seconds /= 60;
- return g_strdup_printf (ngettext ("%d minute ago",
- "%d minutes ago", seconds), seconds);
- }
- else if (seconds < (60 * 60 * 24))
- {
- seconds /= 60 * 60;
- return g_strdup_printf (ngettext ("%d hour ago",
- "%d hours ago", seconds), seconds);
- }
- else if (seconds < (60 * 60 * 24 * 7))
- {
- seconds /= 60 * 60 * 24;
- return g_strdup_printf (ngettext ("%d day ago",
- "%d days ago", seconds), seconds);
- }
- else if (seconds < (60 * 60 * 24 * 30))
- {
- seconds /= 60 * 60 * 24 * 7;
- return g_strdup_printf (ngettext ("%d week ago",
- "%d weeks ago", seconds), seconds);
- }
- else
- {
- seconds /= 60 * 60 * 24 * 30;
- return g_strdup_printf (ngettext ("%d month ago",
- "%d months ago", seconds), seconds);
- }
-}
-
-gchar *
-empathy_time_to_string_relative (gint64 t)
-{
- GDateTime *now, *then;
- gint seconds;
- GTimeSpan delta;
- gchar *result;
-
- now = g_date_time_new_now_utc ();
- then = g_date_time_new_from_unix_utc (t);
-
- delta = g_date_time_difference (now, then);
- seconds = delta / G_TIME_SPAN_SECOND;
-
- if (seconds > 0)
- result = empathy_duration_to_string (seconds);
- else
- result = g_strdup (_("in the future"));
-
- g_date_time_unref (now);
- g_date_time_unref (then);
-
- return result;
-}