layout.dashboards=Dashboards
layout.reviews=Reviews
layout.configuration=Configuration
+layout.projects=Projects
+layout.recent_activity=Recent Activity
layout.user_panel.my_profile=My profile
-layout.user_panel.recent_history.title=Recent history
-layout.user_panel.me=Me
-layout.user_panel.anonymous_user=Anonymous
sidebar.project_settings=Configuration
sidebar.security=Security
update_key.page=Update Key
project_quality_profiles.page=Quality Profiles
bulk_deletion.page=Bulk Deletion
-comparison.page=Comparison
+comparison.page=Compare
# GWT pages
<li>
<a href="<%= ApplicationController.root_context -%>/"><%= message('layout.dashboards') -%></a>
</li>
+ <%= render 'layouts/menu_projects' -%>
<li>
<a href="<%= ApplicationController.root_context -%>/measures"><%= message('layout.measures') -%></a>
</li>
--- /dev/null
+<script>
+ if (supports_html5_storage()) {
+ var sonarRecentHistory = new Sonar.RecentHistory();
+ }
+</script>
+
+ <style>
+ #recent-history-list imgs {
+ float: left;
+ }
+ </style>
+
+<li>
+ <a href="#" onclick="if (sonarRecentHistory) { sonarRecentHistory.populateRecentHistoryPanel(); }; $j('#projects-menu').toggle(); return false;" class="link-more"><%= message('layout.projects') -%></a>
+
+ <div id="projects-menu" class="dropdown-menu" style="max-width: none; display: none;" onmouseout="$j(this).hide();" onmouseover="$j(this).show();">
+ <div id="recent-history">
+ <h2><%= message('layout.recent_activity') -%></h2>
+ <ul id="recent-history-list">
+ </ul>
+ </div>
+
+ <div>
+ <ul>
+ <li><a href="<%= ApplicationController.root_context -%>/">Projects</a></li>
+ <li><a href="<%= ApplicationController.root_context -%>/">Views</a></li>
+ <li><a href="<%= ApplicationController.root_context -%>/">Developers</a></li>
+ </ul>
+ </div>
+ </div>
+
+</li>
+
+<script>
+ if (sonarRecentHistory == null) {
+ $j('#recent-history').detach();
+ } else {
+ sonarRecentHistory.add('<%= @resource ? @resource.key : "" -%>',
+ '<%= @resource ? @resource.name(true) : "" -%>',
+ '<%= @resource ? Api::Utils.java_facade.getResourceType(@resource.qualifier).getIconPath() : "" -%>');
+ }
+</script>
\ No newline at end of file
<li>
- <a href="#" onclick="$j('#project-settings-menu').toggle(); return false;" class="link-more dropdown"><%= message('layout.configuration') -%></a>
+ <a href="#" onclick="$j('#project-settings-menu').toggle(); return false;" class="link-more"><%= message('layout.configuration') -%></a>
<div id="project-settings-menu" class="dropdown-menu" style="display: none" onmouseout="$j(this).hide();" onmouseover="$j(this).show();">
<ul>
-<script>
- if (supports_html5_storage()) {
- var sonarRecentHistory = new Sonar.RecentHistory();
- }
-</script>
-
<li>
- <a href="#" onclick="if (sonarRecentHistory) { sonarRecentHistory.populateRecentHistoryPanel(); }; $j('#user-panel').toggle(); return false;" class="link-more"><%= current_user ? current_user.name(true) : message('layout.user_panel.me') -%></a>
+ <a href="#" onclick="$j('#user-panel').toggle(); return false;" class="link-more"><%= current_user.name(true) -%></a>
<div id="user-panel" style="display: none" onmouseout="$j(this).hide();" onmouseover="$j(this).show();">
<div id="user-details">
- <% if current_user %>
<b><%= current_user.name(true) -%></b>
<% if current_user.email && !current_user.email.blank? %>
<br/>
<a href="<%= ApplicationController.root_context -%>/account/index" class="link-action"><%= message('layout.user_panel.my_profile') -%></a>
–
<a href="<%= ApplicationController.root_context -%>/sessions/logout" class="link-action" onclick="if (sonarRecentHistory) { sonarRecentHistory.clear(); }"><%= message('layout.logout') -%></a>
- <% else %>
- <b><%= message('layout.user_panel.anonymous_user') -%></b>
- <% end %>
</div>
-
- <div id="recent-history" style="display: none">
- <b><%= message('layout.user_panel.recent_history.title') -%></b>
- <ul id="recent-history-list">
- </ul>
- </div>
- </div>
</li>
-
-<script>
- if (sonarRecentHistory == null) {
- $j('#recent-history').detach();
- } else {
- sonarRecentHistory.add('<%= @resource ? @resource.key : "" -%>',
- '<%= @resource ? @resource.name(true) : "" -%>',
- '<%= @resource ? Api::Utils.java_facade.getResourceType(@resource.qualifier).getIconPath() : "" -%>');
- }
-</script>
\ No newline at end of file
padding: 0 0 0 10px;
}
+#crumbs-ops li a {
+ text-decoration: none;
+}
+
+#crumbs-ops li a:hover, #crumbs-ops li a:focus {
+ text-decoration: underline;
+}
+
#content {
padding: 10px;
}
}
#recent-history {
- border-top: 1px solid #ccc;
-}
-
-#recent-history li {
- list-style-type: none !important;
- padding: 2px 8px 2px 0 !important;
- cursor: pointer !important;
-}
-
-#recent-history li:hover {
- background-color: #4b9fd5 !important;
-}
-
-#recent-history li:hover a {
- color: #fff !important;
-}
-
-#recent-history a {
- text-decoration: none !important;
+ border-bottom: 1px solid #ccc;
}
#nonav {
z-index: 1000;
}
+.dropdown-menu h2 {
+ padding: 0 8px;
+ font-size: 100%;
+}
+
.dropdown-menu li {
list-style-type: none !important;
line-height: 24px;
.dropdown-menu a {
text-decoration: none !important;
- display: block !important;
}
.form-key-cell {