Classes | |
| class | CompletableLineEdit |
| class | Dialog |
| QDialog subclass used for tagging images. More... | |
| class | ImagePreview |
| class | KDateEdit |
| class | ListSelect |
| class | ListViewItemHider |
| Helper class, used to hide/show listview items. More... | |
| class | ListViewTextMatchHider |
| Helper class for showing items matching a given text string. More... | |
| class | ListViewCheckedHider |
| Helper class for only showing items that are selected. More... | |
| class | ShortCutManager |
| class | ShowSelectionOnlyManager |
Typedefs | |
| typedef QPair< QDockWidget *, QWidget * > | DockPair |
Enumerations | |
| enum | UsageMode { InputSingleImageConfigMode, InputMultiImageConfigMode, SearchMode } |
The word annotation and tagging is used for the same thing in KPhotoAlbum.
The dialog itself is implemented in the class Dialog. The responsibility for the Dialog class is among other things:
The category tagging is visually the line edit with a listbox under. It is handled with the classes ListSelect (which is a widget with both the line edit and the listbox) and CompletableLineEdit (which is the class for the line edit)
The content of the list boxes are shown and hidden in two different ways:
Each category has an action set up for toggling the visibility of non-checked items, but that should of course be the same for all categories. To control this a singleton exists namely ShowSelectionOnlyManager.
The image preview is an instance of the class ImagePreview, and the date editor is an instance of the class KDateEdit. The later is copied from KDE and (IIRC) adapted to handle KPhotoAlbum's fuzzy dates (this image is from 2000). Actually I thing this is handled differently in KPhotoAlbum now, so that copy could likely go away.
KDE will by default setup shortcuts for application, but they are not that useful for this particular dialog, as we want the ListSelect's to have the first pick on identifiers. We therefore have the class ShortCutManager, which takes care of this.
| typedef QPair<QDockWidget*, QWidget*> AnnotationDialog::DockPair |
1.5.8