summaryrefslogtreecommitdiffstats
path: root/opensuse/tdelibs/kmimelist.diff
blob: 484523f256b491abf0eeb7149a17db4e812bcd67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Index: kded/Makefile.am
===================================================================
--- kded/Makefile.am.orig
+++ kded/Makefile.am
@@ -36,12 +36,16 @@ kbuildsycoca_la_SOURCES = kbuildsycoca.c
 				kctimefactory.cpp \
 				vfolder_menu.cpp
 
-bin_PROGRAMS = kdontchangethehostname kde-menu
+bin_PROGRAMS = kdontchangethehostname kde-menu kmimelist
 
 kdontchangethehostname_LDFLAGS = $(all_libraries) $(KDE_RPATH)
 kdontchangethehostname_LDADD = $(LIB_KDECORE) 
 kdontchangethehostname_SOURCES = khostname.cpp
 
+kmimelist_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+kmimelist_LDADD = ../kio/libkio.la
+kmimelist_SOURCES = kmimelist.cpp
+
 kde_menu_LDFLAGS = $(all_libraries) $(KDE_RPATH)
 kde_menu_LDADD = $(LIB_KIO) 
 kde_menu_SOURCES = kde-menu.cpp
Index: kded/kmimelist.cpp
===================================================================
--- /dev/null
+++ kded/kmimelist.cpp
@@ -0,0 +1,54 @@
+#include <ktrader.h>
+#include <kservice.h>
+#include <kmimetype.h>
+#include <assert.h>
+#include <kstandarddirs.h>
+#include <kservicegroup.h>
+#include <kimageio.h>
+#include <kuserprofile.h>
+#include <kprotocolinfo.h>
+
+#include <kapplication.h>
+
+#include <stdio.h>
+
+int main(int argc, char *argv[])
+{
+   KApplication k(argc,argv,"blurb",false);
+
+   KMimeType::List mtl = KMimeType::allMimeTypes( );
+   assert( mtl.count() );
+   qDebug( "Found %d mime types.", mtl.count() );
+   QValueListIterator<KMimeType::Ptr> it(mtl.begin());
+   KServiceTypeProfile::OfferList ol;
+
+   for (; it != mtl.end(); ++it)
+   {
+     {
+      // Application
+      printf( "APP:%s:", (*it)->name().latin1() );
+      ol = KServiceTypeProfile::offers((*it)->name(), "Application");
+      QValueListIterator<KServiceOffer> it2(ol.begin());
+      for (; it2 != ol.end(); ++it2) {
+        if ((*it2).allowAsDefault())
+           printf( " %s", (*it2).service()->desktopEntryPath().ascii() );
+
+      }
+      printf( "\n" );
+     }
+
+     {
+      // Embedded
+      printf( "PART:%s:", (*it)->name().latin1() );
+      ol = KServiceTypeProfile::offers((*it)->name(), "KParts/ReadOnlyPart");
+      QValueListIterator<KServiceOffer> it2(ol.begin());
+      for (; it2 != ol.end(); ++it2) {
+        if ((*it2).allowAsDefault())
+           printf( " %s", (*it2).service()->desktopEntryPath().ascii() );
+
+      }
+      printf( "\n" );
+     }
+   }
+}
+