summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2012-08-30 17:13:25 -0400
committerWilliam Jon McCann <jmccann@redhat.com>2012-08-30 17:25:30 -0400
commit173940ac28189a02dc8008ec25d4975c029d857d (patch)
tree5309a234d9eeb3643337a30b4c19e495bfb08146
parent94967e5af444b46ba3fb915c77785b7d85e7c39e (diff)
downloadnautilus-173940ac28189a02dc8008ec25d4975c029d857d.tar.gz
Use 24 hour date format when requested
https://bugzilla.gnome.org/show_bug.cgi?id=680234
-rw-r--r--libnautilus-private/nautilus-file.c14
-rw-r--r--libnautilus-private/nautilus-global-preferences.c1
-rw-r--r--libnautilus-private/nautilus-global-preferences.h1
3 files changed, 13 insertions, 3 deletions
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
index 4f90fe0dc..6691f7b41 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 80f90c42a..9f9c942ce 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 fec50b07b..632fd427b 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