|
|
|
Rewrite
|
|
|
|
=======
|
|
|
|
|
|
|
|
Here is the result of a long discussion between the tdefile developers
|
|
|
|
(Carsten) and the konqueror developers (Simon and David), about the plans
|
|
|
|
for more integration between tdefile 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 TQWidget * 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
|
|
|
|
tdefile ?
|
|
|
|
|
|
|
|
|
|
|
|
KFileChooserWidget
|
|
|
|
|
|
|
|
This (base) class is the container widget that can contain any tdefileview 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 TDEIO 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 tdefile. 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
|
|
|
|
TDEActions 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
|