[nautilus] Convert desktop preferences to gsettings
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] Convert desktop preferences to gsettings
- Date: Fri, 23 Jul 2010 10:34:03 +0000 (UTC)
commit f6697ac99280f4fd9b8920d52bcc7407fd09c15c
Author: Alexander Larsson <alexl redhat com>
Date: Thu Jul 22 22:29:50 2010 +0200
Convert desktop preferences to gsettings
.../nautilus-desktop-link-monitor.c | 59 ++++++----
libnautilus-private/nautilus-desktop-link.c | 126 ++++++++++++--------
libnautilus-private/nautilus-global-preferences.c | 110 +-----------------
libnautilus-private/nautilus-global-preferences.h | 21 ++--
libnautilus-private/nautilus-icon-container.c | 37 ++++---
.../org.gnome.nautilus.gschema.xml.in | 6 +-
src/nautilus-file-management-properties.c | 7 +-
src/nautilus-file-management-properties.ui | 9 ++
8 files changed, 163 insertions(+), 212 deletions(-)
---
diff --git a/libnautilus-private/nautilus-desktop-link-monitor.c b/libnautilus-private/nautilus-desktop-link-monitor.c
index 43f713e..c2bdc6d 100644
--- a/libnautilus-private/nautilus-desktop-link-monitor.c
+++ b/libnautilus-private/nautilus-desktop-link-monitor.c
@@ -215,7 +215,8 @@ create_mount_link (NautilusDesktopLinkMonitor *monitor,
return;
if ((!g_mount_is_shadowed (mount)) &&
- eel_preferences_get_boolean (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE)) {
+ g_settings_get_boolean (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE)) {
link = nautilus_desktop_link_new_from_mount (mount);
monitor->details->mount_links = g_list_prepend (monitor->details->mount_links, link);
}
@@ -283,7 +284,7 @@ update_link_visibility (NautilusDesktopLinkMonitor *monitor,
NautilusDesktopLinkType link_type,
const char *preference_key)
{
- if (eel_preferences_get_boolean (preference_key)) {
+ if (g_settings_get_boolean (nautilus_desktop_preferences, preference_key)) {
if (*link_ref == NULL) {
*link_ref = nautilus_desktop_link_new (link_type);
}
@@ -352,10 +353,11 @@ desktop_volumes_visible_changed (gpointer callback_data)
{
NautilusDesktopLinkMonitor *monitor;
GList *l, *mounts;
-
+
monitor = NAUTILUS_DESKTOP_LINK_MONITOR (callback_data);
- if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE)) {
+ if (g_settings_get_boolean (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE)) {
if (monitor->details->mount_links == NULL) {
mounts = g_volume_monitor_get_mounts (monitor->details->volume_monitor);
for (l = mounts; l != NULL; l = l->next) {
@@ -375,16 +377,21 @@ static void
create_link_and_add_preference (NautilusDesktopLink **link_ref,
NautilusDesktopLinkType link_type,
const char *preference_key,
- EelPreferencesCallback callback,
+ GCallback callback,
gpointer callback_data)
{
- if (eel_preferences_get_boolean (preference_key)) {
+ char *detailed_signal;
+
+ if (g_settings_get_boolean (nautilus_desktop_preferences, preference_key)) {
*link_ref = nautilus_desktop_link_new (link_type);
}
- eel_preferences_add_callback (preference_key, callback, callback_data);
+ detailed_signal = g_strconcat ("changed::", preference_key, NULL);
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ detailed_signal,
+ callback, callback_data);
}
-
+
static void
nautilus_desktop_link_monitor_init (gpointer object, gpointer klass)
{
@@ -395,7 +402,7 @@ nautilus_desktop_link_monitor_init (gpointer object, gpointer klass)
monitor = NAUTILUS_DESKTOP_LINK_MONITOR (object);
the_link_monitor = monitor;
-
+
monitor->details = g_new0 (NautilusDesktopLinkMonitorDetails, 1);
monitor->details->volume_monitor = g_volume_monitor_get ();
@@ -408,25 +415,25 @@ nautilus_desktop_link_monitor_init (gpointer object, gpointer klass)
create_link_and_add_preference (&monitor->details->home_link,
NAUTILUS_DESKTOP_LINK_HOME,
NAUTILUS_PREFERENCES_DESKTOP_HOME_VISIBLE,
- desktop_home_visible_changed,
+ G_CALLBACK (desktop_home_visible_changed),
monitor);
create_link_and_add_preference (&monitor->details->computer_link,
NAUTILUS_DESKTOP_LINK_COMPUTER,
NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_VISIBLE,
- desktop_computer_visible_changed,
+ G_CALLBACK (desktop_computer_visible_changed),
monitor);
-
+
create_link_and_add_preference (&monitor->details->trash_link,
NAUTILUS_DESKTOP_LINK_TRASH,
NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE,
- desktop_trash_visible_changed,
+ G_CALLBACK (desktop_trash_visible_changed),
monitor);
create_link_and_add_preference (&monitor->details->network_link,
NAUTILUS_DESKTOP_LINK_NETWORK,
NAUTILUS_PREFERENCES_DESKTOP_NETWORK_VISIBLE,
- desktop_network_visible_changed,
+ G_CALLBACK (desktop_network_visible_changed),
monitor);
/* Mount links */
@@ -439,9 +446,10 @@ nautilus_desktop_link_monitor_init (gpointer object, gpointer klass)
}
g_list_free (mounts);
- eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE,
- desktop_volumes_visible_changed,
- monitor);
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE,
+ G_CALLBACK (desktop_volumes_visible_changed),
+ monitor);
monitor->details->mount_id =
g_signal_connect_object (monitor->details->volume_monitor, "mount_added",
@@ -466,7 +474,8 @@ remove_link_and_preference (NautilusDesktopLink **link_ref,
*link_ref = NULL;
}
- eel_preferences_remove_callback (preference_key, callback, callback_data);
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
+ callback, callback_data);
}
static void
@@ -477,7 +486,7 @@ desktop_link_monitor_finalize (GObject *object)
monitor = NAUTILUS_DESKTOP_LINK_MONITOR (object);
g_object_unref (monitor->details->volume_monitor);
-
+
/* Default links */
remove_link_and_preference (&monitor->details->home_link,
@@ -505,13 +514,13 @@ desktop_link_monitor_finalize (GObject *object)
g_list_foreach (monitor->details->mount_links, (GFunc)g_object_unref, NULL);
g_list_free (monitor->details->mount_links);
monitor->details->mount_links = NULL;
-
+
nautilus_directory_unref (monitor->details->desktop_dir);
monitor->details->desktop_dir = NULL;
- eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE,
- desktop_volumes_visible_changed,
- monitor);
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
+ desktop_volumes_visible_changed,
+ monitor);
if (monitor->details->mount_id != 0) {
g_source_remove (monitor->details->mount_id);
@@ -522,7 +531,7 @@ desktop_link_monitor_finalize (GObject *object)
if (monitor->details->changed_id != 0) {
g_source_remove (monitor->details->changed_id);
}
-
+
g_free (monitor->details);
EEL_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
@@ -534,7 +543,7 @@ nautilus_desktop_link_monitor_class_init (gpointer klass)
GObjectClass *object_class;
object_class = G_OBJECT_CLASS (klass);
-
+
object_class->finalize = desktop_link_monitor_finalize;
}
diff --git a/libnautilus-private/nautilus-desktop-link.c b/libnautilus-private/nautilus-desktop-link.c
index 9951bf9..220401d 100644
--- a/libnautilus-private/nautilus-desktop-link.c
+++ b/libnautilus-private/nautilus-desktop-link.c
@@ -113,8 +113,21 @@ home_name_changed (gpointer callback_data)
g_assert (link->details->type == NAUTILUS_DESKTOP_LINK_HOME);
g_free (link->details->display_name);
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME);
-
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME);
+ if (link->details->display_name[0] == 0) {
+ g_free (link->details->display_name);
+ /* Note to translators: If it's hard to compose a good home
+ * icon name from the user name, you can use a string without
+ * an "%s" here, in which case the home icon name will not
+ * include the user's name, which should be fine. To avoid a
+ * warning, put "%.0s" somewhere in the string, which will
+ * match the user name string passed by the C code, but not
+ * put the user name in the final string.
+ */
+ link->details->display_name = g_strdup_printf (_("%s's Home"), g_get_user_name ());
+ }
+
nautilus_desktop_link_changed (link);
}
@@ -127,8 +140,9 @@ computer_name_changed (gpointer callback_data)
g_assert (link->details->type == NAUTILUS_DESKTOP_LINK_COMPUTER);
g_free (link->details->display_name);
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME);
-
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME);
+
nautilus_desktop_link_changed (link);
}
@@ -141,7 +155,8 @@ trash_name_changed (gpointer callback_data)
g_assert (link->details->type == NAUTILUS_DESKTOP_LINK_TRASH);
g_free (link->details->display_name);
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME);
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME);
nautilus_desktop_link_changed (link);
}
@@ -154,7 +169,8 @@ network_name_changed (gpointer callback_data)
g_assert (link->details->type == NAUTILUS_DESKTOP_LINK_NETWORK);
g_free (link->details->display_name);
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME);
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME);
nautilus_desktop_link_changed (link);
}
@@ -169,53 +185,59 @@ nautilus_desktop_link_new (NautilusDesktopLinkType type)
switch (type) {
case NAUTILUS_DESKTOP_LINK_HOME:
link->details->filename = g_strdup ("home");
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME);
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME);
link->details->activation_location = g_file_new_for_path (g_get_home_dir ());
link->details->icon = g_themed_icon_new (NAUTILUS_ICON_HOME);
- eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME,
- home_name_changed,
- link);
-
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME,
+ G_CALLBACK (home_name_changed),
+ link);
break;
-
+
case NAUTILUS_DESKTOP_LINK_COMPUTER:
link->details->filename = g_strdup ("computer");
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME);
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME);
link->details->activation_location = g_file_new_for_uri ("computer:///");
/* TODO: This might need a different icon: */
link->details->icon = g_themed_icon_new (NAUTILUS_ICON_COMPUTER);
- eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME,
- computer_name_changed,
- link);
-
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME,
+ G_CALLBACK (computer_name_changed),
+ link);
break;
-
+
case NAUTILUS_DESKTOP_LINK_TRASH:
link->details->filename = g_strdup ("trash");
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME);
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME);
link->details->activation_location = g_file_new_for_uri (EEL_TRASH_URI);
link->details->icon = nautilus_trash_monitor_get_icon ();
-
- eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
- trash_name_changed,
- link);
+
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
+ G_CALLBACK (trash_name_changed),
+ link);
link->details->signal_handler_obj = G_OBJECT (nautilus_trash_monitor_get ());
link->details->signal_handler =
g_signal_connect_object (nautilus_trash_monitor_get (), "trash_state_changed",
- G_CALLBACK (trash_state_changed_callback), link, 0);
+ G_CALLBACK (trash_state_changed_callback), link, 0);
break;
case NAUTILUS_DESKTOP_LINK_NETWORK:
link->details->filename = g_strdup ("network");
- link->details->display_name = eel_preferences_get (NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME);
+ link->details->display_name = g_settings_get_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME);
link->details->activation_location = g_file_new_for_uri ("network:///");
link->details->icon = g_themed_icon_new (NAUTILUS_ICON_NETWORK);
- eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME,
- network_name_changed,
- link);
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME,
+ G_CALLBACK (network_name_changed),
+ link);
break;
default:
@@ -236,7 +258,7 @@ nautilus_desktop_link_new_from_mount (GMount *mount)
char *name, *filename;
link = NAUTILUS_DESKTOP_LINK (g_object_new (NAUTILUS_TYPE_DESKTOP_LINK, NULL));
-
+
link->details->type = NAUTILUS_DESKTOP_LINK_MOUNT;
link->details->mount = g_object_ref (mount);
@@ -352,20 +374,24 @@ nautilus_desktop_link_rename (NautilusDesktopLink *link,
{
switch (link->details->type) {
case NAUTILUS_DESKTOP_LINK_HOME:
- eel_preferences_set (NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME,
- name);
+ g_settings_set_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME,
+ name);
break;
case NAUTILUS_DESKTOP_LINK_COMPUTER:
- eel_preferences_set (NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME,
- name);
+ g_settings_set_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME,
+ name);
break;
case NAUTILUS_DESKTOP_LINK_TRASH:
- eel_preferences_set (NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
- name);
+ g_settings_set_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
+ name);
break;
case NAUTILUS_DESKTOP_LINK_NETWORK:
- eel_preferences_set (NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME,
- name);
+ g_settings_set_string (nautilus_desktop_preferences,
+ NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME,
+ name);
break;
default:
g_assert_not_reached ();
@@ -373,7 +399,7 @@ nautilus_desktop_link_rename (NautilusDesktopLink *link,
* We didn't support that before. */
break;
}
-
+
return TRUE;
}
@@ -404,27 +430,27 @@ desktop_link_finalize (GObject *object)
}
if (link->details->type == NAUTILUS_DESKTOP_LINK_HOME) {
- eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME,
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
home_name_changed,
link);
}
-
+
if (link->details->type == NAUTILUS_DESKTOP_LINK_COMPUTER) {
- eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME,
- computer_name_changed,
- link);
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
+ computer_name_changed,
+ link);
}
-
+
if (link->details->type == NAUTILUS_DESKTOP_LINK_TRASH) {
- eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
- trash_name_changed,
- link);
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
+ trash_name_changed,
+ link);
}
if (link->details->type == NAUTILUS_DESKTOP_LINK_NETWORK) {
- eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME,
- network_name_changed,
- link);
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
+ network_name_changed,
+ link);
}
if (link->details->type == NAUTILUS_DESKTOP_LINK_MOUNT) {
diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c
index d284fff..2e5948a 100644
--- a/libnautilus-private/nautilus-global-preferences.c
+++ b/libnautilus-private/nautilus-global-preferences.c
@@ -48,10 +48,6 @@ static const char *EXTRA_MONITOR_PATHS[] = { "/desktop/gnome/file_views",
/* Forward declarations */
static void global_preferences_install_defaults (void);
static void global_preferences_register_enumerations (void);
-static gpointer default_home_link_name (void);
-static gpointer default_computer_link_name (void);
-static gpointer default_trash_link_name (void);
-static gpointer default_network_link_name (void);
/* An enumeration used for installing type specific preferences defaults. */
@@ -90,17 +86,7 @@ static EelEnumerationEntry file_size_enum_entries[] = {
{ "104857600", N_("100 MB"), 104857600 },
{ "1073741824", N_("1 GB"), 1073741824 },
{ "2147483648", N_("2 GB"), 2147483648U },
- { "4294967295", N_("4 GB"), 4294967295U }
-};
-
-static EelEnumerationEntry default_icon_view_sort_order_enum_entries[] = {
- { "manually", N_("Manually"), PREFERENCES_SORT_ORDER_MANUALLY },
- { "--------", "--------" },
- { "name", N_("By Name"), NAUTILUS_FILE_SORT_BY_DISPLAY_NAME },
- { "size", N_("By Size"), NAUTILUS_FILE_SORT_BY_SIZE },
- { "type", N_("By Type"), NAUTILUS_FILE_SORT_BY_TYPE },
- { "modification_date", N_("By Modification Date"), NAUTILUS_FILE_SORT_BY_MTIME },
- { "emblems", N_("By Emblems"), NAUTILUS_FILE_SORT_BY_EMBLEMS }
+ { "4294967295", N_("4 GB"), 4294967295U }
};
static EelEnumerationEntry standard_font_size_entries[] = {
@@ -191,7 +177,7 @@ static const PreferenceDefault preference_defaults[] = {
NULL, NULL,
"default_zoom_level"
},
-
+
/* List View Default Preferences */
{ NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_SORT_ORDER,
PREFERENCE_STRING,
@@ -210,60 +196,6 @@ static const PreferenceDefault preference_defaults[] = {
"default_zoom_level"
},
- /* Desktop Preferences */
- { NAUTILUS_PREFERENCES_DESKTOP_HOME_VISIBLE,
- PREFERENCE_BOOLEAN,
- GINT_TO_POINTER (FALSE)
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME,
- PREFERENCE_STRING,
- NULL,
- default_home_link_name, g_free,
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_VISIBLE,
- PREFERENCE_BOOLEAN,
- GINT_TO_POINTER (TRUE)
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME,
- PREFERENCE_STRING,
- NULL,
- default_computer_link_name, g_free,
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE,
- PREFERENCE_BOOLEAN,
- GINT_TO_POINTER (TRUE)
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
- PREFERENCE_STRING,
- NULL,
- default_trash_link_name, g_free,
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE,
- PREFERENCE_BOOLEAN,
- GINT_TO_POINTER (TRUE)
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_NETWORK_VISIBLE,
- PREFERENCE_BOOLEAN,
- GINT_TO_POINTER (FALSE)
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME,
- PREFERENCE_STRING,
- NULL,
- default_network_link_name, g_free,
- },
-
- { NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
- PREFERENCE_INTEGER,
- GINT_TO_POINTER (3)
- },
{ NAUTILUS_PREFERENCES_LOCKDOWN_COMMAND_LINE,
PREFERENCE_BOOLEAN,
GINT_TO_POINTER (FALSE)
@@ -271,40 +203,6 @@ static const PreferenceDefault preference_defaults[] = {
{ NULL }
};
-static gpointer
-default_home_link_name (void)
-{
- /* Note to translators: If it's hard to compose a good home
- * icon name from the user name, you can use a string without
- * an "%s" here, in which case the home icon name will not
- * include the user's name, which should be fine. To avoid a
- * warning, put "%.0s" somewhere in the string, which will
- * match the user name string passed by the C code, but not
- * put the user name in the final string.
- */
- return g_strdup_printf (_("%s's Home"), g_get_user_name ());
-}
-
-static gpointer
-default_computer_link_name (void)
-{
- return g_strdup (_("Computer"));
-}
-
-static gpointer
-default_trash_link_name (void)
-{
- return g_strdup (_("Trash"));
-}
-
-static gpointer
-default_network_link_name (void)
-{
- return g_strdup (_("Network Servers"));
-}
-
-
-
/**
* global_preferences_register_enumerations
*
@@ -324,9 +222,6 @@ global_preferences_register_enumerations (void)
* populate widgets and route preferences changes between the
* storage (GConf) and the displayed values.
*/
- eel_enumeration_register ("default_icon_view_sort_order",
- default_icon_view_sort_order_enum_entries,
- G_N_ELEMENTS (default_icon_view_sort_order_enum_entries));
eel_enumeration_register ("default_zoom_level",
default_zoom_level_enum_entries,
G_N_ELEMENTS (default_zoom_level_enum_entries));
@@ -511,6 +406,7 @@ nautilus_global_preferences_init (void)
nautilus_media_preferences = g_settings_new("org.gnome.media-handling");
nautilus_window_state = g_settings_new("org.gnome.nautilus.window-state");
nautilus_icon_view_preferences = g_settings_new("org.gnome.nautilus.icon-view");
+ nautilus_desktop_preferences = g_settings_new("org.gnome.nautilus.desktop");
/* Set up storage for values accessed in this file */
g_signal_connect_swapped (nautilus_icon_view_preferences,
diff --git a/libnautilus-private/nautilus-global-preferences.h b/libnautilus-private/nautilus-global-preferences.h
index fdd4690..ab96a43 100644
--- a/libnautilus-private/nautilus-global-preferences.h
+++ b/libnautilus-private/nautilus-global-preferences.h
@@ -161,7 +161,7 @@ enum
/* ellipsization preferences */
#define NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT "text-ellipsis-limit"
-#define NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT "desktop/text_ellipsis_limit"
+#define NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT "text-ellipsis-limit"
/* Compact View */
#define NAUTILUS_PREFERENCES_COMPACT_VIEW_DEFAULT_ZOOM_LEVEL "compact_view/default_zoom_level"
@@ -210,15 +210,15 @@ typedef enum
NAUTILUS_SIMPLE_SEARCH_BAR
} NautilusSearchBarMode;
-#define NAUTILUS_PREFERENCES_DESKTOP_HOME_VISIBLE "desktop/home_icon_visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME "desktop/home_icon_name"
-#define NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_VISIBLE "desktop/computer_icon_visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME "desktop/computer_icon_name"
-#define NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE "desktop/trash_icon_visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME "desktop/trash_icon_name"
-#define NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE "desktop/volumes_visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_NETWORK_VISIBLE "desktop/network_icon_visible"
-#define NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME "desktop/network_icon_name"
+#define NAUTILUS_PREFERENCES_DESKTOP_HOME_VISIBLE "home-icon-visible"
+#define NAUTILUS_PREFERENCES_DESKTOP_HOME_NAME "home-icon-name"
+#define NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_VISIBLE "computer-icon-visible"
+#define NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME "computer-icon-name"
+#define NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE "trash-icon-visible"
+#define NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME "trash-icon-name"
+#define NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE "volumes-visible"
+#define NAUTILUS_PREFERENCES_DESKTOP_NETWORK_VISIBLE "network-icon-visible"
+#define NAUTILUS_PREFERENCES_DESKTOP_NETWORK_NAME "network-icon-name"
/* Lockdown */
#define NAUTILUS_PREFERENCES_LOCKDOWN_COMMAND_LINE "/desktop/gnome/lockdown/disable_command_line"
@@ -228,6 +228,7 @@ char *nautilus_global_preferences_get_default_folder_viewer_preference_as_iid (v
GSettings *nautilus_preferences;
GSettings *nautilus_icon_view_preferences;
+GSettings *nautilus_desktop_preferences;
GSettings *nautilus_media_preferences;
GSettings *nautilus_window_state;
diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c
index d4bb109..7106312 100644
--- a/libnautilus-private/nautilus-icon-container.c
+++ b/libnautilus-private/nautilus-icon-container.c
@@ -4054,6 +4054,9 @@ finalize (GObject *object)
g_signal_handlers_disconnect_by_func (nautilus_icon_view_preferences,
text_ellipsis_limit_changed_container_callback,
object);
+ g_signal_handlers_disconnect_by_func (nautilus_desktop_preferences,
+ text_ellipsis_limit_changed_container_callback,
+ object);
g_hash_table_destroy (details->icon_set);
details->icon_set = NULL;
@@ -5653,9 +5656,10 @@ nautilus_icon_container_constructor (GType type,
container = NAUTILUS_ICON_CONTAINER (object);
if (nautilus_icon_container_get_is_desktop (container)) {
- eel_preferences_add_callback_while_alive (NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
- text_ellipsis_limit_changed_container_callback,
- container, G_OBJECT (container));
+ g_signal_connect_swapped (nautilus_desktop_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
+ G_CALLBACK (text_ellipsis_limit_changed_container_callback),
+ container);
} else {
g_signal_connect_swapped (nautilus_icon_view_preferences,
"changed::" NAUTILUS_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT,
@@ -6289,7 +6293,7 @@ desktop_text_ellipsis_limit_changed_callback (gpointer callback_data)
{
int pref;
- pref = eel_preferences_get_integer (NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT);
+ pref = g_settings_get_int (nautilus_desktop_preferences, NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT);
desktop_text_ellipsis_limit = pref;
}
@@ -6299,27 +6303,27 @@ nautilus_icon_container_init (NautilusIconContainer *container)
NautilusIconContainerDetails *details;
EelBackground *background;
static gboolean setup_prefs = FALSE;
-
+
details = g_new0 (NautilusIconContainerDetails, 1);
details->icon_set = g_hash_table_new (g_direct_hash, g_direct_equal);
details->layout_timestamp = UNDEFINED_TIME;
- details->zoom_level = NAUTILUS_ZOOM_LEVEL_STANDARD;
+ details->zoom_level = NAUTILUS_ZOOM_LEVEL_STANDARD;
details->font_size_table[NAUTILUS_ZOOM_LEVEL_SMALLEST] = -2 * PANGO_SCALE;
- details->font_size_table[NAUTILUS_ZOOM_LEVEL_SMALLER] = -2 * PANGO_SCALE;
- details->font_size_table[NAUTILUS_ZOOM_LEVEL_SMALL] = -0 * PANGO_SCALE;
- details->font_size_table[NAUTILUS_ZOOM_LEVEL_STANDARD] = 0 * PANGO_SCALE;
- details->font_size_table[NAUTILUS_ZOOM_LEVEL_LARGE] = 0 * PANGO_SCALE;
- details->font_size_table[NAUTILUS_ZOOM_LEVEL_LARGER] = 0 * PANGO_SCALE;
- details->font_size_table[NAUTILUS_ZOOM_LEVEL_LARGEST] = 0 * PANGO_SCALE;
+ details->font_size_table[NAUTILUS_ZOOM_LEVEL_SMALLER] = -2 * PANGO_SCALE;
+ details->font_size_table[NAUTILUS_ZOOM_LEVEL_SMALL] = -0 * PANGO_SCALE;
+ details->font_size_table[NAUTILUS_ZOOM_LEVEL_STANDARD] = 0 * PANGO_SCALE;
+ details->font_size_table[NAUTILUS_ZOOM_LEVEL_LARGE] = 0 * PANGO_SCALE;
+ details->font_size_table[NAUTILUS_ZOOM_LEVEL_LARGER] = 0 * PANGO_SCALE;
+ details->font_size_table[NAUTILUS_ZOOM_LEVEL_LARGEST] = 0 * PANGO_SCALE;
container->details = details;
/* when the background changes, we must set up the label text color */
background = eel_get_widget_background (GTK_WIDGET (container));
-
+
g_signal_connect_object (background, "appearance_changed",
G_CALLBACK (update_label_color), container, 0);
@@ -6340,9 +6344,10 @@ nautilus_icon_container_init (NautilusIconContainer *container)
NULL);
text_ellipsis_limit_changed_callback (NULL);
- eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
- desktop_text_ellipsis_limit_changed_callback,
- NULL);
+ g_signal_connect_swapped (nautilus_icon_view_preferences,
+ "changed::" NAUTILUS_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT,
+ G_CALLBACK (desktop_text_ellipsis_limit_changed_callback),
+ NULL);
desktop_text_ellipsis_limit_changed_callback (NULL);
setup_prefs = TRUE;
diff --git a/libnautilus-private/org.gnome.nautilus.gschema.xml.in b/libnautilus-private/org.gnome.nautilus.gschema.xml.in
index 2770bc6..27e0537 100644
--- a/libnautilus-private/org.gnome.nautilus.gschema.xml.in
+++ b/libnautilus-private/org.gnome.nautilus.gschema.xml.in
@@ -391,7 +391,7 @@
<_description>If this is set to true, an icon linking to the Network Servers view will be put on the desktop.</_description>
</key>
<key name="computer-icon-name" type="s">
- <default>''</default>
+ <default l10n="messages" context="computer-icon-name">'Computer'</default>
<_summary>Desktop computer icon name</_summary>
<_description>This name can be set if you want a custom name for the computer icon on the desktop.</_description>
</key>
@@ -401,12 +401,12 @@
<_description>This name can be set if you want a custom name for the home icon on the desktop.</_description>
</key>
<key name="trash-icon-name" type="s">
- <default>''</default>
+ <default l10n="messages" context="trash-icon-name">'Trash'</default>
<_summary>Desktop trash icon name</_summary>
<_description>This name can be set if you want a custom name for the trash icon on the desktop.</_description>
</key>
<key name="network-icon-name" type="s">
- <default>''</default>
+ <default l10n="messages" context="network-icon-name">'Network Servers'</default>
<_summary>Network servers icon name</_summary>
<_description>This name can be set if you want a custom name for the network servers icon on the desktop.</_description>
</key>
diff --git a/src/nautilus-file-management-properties.c b/src/nautilus-file-management-properties.c
index 8ef1317..71703ac 100644
--- a/src/nautilus-file-management-properties.c
+++ b/src/nautilus-file-management-properties.c
@@ -93,11 +93,15 @@ static const char * const zoom_values[] = {
};
static const char * const sort_order_values[] = {
+ "manually",
"name",
+ "directory",
"size",
"type",
- "modification_date",
+ "mtime",
+ "atime",
"emblems",
+ "trash-time",
NULL
};
@@ -977,6 +981,7 @@ nautilus_file_management_properties_dialog_setup (GtkBuilder *builder, GtkWindow
NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SORT_ORDER_WIDGET,
NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_ORDER,
(const char **) sort_order_values);
+ if (0) // TODO
eel_preferences_builder_connect_string_enum_combo_box_slave (builder,
NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SORT_ORDER_WIDGET,
NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_SORT_ORDER);
diff --git a/src/nautilus-file-management-properties.ui b/src/nautilus-file-management-properties.ui
index eefd82a..0ce86ca 100644
--- a/src/nautilus-file-management-properties.ui
+++ b/src/nautilus-file-management-properties.ui
@@ -26,6 +26,9 @@
<col id="0" translatable="yes">By Name</col>
</row>
<row>
+ <col id="0" translatable="yes">By Path</col>
+ </row>
+ <row>
<col id="0" translatable="yes">By Size</col>
</row>
<row>
@@ -35,8 +38,14 @@
<col id="0" translatable="yes">By Modification Date</col>
</row>
<row>
+ <col id="0" translatable="yes">By Access Date</col>
+ </row>
+ <row>
<col id="0" translatable="yes">By Emblems</col>
</row>
+ <row>
+ <col id="0" translatable="yes">By Trashed Date</col>
+ </row>
</data>
</object>
<object class="GtkListStore" id="model3">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]