diff options
Diffstat (limited to 'kio/kfile/NOTES')
-rw-r--r-- | kio/kfile/NOTES | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/kio/kfile/NOTES b/kio/kfile/NOTES new file mode 100644 index 000000000..c3fb6fbcb --- /dev/null +++ b/kio/kfile/NOTES @@ -0,0 +1,100 @@ +Rewrite +======= + +Here is the result of a long discussion between the kfile developers +(Carsten) and the konqueror developers (Simon and David), about the plans +for more integration between kfile and konqueror. 16/08/2000. + + + + KDirLister -----(1)---------------------> KFileView (3) + <----(2)------ [Signaller] --- | | + | | + | | + | | + | | + KFileIconView KFileListView + (4) (5) + + +(1) Gives items found when listing, and the key for each item + (KDirLister has all the sorting code) +(2) KFileView inherited classes emit requests for listing a new + directory (with a bool for treeviews), and emit requests for + the mimetype of a given item. If all KFileView inherited classes + are QScrollViews, then it could even implement the "ask for mimetype + of the visible icons first" algorithm, currently in KonqIconView. +(3) KFileView, the base class for any view, knows about KFileItem, has + signals for dropped(), popupMenu(list of actions provided by the view), + has a QWidget * canvas() method, xOffset() and yOffset() +(4) KFileIconView holds a QPtrDict to look up a QIconViewItem quickly from a + given KFileItem. This will help for e.g. deleteItems and refreshItems. +(5) KFileListView holds a QPtrDict to find the QListViewItem for a + KFileItem. It implements different modes if we want the tree view in + kfile ? + + + KFileChooserWidget + +This (base) class is the container widget that can contain any kfileview and +switch between them. It is embeddable into an application that wants a widget +for choosing a file or directory. Features listing, selecting, popupmenu for +switching modes, and a virtual createView( viewmode ) method, which +only knows about the builtin views, in this class. +It knows the current URL, has setURL(), and triggers the listing, connecting +KFileView's requests to KDirLister's methods. + + KFileManagerWidget + +This class inherits from KFileChooserWidget and adds the file management +operations. It uses a KFileOperations class (taken from the current +KonqOperations) for all KIO operations, and it uses KFileUndo, taken from +the KonqUndo stuff. The popupMenu method is reimplemented to add those +operations to it. + + KFileWidget + +This class is the full widget that can be seen in the dialog. It has the +toolbar buttons, the combo, etc. It embeds a KFileChooserWidget or a +KFileManagerWidget, the latter being a specialisation of the former. + +The Konqueror side of things +============================ + + KonqFileIconView + +Inherits KFileIconView and adds image preview - unless we want it in +KFileIconView, and the line-up-icons algorithm, etc. + + KonqFileListView + +Inherits KFileListView to add more stuff if needed. The mc-like text view +could be implemented here as well, unless we want it in kfile. Same for the +tree view. + + KonqFileManagerWidget + +This class inherits KFileManagerWidget and adds the konqueror stuff, like +the enableAction signal. It also reimplements createView to create the +konqueror versions of the views. + + KonqDirPart + +This class inherits KParts::ReadOnlyPart, and provides a BrowserExtension. +It integrates KonqFileManagerWidget as its KParts widget, and provides +KActions for it. + +Important : + +Make sure to take kfind into account. It would be nice if it could use the +same views as konqueror, to have access to all the view modes, as well as +image preview, etc. + +Unrelated: +To Add +====== + +Mime Mappings? + +Filter= ( Mime Type | shell glob list ) +Mime Type -> shell glob list |