1. 04 Feb, 2015 3 commits
    • Bram Schoenmakers's avatar
      Add an iCalendar printer. · 9ec16d97
      Bram Schoenmakers authored
      This command is similar to the 'ls' subcommand, except that it prints
      the selected todo items as an iCalendar file. This can be read by other
      calendaring applications.
      9ec16d97
    • Bram Schoenmakers's avatar
      Separate methods for view construction and printing a view. · 6f4de340
      Bram Schoenmakers authored
      The IcalCommand, which inherits from this class, wants to use the same
      view construction code, but needs a different implementation for
      printing the view. Therefore these two things should be split.
      6f4de340
    • Bram Schoenmakers's avatar
      Printer methods must always return a string. · 82f17dc6
      Bram Schoenmakers authored
      There is no need for clients of printers to assume anything about the
      format. In this case, the View class assumed that the printer would
      return a list of strings, and then the view joined those entries. This
      latter step is actually the responsibility of the printer, so move it
      there.
      82f17dc6
  2. 24 Jan, 2015 1 commit
    • Bram Schoenmakers's avatar
      View can use any printer, except when pretty_print() is called. · bcf68647
      Bram Schoenmakers authored
      Moreover, make print_todo of PrettyPrinter have the same signature as
      the Printer class. Clients must use add_filter to specify any additional
      filters when printing.
      
      The Command class holds a PrettyPrinter instance (rather than a generic
      printer). This means that add_filter is called, all future invocations
      of print_todo will apply these filters. This is not always desired, so
      in those cases a subcommand should instantiate its own printer (this
      happens for instance at the DoCommand).
      bcf68647
  3. 23 Jan, 2015 2 commits
  4. 21 Jan, 2015 1 commit
  5. 15 Jan, 2015 9 commits
  6. 14 Jan, 2015 3 commits
  7. 12 Jan, 2015 4 commits
  8. 11 Jan, 2015 5 commits
  9. 10 Jan, 2015 1 commit
  10. 08 Jan, 2015 4 commits
  11. 07 Jan, 2015 1 commit
    • user's avatar
      Better handling of relative months and years · 160cf1b2
      user authored
      - Increment months strictly: 01.01.2015 + 1m = 01.02.2015.
      - If there are fewer days in target month, date is rounded down:
        31.10.2015 + 1m = 30.11.2015.
      - Years are incremented as 12 months.
      - Leap years are 366 days long: 01.03.2015 + 1y = 01.03.2016 (not
        29.02.2016 as it would have been if year was equal to 365d)
      160cf1b2
  12. 02 Jan, 2015 1 commit
  13. 25 Dec, 2014 2 commits
  14. 21 Dec, 2014 2 commits
  15. 13 Dec, 2014 1 commit