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 keep focus on project after refresh.
\r
331 keep focus on task after refresh.
\r
336 added support of tasks with deleted status.
\r
341 added urgency column.
\r
346 implemented the cancel button of the task panel.
\r
356 restore position of vertical/horizaton spliters.
\r
361 added creation date, due, id, uuid, urgency, and start date in the
\r
367 popup menu to filter columns of the table of tasks.
\r
372 allow to change the directory containing the notes.
\r
377 fixed compilation with gtk+ 3.10 (ignore deprecation of GtkAction).
\r
383 <div class="sect1">
\r
384 <h2 id="_v0_0_4">v0.0.4</h2>
\r
385 <div class="sectionbody">
\r
386 <div class="ulist"><ul>
\r
389 fixed i18n support.
\r
394 added --version and --help options.
\r
404 popup error dialog when .taskrc does not exist.
\r
414 added taskwarrior version checking (supported version are 2.2.0 and 2.0.0).
\r
419 added support for taskwarrior 2.2.0 (avoid confirmation query).
\r
424 added window position and size restore.
\r
429 added tasks sort column/order restore.
\r
434 fixed error message displayed when a note does not exist.
\r
439 new task dialog allow to set description and priority.
\r
444 added project table to filter the list of tasks.
\r
449 added application icon.
\r
454 added remove task button.
\r
460 <div class="sect1">
\r
461 <h2 id="_v0_0_3">v0.0.3</h2>
\r
462 <div class="sectionbody">
\r
463 <div class="ulist"><ul>
\r
466 fixed window close to terminate the application.
\r
476 generated HTML version of README and NEWS files.
\r
481 added fr translation and i18n support.
\r
487 <div class="sect1">
\r
488 <h2 id="_v0_0_2">v0.0.2</h2>
\r
489 <div class="sectionbody">
\r
490 <div class="ulist"><ul>
\r
493 added refresh keyboard shortcut (ALT-r).
\r
498 added new task keyboard shortcut (ALT-n).
\r
503 renamed gtask to ptask.
\r
509 <div class="sect1">
\r
510 <h2 id="_v0_0_1">v0.0.1</h2>
\r
511 <div class="sectionbody">
\r
512 <div class="ulist"><ul>
\r
522 <div id="footnotes"><hr /></div>
\r
524 <div id="footer-text">
\r
525 Last updated 2014-01-22 10:30:18 CET
\r