@@ -4,8 +4,8 @@ package require cgi
44source /mod/webif/lib/setup
55require ts.class pretty_size
66
7- jqplugin progressbar
8- jscss crop.js
7+ jqplugin progressbar iphone-style-checkboxes
8+ jscss crop.js style.css
99header
1010
1111set rfile [cgi_get file]
@@ -23,13 +23,13 @@ puts "
2323<tr><th>File:</th><td>$rfile</td></tr>
2424<tr><th>Length:</th><td>[clock format $len -format \"%T\"]</td></tr>
2525<tr><th>Size:</th><td>[pretty_size [$ts size]] ([$ts get definition])</td></tr>
26- <tr><th>Bookmarks:</th><td>[$ts get bookmarks] @ "
26+ <tr><th>Bookmarks:</th><td id=originalbookmarks >[$ts get bookmarks] @ "
2727
2828puts [join [lmap i [$ts bookmarks 1] {
2929 clock format $i -format "%T"
3030}] ", "]
3131
32- puts "</td></tr><tr><th>File </th><td>"
32+ puts "</td></tr><tr><th> </th><td id=cutplan >"
3333
3434puts "<div style=\"position: relative; top: -10px\">"
3535
@@ -48,14 +48,21 @@ append bookmarks [$ts bookmarks]
4848set keeping 0
4949set last 0
5050set start -1
51+ set newbookmarks "0 "
52+ set cur 0
5153foreach b $bookmarks {
5254 if {$start < 0} {
55+ # Start of a section to keep
5356 set start $b
5457 continue
5558 }
59+ # End of a section to keep
5660 set end $b
5761
58- incr keeping $($end - $start)
62+ set l $($end - $start)
63+ incr keeping $l
64+ incr cur $l
65+ append newbookmarks "[expr $cur + 3] "
5966
6067 set left $($start * 500 / $len)
6168 set right $($end * 500 / $len)
@@ -69,6 +76,7 @@ foreach b $bookmarks {
6976}
7077
7178if {$start > 0} {
79+ # Still in a keep section...
7280 incr keeping $($len - $start)
7381 set left $($start * 500 / $len)
7482 div cut $last $($left - 1)
@@ -77,6 +85,10 @@ if {$start > 0} {
7785 div cut $last 500
7886}
7987
88+ if {$cur > $keeping - 8 && $keeping - 8 > 0} {
89+ set newbookmarks [lreplace $newbookmarks end end $($keeping - 8)]
90+ }
91+
8092set keepperc $($keeping * 100.0 / $len)
8193set esttime $(int($keeping * 0.025))
8294if {[$ts get definition] eq "HD"} { set esttime $($esttime * 4) }
@@ -86,7 +98,23 @@ puts "
8698</td></tr>
8799<tr><th>Keeping:</th><td>
88100[clock format $keeping -format "%T"] ([format "%.2f" $keepperc]%)
89- </td></tr>
101+ </td></tr>"
102+
103+ puts "
104+ <tr>
105+ <th title=\"Calculated bookmarks for edit points following crop.\">
106+ New Bookmarks:
107+ </th><td id=newbookmarks>
108+ <span id=bookmarks val=\"$newbookmarks\">
109+ $newbookmarks</span> (
110+ "
111+ puts [join [lmap i $newbookmarks {
112+ clock format $i -format "%T"
113+ }] ", "]
114+
115+ puts " )</td></tr>"
116+
117+ puts "
90118<tr><th>Time:</th>
91119<td>Cropping will take around [clock format $esttime -format "%T"]</td></tr>
92120</table>
@@ -98,17 +126,25 @@ puts "
98126></span>
99127
100128<div id=cropdiv style=\"padding: 1em\">
101- <button id=invert invert=$invert>Invert selection</button>
102- <button id=cropit>Perform crop operation</button>
129+ <table><tr>
130+ <td><button id=invert invert=$invert>Invert selection</button></td>
131+ <td><button id=cropit>Perform crop operation</button></td>
132+ <td>
133+ Save new bookmarks?
134+ <input id=saveit type=checkbox name=saveit checked>
135+ <label id=saveitlabel for=saveit> </label>
136+ </td>
137+ </tr></table>
103138</div>
104139<button id=back>Back to media list</button>
140+ <button id=save class=\"hidden\">Save New Bookmarks</button>
141+ <div id=results class=\"hidden blood\"></div>
105142
106143<div id=progressdiv class=hidden>
107144Cropping: <div id=progressbar></div>
108145</div>
109146
110147<div id=output class=\"hidden pre\" style=\"margin-top: 10px\"></div>
111148</fieldset>
112-
113149"
114150
0 commit comments