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.9" />
\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
122 <script type="text/javascript">
\r
124 var asciidoc = { // Namespace.
\r
126 /////////////////////////////////////////////////////////////////////
\r
127 // Table Of Contents generator
\r
128 /////////////////////////////////////////////////////////////////////
\r
130 /* Author: Mihai Bazon, September 2002
\r
131 * http://students.infoiasi.ro/~mishoo
\r
133 * Table Of Content generator
\r
136 * Feel free to use this script under the terms of the GNU General Public
\r
137 * License, as long as you do not remove or alter this notice.
\r
140 /* modified by Troy D. Hanson, September 2006. License: GPL */
\r
141 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
\r
143 // toclevels = 1..4.
\r
144 toc: function (toclevels) {
\r
146 function getText(el) {
\r
148 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
149 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
\r
151 else if (i.firstChild != null)
\r
152 text += getText(i);
\r
157 function TocEntry(el, text, toclevel) {
\r
160 this.toclevel = toclevel;
\r
163 function tocEntries(el, toclevels) {
\r
164 var result = new Array;
\r
165 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
\r
166 // Function that scans the DOM tree for header elements (the DOM2
\r
167 // nodeIterator API would be a better technique but not supported by all
\r
169 var iterate = function (el) {
\r
170 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
171 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
\r
172 var mo = re.exec(i.tagName);
\r
173 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
\r
174 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
\r
184 var toc = document.getElementById("toc");
\r
189 // Delete existing TOC entries in case we're reloading the TOC.
\r
190 var tocEntriesToRemove = [];
\r
192 for (i = 0; i < toc.childNodes.length; i++) {
\r
193 var entry = toc.childNodes[i];
\r
194 if (entry.nodeName.toLowerCase() == 'div'
\r
195 && entry.getAttribute("class")
\r
196 && entry.getAttribute("class").match(/^toclevel/))
\r
197 tocEntriesToRemove.push(entry);
\r
199 for (i = 0; i < tocEntriesToRemove.length; i++) {
\r
200 toc.removeChild(tocEntriesToRemove[i]);
\r
203 // Rebuild TOC entries.
\r
204 var entries = tocEntries(document.getElementById("content"), toclevels);
\r
205 for (var i = 0; i < entries.length; ++i) {
\r
206 var entry = entries[i];
\r
207 if (entry.element.id == "")
\r
208 entry.element.id = "_toc_" + i;
\r
209 var a = document.createElement("a");
\r
210 a.href = "#" + entry.element.id;
\r
211 a.appendChild(document.createTextNode(entry.text));
\r
212 var div = document.createElement("div");
\r
213 div.appendChild(a);
\r
214 div.className = "toclevel" + entry.toclevel;
\r
215 toc.appendChild(div);
\r
217 if (entries.length == 0)
\r
218 toc.parentNode.removeChild(toc);
\r
222 /////////////////////////////////////////////////////////////////////
\r
223 // Footnotes generator
\r
224 /////////////////////////////////////////////////////////////////////
\r
226 /* Based on footnote generation code from:
\r
227 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
\r
230 footnotes: function () {
\r
231 // Delete existing footnote entries in case we're reloading the footnodes.
\r
233 var noteholder = document.getElementById("footnotes");
\r
237 var entriesToRemove = [];
\r
238 for (i = 0; i < noteholder.childNodes.length; i++) {
\r
239 var entry = noteholder.childNodes[i];
\r
240 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
\r
241 entriesToRemove.push(entry);
\r
243 for (i = 0; i < entriesToRemove.length; i++) {
\r
244 noteholder.removeChild(entriesToRemove[i]);
\r
247 // Rebuild footnote entries.
\r
248 var cont = document.getElementById("content");
\r
249 var spans = cont.getElementsByTagName("span");
\r
252 for (i=0; i<spans.length; i++) {
\r
253 if (spans[i].className == "footnote") {
\r
255 var note = spans[i].getAttribute("data-note");
\r
257 // Use [\s\S] in place of . so multi-line matches work.
\r
258 // Because JavaScript has no s (dotall) regex flag.
\r
259 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
\r
260 spans[i].innerHTML =
\r
261 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
\r
262 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
263 spans[i].setAttribute("data-note", note);
\r
265 noteholder.innerHTML +=
\r
266 "<div class='footnote' id='_footnote_" + n + "'>" +
\r
267 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
\r
268 n + "</a>. " + note + "</div>";
\r
269 var id =spans[i].getAttribute("id");
\r
270 if (id != null) refs["#"+id] = n;
\r
274 noteholder.parentNode.removeChild(noteholder);
\r
276 // Process footnoterefs.
\r
277 for (i=0; i<spans.length; i++) {
\r
278 if (spans[i].className == "footnoteref") {
\r
279 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
\r
280 href = href.match(/#.*/)[0]; // Because IE return full URL.
\r
282 spans[i].innerHTML =
\r
283 "[<a href='#_footnote_" + n +
\r
284 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
290 install: function(toclevels) {
\r
293 function reinstall() {
\r
294 asciidoc.footnotes();
\r
296 asciidoc.toc(toclevels);
\r
300 function reinstallAndRemoveTimer() {
\r
301 clearInterval(timerId);
\r
305 timerId = setInterval(reinstall, 500);
\r
306 if (document.addEventListener)
\r
307 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
\r
309 window.onload = reinstallAndRemoveTimer;
\r
313 asciidoc.install();
\r
317 <body class="article">
\r
319 <h1>What’s New</h1>
\r
322 <div class="sect1">
\r
323 <h2 id="_v0_0_6">v0.0.6</h2>
\r
324 <div class="sectionbody">
\r
325 <div class="ulist"><ul>
\r
328 added contextal menu item in the task tree: task done.
\r
333 added start/stop task.
\r
339 <div class="sect1">
\r
340 <h2 id="_v0_0_5">v0.0.5</h2>
\r
341 <div class="sectionbody">
\r
342 <div class="ulist"><ul>
\r
345 keep focus on project after refresh.
\r
350 keep focus on task after refresh.
\r
355 added support of tasks with deleted status.
\r
360 added urgency column.
\r
365 implemented the cancel button of the task panel.
\r
375 restore position of vertical/horizaton spliters.
\r
380 added creation date, due, id, uuid, urgency, and start date in the
\r
386 popup menu to filter columns of the table of tasks.
\r
391 allow to change the directory containing the notes.
\r
396 fixed compilation with gtk+ 3.10 (ignore deprecation of GtkAction).
\r
402 <div class="sect1">
\r
403 <h2 id="_v0_0_4">v0.0.4</h2>
\r
404 <div class="sectionbody">
\r
405 <div class="ulist"><ul>
\r
408 fixed i18n support.
\r
413 added --version and --help options.
\r
423 popup error dialog when .taskrc does not exist.
\r
433 added taskwarrior version checking (supported version are 2.2.0 and 2.0.0).
\r
438 added support for taskwarrior 2.2.0 (avoid confirmation query).
\r
443 added window position and size restore.
\r
448 added tasks sort column/order restore.
\r
453 fixed error message displayed when a note does not exist.
\r
458 new task dialog allow to set description and priority.
\r
463 added project table to filter the list of tasks.
\r
468 added application icon.
\r
473 added remove task button.
\r
479 <div class="sect1">
\r
480 <h2 id="_v0_0_3">v0.0.3</h2>
\r
481 <div class="sectionbody">
\r
482 <div class="ulist"><ul>
\r
485 fixed window close to terminate the application.
\r
495 generated HTML version of README and NEWS files.
\r
500 added fr translation and i18n support.
\r
506 <div class="sect1">
\r
507 <h2 id="_v0_0_2">v0.0.2</h2>
\r
508 <div class="sectionbody">
\r
509 <div class="ulist"><ul>
\r
512 added refresh keyboard shortcut (ALT-r).
\r
517 added new task keyboard shortcut (ALT-n).
\r
522 renamed gtask to ptask.
\r
528 <div class="sect1">
\r
529 <h2 id="_v0_0_1">v0.0.1</h2>
\r
530 <div class="sectionbody">
\r
531 <div class="ulist"><ul>
\r
541 <div id="footnotes"><hr /></div>
\r
543 <div id="footer-text">
\r
544 Last updated 2014-04-18 11:13:02 CEST
\r