Commit 78f4c789b335362804c0536dd1124642feb824d8

Authored by randx
1 parent b826a684

Improved Commit diff -> Images. Red border for removed & green for added images

app/assets/stylesheets/common.scss
... ... @@ -450,106 +450,6 @@ input.git_clone_url {
450 450 background:#fff !important;
451 451 }
452 452  
453   -/**
454   - *
455   - * COMMIT SHOw
456   - *
457   - */
458   -.diff_file {
459   - border:1px solid #CCC;
460   - margin-bottom:1em;
461   -
462   - .diff_file_header {
463   - padding:7px 5px;
464   - border-bottom:1px solid #CCC;
465   - background: #eee;
466   - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
467   - background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
468   - background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
469   - background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
470   -
471   - span {
472   - font-size:14px;
473   - }
474   - }
475   - .diff_file_content {
476   - overflow:auto;
477   - overflow-y:hidden;
478   - background:#fff;
479   - color:#333;
480   - font-size: 12px;
481   - font-family: 'Menlo', 'Courier New', 'andale mono','lucida console',monospace;
482   - }
483   - .diff_file_content_image {
484   - background:#eee;
485   - text-align:center;
486   - img {
487   - padding:50px;
488   - max-width:400px;
489   - }
490   - }
491   -}
492   -
493   -.diff_file_content{
494   - table {
495   - border:none;
496   - margin:0px;
497   - padding:0px;
498   - tr {
499   - td {
500   - font-size:12px;
501   - }
502   - }
503   - }
504   - .old_line, .new_line {
505   - margin:0px;
506   - padding:0px;
507   - border:none;
508   - background:#EEE;
509   - color:#666;
510   - padding: 0px 5px;
511   - border-right: 1px solid #ccc;
512   - text-align:right;
513   - min-width:35px;
514   - max-width:35px;
515   - width:35px;
516   - moz-user-select: none;
517   - -khtml-user-select: none;
518   - user-select: none;
519   - a {
520   - float:left;
521   - width:35px;
522   - font-weight:normal;
523   - color:#666;
524   - &:hover {
525   - text-decoration:underline;
526   - }
527   - }
528   - }
529   - .line_content {
530   - white-space:pre;
531   - height:14px;
532   - margin:0px;
533   - padding:0px;
534   - border:none;
535   - &.new {
536   - background: #CFD;
537   - }
538   - &.old {
539   - background: #FDD;
540   - }
541   - &.matched {
542   - color:#ccc;
543   - background:#fafafa;
544   - }
545   - }
546   -}
547   -
548   -/** COMMIT BLOCK **/
549   -.commit-title{display: block;}
550   -.commit-title{margin-bottom: 10px}
551   -.commit-author, .commit-committer{display: block;color: #999; font-weight: normal; font-style: italic;}
552   -.commit-author strong, .commit-committer strong{font-weight: bold; font-style: normal;}
553 453  
554 454 /** bordered list **/
555 455 ul.bordered-list {
... ...
app/assets/stylesheets/sections/commits.scss
... ... @@ -52,3 +52,117 @@
52 52 }
53 53 }
54 54 }
  55 +
  56 +/**
  57 + *
  58 + * COMMIT SHOw
  59 + *
  60 + */
  61 +.diff_file {
  62 + border:1px solid #CCC;
  63 + margin-bottom:1em;
  64 +
  65 + .diff_file_header {
  66 + padding:7px 5px;
  67 + border-bottom:1px solid #CCC;
  68 + background: #eee;
  69 + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
  70 + background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
  71 + background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
  72 + background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
  73 +
  74 + span {
  75 + font-size:14px;
  76 + }
  77 + }
  78 + .diff_file_content {
  79 + overflow:auto;
  80 + overflow-y:hidden;
  81 + background:#fff;
  82 + color:#333;
  83 + font-size: 12px;
  84 + font-family: 'Menlo', 'Courier New', 'andale mono','lucida console',monospace;
  85 + }
  86 + .diff_file_content_image {
  87 + background:#eee;
  88 + text-align:center;
  89 + img {
  90 + margin:50px;
  91 + padding:1px;
  92 + max-width:400px;
  93 + }
  94 + &.diff_image_removed {
  95 + img {
  96 + border: 1px solid #C00;
  97 + }
  98 + }
  99 +
  100 + &.diff_image_added {
  101 + img {
  102 + border: 1px solid #0C0;;
  103 + }
  104 + }
  105 + }
  106 +}
  107 +
  108 +.diff_file_content{
  109 + table {
  110 + border:none;
  111 + margin:0px;
  112 + padding:0px;
  113 + tr {
  114 + td {
  115 + font-size:12px;
  116 + }
  117 + }
  118 + }
  119 + .old_line, .new_line {
  120 + margin:0px;
  121 + padding:0px;
  122 + border:none;
  123 + background:#EEE;
  124 + color:#666;
  125 + padding: 0px 5px;
  126 + border-right: 1px solid #ccc;
  127 + text-align:right;
  128 + min-width:35px;
  129 + max-width:35px;
  130 + width:35px;
  131 + moz-user-select: none;
  132 + -khtml-user-select: none;
  133 + user-select: none;
  134 + a {
  135 + float:left;
  136 + width:35px;
  137 + font-weight:normal;
  138 + color:#666;
  139 + &:hover {
  140 + text-decoration:underline;
  141 + }
  142 + }
  143 + }
  144 + .line_content {
  145 + white-space:pre;
  146 + height:14px;
  147 + margin:0px;
  148 + padding:0px;
  149 + border:none;
  150 + &.new {
  151 + background: #CFD;
  152 + }
  153 + &.old {
  154 + background: #FDD;
  155 + }
  156 + &.matched {
  157 + color:#ccc;
  158 + background:#fafafa;
  159 + }
  160 + }
  161 +}
  162 +
  163 +/** COMMIT BLOCK **/
  164 +.commit-title{display: block;}
  165 +.commit-title{margin-bottom: 10px}
  166 +.commit-author, .commit-committer{display: block;color: #999; font-weight: normal; font-style: italic;}
  167 +.commit-author strong, .commit-committer strong{font-weight: bold; font-style: normal;}
  168 +
... ...
app/helpers/commits_helper.rb
... ... @@ -86,4 +86,14 @@ module CommitsHelper
86 86 end
87 87 end
88 88 end
  89 +
  90 + def image_diff_class(diff)
  91 + if diff.deleted_file
  92 + "diff_image_removed"
  93 + elsif diff.new_file
  94 + "diff_image_added"
  95 + else
  96 + nil
  97 + end
  98 + end
89 99 end
... ...
app/views/commits/_diffs.html.haml
... ... @@ -34,7 +34,7 @@
34 34 - if file.text?
35 35 = render "commits/text_file", :diff => diff, :index => i
36 36 - elsif file.image?
37   - .diff_file_content_image
  37 + .diff_file_content_image{:class => image_diff_class(diff)}
38 38 %img{:src => "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
39 39 - else
40 40 %p
... ...