summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-global-preferences.c
diff options
context:
space:
mode:
authorRebecca Schulman <rebecka@eazel.com>2000-09-27 19:19:33 +0000
committerRebecca Schulman <rebecka@src.gnome.org>2000-09-27 19:19:33 +0000
commit0af5148ab49a2f21bf1b652562d3df5321aafbda (patch)
treef9612c1672e24d19843f56c5c5dd67b6f236c989 /libnautilus-private/nautilus-global-preferences.c
parentbd41bdc3706daa88c3f89d7a25b6526a58056127 (diff)
downloadnautilus-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.c73
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);