]> source.dussan.org Git - sonarqube.git/commitdiff
fix SONAR-6041 make page headers consistent
authorStas Vilchik <vilchiks@gmail.com>
Wed, 21 Jan 2015 14:38:26 +0000 (15:38 +0100)
committerStas Vilchik <vilchiks@gmail.com>
Wed, 21 Jan 2015 16:45:34 +0000 (17:45 +0100)
25 files changed:
server/sonar-web/src/main/hbs/coding-rules/coding-rules-filters.hbs
server/sonar-web/src/main/hbs/design/design.hbs
server/sonar-web/src/main/hbs/issues/issues-filters.hbs
server/sonar-web/src/main/hbs/libraries/libraries.hbs
server/sonar-web/src/main/hbs/quality-gates/quality-gate-actions.hbs
server/sonar-web/src/main/less/components.less
server/sonar-web/src/main/less/components/page.less [new file with mode: 0644]
server/sonar-web/src/main/less/init.less
server/sonar-web/src/main/less/layout.less
server/sonar-web/src/main/less/navigator/base.less
server/sonar-web/src/main/less/quality-gates.less
server/sonar-web/src/main/less/style.less
server/sonar-web/src/main/webapp/WEB-INF/app/views/comparison/index.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/components/index.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/dashboard/_header.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/dependencies/index.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/layouts/_navbar_conf_settings.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/measures/_search_header.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/changelog.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/compare.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/index.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/inheritance.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/permalinks.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/projects.html.erb
server/sonar-web/src/main/webapp/WEB-INF/app/views/profiles/show.html.erb

index dc97d68a6fe4aab6b7a255b12cd1ed968e14fe4e..dcf84f758b94e57b5a2f5694c705025621bedd4a 100644 (file)
@@ -1,8 +1,8 @@
-<div class="search-navigator-filters-header">
-  <span class="search-navigator-filters-name">{{t 'coding_rules.page'}}</span>
-</div>
+<h1 class="page-title">
+  {{t 'coding_rules.page'}}
+</h1>
 
-<div class="search-navigator-filters-actions">
+<div class="page-actions">
   <div class="button-group">
     <button class="js-new-search" id="coding-rules-new-search">{{t 'issue_filter.new_search'}}</button>
     {{#if canWrite}}
index e4b7a8b3033a9fd4bf0ac56927ae00f0d8db81bc..d8c86acbca7dcd1b6aa9f6a45db82ad93fa09aed 100644 (file)
@@ -1,46 +1,51 @@
-<div class="dsm-header">
-  <i class="icon-help"></i> <a href="http://redirect.sonarsource.com/doc/dsm.html">{{t 'design.help'}}</a>
-</div>
+<div class="page">
+  <header class="page-header">
+    <h1 class="page-title">{{t 'design.page'}}</h1>
+    <div class="page-actions">
+      <i class="icon-help"></i>&nbsp;<a href="http://redirect.sonarsource.com/doc/dsm.html">{{t 'design.help'}}</a>
+    </div>
+  </header>
 
-<ul class="dsm-legend">
-  <li>
-    <span class="dsm-legend-square gray"></span>
-    <span class="dsm-legend-label">{{t 'design.legend.dependencies'}}</span>
-  </li>
-  <li>
-    <span class="dsm-legend-square red"></span>
-    <span class="dsm-legend-label">{{t 'design.legend.cycles'}}</span>
-  </li>
-  <li>
-    <span class="dsm-legend-square green"></span>
-    <span class="dsm-legend-label">{{t 'design.legend.uses'}}</span>
-    <span class="dsm-legend-square blue"></span>
-    <span class="dsm-legend-label">{{t 'design.legend.uses'}}</span>
-    <span class="dsm-legend-square yellow"></span>
-  </li>
-</ul>
+  <ul class="dsm-legend">
+    <li>
+      <span class="dsm-legend-square gray"></span>
+      <span class="dsm-legend-label">{{t 'design.legend.dependencies'}}</span>
+    </li>
+    <li>
+      <span class="dsm-legend-square red"></span>
+      <span class="dsm-legend-label">{{t 'design.legend.cycles'}}</span>
+    </li>
+    <li>
+      <span class="dsm-legend-square green"></span>
+      <span class="dsm-legend-label">{{t 'design.legend.uses'}}</span>
+      <span class="dsm-legend-square blue"></span>
+      <span class="dsm-legend-label">{{t 'design.legend.uses'}}</span>
+      <span class="dsm-legend-square yellow"></span>
+    </li>
+  </ul>
 
-<div class="dsm-body">
-  <table>
-    <tbody>
-    {{#eachIndex items}}
-      <tr>
-        <td class="dsm-body-title" title="{{t 'design.rowTooltip'}}">
-          {{qualifierIcon q}} {{n}}
-          {{#gt pt 0}}
-            <span class="dsm-body-title-package-tangles" title="{{t 'metric.package_cycles.name'}}">{{pt}}</span>
-          {{/gt}}
-          <span class="dsm-body-title-indicator"></span>
-        </td>
-        {{#eachIndex v}}
-          <td class="dsm-body-cell {{#if status}}dsm-body-cell-{{status}}{{/if}}" title="{{t 'design.cellTooltip'}}">
-            {{#eq index ../index}}–{{else}}{{w}}{{/eq}}
+  <div class="dsm-body">
+    <table>
+      <tbody>
+      {{#eachIndex items}}
+        <tr>
+          <td class="dsm-body-title" title="{{t 'design.rowTooltip'}}">
+            {{qualifierIcon q}} {{n}}
+            {{#gt pt 0}}
+              <span class="dsm-body-title-package-tangles" title="{{t 'metric.package_cycles.name'}}">{{pt}}</span>
+            {{/gt}}
+            <span class="dsm-body-title-indicator"></span>
           </td>
-        {{/eachIndex}}
-      </tr>
-    {{/eachIndex}}
-    </tbody>
-  </table>
-</div>
+          {{#eachIndex v}}
+            <td class="dsm-body-cell {{#if status}}dsm-body-cell-{{status}}{{/if}}" title="{{t 'design.cellTooltip'}}">
+              {{#eq index ../index}}–{{else}}{{w}}{{/eq}}
+            </td>
+          {{/eachIndex}}
+        </tr>
+      {{/eachIndex}}
+      </tbody>
+    </table>
+  </div>
 
-<div class="dsm-info"></div>
+  <div class="dsm-info"></div>
+</div>
index cd51e68565154140048950dd5737eaf261a80add..ef3c2fa852f08866477c66d52b0831eb82515109 100644 (file)
@@ -6,7 +6,7 @@
   <a class="search-navigator-filters-manage" href="{{link '/issues/manage'}}"><i class="icon-settings"></i> {{t 'manage'}}</a>
 </div>
 
-<div class="search-navigator-filters-header">
+<h1 class="page-title">
   {{#if state.canManageFilters}}
     <a class="search-navigator-filters-show-list js-toggle-filters">
       <i class="icon-list"></i>&nbsp;<span class="issues-filters-name">{{> '_issues-filter-name'}}</span>
@@ -17,9 +17,9 @@
   {{else}}
     <span class="search-navigator-filters-name">{{t 'issues'}}</span>
   {{/if}}
-</div>
+</h1>
 
-<div class="search-navigator-filters-actions">
+<div class="page-actions">
   <div class="button-group">
     <button class="js-new-search" id="issues-new-search">{{t 'issue_filter.new_search'}}</button>
 
index 5b050215262a79e8015add412a3f91d96c046b60..07b5e373eec56a4ca298599984ac9da75dc4e753 100644 (file)
@@ -1,56 +1,62 @@
-<div class="libraries-header">
-  <div class="libraries-header-filter">
-    <label for="libraries-filter">{{t 'libs.filter'}} </label>
-    <input id="libraries-filter" type="text" class="js-libraries-filter">
-  </div>
+<div class="page">
+  <header class="page-header">
+    <h1 class="page-title">{{t 'libraries.page'}}</h1>
+  </header>
 
-  <div class="libraries-header-test">
-    <input type="checkbox" id="display-test-libraries" class="js-test-libraries">
-    <label for="display-test-libraries">{{t 'libs.displayTests'}}</label>
-  </div>
+  <div class="libraries-header">
+    <div class="libraries-header-filter">
+      <label for="libraries-filter">{{t 'libs.filter'}} </label>
+      <input id="libraries-filter" type="text" class="js-libraries-filter">
+    </div>
 
-  <div class="libraries-header-actions">
-    <a class="js-libraries-collapse-all">{{t 'libs.collapse'}}</a>
-    <a class="js-libraries-expand-all">{{t 'libs.expand'}}</a>
-  </div>
+    <div class="libraries-header-test">
+      <input type="checkbox" id="display-test-libraries" class="js-test-libraries">
+      <label for="display-test-libraries">{{t 'libs.displayTests'}}</label>
+    </div>
 
-  <div class="libraries-header-actions">
-    <a href="{{usagesUrl}}">{{t 'libs.usageLink'}}</a>
+    <div class="libraries-header-actions">
+      <a class="js-libraries-collapse-all">{{t 'libs.collapse'}}</a>
+      <a class="js-libraries-expand-all">{{t 'libs.expand'}}</a>
+    </div>
+
+    <div class="libraries-header-actions">
+      <a href="{{usagesUrl}}">{{t 'libs.usageLink'}}</a>
+    </div>
   </div>
-</div>
 
-<div class="libraries-tree">
-  <ul>
-    {{#each items}}
-      <li>
-        {{qualifierIcon qualifier}}
-        <span class="libraries-tree-name">{{lname}}</span>
-        {{#if version}}
-          <span class="libraries-tree-version">{{version}}</span>
-        {{/if}}
-        {{#notEmpty libraries}}
-          <ul>
-            {{#recursive libraries}}
-              <li class="{{#if to}}libraries-tree-with-subtree libraries-tree-subtree-collapsed{{/if}} {{#eq u 'test'}}libraries-tree-test{{/eq}}">
-                {{#if to}}<a>{{/if}}
-                {{qualifierIcon q}}
-                <span class="libraries-tree-name">{{n}}</span>{{#if to}}</a>{{/if}}
-                {{#if v}}
-                  <span class="libraries-tree-version">{{v}}</span>
-                {{/if}}
-                {{#if u}}
-                  <span class="subtitle">({{u}})</span>
-                {{/if}}
-                {{#if to}}
-                  <ul>{{{recursive to}}}</ul>
-                {{/if}}
-              </li>
-            {{/recursive}}
-          </ul>
-        {{else}}
-          {{t 'libs.noLibraries'}}
-        {{/notEmpty}}
-      </li>
-    {{/each}}
-  </ul>
+  <div class="libraries-tree">
+    <ul>
+      {{#each items}}
+        <li>
+          {{qualifierIcon qualifier}}
+          <span class="libraries-tree-name">{{lname}}</span>
+          {{#if version}}
+            <span class="libraries-tree-version">{{version}}</span>
+          {{/if}}
+          {{#notEmpty libraries}}
+            <ul>
+              {{#recursive libraries}}
+                <li class="{{#if to}}libraries-tree-with-subtree libraries-tree-subtree-collapsed{{/if}} {{#eq u 'test'}}libraries-tree-test{{/eq}}">
+                  {{#if to}}<a>{{/if}}
+                  {{qualifierIcon q}}
+                  <span class="libraries-tree-name">{{n}}</span>{{#if to}}</a>{{/if}}
+                  {{#if v}}
+                    <span class="libraries-tree-version">{{v}}</span>
+                  {{/if}}
+                  {{#if u}}
+                    <span class="subtitle">({{u}})</span>
+                  {{/if}}
+                  {{#if to}}
+                    <ul>{{{recursive to}}}</ul>
+                  {{/if}}
+                </li>
+              {{/recursive}}
+            </ul>
+          {{else}}
+            {{t 'libs.noLibraries'}}
+          {{/notEmpty}}
+        </li>
+      {{/each}}
+    </ul>
+  </div>
 </div>
index efab29d21603e9f9daa6372283142ff4eb7083bc..6826aa943531feed410f88dac7220abaf0d44ca2 100644 (file)
@@ -1,6 +1,8 @@
-<h1 class="navigator-header-title">{{t 'quality_gates.page'}}</h1>
+<h1 class="page-title">{{t 'quality_gates.page'}}</h1>
 {{#if canEdit}}
-  <div class="navigator-header-actions button-group">
-    <button id="quality-gate-add">{{t 'create'}}</button>
+  <div class="page-actions">
+    <div class="button-group">
+      <button id="quality-gate-add">{{t 'create'}}</button>
+    </div>
   </div>
-{{/if}}
\ No newline at end of file
+{{/if}}
index 860b68b054034e79a153ee19e98b9bd95d426f82..16cc0489a93a6c37b035d90ede6661851320be6f 100644 (file)
@@ -10,3 +10,4 @@
 @import "components/tooltips";
 @import "components/dropdowns";
 @import "components/menu";
+@import "components/page";
diff --git a/server/sonar-web/src/main/less/components/page.less b/server/sonar-web/src/main/less/components/page.less
new file mode 100644 (file)
index 0000000..292875a
--- /dev/null
@@ -0,0 +1,31 @@
+@import (reference) "../variables";
+@import (reference) "../mixins";
+@import (reference) "../ui";
+
+.page {
+  padding: 10px 0;
+}
+
+.page-header,
+// deprecated
+.page_title {
+  .clearfix;
+  margin-bottom: 10px;
+}
+
+.page-title {
+  float: left;
+  font-size: @bigFontSize;
+  line-height: @formControlHeight;
+}
+
+.page-actions {
+  float: right;
+}
+
+.page-description {
+  float: left;
+  clear: left;
+  font-size: @smallFontSize;
+  line-height: 1.5;
+}
index 3cebf11e45d215562004c809e41ae14999cf8204..345a973c9ab739d1df55957d93392ebdb2bf4a0b 100644 (file)
@@ -99,15 +99,6 @@ legend {
   color: #000
 }
 
-/* font */
-body {
-  font: 13px/1.231 arial, helvetica, clean, sans-serif;
-}
-
-select, input, button, textarea {
-  font: 99% arial, helvetica, clean, sans-serif
-}
-
 pre, code, kbd, samp, tt {
   font-family: monospace;
   line-height: 1;
index 6f0d08437d962846d29800ebbaeccbefc9a48b20..2f798812f19d04a03ed6a9446b6c6104c41d26ca 100644 (file)
   }
 }
 
-body, a {
-  color: #444;
-}
-
 /* LAYOUT */
 #content {
   padding: 0 10px;
@@ -271,28 +267,6 @@ ul.sidebar select, ul.sidebar input {
   display: block;
 }
 
-.page {
-  padding: 10px 0;
-}
-.page-split-left {
-  min-width: 200px;
-  max-width: 200px;
-  width: 200px;
-  margin: 0;
-  display: block;
-  vertical-align: top;
-  border-top: none;
-  border-left: none;
-  float: left;
-}
-
-.page-split-right {
-  display: block;
-  margin: 0;
-  vertical-align: top;
-  padding: 0 0 0 200px;
-}
-
 .gray-sidebar {
   background-color: #EFEFEF;
   border: 1px solid #CCC;
index 200ab94be5a079d70b0d338c0c18aaca9a303419..cad9782ab8143862f8e92e83690102485a4e1c7b 100644 (file)
   padding: 0 @navigatorPadding;
   background-color: @navigatorBarBackground;
   font-size: 0;
+
+  .page-title,
+  .page-actions {
+    margin: (@navigatorHeaderHeight - @formControlHeight) / 2 0;
+  }
 }
 
 .navigator-header-favorite {
 }
 
 .navigator-header-actions {
-  margin-left: 20px;
+  margin: 8px 0 8px 20px;
 
   & > a {
     vertical-align: middle;
index 070216d1b21aef108cecffaade17dbc265e1f2b8..2039c85c50b0b83c6e8590f866eebfbb72408e13 100644 (file)
@@ -22,7 +22,7 @@
     height: @navigatorHeaderHeight;
     width: @qualityGateSidebarWidth;
     margin: @navigatorPadding;
-    padding: 0 @navigatorPadding;
+    padding: (@navigatorHeaderHeight - @formControlHeight) / 2 @navigatorPadding;
 
     .navigator-header-title {
       color: @baseFontColor;
index 4ab1a03b86d65e93032fce58e960256d46550cac..e1c29a01c475e93b6bd43779e0da60e7e395f653 100644 (file)
@@ -1284,10 +1284,6 @@ div.autocompleteNote {
 }
 
 /* ------------------- DASHBOARD ------------------- */
-.page_title {
-  margin: 0 0 7px 0;
-}
-
 .color_OK {
   border: 2px solid #85bb43 !important;
   color: #85bb43 !important;
index 5c77019cf4fd8aff4cc90239910bb09fd7f3a752..c0058d15a5834ad84fb100effcca8f2a24a95ef7 100644 (file)
@@ -66,6 +66,9 @@
 
 
   <div id="comparison-page" class="page">
+    <header class="page-header">
+      <h1 class="page-title"><%= h message('comparison.page') -%></h1>
+    </header>
     <form method="GET" id="compare-form" action="<%= ApplicationController.root_context -%>/comparison/index">
       <input type="hidden" name="sids" id="sids" value="<%= @snapshots.map { |s| s.id.to_s }.join(',') -%>">
       <input type="hidden" name="metrics" id="metrics" value="<%= @metrics.map { |m| m.key }.join(',') -%>">
index 20683976b1f6dcf5af8cf53376a747a278b4a6e9..f6446547adf74933473c7c3c1a50bdadce98ef1c 100644 (file)
@@ -1,7 +1,10 @@
-<% if is_admin? %>
-  <div id="page-operations">
-    <ul class="operations">
-      <li><%= message('customize') -%>
+<div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h message('components.page') -%></h1>
+
+    <% if is_admin? %>
+      <div class="page-actions">
+        <%= message('customize') -%>
         <% if configuring? %>
           <span class="green"><b><%= message('on').upcase -%></b></span> |
           <a class="action" href="<%= url_for :overwrite_params => {:configuring => nil} -%>" id="configure-off"><%= message('off').upcase -%></a>
           <a class="action" href="<%= url_for :overwrite_params => {:configuring => 'true'} -%>" id="configure-on"><%= message('on').upcase -%></a>
           | <span class="red"><b><%= message('off').upcase -%></b></span>
         <% end %>
-      </li>
-    </ul>
-  </div>
-<% end %>
+      </div>
+    <% end %>
+  </header>
 
-<% if has_role?(:admin) && configuring? %>
-  <%= render :partial => 'list_edit_mode_controls', :locals => {:configured_columns => @columns, :components_configuration => @components_configuration} %>
-<% end %>
-<% if @snapshots.empty? && @resource.nil? %>
-  <h3><%= message('components.no_projects_have_been_analysed') -%>No projects have been analysed.</h3>
-  <p><%= message('components.explanation_launch_sonar_to_have_results') -%></p>
-<% else %>
-  <table width="100%">
-    <tr>
-      <td align="left" valign="top">
-        <table id="components" class="data sortable">
-          <%= render :partial => 'list_table_header', :locals => {:configured_columns => @columns} if !configuring? || (!is_admin? && configuring?) %>
-          <%= render :partial => 'list_table_header_edit_mode', :locals => {:configured_columns => @columns} if configuring? && is_admin? %>
-          <tbody>
-          <% if @snapshots.empty? %>
-            <tr>
-              <td colspan="<%= @columns.size + 3 -%>">No components</td>
-            </tr>
-          <% else
-               @snapshots.each do |snapshot| %>
-              <% project = snapshot.project %>
-              <tr id="project_<%= project.id -%>">
-                <% alert_status_measure=search_measure(@measures_by_snapshot[snapshot], Metric::ALERT_STATUS)
-                   alert_status_x=(alert_status_measure ? alert_status_measure.data : '')
-                %>
-                <td x="<%= alert_status_x -%>" width="1%" nowrap><%= format_measure(alert_status_measure) %></td>
-                <td width="1%" nowrap>
-                  <% if logged_in? %>
-                    <%= link_to_favourite(project) -%>
-                  <% end %>
-                  <% if snapshot.display_dashboard? %>
-                    <%= link_to image_tag('zoom.png'), {:controller => 'dashboard', :id => snapshot.project.id}, :class => 'link-no-underline' %>
-                  <% else %>
-                    <%= link_to_resource(project, '<i class="icon-detach"></i>') %>
-                  <% end %>
-                </td>
-                <td class="left" x="<%= u(snapshot.project.name) -%>">
-                  <%= qualifier_icon(snapshot) %>
-                  <% if snapshot.display_dashboard? %>
-                    <%= link_to_resource(project, h(snapshot.project.name)) %>
-                  <% else %>
-                    <%= h snapshot.project.name %>
-                  <% end %>
-                </td>
-                <% @columns.each do |column| %>
-                  <%= get_column_content(column, snapshot, @measures_by_snapshot) -%>
-                <% end %>
+  <% if has_role?(:admin) && configuring? %>
+    <%= render :partial => 'list_edit_mode_controls', :locals => {:configured_columns => @columns, :components_configuration => @components_configuration} %>
+  <% end %>
+  <% if @snapshots.empty? && @resource.nil? %>
+    <h3><%= message('components.no_projects_have_been_analysed') -%>No projects have been analysed.</h3>
+
+    <p><%= message('components.explanation_launch_sonar_to_have_results') -%></p>
+  <% else %>
+    <table width="100%">
+      <tr>
+        <td align="left" valign="top">
+          <table id="components" class="data sortable">
+            <%= render :partial => 'list_table_header', :locals => {:configured_columns => @columns} if !configuring? || (!is_admin? && configuring?) %>
+            <%= render :partial => 'list_table_header_edit_mode', :locals => {:configured_columns => @columns} if configuring? && is_admin? %>
+            <tbody>
+            <% if @snapshots.empty? %>
+              <tr>
+                <td colspan="<%= @columns.size + 3 -%>">No components</td>
               </tr>
+            <% else
+                 @snapshots.each do |snapshot| %>
+                <% project = snapshot.project %>
+                <tr id="project_<%= project.id -%>">
+                  <% alert_status_measure=search_measure(@measures_by_snapshot[snapshot], Metric::ALERT_STATUS)
+                     alert_status_x=(alert_status_measure ? alert_status_measure.data : '')
+                  %>
+                  <td x="<%= alert_status_x -%>" width="1%" nowrap><%= format_measure(alert_status_measure) %></td>
+                  <td width="1%" nowrap>
+                    <% if logged_in? %>
+                      <%= link_to_favourite(project) -%>
+                    <% end %>
+                    <% if snapshot.display_dashboard? %>
+                      <%= link_to image_tag('zoom.png'), {:controller => 'dashboard', :id => snapshot.project.id}, :class => 'link-no-underline' %>
+                    <% else %>
+                      <%= link_to_resource(project, '<i class="icon-detach"></i>') %>
+                    <% end %>
+                  </td>
+                  <td class="left" x="<%= u(snapshot.project.name) -%>">
+                    <%= qualifier_icon(snapshot) %>
+                    <% if snapshot.display_dashboard? %>
+                      <%= link_to_resource(project, h(snapshot.project.name)) %>
+                    <% else %>
+                      <%= h snapshot.project.name %>
+                    <% end %>
+                  </td>
+                  <% @columns.each do |column| %>
+                    <%= get_column_content(column, snapshot, @measures_by_snapshot) -%>
+                  <% end %>
+                </tr>
+              <% end %>
             <% end %>
-          <% end %>
-          </tbody>
-        </table>
-        <script>jQuery('#components').sortable();</script>
-        <p>&nbsp;</p>
-      </td>
-    </tr>
-  </table>
-<% end %>
+            </tbody>
+          </table>
+          <script>jQuery('#components').sortable();</script>
+          <p>&nbsp;</p>
+        </td>
+      </tr>
+    </table>
+  <% end %>
+</div>
index 900075c19f027f58febe1d9ef04835c8464c7a94..f96fb618b2c36096bec3baffe5f7ae9b3cb4765e 100644 (file)
@@ -1,34 +1,33 @@
-<% if logged_in? || @snapshot %>
-<div class="line-block">
+<header class="page-header">
+  <h1 class="page-title"><%= h @dashboard.name -%></h1>
 
   <% if logged_in? %>
-    <div class="operations noprint button-group">
-      <% if back %>
-        <%= link_to message('dashboard.back_to_dashboard'), dashboard_action(:index), :class => 'button' -%>
-      <% else %>
-        <% if @dashboard.editable_by?(current_user) %>
-          <%= link_to message('dashboard.configure_widgets'), dashboard_action(:configure), :class => 'button' -%>
+    <div class="page-actions operations noprint">
+      <div class="button-group">
+        <% if back %>
+          <%= link_to message('dashboard.back_to_dashboard'), dashboard_action(:index), :class => 'button' -%>
+        <% else %>
+          <% if @dashboard.editable_by?(current_user) %>
+            <%= link_to message('dashboard.configure_widgets'), dashboard_action(:configure), :class => 'button' -%>
+          <% end %>
         <% end %>
-      <% end %>
-      <%= link_to message('dashboard.manage_dashboards'), {:controller => :dashboards, :action => :index, :resource => (@resource.id if @resource) }, :class => 'button' -%>
+        <%= link_to message('dashboard.manage_dashboards'), {:controller => :dashboards, :action => :index, :resource => (@resource.id if @resource)}, :class => 'button' -%>
+      </div>
     </div>
   <% end %>
 
   <% if @snapshot %>
-    <div id="snapshot_title" class="page_title">
-      <h4>
-        <%= "Version #{@snapshot.version} - " if @snapshot.version.present? -%><%= l @snapshot.created_at -%>
-        <% if @snapshot.project_snapshot.periods? %>
-          <% period_options = period_select_option_tags(@snapshot, 'small') %>
-          <% if period_options %>
-            <form method="GET" action="<%= url_for :controller => :dashboard, :action => :index, :id => @resource.id -%>" style="display: inline" class="spacer-left">
-              <input type="hidden" name="did" value="<%= @dashboard.id -%>"/>
-              <%= dropdown_tag 'period', period_options, {:width => '250px'}, {:id => 'select-comparison', :onchange => 'submit()'} -%>
-            </form>
-          <% end %>
+    <div class="page-description" id="snapshot_title">
+      <%= "Version #{@snapshot.version} - " if @snapshot.version.present? -%><%= l @snapshot.created_at -%>
+      <% if @snapshot.project_snapshot.periods? %>
+        <% period_options = period_select_option_tags(@snapshot, 'small') %>
+        <% if period_options %>
+          <form method="GET" action="<%= url_for :controller => :dashboard, :action => :index, :id => @resource.id -%>" style="display: inline" class="spacer-left">
+            <input type="hidden" name="did" value="<%= @dashboard.id -%>"/>
+            <%= dropdown_tag 'period', period_options, {:width => '250px'}, {:id => 'select-comparison', :onchange => 'submit()'} -%>
+          </form>
         <% end %>
-      </h4>
+      <% end %>
     </div>
   <% end %>
-</div>
-<% end %>
+</header>
index 5024d0a56051db28d0913100a39de3011d1c7e27..2e12529cf3ab6800c7b4f3c02dc0e2dd7155e8c3 100644 (file)
@@ -26,6 +26,10 @@ padding: 5px;
 </style>
 <% end %>
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h message('dependencies.page') -%></h1>
+  </header>
+
   <form action="<%= ApplicationController.root_context -%>/dependencies/index" id="search_form">
     <input type="text" name="search" value="<%= h params[:search] -%>" id="search_input"> </input>
     <input type="submit" value="<%= message('dependencies.search_library') -%>" id="search_submit"/><br/>
index e6268a263fd62e8577d7219f27fcb675f23aa474..5e1148bda255b83c5f51c2975e0f0991745836f7 100644 (file)
@@ -8,6 +8,11 @@
 <script>
   var navbarSpace = 'settings',
       navbarGlobalMenu = [
+        {
+          url: '/',
+          labelLocalized: 'Home',
+          active: false
+        },
         {
           label: 'sidebar.project_settings',
           active: false,
index 259f667463b541d628be93fae283befa5d876a1b..de527f0ed81e44e89e55473393f94f6f41dfd1c7 100644 (file)
@@ -3,7 +3,7 @@
      edit_mode = (params[:edit]=='true')
 %>
 
-  <h1 id="filter-title" class="navigator-header-title">
+  <h1 id="filter-title" class="page-title">
     <% if @filter.id && @filter.name.present? %>
       <%= h @filter.name -%>
       <span class="navigator-header-title-note">
     <% end %>
   </h1>
 
-  <div class="navigator-header-actions button-group">
-    <button onclick="window.location='<%= ApplicationController.root_context -%>/measures/search?qualifiers[]=TRK';"><%= message 'measure_filter.new_search' -%></button>
+  <div class="page-actions">
+    <div class="button-group">
+      <button onclick="window.location='<%= ApplicationController.root_context -%>/measures/search?qualifiers[]=TRK';"><%= message 'measure_filter.new_search' -%></button>
 
-    <% unless edit_mode %>
-      <% if logged_in? %>
-        <% if @filter.id %>
-          <button id="copy" onclick="openModalWindow('<%= url_for :action => 'copy_form', :id => @filter.id -%>');"><%= message('copy') -%></button>
-        <% end %>
+      <% unless edit_mode %>
+        <% if logged_in? %>
+          <% if @filter.id %>
+            <button id="copy" onclick="openModalWindow('<%= url_for :action => 'copy_form', :id => @filter.id -%>');"><%= message('copy') -%></button>
+          <% end %>
 
-        <% if !defined?(@unchanged) && @filter.id && @filter.owner?(current_user) %>
-          <button id="save" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = '<%= url_for params.merge({:action => 'save', :id => @filter.id}) -%>';f.submit();return false;"><%= message('save') -%></button>
-        <% end %>
+          <% if !defined?(@unchanged) && @filter.id && @filter.owner?(current_user) %>
+            <button id="save" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = '<%= url_for params.merge({:action => 'save', :id => @filter.id}) -%>';f.submit();return false;"><%= message('save') -%></button>
+          <% end %>
 
-        <% unless @filter.id %>
-          <button id="save-as" onclick="openModalWindow('<%= url_for params.merge({:action => 'save_as_form', :id => @filter.id}) -%>');"><%= message('save_as') -%></button>
-        <% end %>
+          <% unless @filter.id %>
+            <button id="save-as" onclick="openModalWindow('<%= url_for params.merge({:action => 'save_as_form', :id => @filter.id}) -%>');"><%= message('save_as') -%></button>
+          <% end %>
 
-        <% if @filter.id && @filter.owner?(current_user) %>
-          <button id="edit-filter" onclick="openModalWindow('<%= url_for :action => 'edit_form', :id => @filter.id -%>');"><%= message('edit') -%></button>
+          <% if @filter.id && @filter.owner?(current_user) %>
+            <button id="edit-filter" onclick="openModalWindow('<%= url_for :action => 'edit_form', :id => @filter.id -%>');"><%= message('edit') -%></button>
+          <% end %>
         <% end %>
       <% end %>
-    <% end %>
+    </div>
   </div>
 
   <% unless edit_mode %>
index db0a95e8e50a5d6b940a115eb0ed7478968bcb83..035bf52d2d559cb5c67123e264c6461865aec273 100644 (file)
@@ -1,4 +1,10 @@
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h @profile.name -%></h1>
+    <div class="page-description">
+      <a href="<%= ApplicationController.root_context -%>/profiles">&larr;&nbsp;<%= h message('quality_profiles.page') -%></a>
+    </div>
+  </header>
 <%= render :partial => 'profiles/tabs', :locals => {:selected_tab=>'changelog'} %>
 
 <div class="tabs-panel marginbottom10">
index 99a0792526b20502143decd6d649af0aebe07a43..72f4d29b6d611f826ee2a74680d7395cafeb0de1 100644 (file)
@@ -1,4 +1,11 @@
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h message('quality_profiles.compare_profiles') -%></h1>
+    <div class="page-description">
+      <a href="<%= ApplicationController.root_context -%>/profiles">&larr;&nbsp;<%= h message('quality_profiles.page') -%></a>
+    </div>
+  </header>
+
 <form method="GET" class="marginbottom10">
   <select name="id1" class="small">
     <option value=""></option>
index 715b119eb9a2108a38a1ec073f7e1cd38d3dfdb9..867c07cc162c34e4e9e42909074f386a0d97c063 100644 (file)
@@ -1,12 +1,19 @@
 <div class="page">
-<div class="line-block marginbottom10">
-  <div style="float: right" class="operations button-group">
-    <a href="profiles/compare" id="compare-link" class="button"><i class="icon-compare"></i> <%= message('quality_profiles.compare_profiles') -%></a>
-    <% if profiles_administrator? %>
-      <a href="profiles/restore_form" class="open-modal button" id="restore-link"><i class="icon-restore"></i> <%= message('quality_profiles.restore_profile') -%></a>
-    <% end %>
+
+  <div class="page-header">
+    <h1 class="page-title"><%= h message('quality_profiles.page') -%></h1>
+
+    <div class="page-actions operations">
+      <div class="button-group">
+        <a href="profiles/compare" id="compare-link" class="button"><i class="icon-compare"></i> <%= message('quality_profiles.compare_profiles') -%>
+        </a>
+        <% if profiles_administrator? %>
+          <a href="profiles/restore_form" class="open-modal button" id="restore-link"><i class="icon-restore"></i> <%= message('quality_profiles.restore_profile') -%>
+          </a>
+        <% end %>
+      </div>
+    </div>
   </div>
-</div>
 
 <%
    Api::Utils.insensitive_sort(languages){|l| l.getName()}.each do |language|
index eb6831e481bee9c28e96f7c3dcfa773da045de58..bb97f9112869c748a86af3834f01e7d8dbd15a45 100644 (file)
@@ -1,4 +1,11 @@
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h @profile.name -%></h1>
+    <div class="page-description">
+      <a href="<%= ApplicationController.root_context -%>/profiles">&larr;&nbsp;<%= h message('quality_profiles.page') -%></a>
+    </div>
+  </header>
+
 <%= render :partial => 'profiles/tabs', :locals => {:selected_tab=>'inheritance'} %>
 
 <div class="tabs-panel marginbottom10">
index 71bb6fdfb07fbb2f2b25ca7c73d2ecf704533a03..1115c25e20ae35328ef7f27f0477f0fa2eda00b5 100644 (file)
@@ -1,4 +1,11 @@
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h @profile.name -%></h1>
+    <div class="page-description">
+      <a href="<%= ApplicationController.root_context -%>/profiles">&larr;&nbsp;<%= h message('quality_profiles.page') -%></a>
+    </div>
+  </header>
+
 <%= render :partial => 'profiles/tabs', :locals => {:selected_tab=>'Permalinks'} %>
 
 <div class="tabs-panel marginbottom10 ">
index fc7c7e703b3b5c0ceaee2b0db82684e44daebf75..063c90027f1add5ec901d9359cc32c576d0c35c8 100644 (file)
@@ -1,4 +1,11 @@
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h @profile.name -%></h1>
+    <div class="page-description">
+      <a href="<%= ApplicationController.root_context -%>/profiles">&larr;&nbsp;<%= h message('quality_profiles.page') -%></a>
+    </div>
+  </header>
+
 <%= render :partial => 'profiles/tabs', :locals => {:selected_tab => 'Projects'} %>
 
 <div class="tabs-panel">
index 397b662228ba44528e66f977e790f2bbfc534b65..3e88507f61441520cce315e0db3dff99f1ee9b9a 100644 (file)
@@ -1,4 +1,11 @@
 <div class="page">
+  <header class="page-header">
+    <h1 class="page-title"><%= h @profile.name -%></h1>
+    <div class="page-description">
+      <a href="<%= ApplicationController.root_context -%>/profiles">&larr;&nbsp;<%= h message('quality_profiles.page') -%></a>
+    </div>
+  </header>
+
   <%= render :partial => 'profiles/tabs', :locals => {:selected_tab=>'Rules'} %>
 
   <div class="tabs-panel marginbottom10 ">