Reordering the tree in a new "view"

I believe information can always be structured in more than one way. That's why I made the possibility to create different views on the same information.

Here's how to do it, more about why later

Open the View menu to create a new view. Note that there is only one name at the bottom of the menu. Also note it's ticked, indicating it's the view you're currently looking at.

pulled-down View menu

After choosing this option, a new view is created. It's completely "flat" and contains the items in the order they were entered.

picture of the new view

You can shuffle them around using cut and paste (using ctrl-X ctrl-V or the menu) or drag and drop (using the mouse).

the new view, reorganized

Note the text of the selected item. Now let's go back to the other view to show the information hasn't changed.

You can switch views with the keyboard, cycling through the available ones, or using the menu.

View menu pulled down over the new view

In the menu the available views are on the bottom and you can directly choose which one to go to.

the original view again

Note how the text of the item is unchanged.

Why

What's the good in having multiple views available?

At the time I was developing this application, I maintained a software application we were using at work that came with a collection of text files comprising the documentation for it.

I found it useful to organize the files according to the part of the application they described, because that was the way I could easily find the parts to adjust for a change request, or help users with questions. But it was also useful for me to have it organized by e.g. type of component and name, because then I could easily find the description if I already knew what I was looking for.

Given the tools that we had, if I organized the information one way - say, create a set of (nested) subdirectories to put the files in - I would always lose the earlier organisation of the information and have no way of reconstructing it except by using my memory or writing it down somewhere first.

So I built me a solution to that problem.