0
@@ -44,6 +44,10 @@ class CommitsController < OSX::NSObject
0
fetch_commits_for(:master, @offset, @current_commit_offset)
0
@commits_table.reloadData
0
+ @commits_table.selectRowIndexes_byExtendingSelection(NSIndexSet.indexSetWithIndex(0), false)
0
if @commits.size == 0 || @current_commit_offset == 0
0
@paging_segment.setEnabled_forSegment(false, 0)
0
@@ -58,55 +62,7 @@ class CommitsController < OSX::NSObject
0
def tableViewSelectionDidChange(notification)
0
- doc = @commit_details.mainFrame.DOMDocument
0
- set_html("message", active_commit.message)
0
- set_html("hash", active_commit.id)
0
- if Time.now.day == active_commit.committed_date.day
0
- cdate = active_commit.committed_date.strftime("Today %I:%m %p")
0
- cdate = active_commit.committed_date.strftime("%A, %B %d %I:%m %p")
0
- set_html("date", cdate)
0
- file_list = doc.getElementById('files')
0
- diff_list = doc.getElementById('diffs')
0
- diff_list.setInnerHTML("")
0
- file_list.setInnerHTML("")
0
- active_commit.diffs.each_with_index do |diff, i|
0
- li = doc.createElement('li')
0
- li.setAttribute__('id', "item-#{i}")
0
- li.setAttribute__('class', 'add') if diff.new_file
0
- li.setAttribute__('class', 'delete') if diff.deleted_file
0
- li.setInnerHTML(%(<a href="#diff-#{i}" class="">#{diff.b_path}</a>))
0
- file_list.appendChild(li)
0
- unless diff.deleted_file
0
- diff_div = doc.createElement('div')
0
- diff_div.setAttribute__('class', 'diff')
0
- diff_div.setAttribute__('id', "diff-#{i}")
0
- html = CGI.escapeHTML(diff.diff)
0
- html.each_line do |line|
0
- colored_diff << %(<div class="addline">#{line}</div>)
0
- elsif line =~ /^\-{1}/
0
- colored_diff << %(<div class="removeline">#{line}</div>)
0
- diff_div.setInnerHTML(%(
0
- <h3>#{File.basename(diff.b_path)}</h3>
0
- <pre><code class="diffcode">#{colored_diff}</pre></code>
0
- diff_list.appendChild(diff_div)
0
@@ -181,4 +137,58 @@ class CommitsController < OSX::NSObject
0
def set_html(element, html)
0
@commit_details.mainFrame.DOMDocument.getElementById(element).setInnerHTML(html)
0
+ def update_main_document
0
+ doc = @commit_details.mainFrame.DOMDocument
0
+ set_html("message", active_commit.message)
0
+ set_html("hash", active_commit.id)
0
+ if Time.now.day == active_commit.committed_date.day
0
+ cdate = active_commit.committed_date.strftime("Today %I:%m %p")
0
+ cdate = active_commit.committed_date.strftime("%A, %B %d %I:%m %p")
0
+ set_html("date", cdate)
0
+ file_list = doc.getElementById('files')
0
+ diff_list = doc.getElementById('diffs')
0
+ diff_list.setInnerHTML("")
0
+ file_list.setInnerHTML("")
0
+ active_commit.diffs.each_with_index do |diff, i|
0
+ li = doc.createElement('li')
0
+ li.setAttribute__('id', "item-#{i}")
0
+ li.setAttribute__('class', 'add') if diff.new_file
0
+ li.setAttribute__('class', 'delete') if diff.deleted_file
0
+ li.setInnerHTML(%(<a href="#diff-#{i}" class="">#{diff.b_path}</a>))
0
+ file_list.appendChild(li)
0
+ unless diff.deleted_file
0
+ diff_div = doc.createElement('div')
0
+ diff_div.setAttribute__('class', 'diff')
0
+ diff_div.setAttribute__('id', "diff-#{i}")
0
+ html = CGI.escapeHTML(diff.diff)
0
+ html.each_line do |line|
0
+ colored_diff << %(<div class="addline">#{line}</div>)
0
+ colored_diff << %(<div class="removeline">#{line}</div>)
0
+ colored_diff << %(<div class="meta">#{line}</div>)
0
+ diff_div.setInnerHTML(%(
0
+ <h3>#{File.basename(diff.b_path)}</h3>
0
+ <pre><code class="diffcode">#{colored_diff}</pre></code>
0
+ diff_list.appendChild(diff_div)
Comments
No one has commented yet.