1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 8.6.7" />
\r
7 <title>What’s New</title>
\r
8 <style type="text/css">
\r
10 background: #FFFFFF;
\r
12 font-family: Ubuntu,Arial,sans-serif;
\r
14 font-weight: lighter;
\r
15 margin: 1em 2em 2em 2em;
\r
21 margin: 0 0 0.267em 0;
\r
23 font-weight: normal;
\r
28 margin: 0 0 0.375em;
\r
30 font-weight: normal;
\r
35 margin: 0 0 0.522em;
\r
37 font-weight: normal;
\r
42 margin: 0 0 0.615em;
\r
44 font-weight: normal;
\r
55 font-weight: normal;
\r
57 letter-spacing: 0.1em;
\r
58 margin: 0 0 0.923em;
\r
59 text-transform: uppercase;
\r
79 text-decoration: none;
\r
83 text-decoration: underline;
\r
87 font-family: "Ubuntu Mono","Courier New",Courier,monospace;
\r
88 font-weight: normal;
\r
93 background: none repeat scroll 0 0 #e0e0e0;
\r
95 padding: 0.5em 0.5em;
\r
97 white-space: pre-wrap;
\r
98 word-wrap: break-word;
\r
108 font-size: 1.219em;
\r
109 margin: 0 0 0.615em;
\r
111 font-weight: normal;
\r
117 font-weight: lighter;
\r
120 <script type="text/javascript">
\r
122 var asciidoc = { // Namespace.
\r
124 /////////////////////////////////////////////////////////////////////
\r
125 // Table Of Contents generator
\r
126 /////////////////////////////////////////////////////////////////////
\r
128 /* Author: Mihai Bazon, September 2002
\r
129 * http://students.infoiasi.ro/~mishoo
\r
131 * Table Of Content generator
\r
134 * Feel free to use this script under the terms of the GNU General Public
\r
135 * License, as long as you do not remove or alter this notice.
\r
138 /* modified by Troy D. Hanson, September 2006. License: GPL */
\r
139 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
\r
141 // toclevels = 1..4.
\r
142 toc: function (toclevels) {
\r
144 function getText(el) {
\r
146 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
147 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
\r
149 else if (i.firstChild != null)
\r
150 text += getText(i);
\r
155 function TocEntry(el, text, toclevel) {
\r
158 this.toclevel = toclevel;
\r
161 function tocEntries(el, toclevels) {
\r
162 var result = new Array;
\r
163 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
\r
164 // Function that scans the DOM tree for header elements (the DOM2
\r
165 // nodeIterator API would be a better technique but not supported by all
\r
167 var iterate = function (el) {
\r
168 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
169 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
\r
170 var mo = re.exec(i.tagName);
\r
171 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
\r
172 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
\r
182 var toc = document.getElementById("toc");
\r
187 // Delete existing TOC entries in case we're reloading the TOC.
\r
188 var tocEntriesToRemove = [];
\r
190 for (i = 0; i < toc.childNodes.length; i++) {
\r
191 var entry = toc.childNodes[i];
\r
192 if (entry.nodeName.toLowerCase() == 'div'
\r
193 && entry.getAttribute("class")
\r
194 && entry.getAttribute("class").match(/^toclevel/))
\r
195 tocEntriesToRemove.push(entry);
\r
197 for (i = 0; i < tocEntriesToRemove.length; i++) {
\r
198 toc.removeChild(tocEntriesToRemove[i]);
\r
201 // Rebuild TOC entries.
\r
202 var entries = tocEntries(document.getElementById("content"), toclevels);
\r
203 for (var i = 0; i < entries.length; ++i) {
\r
204 var entry = entries[i];
\r
205 if (entry.element.id == "")
\r
206 entry.element.id = "_toc_" + i;
\r
207 var a = document.createElement("a");
\r
208 a.href = "#" + entry.element.id;
\r
209 a.appendChild(document.createTextNode(entry.text));
\r
210 var div = document.createElement("div");
\r
211 div.appendChild(a);
\r
212 div.className = "toclevel" + entry.toclevel;
\r
213 toc.appendChild(div);
\r
215 if (entries.length == 0)
\r
216 toc.parentNode.removeChild(toc);
\r
220 /////////////////////////////////////////////////////////////////////
\r
221 // Footnotes generator
\r
222 /////////////////////////////////////////////////////////////////////
\r
224 /* Based on footnote generation code from:
\r
225 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
\r
228 footnotes: function () {
\r
229 // Delete existing footnote entries in case we're reloading the footnodes.
\r
231 var noteholder = document.getElementById("footnotes");
\r
235 var entriesToRemove = [];
\r
236 for (i = 0; i < noteholder.childNodes.length; i++) {
\r
237 var entry = noteholder.childNodes[i];
\r
238 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
\r
239 entriesToRemove.push(entry);
\r
241 for (i = 0; i < entriesToRemove.length; i++) {
\r
242 noteholder.removeChild(entriesToRemove[i]);
\r
245 // Rebuild footnote entries.
\r
246 var cont = document.getElementById("content");
\r
247 var spans = cont.getElementsByTagName("span");
\r
250 for (i=0; i<spans.length; i++) {
\r
251 if (spans[i].className == "footnote") {
\r
253 var note = spans[i].getAttribute("data-note");
\r
255 // Use [\s\S] in place of . so multi-line matches work.
\r
256 // Because JavaScript has no s (dotall) regex flag.
\r
257 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
\r
258 spans[i].innerHTML =
\r
259 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
\r
260 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
261 spans[i].setAttribute("data-note", note);
\r
263 noteholder.innerHTML +=
\r
264 "<div class='footnote' id='_footnote_" + n + "'>" +
\r
265 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
\r
266 n + "</a>. " + note + "</div>";
\r
267 var id =spans[i].getAttribute("id");
\r
268 if (id != null) refs["#"+id] = n;
\r
272 noteholder.parentNode.removeChild(noteholder);
\r
274 // Process footnoterefs.
\r
275 for (i=0; i<spans.length; i++) {
\r
276 if (spans[i].className == "footnoteref") {
\r
277 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
\r
278 href = href.match(/#.*/)[0]; // Because IE return full URL.
\r
280 spans[i].innerHTML =
\r
281 "[<a href='#_footnote_" + n +
\r
282 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
288 install: function(toclevels) {
\r
291 function reinstall() {
\r
292 asciidoc.footnotes();
\r
294 asciidoc.toc(toclevels);
\r
298 function reinstallAndRemoveTimer() {
\r
299 clearInterval(timerId);
\r
303 timerId = setInterval(reinstall, 500);
\r
304 if (document.addEventListener)
\r
305 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
\r
307 window.onload = reinstallAndRemoveTimer;
\r
311 asciidoc.install();
\r
315 <body class="article">
\r
317 <h1>What’s New</h1>
\r
320 <div class="sect1">
\r
321 <h2 id="_v0_0_5">v0.0.5</h2>
\r
322 <div class="sectionbody">
\r
323 <div class="ulist"><ul>
\r
326 focus to first item when selecting a project.
\r
331 keep focus on project after refresh.
\r
336 keep focus on task after refresh.
\r
342 <div class="sect1">
\r
343 <h2 id="_v0_0_4">v0.0.4</h2>
\r
344 <div class="sectionbody">
\r
345 <div class="ulist"><ul>
\r
348 fixed i18n support.
\r
353 added --version and --help options.
\r
363 popup error dialog when .taskrc does not exist.
\r
373 added taskwarrior version checking (supported version are 2.2.0 and 2.0.0).
\r
378 added support for taskwarrior 2.2.0 (avoid confirmation query).
\r
383 added window position and size restore.
\r
388 added tasks sort column/order restore.
\r
393 fixed error message displayed when a note does not exist.
\r
398 new task dialog allow to set description and priority.
\r
403 added project table to filter the list of tasks.
\r
408 added application icon.
\r
413 added remove task button.
\r
419 <div class="sect1">
\r
420 <h2 id="_v0_0_3">v0.0.3</h2>
\r
421 <div class="sectionbody">
\r
422 <div class="ulist"><ul>
\r
425 fixed window close to terminate the application.
\r
435 generated HTML version of README and NEWS files.
\r
440 added fr translation and i18n support.
\r
446 <div class="sect1">
\r
447 <h2 id="_v0_0_2">v0.0.2</h2>
\r
448 <div class="sectionbody">
\r
449 <div class="ulist"><ul>
\r
452 added refresh keyboard shortcut (ALT-r).
\r
457 added new task keyboard shortcut (ALT-n).
\r
462 renamed gtask to ptask.
\r
468 <div class="sect1">
\r
469 <h2 id="_v0_0_1">v0.0.1</h2>
\r
470 <div class="sectionbody">
\r
471 <div class="ulist"><ul>
\r
481 <div id="footnotes"><hr /></div>
\r
483 <div id="footer-text">
\r
484 Last updated 2013-12-03 08:48:03 CET
\r