summaryrefslogtreecommitdiffstats
path: root/languages/cpp/app_templates/kfileplugin/kfile_plugin.cpp
blob: 3e6b849ad8d045205c7c166e9c96a21a725a70c8 (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
%{CPP_TEMPLATE}

#include <config.h>
#include "kfile_%{APPNAMELC}.h"

#include <kgenericfactory.h>
//#include <kio/global.h>

//#include <qfileinfo.h>
//#include <qdir.h>

typedef KGenericFactory<%{APPNAME}Plugin> %{APPNAME}Factory;

K_EXPORT_COMPONENT_FACTORY(kfile_%{APPNAME}, %{APPNAME}Factory( "kfile_%{APPNAMELC}" ))

%{APPNAME}Plugin::%{APPNAME}Plugin(QObject *parent, const char *name,
                       const QStringList &args)
    : KFilePlugin(parent, name, args)
{
    //add the mimetype here - example:
    //KFileMimeTypeInfo* info = addMimeTypeInfo( "text/html" );
    KFileMimeTypeInfo* info = addMimeTypeInfo( "text/html" );

    // our new group
    KFileMimeTypeInfo::GroupInfo* group = 0L;
    group = addGroupInfo(info, "%{APPNAME}Info", i18n("%{APPNAME} Information"));

    KFileMimeTypeInfo::ItemInfo* item;

    // our new items in the group
    item = addItemInfo(group, "Items", i18n("Items"), QVariant::Int);
    item = addItemInfo(group, "Size", i18n("Size"), QVariant::Int);
    setUnit(item, KFileMimeTypeInfo::KiloBytes);

    // strings are possible, too:
    //addItemInfo(group, "Text", i18n("Document Type"), QVariant::String);
}

bool %{APPNAME}Plugin::readInfo( KFileMetaInfo& info, uint /*what*/)
{
    KFileMetaInfoGroup group = appendGroup(info, "%{APPNAME}Info");

    // add your "calculations" here
    // if something goes wrong, "return false;"


    // and finally display it!
    appendItem(group, "Items", 100);
    appendItem(group, "Size", int(5000/1024));
    
    return true;
}

#include "kfile_%{APPNAMELC}.moc"