diff options
-rw-r--r-- | app/controllers/attachments_controller.rb | 2 | ||||
-rw-r--r-- | app/views/attachments/diff.html.erb | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index b0e09cb80..9e6dd4cb8 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -27,6 +27,8 @@ class AttachmentsController < ApplicationController format.html { if @attachment.is_diff? @diff = File.new(@attachment.diskfile, "rb").read + @diff_type = params[:type] || User.current.pref[:diff_type] || 'inline' + @diff_type = 'inline' unless %w(inline sbs).include?(@diff_type) render :action => 'diff' elsif @attachment.is_text? && @attachment.filesize <= Setting.file_max_size_displayed.to_i.kilobyte @content = File.new(@attachment.diskfile, "rb").read diff --git a/app/views/attachments/diff.html.erb b/app/views/attachments/diff.html.erb index 96047926f..fa4e182fc 100644 --- a/app/views/attachments/diff.html.erb +++ b/app/views/attachments/diff.html.erb @@ -5,9 +5,16 @@ <span class="author"><%= link_to_user(@attachment.author) %>, <%= format_time(@attachment.created_on) %></span></p> <p><%= link_to_attachment @attachment, :text => l(:button_download), :download => true -%> <span class="size">(<%= number_to_human_size @attachment.filesize %>)</span></p> - </div> - +<p> +<% form_tag({}, :method => 'get') do %> + <label><%= l(:label_view_diff) %></label> + <%= select_tag 'type', + options_for_select( + [[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], @diff_type), + :onchange => "if (this.value != '') {this.form.submit()}" %> +<% end %> +</p> <%= render :partial => 'common/diff', :locals => {:diff => @diff, :diff_type => @diff_type} %> <% html_title @attachment.filename %> |