summaryrefslogtreecommitdiffstats
path: root/kio/kfile/NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'kio/kfile/NOTES')
-rw-r--r--kio/kfile/NOTES100
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