diff options
author | Jürg Billeter <j@bitron.ch> | 2004-07-16 12:04:29 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2004-07-16 12:04:29 +0000 |
commit | 7b4a12a5b072693062515dbc82befb1a607adf21 (patch) | |
tree | 8beca1528a059ba920209124e57de7143c4e3509 /libnautilus-private | |
parent | 68b25b6493012008729eb1d8059f7829cb1768c6 (diff) | |
download | nautilus-7b4a12a5b072693062515dbc82befb1a607adf21.tar.gz |
Add preference to choose date format. Set default date format to '%c',
2004-07-15 Jürg Billeter <j@bitron.ch>
* libnautilus-private/apps_nautilus_preferences.schemas.in:
* libnautilus-private/nautilus-directory.c: (add_preferences_callbacks):
* libnautilus-private/nautilus-file.c: (date_format_changed_callback),
(nautilus_file_fit_date_as_string):
* libnautilus-private/nautilus-global-preferences.c:
* libnautilus-private/nautilus-global-preferences.h:
* src/nautilus-file-management-properties.c: (create_date_format_menu),
(nautilus_file_management_properties_dialog_setup):
* src/nautilus-file-management-properties.glade:
Add preference to choose date format. Set default date format to '%c',
'the preferred representation for the current locale'.
Diffstat (limited to 'libnautilus-private')
-rw-r--r-- | libnautilus-private/apps_nautilus_preferences.schemas.in | 15 | ||||
-rw-r--r-- | libnautilus-private/nautilus-directory.c | 3 | ||||
-rw-r--r-- | libnautilus-private/nautilus-file.c | 13 | ||||
-rw-r--r-- | libnautilus-private/nautilus-global-preferences.c | 15 | ||||
-rw-r--r-- | libnautilus-private/nautilus-global-preferences.h | 8 |
5 files changed, 54 insertions, 0 deletions
diff --git a/libnautilus-private/apps_nautilus_preferences.schemas.in b/libnautilus-private/apps_nautilus_preferences.schemas.in index 4728e8da5..62f283e1e 100644 --- a/libnautilus-private/apps_nautilus_preferences.schemas.in +++ b/libnautilus-private/apps_nautilus_preferences.schemas.in @@ -629,6 +629,21 @@ </schema> <schema> + <key>/schemas/apps/nautilus/preferences/date_format</key> + <applyto>/apps/nautilus/preferences/date_format</applyto> + <owner>nautilus</owner> + <type>string</type> + <default>locale</default> + <locale name="C"> + <short>Date Format</short> + <long> + The format of file dates. Possible values are "locale", + "iso", and "informal". + </long> + </locale> + </schema> + + <schema> <key>/schemas/apps/nautilus/preferences/hide_built_in_bookmarks</key> <applyto>/apps/nautilus/preferences/hide_built_in_bookmarks</applyto> <owner>nautilus</owner> diff --git a/libnautilus-private/nautilus-directory.c b/libnautilus-private/nautilus-directory.c index 9a8e5913f..b958b5cdb 100644 --- a/libnautilus-private/nautilus-directory.c +++ b/libnautilus-private/nautilus-directory.c @@ -304,6 +304,9 @@ add_preferences_callbacks (void) eel_preferences_add_callback (NAUTILUS_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS, async_data_preference_changed_callback, NULL); + eel_preferences_add_callback (NAUTILUS_PREFERENCES_DATE_FORMAT, + async_data_preference_changed_callback, + NULL); } char * diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c index 0e35a68d1..cf6c6f1ea 100644 --- a/libnautilus-private/nautilus-file.c +++ b/libnautilus-private/nautilus-file.c @@ -111,6 +111,8 @@ enum { LAST_SIGNAL }; +static int date_format_pref; + static guint signals[LAST_SIGNAL]; static GObjectClass *parent_class = NULL; @@ -3018,6 +3020,13 @@ nautilus_file_fit_date_as_string (NautilusFile *file, } file_time = localtime (&file_time_raw); + + if (date_format_pref == NAUTILUS_DATE_FORMAT_LOCALE) { + return eel_strdup_strftime ("%c", file_time); + } else if (date_format_pref == NAUTILUS_DATE_FORMAT_ISO) { + return eel_strdup_strftime ("%Y-%m-%d %H:%M:%S", file_time); + } + file_date = eel_g_date_new_tm (file_time); today = g_date_new (); @@ -6014,6 +6023,10 @@ nautilus_file_class_init (NautilusFileClass *class) G_TYPE_NONE, 0); g_type_class_add_private (class, sizeof (NautilusFileDetails)); + + + eel_preferences_add_auto_enum (NAUTILUS_PREFERENCES_DATE_FORMAT, + &date_format_pref); } static GnomeVFSFileInfo * diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c index 5770cfe32..839b93b8a 100644 --- a/libnautilus-private/nautilus-global-preferences.c +++ b/libnautilus-private/nautilus-global-preferences.c @@ -204,6 +204,14 @@ static EelEnumerationEntry standard_font_size_entries[] = { { NULL } }; +/* These are not translated, because the text is not used in the ui */ +static EelEnumerationEntry date_format_entries[] = { + { "locale", "Locale Default", NAUTILUS_DATE_FORMAT_LOCALE }, + { "iso", "ISO Format", NAUTILUS_DATE_FORMAT_ISO }, + { "informal", "Informal", NAUTILUS_DATE_FORMAT_INFORMAL }, + { NULL } +}; + /* These enumerations are used in the preferences dialog to * populate widgets and route preferences changes between the * storage (GConf) and the displayed values. @@ -218,6 +226,7 @@ static EelEnumerationInfo enumerations[] = { { "search_bar_type", search_bar_type_enum_entries }, { "speed_tradeoff", speed_tradeoff_enum_entries }, { "standard_font_size", standard_font_size_entries }, + { "date_format", date_format_entries }, { NULL } }; @@ -403,6 +412,12 @@ static const PreferenceDefault preference_defaults[] = { PREFERENCE_BOOLEAN, GINT_TO_POINTER (TRUE) }, + { NAUTILUS_PREFERENCES_DATE_FORMAT, + PREFERENCE_STRING, + "locale", + NULL, NULL, + "date_format" + }, /* Home URI */ { NAUTILUS_PREFERENCES_HOME_URI, diff --git a/libnautilus-private/nautilus-global-preferences.h b/libnautilus-private/nautilus-global-preferences.h index e726ff61e..814361702 100644 --- a/libnautilus-private/nautilus-global-preferences.h +++ b/libnautilus-private/nautilus-global-preferences.h @@ -59,6 +59,14 @@ G_BEGIN_DECLS #define NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES "/desktop/gnome/file_views/show_hidden_files" #define NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES "/desktop/gnome/file_views/show_backup_files" #define NAUTILUS_PREFERENCES_SHOW_SPECIAL_FLAGS "preferences/show_special_flags" +#define NAUTILUS_PREFERENCES_DATE_FORMAT "preferences/date_format" + +typedef enum +{ + NAUTILUS_DATE_FORMAT_LOCALE, + NAUTILUS_DATE_FORMAT_ISO, + NAUTILUS_DATE_FORMAT_INFORMAL +} NautilusDateFormat; /* Sidebar panels */ #define NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES "sidebar_panels/tree/show_only_directories" |