You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.7 KiB
101 lines
3.7 KiB
15 years ago
|
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
|