diff options
author | Rebecca Schulman <rebecka@eazel.com> | 2000-09-27 19:19:33 +0000 |
---|---|---|
committer | Rebecca Schulman <rebecka@src.gnome.org> | 2000-09-27 19:19:33 +0000 |
commit | 0af5148ab49a2f21bf1b652562d3df5321aafbda (patch) | |
tree | f9612c1672e24d19843f56c5c5dd67b6f236c989 /libnautilus-private/nautilus-global-preferences.c | |
parent | bd41bdc3706daa88c3f89d7a25b6526a58056127 (diff) | |
download | nautilus-0af5148ab49a2f21bf1b652562d3df5321aafbda.tar.gz |
Fixed bug 1275, that sidebar panels don't have defaults per user level.
2000-09-27 Rebecca Schulman <rebecka@eazel.com>
Fixed bug 1275, that sidebar panels don't have defaults
per user level.
* libnautilus-extensions/nautilus-global-preferences.c:
(get_default_sidebar_iids_for_user_level),
(sidebar_panel_iid_is_in_default_list),
(global_preferences_register_sidebar_panels),
(global_preferences_is_sidebar_panel_enabled):
Added default sets (hard coded, as before) for each
user level, and used them to get the defaults, instead of
the single set for all levels
* libnautilus/nautilus-clipboard.c:
(set_paste_sensitive_if_clipboard_contains_data):
simplified check whether paste should be available.
* src/nautilus-window-menus.c: (nautilus_window_initialize_menus):
Fixed a typo in the clipboard menu text.
Diffstat (limited to 'libnautilus-private/nautilus-global-preferences.c')
-rw-r--r-- | libnautilus-private/nautilus-global-preferences.c | 73 |
1 files changed, 62 insertions, 11 deletions
diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c index 7cf20dabd..8761e778b 100644 --- a/libnautilus-private/nautilus-global-preferences.c +++ b/libnautilus-private/nautilus-global-preferences.c @@ -439,22 +439,67 @@ global_preferences_get_dialog (void) /* FIXME bugzilla.eazel.com 1275: * The actual defaults need to be user level specific. */ -static const char *default_sidebar_panel_iids[] = +static const char *novice_default_sidebar_panel_iids[] = +{ + "OAFIID:nautilus_notes_view:7f04c3cb-df79-4b9a-a577-38b19ccd4185", + "OAFIID:hyperbola_navigation_tree:57542ce0-71ff-442d-a764-462c92514234", + "OAFIID:nautilus_history_view:a7a85bdd-2ecf-4bc1-be7c-ed328a29aacb", + NULL +}; + +static const char *intermediate_default_sidebar_panel_iids[] = { "OAFIID:nautilus_history_view:a7a85bdd-2ecf-4bc1-be7c-ed328a29aacb", "OAFIID:nautilus_notes_view:7f04c3cb-df79-4b9a-a577-38b19ccd4185", "OAFIID:nautilus_tree_view:2d826a6e-1669-4a45-94b8-23d65d22802d", - "OAFIID:hyperbola_navigation_tree:57542ce0-71ff-442d-a764-462c92514234" + "OAFIID:hyperbola_navigation_tree:57542ce0-71ff-442d-a764-462c92514234", + NULL + }; +static const char *hacker_default_sidebar_panel_iids[] = +{ + "OAFIID:nautilus_notes_view:7f04c3cb-df79-4b9a-a577-38b19ccd4185", + "OAFIID:nautilus_history_view:a7a85bdd-2ecf-4bc1-be7c-ed328a29aacb", + "OAFIID:nautilus_tree_view:2d826a6e-1669-4a45-94b8-23d65d22802d", + "OAFIID:hyperbola_navigation_tree:57542ce0-71ff-442d-a764-462c92514234", + NULL +}; + +static const char ** +get_default_sidebar_iids_for_user_level (guint user_level) +{ + + switch (user_level) { + case NAUTILUS_USER_LEVEL_NOVICE: + return novice_default_sidebar_panel_iids; + break; + case NAUTILUS_USER_LEVEL_INTERMEDIATE: + return intermediate_default_sidebar_panel_iids; + break; + case NAUTILUS_USER_LEVEL_HACKER: + return hacker_default_sidebar_panel_iids; + break; + default: + g_assert_not_reached (); + break; + } + + g_assert_not_reached (); + return NULL; +} + static gboolean -sidebar_panel_iid_is_in_default_list (const char *iid) +sidebar_panel_iid_is_in_default_list (const char *iid, + guint user_level) { guint i; + const char **default_sidebar_panel_iids; g_return_val_if_fail (iid != NULL, FALSE); + default_sidebar_panel_iids = get_default_sidebar_iids_for_user_level (user_level); - for (i = 0; i < NAUTILUS_N_ELEMENTS (default_sidebar_panel_iids); i++) { + for (i = 0; default_sidebar_panel_iids[i] != NULL; i++) { if (strcmp (iid, default_sidebar_panel_iids[i]) == 0) { return TRUE; } @@ -474,21 +519,27 @@ global_preferences_register_sidebar_panels (void) for (p = view_identifiers; p != NULL; p = p->next) { NautilusViewIdentifier *identifier; char *preference_key; - gboolean default_value; + gboolean novice_default_value; + gboolean intermediate_default_value; + gboolean hacker_default_value; identifier = (NautilusViewIdentifier *) (p->data); g_assert (identifier != NULL); preference_key = global_preferences_get_sidebar_panel_key (identifier->iid); g_assert (preference_key != NULL); - - default_value = sidebar_panel_iid_is_in_default_list (identifier->iid); + novice_default_value = sidebar_panel_iid_is_in_default_list (identifier->iid, + NAUTILUS_USER_LEVEL_NOVICE); + intermediate_default_value = sidebar_panel_iid_is_in_default_list (identifier->iid, + NAUTILUS_USER_LEVEL_INTERMEDIATE); + hacker_default_value = sidebar_panel_iid_is_in_default_list (identifier->iid, + NAUTILUS_USER_LEVEL_HACKER); global_preferences_register_boolean_with_defaults (preference_key, identifier->name, - default_value, - default_value, - default_value); + novice_default_value, + intermediate_default_value, + hacker_default_value); g_free (preference_key); } @@ -514,7 +565,7 @@ global_preferences_is_sidebar_panel_enabled (NautilusViewIdentifier *panel_ident g_return_val_if_fail (panel_identifier->iid != NULL, FALSE); key = global_preferences_get_sidebar_panel_key (panel_identifier->iid); - + g_assert (key != NULL); enabled = nautilus_preferences_get_boolean (key, FALSE); |