Index: test/functional/welcome_controller_test.rb
===================================================================
--- test/functional/welcome_controller_test.rb  (revision 3739)
+++ test/functional/welcome_controller_test.rb  (working copy)
@@ -67,4 +67,39 @@
     assert_equal 'text/plain', @response.content_type
     assert @response.body.match(%r{^Disallow: /projects/ecookbook/issues\r?$})
   end
+  
+  def test_jump_box_anonymous
+    Setting.display_member_projects_only = 0
+    get :index
+    assert_tag :div, :attributes => { :id => 'quick-search' }, :child => { :tag => 'select',
+      :child => { :tag => 'option', :content => 'eCookbook' }
+    }
+    
+    Setting.display_member_projects_only = 1
+    get :index
+    assert_no_tag :div, :attributes => { :id => 'quick-search' },
+      :child => { :tag => 'select' }
+  end
+  
+  def test_jump_box_logged
+    @request.session[:user_id] = 2
+    
+    Setting.display_member_projects_only = 0
+    get :index
+    assert_tag :div, :attributes => { :id => 'quick-search' }, :child => { :tag => 'select',
+      :child => { :tag => 'option', :content => '&nbsp;&nbsp;&#187; Private child of eCookbook' }
+    }
+    assert_tag :div, :attributes => { :id => 'quick-search' }, :child => { :tag => 'select',
+      :child => { :tag => 'option', :content => '&nbsp;&nbsp;&nbsp;&nbsp;&#187; Child of private child' }
+    }
+    
+    Setting.display_member_projects_only = 1
+    get :index
+    assert_tag :div, :attributes => { :id => 'quick-search' }, :child => { :tag => 'select',
+      :child => { :tag => 'option', :content => '&nbsp;&nbsp;&#187; Private child of eCookbook' }
+    }
+    assert_no_tag :div, :attributes => { :id => 'quick-search' }, :child => { :tag => 'select',
+      :child => { :tag => 'option', :content => '&nbsp;&nbsp;&nbsp;&nbsp;&#187; Child of private child' }
+    }
+  end
 end
Index: app/helpers/application_helper.rb
===================================================================
--- app/helpers/application_helper.rb   (revision 3739)
+++ app/helpers/application_helper.rb   (working copy)
@@ -186,7 +186,14 @@
   # Renders the project quick-jump box
   def render_project_jump_box
     # Retrieve them now to avoid a COUNT query
-    projects = User.current.projects.all
+    projects = []
+    if Setting.display_member_projects_only?
+      projects = User.current.projects.all
+    else
+      unless Setting.login_required? && User.current.anonymous?
+        projects = Project.visible(User.current)
+      end
+    end
     if projects.any?
       s = '<select onchange="if (this.value != \'\') { window.location = this.value; }">' +
             "<option value=''>#{ l(:label_jump_to_a_project) }</option>" +
Index: app/views/settings/_projects.rhtml
===================================================================
--- app/views/settings/_projects.rhtml  (revision 3739)
+++ app/views/settings/_projects.rhtml  (working copy)
@@ -1,6 +1,8 @@
 <% form_tag({:action => 'edit', :tab => 'projects'}) do %>
 
 <div class="box tabular settings">
+<p><%= setting_check_box :display_member_projects_only %></p>
+
 <p><%= setting_check_box :default_projects_public %></p>
 
 <p><%= setting_multiselect(:default_projects_modules, 
Index: config/settings.yml
===================================================================
--- config/settings.yml (revision 3739)
+++ config/settings.yml (working copy)
@@ -182,3 +182,5 @@
   default: ''
 rest_api_enabled:
   default: 0
+display_member_projects_only:
+  default: 1
Index: config/locales/lt.yml
===================================================================
--- config/locales/lt.yml       (revision 3739)
+++ config/locales/lt.yml       (working copy)
@@ -965,3 +965,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/ro.yml
===================================================================
--- config/locales/ro.yml       (revision 3739)
+++ config/locales/ro.yml       (working copy)
@@ -894,3 +894,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/zh.yml
===================================================================
--- config/locales/zh.yml       (revision 3739)
+++ config/locales/zh.yml       (working copy)
@@ -919,3 +919,4 @@
   error_unable_to_connect: 不能连接到 ({{value}})
   error_can_not_remove_role: 该角色正在使用中, 不能删除.
   error_can_not_delete_tracker: 该跟踪标签包含问题, 不能删除.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/lv.yml
===================================================================
--- config/locales/lv.yml       (revision 3739)
+++ config/locales/lv.yml       (working copy)
@@ -892,3 +892,4 @@
   label_subtask_plural: Subtasks
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
   label_project_copy_notifications: Send email notifications during the project copy
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/pt.yml
===================================================================
--- config/locales/pt.yml       (revision 3739)
+++ config/locales/pt.yml       (working copy)
@@ -909,3 +909,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/ca.yml
===================================================================
--- config/locales/ca.yml       (revision 3739)
+++ config/locales/ca.yml       (working copy)
@@ -894,3 +894,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/pt-BR.yml
===================================================================
--- config/locales/pt-BR.yml    (revision 3739)
+++ config/locales/pt-BR.yml    (working copy)
@@ -925,3 +925,4 @@
   error_unable_to_connect: Não foi possível conectar ({{value}})
   error_can_not_remove_role: Este papel está em uso e não pode ser excluído.
   error_can_not_delete_tracker: Este tipo de tarefa está atribuído a alguma(s) tarefa(s) e não pode ser excluído.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/tr.yml
===================================================================
--- config/locales/tr.yml       (revision 3739)
+++ config/locales/tr.yml       (working copy)
@@ -924,3 +924,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/ru.yml
===================================================================
--- config/locales/ru.yml       (revision 3739)
+++ config/locales/ru.yml       (working copy)
@@ -1017,3 +1017,4 @@
   label_close_versions: Закрыть завершенные версии
   label_board_sticky: Прикреплена
   label_board_locked: Заблокирована
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/id.yml
===================================================================
--- config/locales/id.yml       (revision 3739)
+++ config/locales/id.yml       (working copy)
@@ -909,3 +909,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/el.yml
===================================================================
--- config/locales/el.yml       (revision 3739)
+++ config/locales/el.yml       (working copy)
@@ -897,3 +897,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/en.yml
===================================================================
--- config/locales/en.yml       (revision 3739)
+++ config/locales/en.yml       (working copy)
@@ -336,6 +336,7 @@
   setting_start_of_week: Start calendars on
   setting_rest_api_enabled: Enable REST web service
   setting_cache_formatted_text: Cache formatted text
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
   
   permission_add_project: Create project
   permission_add_subprojects: Create subprojects
Index: config/locales/gl.yml
===================================================================
--- config/locales/gl.yml       (revision 3739)
+++ config/locales/gl.yml       (working copy)
@@ -917,3 +917,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/cs.yml
===================================================================
--- config/locales/cs.yml       (revision 3739)
+++ config/locales/cs.yml       (working copy)
@@ -897,3 +897,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/es.yml
===================================================================
--- config/locales/es.yml       (revision 3739)
+++ config/locales/es.yml       (working copy)
@@ -941,3 +941,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/eu.yml
===================================================================
--- config/locales/eu.yml       (revision 3739)
+++ config/locales/eu.yml       (working copy)
@@ -901,3 +901,4 @@
   error_unable_to_connect: Ezin da konektatu ({{value}})
   error_can_not_remove_role: Rol hau erabiltzen hari da eta ezin da ezabatu.
   error_can_not_delete_tracker: Aztarnari honek zereginak ditu eta ezin da ezabatu.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/ko.yml
===================================================================
--- config/locales/ko.yml       (revision 3739)
+++ config/locales/ko.yml       (working copy)
@@ -957,3 +957,4 @@
   error_unable_to_connect: 연결할 수 없습니다(({{value}})
   error_can_not_remove_role: 이 역할은 현재 사용 중이이서 삭제할 수 없습니다.
   error_can_not_delete_tracker: 이 유형의 일감들이 있에서 삭제할 수 없습니다.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/zh-TW.yml
===================================================================
--- config/locales/zh-TW.yml    (revision 3739)
+++ config/locales/zh-TW.yml    (working copy)
@@ -987,3 +987,4 @@
   enumeration_doc_categories: 文件分類
   enumeration_activities: 活動 (時間追蹤)
   enumeration_system_activity: 系統活動
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/mn.yml
===================================================================
--- config/locales/mn.yml       (revision 3739)
+++ config/locales/mn.yml       (working copy)
@@ -898,3 +898,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/it.yml
===================================================================
--- config/locales/it.yml       (revision 3739)
+++ config/locales/it.yml       (working copy)
@@ -904,3 +904,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/sk.yml
===================================================================
--- config/locales/sk.yml       (revision 3739)
+++ config/locales/sk.yml       (working copy)
@@ -896,3 +896,4 @@
   error_unable_to_connect: Nieje možné vymazať ({{value}})
   error_can_not_remove_role: Táto roľa sa používa a nemôže byť vymazaná.
   error_can_not_delete_tracker: Táto fronta obsahuje úlohy a nemôže byť vymazaná.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/sl.yml
===================================================================
--- config/locales/sl.yml       (revision 3739)
+++ config/locales/sl.yml       (working copy)
@@ -896,3 +896,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/uk.yml
===================================================================
--- config/locales/uk.yml       (revision 3739)
+++ config/locales/uk.yml       (working copy)
@@ -893,3 +893,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/sr.yml
===================================================================
--- config/locales/sr.yml       (revision 3739)
+++ config/locales/sr.yml       (working copy)
@@ -898,3 +898,4 @@
   error_unable_delete_issue_status: Unable to delete issue status
   label_subtask_plural: Subtasks
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/da.yml
===================================================================
--- config/locales/da.yml       (revision 3739)
+++ config/locales/da.yml       (working copy)
@@ -917,3 +917,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/bg.yml
===================================================================
--- config/locales/bg.yml       (revision 3739)
+++ config/locales/bg.yml       (working copy)
@@ -891,3 +891,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/de.yml
===================================================================
--- config/locales/de.yml       (revision 3739)
+++ config/locales/de.yml       (working copy)
@@ -914,3 +914,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: "Zeige in der Projektsprungbox nur Projekte, in denen ich Mitglied bin."
Index: config/locales/sv.yml
===================================================================
--- config/locales/sv.yml       (revision 3739)
+++ config/locales/sv.yml       (working copy)
@@ -946,3 +946,4 @@
   enumeration_doc_categories: Dokumentkategorier
   enumeration_activities: Aktiviteter (tidsuppföljning)
   enumeration_system_activity: Systemaktivitet
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/ja.yml
===================================================================
--- config/locales/ja.yml       (revision 3739)
+++ config/locales/ja.yml       (working copy)
@@ -926,3 +926,4 @@
   enumeration_doc_categories: 文書カテゴリ
   enumeration_activities: 作業分類 (時間トラッキング)
   enumeration_system_activity: システム作業分類
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/he.yml
===================================================================
--- config/locales/he.yml       (revision 3739)
+++ config/locales/he.yml       (working copy)
@@ -901,3 +901,4 @@
   label_subtask_plural: Subtasks
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
   label_project_copy_notifications: Send email notifications during the project copy
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/sr-CY.yml
===================================================================
--- config/locales/sr-CY.yml    (revision 3739)
+++ config/locales/sr-CY.yml    (working copy)
@@ -898,3 +898,4 @@
   error_unable_delete_issue_status: Unable to delete issue status
   label_subtask_plural: Subtasks
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/fi.yml
===================================================================
--- config/locales/fi.yml       (revision 3739)
+++ config/locales/fi.yml       (working copy)
@@ -927,3 +927,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/bs.yml
===================================================================
--- config/locales/bs.yml       (revision 3739)
+++ config/locales/bs.yml       (working copy)
@@ -915,3 +915,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/fr.yml
===================================================================
--- config/locales/fr.yml       (revision 3739)
+++ config/locales/fr.yml       (working copy)
@@ -920,3 +920,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/nl.yml
===================================================================
--- config/locales/nl.yml       (revision 3739)
+++ config/locales/nl.yml       (working copy)
@@ -879,3 +879,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/hr.yml
===================================================================
--- config/locales/hr.yml       (revision 3739)
+++ config/locales/hr.yml       (working copy)
@@ -904,3 +904,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/pl.yml
===================================================================
--- config/locales/pl.yml       (revision 3739)
+++ config/locales/pl.yml       (working copy)
@@ -922,3 +922,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/th.yml
===================================================================
--- config/locales/th.yml       (revision 3739)
+++ config/locales/th.yml       (working copy)
@@ -894,3 +894,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/no.yml
===================================================================
--- config/locales/no.yml       (revision 3739)
+++ config/locales/no.yml       (working copy)
@@ -892,3 +892,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/hu.yml
===================================================================
--- config/locales/hu.yml       (revision 3739)
+++ config/locales/hu.yml       (working copy)
@@ -924,3 +924,4 @@
   label_subtask_plural: Subtasks
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
   label_project_copy_notifications: Send email notifications during the project copy
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
Index: config/locales/vi.yml
===================================================================
--- config/locales/vi.yml       (revision 3739)
+++ config/locales/vi.yml       (working copy)
@@ -956,3 +956,4 @@
   error_unable_to_connect: Unable to connect ({{value}})
   error_can_not_remove_role: This role is in use and can not be deleted.
   error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
+  setting_display_member_projects_only: Display only projects I'm member of in the project jump box.
