1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
TODO:
- try to share classes with debtags-edit (for exaple, the two-level tag
selection menu)
- "Load debtags" should remove tags which are namespace names, when tags with
that namespace are already present
- port foundation libraries to libboost when possible
- Show tag cardinality in tag menu
- Setup ItemList as a drag target for TAGCOLL data, to activate inter-panel
copy/moves with drag-and-dropping
- Make the columns sortable
- Names sort alphabetically
- Tagsets sort first by cardinality, then lexicographically
- For TreeViews, use the TreeView drag&drop system instead of the generic
widget one
- Add columns to the TagSelector. Will probably need a
TagCollection::getTagStats function to compute them all in a single run, so
that the computation is more efficient
- Write a component to display a smart hierarchy (exploting on-demand
generation)
- Use it to display the smart hierarchy generated with the currently
selected items
* Done in version 0.9.1
--- 2004-08-12
+ Actually show tags
* Done in version 0.9
--- 2004-07-25
+ port to libtagcoll 0.99
+ use classes Facet and Tag instead of string
* Done in version 0.5
--- 2004-04-19
+ TagSelector: make drag&drop work again
+ ItemList: add "merge" and "intersect" to context menu
+ ItemList: add "copy" and "move" to context menu
+ If invoked with a file on commandline, the title bar still displays "Debtags
database"
= Render the items in the Selected list in bold
= Gray the items in the Unavailable list
--- 2004-04-18
+ On items, make the right button work on multiple selections
+ On items' right-click menu, make the "Add..." button work
--- 2004-04-17
+ On items, add "Add.." to right click menu
+ Redesign TagSelector
+ Create a function to create menus with facets and tags like:
Facet1 -> { tag1, tag2, tag3... }
Facet2 -> { tag1, tag2, tag3... }
Facet3 -> { tag1, tag2, tag3... }
+ TagSelector:
Selected [Add->]
[Del] Tech [Add->]
[Del] HTML
[Del] JavaScript
[Del] Web [Add->]
[Del] Browser
. Avaliable and Unavailable have no sense anymore (they're in the various Add menus)
* Done in version 0.3
--- 2003-05-27
+ Support editing item tagsets when double-clicking on an item (mostly to remove a tag)
+ Could be implemented better with a popup menu when right-clicking on a
tag name
= Easily solved if there is a way to understand which word was clicked (gave up)
+ Else, a popup with:
Remove tag
----------
tag1
tag2
tag3
= The combo renderer in gtkmm2.0 examples could help a lot here (not at all)
+ Add "Select this tag set" and "Select this tag set in the other panel"
options to an item's popup menus
+ Implement adding a non-existing tag to an item
= Add a text entry field below the toolbar, that gets filled with the
currently selected tagset. Changing the field changes the tagset (asking
for confirmation when adding a non-existing tag)
(no: too much risk of typing errors for the separating commas)
+ Use a combobox and an Add button instead
+ It might be useful to add "unavailable" tags to the selection, so that for
example that tagset could be used as a target for a copy or move operation
+ Add a "delete unselected tags" option to the Edit menu
+ Add a popup menu to the tags, with "Remove from all" and "Add to all"
options
* Done in version 0.2
--- 2003-05-24
+ Try a more terse tag display in the item list, by not displaying the tags
that are present in the Selected list
--- 2003-05-23
+ Move TagSelector + ItemList into a TagPanel
+ Implement two panel browsing. No concept of active panel, yet: until I lean
how to know if a panel is active, the left panel will always be the active
one
+ Setup TagSelector as a copy-only drag source for TAG and text/plain data
+ Setup ItemList as a copy/move drag source for TAGCOLL and text/plain data
+ Setup ItemList as a drag target for TAG data
+ Implement copy operation between panels
+ Implement move operation between panels
+ ListItems does not show items with the exact tagset as the selection
+ Select "3d" tag, then intersect two items so that only "3d" remains in the
intersection: the two items disappear from the list
+ Implement multiple browsing windows for the same collection (multiple
views), and permit to drag an item from an itemlist to the other, in an
mc-like way of interaction (copy (merge tags) and move (change tags)
operations could be supported)
+ The default way of interaction could even be with two panels one active
and the other not, and functions to copy and move from the active panel
to the other, like mc
+ Add a Quit item to the File menu
+ Add separators to the menu
+ Implement the Save function
+ Update the title bar with the current file name and the "changed" status
+ Do not send a document changed event, nor update the undo list, if
applyChanges produces a reverse change that is equal to the change applied
+ Merge and Intersect should be enabled only if the selection has two or more
items
+ Copy to other and Move to other should be enabled only if the selection has
one or more items
+ Support the concept of switchable active and passive panels, la Midnight
Commander, as soon as I can understand how to know if a panel is active
+ ItemLists are now sorted by name
+ The two TagPanels are now laid out in an HPaned
--- 2003-05-22
+ TagcollDocument: add exporting to a TagcollConsumer
+ Add signals to TagcollDocument to notify changes
+ Move the TagCollection and HandleMaker into a Document class
+ Make the list column resizable and the list selection allow multiple
selection
+ TagSelector should emit a changed signal when the list of selected tags
changes
+ Write a list widget to view the items whose tagset contains the currently
selected tagset
+ Display items in two columns: item name and item tagset
+ Implement merge and intersection of tags for the selected items
+ Implement multilevel undo
+ Implement the save function
+ Implement the load function
+ Implement the load debtags function
--- 2003-05-21
+ Initial version with TagSelector
vim:set ts=3 sw=3:
|