[nautilus] Use 24 hour date format when requested



commit 173940ac28189a02dc8008ec25d4975c029d857d
Author: William Jon McCann <jmccann redhat com>
Date:   Thu Aug 30 17:13:25 2012 -0400

    Use 24 hour date format when requested
    
    https://bugzilla.gnome.org/show_bug.cgi?id=680234

 libnautilus-private/nautilus-file.c               |   14 +++++++++++---
 libnautilus-private/nautilus-global-preferences.c |    1 +
 libnautilus-private/nautilus-global-preferences.h |    1 +
 3 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index 4f90fe0..6691f7b 100644
--- a/libnautilus-private/nautilus-file.c
+++ b/libnautilus-private/nautilus-file.c
@@ -58,6 +58,7 @@
 #include <glib/gstdio.h>
 #include <gio/gio.h>
 #include <glib.h>
+#include <gdesktop-enums.h>
 #include <libnautilus-extension/nautilus-file-info.h>
 #include <libnautilus-extension/nautilus-extension-private.h>
 #include <libxml/parser.h>
@@ -4419,11 +4420,13 @@ nautilus_file_get_trash_original_file_parent_as_string (NautilusFile *file)
  * off zero padding, and putting a "_" there will use
  * space padding instead of zero padding.
  */
+#define TODAY_TIME_FORMAT_24 N_("%R")
 #define TODAY_TIME_FORMAT N_("%-I:%M %P")
 #define THIS_MONTH_TIME_FORMAT N_("%b %-e")
 #define THIS_YEAR_TIME_FORMAT N_("%b %-e")
 #define ANYTIME_TIME_FORMAT N_("%b %-d %Y")
-#define FULL_FORMAT N_("%a, %b %e %Y %H:%M:%S %p")
+#define FULL_FORMAT N_("%a, %b %e %Y %I:%M:%S %p")
+#define FULL_FORMAT_24 N_("%a, %b %e %Y %T")
 
 /**
  * nautilus_file_get_date_as_string:
@@ -4444,6 +4447,8 @@ nautilus_file_get_date_as_string (NautilusFile *file, NautilusDateType date_type
 	GDateTime *date_time, *today;
 	int y, m, d;
 	int y_now, m_now, d_now;
+	GDesktopClockFormat value;
+	gboolean use_24;
 
 	if (!nautilus_file_get_date (file, date_type, &file_time_raw)) {
 		return NULL;
@@ -4457,10 +4462,13 @@ nautilus_file_get_date_as_string (NautilusFile *file, NautilusDateType date_type
 	g_date_time_get_ymd (today, &y_now, &m_now, &d_now);
 	g_date_time_unref (today);
 
+	value = g_settings_get_enum (gnome_interface_preferences, "clock-format");
+	use_24 = value == G_DESKTOP_CLOCK_FORMAT_24H;
+
 	if (!compact) {
-		format = FULL_FORMAT;
+		format = use_24 ? FULL_FORMAT_24 : FULL_FORMAT;
 	} else if (y == y_now && m == m_now && d == d_now) {
-		format = TODAY_TIME_FORMAT;
+		format = use_24 ? TODAY_TIME_FORMAT_24 : TODAY_TIME_FORMAT;
 	} else if (y == y_now && m == m_now) {
 		format = THIS_MONTH_TIME_FORMAT;
 	} else if (y == y_now) {
diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c
index 80f90c4..9f9c942 100644
--- a/libnautilus-private/nautilus-global-preferences.c
+++ b/libnautilus-private/nautilus-global-preferences.c
@@ -73,4 +73,5 @@ nautilus_global_preferences_init (void)
 	nautilus_desktop_preferences = g_settings_new("org.gnome.nautilus.desktop");
 	gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown");
 	gnome_background_preferences = g_settings_new("org.gnome.desktop.background");
+	gnome_interface_preferences = g_settings_new ("org.gnome.desktop.interface");
 }
diff --git a/libnautilus-private/nautilus-global-preferences.h b/libnautilus-private/nautilus-global-preferences.h
index fec50b0..632fd42 100644
--- a/libnautilus-private/nautilus-global-preferences.h
+++ b/libnautilus-private/nautilus-global-preferences.h
@@ -167,6 +167,7 @@ GSettings *nautilus_desktop_preferences;
 GSettings *nautilus_window_state;
 GSettings *gnome_lockdown_preferences;
 GSettings *gnome_background_preferences;
+GSettings *gnome_interface_preferences;
 
 G_END_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]