subtraction of already painted area: be fool and
[kdelibs.git] / kio / Mainpage.dox
blob1daec83b3e4555c632521d755d54089da26e9e2d
1 /**
2  * \mainpage A network-enabled file management system in a library
3  *
4  * This library implements almost all the file management functions you
5  * will ever need. In fact, the KDE file manager, Konqueror also uses
6  * this to provide its network-enabled file management.
7  *
8  * The easiest way to use this library from a KDE application is via the
9  * @see KIO::NetAccess class (for easy synchronous access) or via the
10  * @see KIO::Job class (for more complex asynchronous jobs).
11  *
12  * This library also implements the System Configuration Cache (KSycoca).
13  *
14  * @see KMimeType:
15  *   The notion of a file type, already existing in KDE-1.x
16  *
17  * @see KService:
18  *   To a mimetype are bound one or more applications, now called services.
19  *   Services can be applications, but also libraries, dynamically opened.
20  *
21  * @see KServiceType:
22  *   A service type allows the same mechanism to be extended to components.
23  *   For instance : the question "what are the koffice plugins" is solved by
24  *   a service type called KOfficePlugin, and by every plugin providing
25  *   a .desktop file stating that it is a service that implements the servicetype
26  *   KOfficePlugin.
27  *
28  * @see KServiceTypeProfile:
29  *   Stores the user's preferences for services bound to mimetypes/servicetypes.
30  *
31  * @see KTrader:
32  *   Use it to query for which services implement a given mimetype/servicetype.
33  *   Has its own language, in order to allow complex queries.
34  *
35  *
36  * \section KDE Filedialog widget and associated classes.
37  *
38  * This library also provides the KDE file selector widget,
39  * its building blocks and some other widgets, making use of the file dialog.
40  *
41  * The file dialog provides different views; there is a vertically scrolling
42  * view based on @see KListView, showing things like filename, file size,
43  * permissions etc. in separate columns. And there is a horizontally scrolling
44  * view based on @see KIconView. Additionally, there are some compound views,
45  * like a view using the icon-view for files on the right side and another
46  * view for directories on the left. A view, that shows a preview for the
47  * currently selected file (using @see KIO::PreviewJob to generate previews)
48  * and any other view to show the files is also available.
49  *
50  * All those views share a common baseclass, named @see KFileView, which
51  * defines the interface for inserting files into a view, removing them,
52  * selecting etc.
53  *
54  * The one class encapsulating all those views and adding browsing capabilities
55  * to them is @see KDirOperator. It allows the user to switch between different
56  * views.
57  *
58  * @see KFileTreeView is a KListView based widget that displays files and/or
59  * directories as a tree. It does not implement the KFileView interface,
60  * however, so it can't be used with KDirOperator.
61  *
62  * Besides the filebrowsing widgets, there is the @see KPropertiesDialog class,
63  * implementing a dialog showing the name, permissions, icons, meta
64  * information and all kinds of properties of a file, as well as providing a
65  * means to modify them.
66  *
67  * The KPropertiesDialog is extensible with plugin-pages via the
68  * @see KPropsDlgPlugin class.
69  *
70  * The @see KIconDialog class shows a list of icons installed on the system (as
71  * accessible via @see KIconLoader) and allows the user to select one.
72  *
73  * @see KOpenWithDlg implements a dialog to choose an application from, that is
74  * to be run, e.g. to let the user choose an application to open a file/url
75  * with.
76  *
77  *
78  * @see KFileDialog:
79  *   The class providing the file selector dialog. It combines a KDirOperator,
80  *   KURLBar and several other widgets.
81  *
82  * @see KDirOperator:
83  *   The class encapsulating different KFileViews, offering file browsing and
84  *   file selection. Asynchronous, network transparent reading of directories
85  *   is performed via the @see KIO library.
86  *
87  * @see KURLRequester:
88  *   A widget to be used for asking for a filename/path/URL. It consists of a
89  *   @see KLineEdit (or @see KComboBox) and a button. Activating the button
90  *   will open a @see KFileDialog. Typing in the lineedit is aided with
91  *   filename completion.
92  *
93  * @see KURLRequesterDlg:
94  *   A dialog to ask for a filename/path/URL, using KURLRequester.
95  *
96  * @see KFileView:
97  *   The base class for all views to be used with KDirOperator.
98  *
99  * @see KFileIconView:
100  *   The KFileView based on KIconView.
102  * @see KFileDetailView:
103  *   The KFileView based on KListView.
105  * @see KFilePreview:
106  *   The KFileView, combining a widget showing preview for a selected file
107  *   and another KFileView for browsing.
109  * @see KURLBar:
110  *   A widget offering a number of clickable entries which represent a URL,
111  *   aligned horizontally or vertically. The entries are customizable by the
112  *   user both on a per application basis or for all applications (URLs, their
113  *   icon and the description can be added, removed or edited by the user).
114  *   This is the widget used as "sidebar" in the @see KFileDialog.
116  * @see KFileMetaInfoWidget:
117  *   A widget that allows viewing and editing of meta data of a file, utilizing
118  *   @see KFileMetaInfo.
120  */