26 #include <kgenericfactory.h>
30 K_EXPORT_COMPONENT_FACTORY( kfile_drgeo,
drgeoFactory(
"kfile_drgeo" ) )
35 info = addMimeTypeInfo(
"application/x-drgeo" );
37 KFileMimeTypeInfo::GroupInfo* group = addGroupInfo( info,
"DrgeoInfo", i18n(
"Summary" ) );
38 KFileMimeTypeInfo::ItemInfo* item;
39 item = addItemInfo( group,
"NumOfFigures", i18n(
"Figures" ), QVariant::Int );
40 item = addItemInfo( group,
"NumOfTexts", i18n(
"Texts" ), QVariant::Int );
41 item = addItemInfo( group,
"NumOfMacros", i18n(
"Macros" ), QVariant::Int );
43 group_contents = addGroupInfo( info,
"DrgeoContents", i18nc(
"Translators: what this drgeo "
44 "file contains",
"Contents" ) );
49 KFileMetaInfoGroup metagroup = appendGroup( metainfo,
"DrgeoContents");
51 KFileMimeTypeInfo::ItemInfo* item;
53 QFile f( metainfo.path() );
54 QDomDocument doc(
"drgenius" );
55 if ( !doc.setContent( &f ) )
57 QDomElement
main = doc.documentElement();
63 for ( QDomNode n = main.firstChild(); ! n.isNull(); n = n.nextSibling() )
65 QDomElement e = n.toElement();
66 if ( e.isNull() )
continue;
67 else if ( e.tagName() ==
"drgeo" )
70 sectname = QString(
"Figure" ) + QString::number( numfig );
71 item = addItemInfo(
group_contents, sectname, i18n(
"Figure" ), QVariant::String );
72 appendItem( metagroup, sectname, e.attribute(
"name" ) );
74 else if ( e.tagName() ==
"text" )
77 sectname = QString(
"Text" ) + QString::number( numtext );
78 item = addItemInfo(
group_contents, sectname, i18n(
"Text" ), QVariant::String );
79 appendItem( metagroup, sectname, e.attribute(
"name" ) );
81 else if ( e.tagName() ==
"macro" )
84 sectname = QString(
"Macro" ) + QString::number( nummacro );
85 item = addItemInfo(
group_contents, sectname, i18n(
"Macro" ), QVariant::String );
86 appendItem( metagroup, sectname, e.attribute(
"name" ) );
90 metagroup = appendGroup( metainfo,
"DrgeoInfo");
91 appendItem( metagroup,
"NumOfFigures", numfig );
92 appendItem( metagroup,
"NumOfTexts", numtext );
93 appendItem( metagroup,
"NumOfMacros", nummacro );
98 #include "kfile_drgeo.moc"
int main(int argc, char **argv)
KGenericFactory< DrgeoPlugin > drgeoFactory
KFileMimeTypeInfo::GroupInfo * group_contents
virtual bool readInfo(KFileMetaInfo &metainfo, uint what)