Why i can not subclass QFileIconProvider
waht is mistake? on qt_metacast moc error moc exist.....
debug\moc_user_file.cpp:37: error: `staticMetaObject' is not a member of `QFileI
conProvider'
debug\moc_user_file.cpp: In member function `virtual void* ImIconProvider::qt_me
tacast(const char*)':
debug\moc_user_file.cpp:51: error: `qt_metacast' is not a member of `QFileIconPr
ovider'
debug\moc_user_file.cpp: In member function `virtual int ImIconProvider::qt_meta
call(QMetaObject::Call, int, void**)':
debug\moc_user_file.cpp:56: error: `qt_metacall' is not a member of `QFileIconPr
ovider'
mingw32-make[1]: *** [debug\moc_user_file.o] Error 1
{
Q_OBJECT
public:
~ImIconProvider() {};
};
ImIconProvider
::ImIconProvider(QWidget* = 0){
/* setup extension list to use */
file_image.clear();
file_text.clear();
file_other.clear();
file_image << "eps" << "gif" << "png" << "jpg" << "jpeg" << "xpm" << "tif" << "tiff" << "bmp" << "pbm" << "pgm" << "ppm" << "xbm" << "xpm" << "psd";
file_text << "txt" << "cpp" << "h" << "dat" << "conf" << "ini" << "rtf" << "fos" << "xml" << "htm" << "html" << "css" <<"js";
file_other << "pdf" << "doc" << "pdf" << "exe" << "rar" << "bz" << "tar" << "gz" << "zip";
}
{
const QString ext
= fi.
suffix().
toLower();
if (file_image.contains(ext)) {
return QIcon("image.png");
} else if (file_image.contains(ext)) {
return QIcon("text.png");
} else if (file_image.contains(ext)) {
return QIcon("other.png");
} else {
return QIcon("unknow.png");
}
/* end icon s*/
}
class ImIconProvider : public QFileIconProvider
{
Q_OBJECT
QStringList file_image;
QStringList file_text;
QStringList file_other;
public:
ImIconProvider(QWidget *pa);
~ImIconProvider() {};
const QIcon icon( const QFileInfo & fi );
};
ImIconProvider::ImIconProvider(QWidget* = 0)
{
/* setup extension list to use */
file_image.clear();
file_text.clear();
file_other.clear();
file_image << "eps" << "gif" << "png" << "jpg" << "jpeg" << "xpm" << "tif" << "tiff" << "bmp" << "pbm" << "pgm" << "ppm" << "xbm" << "xpm" << "psd";
file_text << "txt" << "cpp" << "h" << "dat" << "conf" << "ini" << "rtf" << "fos" << "xml" << "htm" << "html" << "css" <<"js";
file_other << "pdf" << "doc" << "pdf" << "exe" << "rar" << "bz" << "tar" << "gz" << "zip";
}
const QIcon ImIconProvider::icon(const QFileInfo &fi)
{
const QString ext = fi.suffix().toLower();
if (file_image.contains(ext)) {
return QIcon("image.png");
} else if (file_image.contains(ext)) {
return QIcon("text.png");
} else if (file_image.contains(ext)) {
return QIcon("other.png");
} else {
return QIcon("unknow.png");
}
/* end icon s*/
}
To copy to clipboard, switch view to plain text mode
i append setIconProvider
setAcceptDrops(true);
Q_ASSERT(pcsis);
modeluser->setIconProvider(pcsis);
modellocal->setResolveSymlinks(false);
modeluser->setResolveSymlinks(false);
usertree->setModel(modeluser);
mlocal->setModel(modellocal);
modeluser = new QDirModel;
modellocal = new QDirModel;
setAcceptDrops(true);
Q_ASSERT(pcsis);
modeluser->setIconProvider(pcsis);
modellocal->setResolveSymlinks(false);
modeluser->setResolveSymlinks(false);
usertree->setModel(modeluser);
mlocal->setModel(modellocal);
To copy to clipboard, switch view to plain text mode
Bookmarks