You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/noatun/library/mimetypetree.cpp

65 lines
1.7 KiB

#include "mimetypetree.h"
#include <kmimetype.h>
#include <tqdict.h>
#include <tqheader.h>
MimeTypeTree::MimeTypeTree(TQWidget *parent)
: KListView(parent)
{
KMimeType::List list=KMimeType::allMimeTypes();
TQDict<TQListViewItem> map;
setRootIsDecorated(true);
addColumn("-");
header()->hide();
TQValueListIterator<KMimeType::Ptr> i(list.begin());
for (; i != list.end(); ++i)
{
TQString mimetype = (*i)->name();
int slash = mimetype.find("/");
TQString major = mimetype.left(slash);
// hide all and inode majors
if (major == "all" || major=="inode")
continue;
TQString minor = mimetype.mid(slash+1);
TQListViewItem *majorItem=map[major];
if (!majorItem)
{
majorItem=addMajor(major);
map.insert(major, majorItem);
}
new TQListViewItem(majorItem, minor);
}
}
void MimeTypeTree::sel(TQListViewItem *item)
{
TQListViewItem *p=item->parent();
if (!p) return;
TQString major=p->text(0);
TQString minor=item->text(0);
emit selected(major+'/'+minor);
}
TQListViewItem* MimeTypeTree::addMajor(const TQString &name)
{
return new TQListViewItem(this, name);
}
// GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666
// 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL
// GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666
// 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL
// GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666
// 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL
// GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666
// 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL 666 GPL
#include "mimetypetree.moc"