From 3f4e7c0069623b972f770993a0cf405c046a0b05 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Wed, 24 Feb 2010 20:07:54 +0000 Subject: [PATCH] - Adding icons for navigation (from http://momenticons.com/) - Adding next rev button svn: r18327 --- collects/meta/drdr/render.ss | 49 +++++++++++++----- .../meta/drdr/static/images/fast-forward.png | Bin 0 -> 2332 bytes collects/meta/drdr/static/images/rewind.png | Bin 0 -> 2327 bytes .../drdr/static/images/skip-backward1.png | Bin 0 -> 2236 bytes .../meta/drdr/static/images/skip-forward1.png | Bin 0 -> 2245 bytes collects/meta/drdr/static/render.css | 5 ++ 6 files changed, 40 insertions(+), 14 deletions(-) create mode 100755 collects/meta/drdr/static/images/fast-forward.png create mode 100755 collects/meta/drdr/static/images/rewind.png create mode 100755 collects/meta/drdr/static/images/skip-backward1.png create mode 100755 collects/meta/drdr/static/images/skip-forward1.png diff --git a/collects/meta/drdr/render.ss b/collects/meta/drdr/render.ss index 6fe8397f2f..3f04e4e6b5 100644 --- a/collects/meta/drdr/render.ss +++ b/collects/meta/drdr/render.ss @@ -44,6 +44,18 @@ depth (sub1 depth))) +(define (next-rev) + (init-revisions!) + (local [(define end (newest-completed-revision))] + (let loop ([rev (add1 (current-rev))]) + (cond + [(<= end rev) + end] + [(read-cache* (build-path (revision-dir rev) "analyzed")) + rev] + [else + (loop (add1 rev))])))) + (define (path->breadcrumb pth directory?) (define the-rev (current-rev)) (define new-pth ((rebase-path (revision-log-dir the-rev) "/") pth)) @@ -60,6 +72,7 @@ "/" the-base-path*)) (define prev-rev-url (format "/~a~a" (previous-rev) the-base-path)) + (define next-rev-url (format "/~a~a" (next-rev) the-base-path)) (define cur-rev-url (format "/~a~a" "current" the-base-path)) ; XXX Don't special case top level (values (apply string-append (add-between (list* "DrDr" string-parts) " / ")) @@ -76,9 +89,9 @@ ,(last string-parts))) " / ")) (span ([class "revnav"]) - (a ([href ,prev-rev-url]) "<-") - nbsp - (a ([href ,cur-rev-url]) "->|"))))) + (a ([href ,prev-rev-url]) (img ([src "/images/rewind.png"]))) + (a ([href ,next-rev-url]) (img ([src "/images/fast-forward.png"]))) + (a ([href ,cur-rev-url]) (img ([src "/images/skip-forward1.png"]))))))) (define (looks-like-directory? pth) (and (regexp-match #rx"/$" pth) #t)) @@ -440,7 +453,7 @@ @p{The graph is split up into panes that each contain approximately 300 revisions. The green arrowheads to the left and right of the image move between panes.} @p{The legend at the bottom of the graph shows the current pane, as well as the revision number and any timing information from that revision.} - @p{Click on the graph to jump to the DrDrs page for a specific revision.} + @p{Click on the graph to jump to the DrDr page for a specific revision.} @h1{Why are some revisions missing?} @p{Some revisions are missing because they only modify branches. Only revisions that change @code{/trunk} are tested.} @@ -589,18 +602,26 @@ (list-limit how-many-revs offset all-revs)))) - (table ([width "100%"]) + (table ([id "revnav"] [width "100%"]) (tr (td ([align "left"]) - (a ([href ,(format "~a?offset=~a" - (top-url show-revisions) - (max 0 (- offset how-many-revs)))]) - "Newer Revisions")) + (span ([class "revnav"]) + (a ([href ,(top-url show-revisions)]) + (img ([src "/images/skip-backward1.png"]))) + (a ([href ,(format "~a?offset=~a" + (top-url show-revisions) + (max 0 (- offset how-many-revs)))]) + (img ([src "/images/rewind.png"]))))) (td ([align "right"]) - (a ([href ,(format "~a?offset=~a" - (top-url show-revisions) - (min (- how-many-total-revs how-many-revs) - (+ offset how-many-revs)))]) - "Older Revisions")))) + (span ([class "revnav"]) + (a ([href ,(format "~a?offset=~a" + (top-url show-revisions) + (min (- how-many-total-revs how-many-revs) + (+ offset how-many-revs)))]) + (img ([src "/images/fast-forward.png"]))) + (a ([href ,(format "~a?offset=~a" + (top-url show-revisions) + (- how-many-total-revs how-many-revs))]) + (img ([src "/images/skip-forward1.png"]))))))) ,(footer))))) (define (show-revision req rev) diff --git a/collects/meta/drdr/static/images/fast-forward.png b/collects/meta/drdr/static/images/fast-forward.png new file mode 100755 index 0000000000000000000000000000000000000000..35577d77c2b2bc18fb2e83378bf4409bfae87e2c GIT binary patch literal 2332 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

m*Qzp*?*l@#KB@;04{1m-Jh5;PpLpgm^mV6j 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 T`<<7*00000NkvXXu0mjfnOsar literal 0 HcmV?d00001 diff --git a/collects/meta/drdr/static/render.css b/collects/meta/drdr/static/render.css index 53a4c7a21d..4842d32b13 100644 --- a/collects/meta/drdr/static/render.css +++ b/collects/meta/drdr/static/render.css @@ -2,6 +2,10 @@ html { overflow-y: scroll; } +a img { + border: 0; +} + body { color: black; background-color: white; @@ -67,6 +71,7 @@ div.error { span.revnav { margin-left: 1em; + margin-right: 1em; padding-left: 1em; padding-right: 1em; background: #FFCC66;