+
+ The todo.txt file is simply a plain text file that follows a specification + created by Gina Trapani and used in applications published by the Todo.txt Community. The todo.txt file is both human and machine readable by following a few simple rules. You can find more information including the specifications here. +
++ Filters are created automatically by special text identified in the tasks you create. The two kinds of text it looks for are projects and contexts. +
+ Project:
+ Denoted by prefixing some text with "+"
+ Context:
+ Denoted by prefixing some text with "@"
+
+ Local sandbox:
+ The todo.txt file is located within the application sandbox
+ storage space and is only accessible to this app. This is the
+ default location when you start the app for the first time and the best
+ option if you do not need or want your file accessible from any other
+ application or process.
+ Local shared:
+ The todo.txt file is located within the shared application storage space
+ in "Shared/misc/todo". This location is accessible from any other
+ application.
+
+ You can export the todo.txt and done.txt files from your local sandbox by + opening the "Settings" page in the pull down menu at the top of the screen + and pressing the "Export sandbox files". From there you will be prompted to + select an accessible location. +
++ Dropbox support has been temporarily removed from this open source edition. I plan to + rework a large portion of the sync code and re-introduce it along with support for + other cloud providers soon. +
++ For any feedback or questions you can send me email or visit us at monkeystew.org +
++ + \ No newline at end of file diff --git a/assets/humane.js b/assets/humane.js new file mode 100644 index 0000000..87fc202 --- /dev/null +++ b/assets/humane.js @@ -0,0 +1,150 @@ +/* + * Javascript Humane Dates + * Copyright (c) 2008 Dean Landolt (deanlandolt.com) + * Re-write by Zach Leatherman (zachleat.com) + * + * Adopted from the John Resig's pretty.js + * at http://ejohn.org/blog/javascript-pretty-date + * and henrah's proposed modification + * at http://ejohn.org/blog/javascript-pretty-date/#comment-297458 + * + * Licensed under the MIT license. + */ + +function humaneDate(date, compareTo){ + + if(!date) { + return; + } + + var testme = new Date; + compareTo = testme.getFullYear() + "-" + (testme.getMonth()+1) + "-" + testme.getDate(); + + var lang = { + ago: 'ago', + from: 'from now', + now: 'today', + minute: 'minute', + minutes: 'minutes', + hour: 'hour', + hours: 'hours', + today: 'today', + day: 'day', + days: 'days', + week: 'week', + weeks: 'weeks', + month: 'month', + months: 'months', + year: 'year', + years: 'years' + }, + formats = [ + [60, lang.now], + [3600, lang.minute, lang.minutes, 60], // 60 minutes, 1 minute + [86400, lang.hour, lang.hours, 3600], // 24 hours, 1 hour + [604800, lang.day, lang.days, 86400], // 7 days, 1 day + [2628000, lang.week, lang.weeks, 604800], // ~1 month, 1 week + [31536000, lang.month, lang.months, 2628000], // 1 year, ~1 month + [Infinity, lang.year, lang.years, 31536000] // Infinity, 1 year + ], + isString = typeof date == 'string', + date = isString ? + new Date(('' + date).replace(/-/g,"/").replace(/[TZ]/g," ")) : + date, + cIsString = typeof compareTo == 'string', + compareTo = cIsString ? + new Date(('' + compareTo).replace(/-/g,"/").replace(/[TZ]/g," ")) : + compareTo, + seconds = (compareTo - date + + (compareTo.getTimezoneOffset() - + // if we received a GMT time from a string, doesn't include time zone bias + // if we got a date object, the time zone is built in, we need to remove it. + (isString ? 0 : date.getTimezoneOffset()) + ) * 60000 + ) / 1000, + token; + + if(seconds < 0) { + seconds = Math.abs(seconds); + token = lang.from ? ' ' + lang.from : ''; + } else { + token = lang.ago ? ' ' + lang.ago : ''; + } + + /* + * 0 seconds && < 60 seconds Now + * 60 seconds 1 Minute + * > 60 seconds && < 60 minutes X Minutes + * 60 minutes 1 Hour + * > 60 minutes && < 24 hours X Hours + * 24 hours 1 Day + * > 24 hours && < 7 days X Days + * 7 days 1 Week + * > 7 days && < ~ 1 Month X Weeks + * ~ 1 Month 1 Month + * > ~ 1 Month && < 1 Year X Months + * 1 Year 1 Year + * > 1 Year X Years + * + * Single units are +10%. 1 Year shows first at 1 Year + 10% + */ + + function normalize(val, single) + { + var margin = 0.1; + if(val >= single && val <= single * (1+margin)) { + return single; + } + return val; + } + + for(var i = 0, format = formats[0]; formats[i]; format = formats[++i]) { + if(seconds < format[0]) { + if(i === 0) { + // Now + return format[1]; + } + + var val = Math.ceil(normalize(seconds, format[3]) / (format[3])); + + // Since the source is only passing a date don't reference hours, use today + if (format[2] == lang.hours) { return lang.today; } + + // Again, since it's only the date adjust the days value to round down + if (format[2] == lang.days) { + val = Math.floor(normalize(seconds, format[3]) / (format[3])); + } + + return val + + ' ' + + (val != 1 ? format[2] : format[1]) + + (i > 0 ? token : ''); + } + } +}; + +if(typeof jQuery != 'undefined') { + jQuery.fn.humaneDates = function(options) + { + var settings = jQuery.extend({ + 'lowercase': false + }, options); + + return this.each(function() + { + var $t = jQuery(this), + date = $t.attr('datetime') || $t.attr('title'); + + date = humaneDate(date); + + if(date && settings['lowercase']) { + date = date.toLowerCase(); + } + + if(date && $t.html() != date) { + // don't modify the dom if we don't have to + $t.html(date); + } + }); + }; +} diff --git a/assets/icons/123.png b/assets/icons/123.png new file mode 100644 index 0000000..4423557 Binary files /dev/null and b/assets/icons/123.png differ diff --git a/assets/icons/Add.png b/assets/icons/Add.png new file mode 100644 index 0000000..cdae022 Binary files /dev/null and b/assets/icons/Add.png differ diff --git a/assets/icons/Capitalize.png b/assets/icons/Capitalize.png new file mode 100644 index 0000000..29aa3f9 Binary files /dev/null and b/assets/icons/Capitalize.png differ diff --git a/assets/icons/Check.png b/assets/icons/Check.png new file mode 100644 index 0000000..de80c29 Binary files /dev/null and b/assets/icons/Check.png differ diff --git a/assets/icons/Clock.png b/assets/icons/Clock.png new file mode 100644 index 0000000..26fe71f Binary files /dev/null and b/assets/icons/Clock.png differ diff --git a/assets/icons/Clock_a.png b/assets/icons/Clock_a.png new file mode 100644 index 0000000..b843d89 Binary files /dev/null and b/assets/icons/Clock_a.png differ diff --git a/assets/icons/Date.png b/assets/icons/Date.png new file mode 100644 index 0000000..c325b32 Binary files /dev/null and b/assets/icons/Date.png differ diff --git a/assets/icons/Delete.png b/assets/icons/Delete.png new file mode 100644 index 0000000..acfc5d5 Binary files /dev/null and b/assets/icons/Delete.png differ diff --git a/assets/icons/DownBox.png b/assets/icons/DownBox.png new file mode 100644 index 0000000..a3168c6 Binary files /dev/null and b/assets/icons/DownBox.png differ diff --git a/assets/icons/Funnel.png b/assets/icons/Funnel.png new file mode 100644 index 0000000..59b8838 Binary files /dev/null and b/assets/icons/Funnel.png differ diff --git a/assets/icons/Info.png b/assets/icons/Info.png new file mode 100644 index 0000000..1e867c7 Binary files /dev/null and b/assets/icons/Info.png differ diff --git a/assets/icons/Pencil.png b/assets/icons/Pencil.png new file mode 100644 index 0000000..5a55a66 Binary files /dev/null and b/assets/icons/Pencil.png differ diff --git a/assets/icons/PriceTag.png b/assets/icons/PriceTag.png new file mode 100644 index 0000000..df0988d Binary files /dev/null and b/assets/icons/PriceTag.png differ diff --git a/assets/icons/Recycle.png b/assets/icons/Recycle.png new file mode 100644 index 0000000..128abbe Binary files /dev/null and b/assets/icons/Recycle.png differ diff --git a/assets/icons/Search.png b/assets/icons/Search.png new file mode 100644 index 0000000..9224195 Binary files /dev/null and b/assets/icons/Search.png differ diff --git a/assets/icons/Sort.png b/assets/icons/Sort.png new file mode 100644 index 0000000..f4f573b Binary files /dev/null and b/assets/icons/Sort.png differ diff --git a/assets/icons/Undo.png b/assets/icons/Undo.png new file mode 100644 index 0000000..1b8dcd6 Binary files /dev/null and b/assets/icons/Undo.png differ diff --git a/assets/icons/abc.png b/assets/icons/abc.png new file mode 100644 index 0000000..89238e3 Binary files /dev/null and b/assets/icons/abc.png differ diff --git a/assets/icons/ic_bbm.png b/assets/icons/ic_bbm.png new file mode 100644 index 0000000..21c2444 Binary files /dev/null and b/assets/icons/ic_bbm.png differ diff --git a/assets/icons/invoke.png b/assets/icons/invoke.png new file mode 100644 index 0000000..fdea810 Binary files /dev/null and b/assets/icons/invoke.png differ diff --git a/assets/icons/rtd_512_3-110.png b/assets/icons/rtd_512_3-110.png new file mode 100644 index 0000000..5bb186d Binary files /dev/null and b/assets/icons/rtd_512_3-110.png differ diff --git a/assets/icons/rtd_512_3-144.png b/assets/icons/rtd_512_3-144.png new file mode 100644 index 0000000..74ee9eb Binary files /dev/null and b/assets/icons/rtd_512_3-144.png differ diff --git a/assets/icons/rtd_512_3-86.png b/assets/icons/rtd_512_3-86.png new file mode 100644 index 0000000..780d572 Binary files /dev/null and b/assets/icons/rtd_512_3-86.png differ diff --git a/assets/icons/rtd_512_3-90.png b/assets/icons/rtd_512_3-90.png new file mode 100644 index 0000000..a34ac59 Binary files /dev/null and b/assets/icons/rtd_512_3-90.png differ diff --git a/assets/icons/rtd_512_3-96.png b/assets/icons/rtd_512_3-96.png new file mode 100644 index 0000000..97a5705 Binary files /dev/null and b/assets/icons/rtd_512_3-96.png differ diff --git a/assets/icons/rtd_splash_1440s.png b/assets/icons/rtd_splash_1440s.png new file mode 100644 index 0000000..a0331c7 Binary files /dev/null and b/assets/icons/rtd_splash_1440s.png differ diff --git a/assets/icons/rtd_splash_720s.png b/assets/icons/rtd_splash_720s.png new file mode 100644 index 0000000..fba0bc1 Binary files /dev/null and b/assets/icons/rtd_splash_720s.png differ diff --git a/assets/icons/rtd_splash_768p.png b/assets/icons/rtd_splash_768p.png new file mode 100644 index 0000000..0895f24 Binary files /dev/null and b/assets/icons/rtd_splash_768p.png differ diff --git a/assets/main.qml b/assets/main.qml new file mode 100644 index 0000000..6c587b7 --- /dev/null +++ b/assets/main.qml @@ -0,0 +1,398 @@ +/* + * Copyright 2012-2018 Morgan McMillian