diff options
author | Johan Sørensen <johan@johansorensen.com> | 2008-01-12 13:06:06 (GMT) |
---|---|---|
committer | Johan Sørensen <johan@johansorensen.com> | 2008-01-12 13:06:06 (GMT) |
commit | 8ed135cce50a6b9c419e8f91277bf0a392232764 (patch) | |
tree | 72e87efae54998ba34aae8ac5fc16c09a874ed6d | |
parent | 0abaf722ddd93ed085d37142ef7e925d811a37d0 (diff) |
diff mode selector
-rw-r--r-- | TODO.txt | 1 | ||||
-rw-r--r-- | app/helpers/browse_helper.rb | 14 | ||||
-rw-r--r-- | app/views/browse/commit.html.erb | 2 | ||||
-rw-r--r-- | lib/gitorious/diff/sidebyside_table_callback.rb | 16 | ||||
-rw-r--r-- | public/stylesheets/base.css | 18 |
5 files changed, 40 insertions, 11 deletions
@@ -6,6 +6,7 @@ [ ] Better SshKey#key wrap [ ] paginate comments [ ] OpenID login +[ ] Clean up in commit diff CSS [ ] Show full path in repos browser [ ] graph Repository#parent relationships properly [ ] (A RemoteRepository class for repositories hosted elsewhere?) diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index e7d6b81..70a4228 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -74,4 +74,18 @@ module BrowseHelper out end + def render_diffmode_selector + out = %Q{<ul class="diffmode_selector"} + out << %Q{<li class="list_header">Diff rendering mode:</li>} + if @diffmode == "sidebyside" + out << %Q{<li><a href="?diffmode=inline">inline</a></li>} + out << %Q{<li class="selected">side by side</li>} + else + out << %Q{<li class="selected">inline</li>} + out << %Q{<li><a href="?diffmode=sidebyside">side by side</a></li>} + end + out << "</ul>" + out + end + end diff --git a/app/views/browse/commit.html.erb b/app/views/browse/commit.html.erb index 80ef7cb..ae15454 100644 --- a/app/views/browse/commit.html.erb +++ b/app/views/browse/commit.html.erb @@ -13,7 +13,7 @@ <% #TODO: commit diff stats (as sparklines?) -%> <h2>Commit diff</h2> -<% #TODO diffmode selector -%> +<%= render_diffmode_selector -%> <% @diff.each do |file| -%> <h4><%= h(file.path) -%><%#=link_to h(file.path), blob_path(file.sha, file.path) -%></h4> diff --git a/lib/gitorious/diff/sidebyside_table_callback.rb b/lib/gitorious/diff/sidebyside_table_callback.rb index aa8659e..ad7d1a9 100644 --- a/lib/gitorious/diff/sidebyside_table_callback.rb +++ b/lib/gitorious/diff/sidebyside_table_callback.rb @@ -4,23 +4,23 @@ module Gitorious # Before blocks def before_addblock(block) - "<tbody><tr>" + %q{<tbody class="add"><tr>} end def before_remblock(block) - "<tbody><tr>" + %Q{<tbody class="rem"><tr>} end def before_modblock(block) - "<tbody><tr>" + %Q{<tbody class="mod"><tr>} end def before_unmodblock(block) - "<tbody><tr>" + %Q{<tbody class="unmod"><tr>} end def before_sepblock(block) - "<tbody><tr>" + %Q{<tbody class="sep"><tr>} end # After blocks @@ -33,7 +33,7 @@ module Gitorious end def after_modblock(block) - # "</tbody>" + "</tbody>" end def after_unmodblock(block) @@ -41,7 +41,7 @@ module Gitorious end def after_sepblock(block) - "</body>" + "</tbody>" end # Before lines @@ -94,7 +94,7 @@ module Gitorious end def after_modline(line) - # "</td></tr>" + "</td></tr>" end def after_unmodline(line) diff --git a/public/stylesheets/base.css b/public/stylesheets/base.css index 71eca89..48b62ad 100644 --- a/public/stylesheets/base.css +++ b/public/stylesheets/base.css @@ -575,6 +575,15 @@ div.comment p.byline { font-size: 90%; } +/* diff mode selector */ +ul.diffmode_selector { float: right; } +ul.diffmode_selector li { + display:inline; + margin-left: 1em; +} +ul.diffmode_selector li.list_header { font-weight: bold; } +ul.diffmode_selector li.selected { border-bottom: 1px solid #666; } + /* Diff rendering */ .toggle_diff { @@ -631,8 +640,13 @@ table.codediff .cut-line { table.codediff td.hidden del { display:none; } table.codediff td.del { background: #fdd; } table.codediff td.ins { background: #dfd; } -table.codediff td.del del { /*background: #fbb;*/ text-decoration: none; } -table.codediff td.ins ins { /*background: #afa;*/ text-decoration: none; } +table.sidebyside tbody.mod td { background: #fe9; } +table.sidebyside tbody.mod td { background: #fe9; } +table.sidebyside tbody.mod td ins, table.sidebyside tbody.mod td del{ background: #fc0; } +table.codediff td.del del { text-decoration: none; } +table.codediff td.ins ins { text-decoration: none; } +table.sidebyside td.del del { background: #fbb; } +table.sidebyside td.ins ins { background: #afa; } table.codediff col.lines { width: 3em; }
\ No newline at end of file |