giuspen / cherrytree

cherrytree
https://www.giuspen.net/cherrytree/
Other
3.38k stars 460 forks source link

Bi-state checkboxes #2551

Open Kansai53 opened 1 month ago

Kansai53 commented 1 month ago

In ToDo lists, checkboxes are tri-state. Since there's no way to bulk-uncheck (this issue), manually unchecking them needs you to check all of them twice. As a way to mitigate this work, it would be nice if they could be bi-state instead of tri-state, so you only need to manually click all of them once to reset. I tried specifying only two characters in Preferences->Special Characters->Chars for Todo list, but it wouldnt let me.

gitvectors commented 1 month ago

I responded to your earlier discussion. I have no links to the creator of CherryTree, giuspen. I'm Just a fan and keen user of CherryTree. It helps to know what OS you are using since different ideas emerge. I dual boot Windows/Ubuntu.

Kansai53 commented 1 month ago

Also dual boot Windows/Linux

gitvectors commented 1 month ago

Great. Then start with Ubuntu as example. Read the original post where I posted different workflows. Install XMLCopyEditor si that you can browse XML content to view your checkboxes, Capture the absolute path to your ^.ctd as a Python variable to use. Learn xquery in XMLCopyEditor. and or learn xml.etree. and learn how to use CodeBox with Python script. Then you are ready to go. When I have time I will experiment further.

Kansai53 commented 1 month ago

Responded in the other thread. It's an interesting idea, but honestly not really able to implement a separate Python script at this time.

gitvectors commented 1 month ago

Then just parse the *.ctd as raw text using any other text substitution tool. the XML route is really for all options such as parsing node content but your need is simpler.

Kansai53 commented 1 month ago

Sure. Would still be good (& presumably simple) to just allow checkboxes to be bi-state rather than tri-state.

gitvectors commented 1 month ago

Simple? It's the straw on the camel's back. I thought up another idea. There is a UI emulation tool Actiona (cross platform) which automates actions such as finding TODO checkboxes (as one example) then applying commands. It is quite usefull to automate any number of app GUI's since it emulates you clicking on TODO boxes. I started today by grabbing screenshots of the tick boxes to search forfor but other priority tasks took over.

Here are the target images.

target1

target2

target3

The Find Image widget in Actiona can loop through your TODO. when found run a procedure.

Yet another idea is to keep a clone of your TODO list in one node then substitute one node for another to untick all. But if they are scattered far and wide then Actiona can automate the process. Sublime Text editor is another tool to parse XML.

Kansai53 commented 1 month ago

Actiona: Oh now THATS a cool solution! Definitely handy, great to know about - thanks!

gitvectors commented 1 month ago

Footnote:

I too have > 50 "TODOS" to action.

I have decided that the CherryTree built in lists feature is too basic for my needs. So I will pivot and use Actiona as the primary Task Manager, calling through commands the appropriate (.ctd) document(s) or internal node(s) associated with each task. This is a more flexible workflow. The entire list of tasks is written in ActionScript file (.as) in Sublime Text then imported (instead of using the Actiona Code editor (which uses tiny fonts for my eyes).

In fact as a refinement this Actiona script (.ascr) can be run separately or be embedded in CherryTree as CodeBox. Then run using (Actiona) actexec command to run the script. Simples.

UPDATE ON THOUGHTS On reflection learning how to use Actionscript might be a hurdle for some. Instead use .ini format where any text editor can be used. Even CherryTree. Actiona can read data from .ini file defining TODOS and any number of attributes attached to each TODO [section]. Sections can be nested. So groups of Tasks can be defined easily.

gitvectors commented 1 month ago

If anyone is reading this I have devised an even closer binding of CherryTree and Actiona, not needing an external editor such as Sublime Text. The usage pattern goes far beyond just TODOS management.