summaryrefslogtreecommitdiffstats
path: root/kio/DESIGN.mimetypes
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch)
tree5ac38a06f3dde268dc7927dc155896926aaf7012 /kio/DESIGN.mimetypes
downloadtdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz
tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kio/DESIGN.mimetypes')
-rw-r--r--kio/DESIGN.mimetypes34
1 files changed, 34 insertions, 0 deletions
diff --git a/kio/DESIGN.mimetypes b/kio/DESIGN.mimetypes
new file mode 100644
index 000000000..ffec64f44
--- /dev/null
+++ b/kio/DESIGN.mimetypes
@@ -0,0 +1,34 @@
+TODO: servicetypes
+TODO: mimetypes
+
+Service type inheritance (X-KDE-Derived)
+========================================
+X-KDE-Derived is for service types. ST1 derives from ST2 means ST1 is more specific than ST2.
+If a service implements ST1, it also implements ST2, but not the other way round.
+
+For instance, KoDocument derives from KParts/ReadWritePart, which derives from KParts/ReadOnlyPart,
+so KWord's part (which implements KoDocument) can be used as a readonly viewer for KWord files
+in Konqueror (which looks for a KParts/ReadOnlyPart).
+
+Mimetype "inheritance"
+======================
+We need a mechanism to also say that "text/xml is a special case of text/plain",
+or "text/docbook is a kind of text/sgml", or "application/x-smb-workgroup is a kind
+of inode/directory", etc. See below.
+
+Why mimetype "inheritance" doesn't use X-KDE-Derived
+====================================================
+The confusing thing is that we said "a mimetype is a servicetype". But that's not exactly correct.
+As Waldo noted, "the ability to open a mimetype" is what's a servicetype.
+So if text/xml said X-KDE-Derived=text/plain (i.e. ST1=text/xml, ST2=text/plain),
+then an application opening text/xml (ST1) could also open text/plain (ST2) - which is not necessarily true.
+
+We want the other way round: to be able to open special kinds of text/plain in a plain text editor.
+This is what X-KDE-IsAlso was introduced for. X-KDE-IsAlso kind of "works the other way" than X-KDE-Derived.
+If M1 is a special kind of M2 (mimetypes), then "the ability to open M2" derives from "the ability to open M1"
+So we say in text/xml: X-KDE-IsAlso=text/plain, and applications that can open text/plain can also open text/xml.
+
+Pattern Accuracy
+======================
+In some cases of inheritance several mimetypes shares the same extension (with the primary case being Ogg Multimedia files).
+This has been solved sofar by matching the extension to most generic mimetype. To indicate that the mimetype can be refined further, the flag X-KDE-PatternsAccuracy can be set. The value to X-KDE-PatternsAccuracy is a number between 0-100, with 100 being the default if not set. Any values below 100 is interpreted as the possibility of further mimetype refinement.