DocTree

showing a page with an image

This tool is about organizing notes. Therefore, a few thoughts about this subject.

Actually, since I built it with the documentation for some application at work in mind, it's about organizing documentation - hence the name: Doc for documentation and Tree for organizing. But anyway.

Obviously, notes (or any information) can be hierarchically organized. However, it is by no means always the optimal solution. Mainly because hierarchic organisations tend to be static, or fixed. Among others this means that reordering can be a painful process, and only leads to a new fixed state.

With this tool I try to alleviate this situation by providing the possibility to save the reordered information alongside the original ordering, and without duplicating the information. I also provide some basic tooling for reorganisation: the possibility to sort items on various levels according to their titles, and cut/copy/paste and drag&drop on the tree items.

The basic unit of organization is the collection of all the notes. In this tool this corresponds to a file. Such a collection can be

  • loaded

  • reloaded (for instance, to discard all changes from the last time it was saved)

  • started

  • saved

  • saved under a different name

These things are contained in the "Main" menu of the application:

main menu

Hide is a feature I copied over from Apropos and NoteTree with which you can minimize the application to the system tray using Ctrl-H. An icon is created so you can "revive" the application by clicking on it (any mouse button will do). I seemed useful at the time I developed it.

Switch Panes can be used to move back and forth from the tree to the text area.

Settings will start a dialog to modify settings; more about this here

Most menu options can also be executed using the keyboard shortcuts mentioned. Some can also be done from the toolbar (note the corresponding icons):

toolbar application functions

Notes

The basic parts of the collection are the notes - in this case, just pieces of text with a title. Functions for this are contained in the Note menu:

Note menu

New adds a new note below the currently selected one; Add adds one following it. New under root always adds below the top level. Delete is for removing a note with everything below it; using move you can move a note with everything under it (including images) to another DocTree data file.

Using edit title you can change an existing note's title. The underlying notes can be sorted according to title - highest level only or throughout all leves using the recursive option.

The forward/back movement mentioned here means moving from note to note; in the tree structure this corresponds to downwards/upwards.

Not in this menu is the possibility to create a note under the current one by "splitting" the title; this is described here.


Views

Notes can (need) to be organized in what I call a view. Moreover, they can be organized in more than one way. That's what the view menu is about:

View menu

Moving around in this menu means visually that you get a new tree and the notes can be in different places. You can control which view to look at by navigating forward or backward or by selecting a name in the lower part of the menu; you can also open a selection dialog

select view

to choose one.

More on this way to reorganize the information while keeping the original ordering here.


Tree

Views are realized in the form of tree structures that can be nested as deep as you like. The Tree menu contains functions that deal with this, like cut-copy-paste and controlling what is visible:

Tree menu

The Qt version of this tool has an undo/redo mechanism for these actions that can be controlled through the top two menu options that indicate what can be undone / redone at a given moment (and thus change with every action).

cut/copy/paste for tree parts can also be done using the toolbar:

toolbar tree functions

Text

Since notes are pieces of text, there are some basic functions that can be applied to their contents, like copy-paste (and for text undo/redo is also available) - hence the text menu:

Text menu

cut/copy/paste for text parts can also be done using the toolbar:

toolbar text functions

Format

I've also added functionality to make the texts nicer to read; see here