mpcjanssen / simpletask-android

GNU General Public License v3.0
547 stars 126 forks source link

Custom calendar account+name #640

Open fengshaun opened 7 years ago

fengshaun commented 7 years ago

It would be nice to be able to have SimpleTask use another calendar than the default "Simpletask Calendar -> Simpletask Reminders" calendar. I believe this is where things should change:

https://github.com/mpcjanssen/simpletask-android/blob/master/src/main/java/nl/mpcjanssen/simpletask/CalendarSync.kt#L52

smichel17 commented 7 years ago

Could you elaborate on why you'd like to be able to change this?

Todo.txt is a great format, but it does have one big drawback, which is that it is difficult to track a given task as you make changes. For calendar reminders, that means it's difficult to change only a single reminder when you update the todo.txt file from outside simpletask. So instead, we just recreate the entire calendar each time the todo.txt file changes.

That approach is not very compatible with putting simpletask reminders on a calendar that you use for something else, so the only easy to make change would be to rename the simpletask reminders calendar.. which seems not very useful, to me.

There's a bit of discussion about reminders in #466 another issue; search for an issue about a reminder extension. Normally I'd just link you but I'm on mobile and short on time right now.

tldr, I think we should be setting notifications directly, not using a calendar as an awkward roundabout method to create notifications

fengshaun commented 7 years ago

That makes sense. I was thinking about having reminders show up in my calendars that are synced elsewhere.

It would be possible to have Simpletask assigned to a calendar and have it compare calendar events against todo.txt when the file changes instead of recreating everything. This way new reminders can be added and missing ones (from file) removed from calendar. Then the calendar can be properly synced over caldav. This would probably involve a lot of work.

mpcjanssen commented 7 years ago

@fengshaun any attempt to combine appointments with an existing calendar has the issue @smichel17 mentioned that it's hard to identify tasks between changes.

smichel17 commented 7 years ago

@mpcjanssen not saying I think we should support this, but I do see the value in using a different calendar for the express purpose of syncing. Ie, I could make an empty calendar and sync that via davdroid, then tell simpletask to populate that calendar. As compared to now, when I'm not sure how I could do that.

That said, I'd be really, really worried that no matter how many warnings we put up, someone would end up wiping their personal calendar because of that.. I am not sure it is worth the cost.

Also, philosophically, todo.txt is our backend. If we choose to set reminders on the phone for that, great, but for communicating with other devices, shouldn't your desktop todo.txt program be setting its own, native reminders there?