From 5159cd2beb2e87806a5b54e9991b7895285c9d3e Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 27 Jan 2013 01:04:16 -0600 Subject: Rename a number of libraries and executables to avoid conflicts with KDE4 --- tdeio/tdefile/NOTES | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 tdeio/tdefile/NOTES (limited to 'tdeio/tdefile/NOTES') diff --git a/tdeio/tdefile/NOTES b/tdeio/tdefile/NOTES new file mode 100644 index 000000000..ad99065be --- /dev/null +++ b/tdeio/tdefile/NOTES @@ -0,0 +1,100 @@ +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 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 + 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 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 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 +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 -- cgit v1.2.1