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_4">v0.0.4</h2>
\r
322 <div class="sectionbody">
\r
323 <div class="ulist"><ul>
\r
326 fixed i18n support.
\r
331 added --version and --help options.
\r
341 popup error dialog when .taskrc does not exist.
\r
351 added taskwarrior version checking (supported version are 2.2.0 and 2.0.0).
\r
356 added support for taskwarrior 2.2.0 (avoid confirmation query).
\r
361 added window position and size restore.
\r
366 added tasks sort column/order restore.
\r
371 fixed error message displayed when a note does not exist.
\r
376 new task dialog allow to set description and priority.
\r
381 added project table to filter the list of tasks.
\r
386 added application icon.
\r
391 added remove task button.
\r
397 <div class="sect1">
\r
398 <h2 id="_v0_0_3">v0.0.3</h2>
\r
399 <div class="sectionbody">
\r
400 <div class="ulist"><ul>
\r
403 fixed window close to terminate the application.
\r
413 generated HTML version of README and NEWS files.
\r
418 added fr translation and i18n support.
\r
424 <div class="sect1">
\r
425 <h2 id="_v0_0_2">v0.0.2</h2>
\r
426 <div class="sectionbody">
\r
427 <div class="ulist"><ul>
\r
430 added refresh keyboard shortcut (ALT-r).
\r
435 added new task keyboard shortcut (ALT-n).
\r
440 renamed gtask to ptask.
\r
446 <div class="sect1">
\r
447 <h2 id="_v0_0_1">v0.0.1</h2>
\r
448 <div class="sectionbody">
\r
449 <div class="ulist"><ul>
\r
459 <div id="footnotes"><hr /></div>
\r
461 <div id="footer-text">
\r
462 Last updated 2013-12-01 13:58:06 CET
\r