fileiconprovider.cpp 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. #include "fileiconprovider.h"
  2. #include <QFileIconProvider>
  3. #include <QDebug>
  4. FileIconProvider::FileIconProvider() :
  5. QDeclarativeImageProvider(QDeclarativeImageProvider::Pixmap)
  6. {
  7. mIconsMap["jpg"] = "image-jpeg";
  8. mIconsMap["gif"] = "image-gif";
  9. mIconsMap["png"] = "image-png";
  10. mIconsMap["bmp"] = "image-bmp";
  11. mIconsMap["jpeg"] = "image-jpeg";
  12. mIconsMap["tiff"] = "image-tiff";
  13. mIconsMap["svg"] = "image-svg";
  14. mIconsMap["psd"] = "psd";
  15. mIconsMap["thm"] = "image";
  16. mIconsMap["tif"] = "image";
  17. mIconsMap["pspimage"] = "image";
  18. mIconsMap["jpeg"] = "image";
  19. mIconsMap["tiff"] = "image";
  20. mIconsMap["ai"] = "image-svg";
  21. mIconsMap["drw"] = "image-svg";
  22. mIconsMap["eps"] = "image-svg";
  23. mIconsMap["ps"] = "image-svg";
  24. mIconsMap["wav"] = "audio-wav";
  25. mIconsMap["ogg"] = "audio-ogg";
  26. mIconsMap["wma"] = "audio-wma";
  27. mIconsMap["mp3"] = "audio-mp3";
  28. mIconsMap["au"] = "image-jpeg";
  29. mIconsMap["snd"] = "audio";
  30. mIconsMap["aif"] = "audio";
  31. mIconsMap["iff"] = "audio";
  32. mIconsMap["aifc"]= "audio";
  33. mIconsMap["aiff"]= "audio";
  34. mIconsMap["m3u"] = "audio-pl";
  35. mIconsMap["ra"] = "audio";
  36. mIconsMap["ram"] = "audio";
  37. mIconsMap["mpeg"]= "video";
  38. mIconsMap["mpg"] = "video";
  39. mIconsMap["mov"] = "video";
  40. mIconsMap["mp3"] = "video";
  41. mIconsMap["asf"] = "video";
  42. mIconsMap["asx"] = "video";
  43. mIconsMap["avi"] = "video";
  44. mIconsMap["asr"] = "video";
  45. mIconsMap["mpv2"]= "video";
  46. mIconsMap["mpe"] = "video";
  47. mIconsMap["mpa"] = "video";
  48. mIconsMap["3g2"]= "video";
  49. mIconsMap["3gp"] = "video";
  50. mIconsMap["mp4"] = "video";
  51. mIconsMap["swf"] = "video";
  52. mIconsMap["vob"] = "video";
  53. mIconsMap["wmv"] = "video";
  54. mIconsMap["doc"]= "document-doc";
  55. mIconsMap["docx"] = "document-doc";
  56. mIconsMap["log"] = "document-text";
  57. mIconsMap["msg"] = "document-text";
  58. mIconsMap["pages"] = "document-text";
  59. mIconsMap["rtf"] = "document";
  60. mIconsMap["txt"] = "document-text";
  61. mIconsMap["wpd"] = "document-doc";
  62. mIconsMap["wps"]= "document-doc";
  63. mIconsMap["pdf"]= "pdf";
  64. mIconsMap["csv"]= "xls";
  65. mIconsMap["dat"] = "xls";
  66. mIconsMap["xls"] = "xls";
  67. mIconsMap["xlsx"] = "xls";
  68. mIconsMap["wks"] = "xls";
  69. mIconsMap["efx"] = "document-text";
  70. mIconsMap["key"] = "ppt";
  71. mIconsMap["pps"] = "ppt";
  72. mIconsMap["ppt"] = "ppt";
  73. mIconsMap["pptx"] = "ppt";
  74. mIconsMap["vcf"]= "vcf";
  75. mIconsMap["xml"]= "xml";
  76. mIconsMap["accdb"] = "data";
  77. mIconsMap["db"] = "data";
  78. mIconsMap["dbf"] = "data";
  79. mIconsMap["mdb"]= "data";
  80. mIconsMap["pdb"]= "data";
  81. mIconsMap["sql"]= "data";
  82. mIconsMap["app"]= "bin";
  83. mIconsMap["bat"] = "bin";
  84. mIconsMap["cgi"] = "bin";
  85. mIconsMap["com"] = "bin";
  86. mIconsMap["exe"] = "bin-exe";
  87. mIconsMap["gadget"] = "bin";
  88. mIconsMap["jar"] = "bin-jar";
  89. mIconsMap["pif"] = "bin";
  90. mIconsMap["wsf"] = "bin";
  91. mIconsMap["sh"] = "bin";
  92. mIconsMap["asp"]= "script";
  93. mIconsMap["cer"] = "script";
  94. mIconsMap["csr"] = "script";
  95. mIconsMap["css"] = "css";
  96. mIconsMap["htm"] = "bin-exe";
  97. mIconsMap["html"] = "html";
  98. mIconsMap["js"] = "js";
  99. mIconsMap["jsp"] = "js";
  100. mIconsMap["php"] = "php";
  101. mIconsMap["rss"] = "rss";
  102. mIconsMap["xhtml"] = "html";
  103. mIconsMap["fnt"] = "font";
  104. mIconsMap["fon"] = "font";
  105. mIconsMap["otf"] = "font";
  106. mIconsMap["ttf"] = "font";
  107. mIconsMap["7z"]= "script";
  108. mIconsMap["deb"] = "deb";
  109. mIconsMap["gz"] = "tar";
  110. mIconsMap["tgz"] = "tar";
  111. mIconsMap["pkg"] = "compress";
  112. mIconsMap["rar"] = "rar";
  113. mIconsMap["sit"] = "compress";
  114. mIconsMap["sitx"] = "compress";
  115. mIconsMap["zip"] = "zip";
  116. mIconsMap["zipx"] = "zip";
  117. mIconsMap["dmg"]= "iso";
  118. mIconsMap["iso"] = "iso";
  119. mIconsMap["toast"] = "iso";
  120. mIconsMap["vcd"] = "iso";
  121. mIconsMap["c"]= "c";
  122. mIconsMap["cpp"] = "cpp";
  123. mIconsMap["class"] = "tar";
  124. mIconsMap["cs"] = "c";
  125. mIconsMap["dtd"] = "c";
  126. mIconsMap["fla"] = "fla";
  127. mIconsMap["m"] = "script";
  128. mIconsMap["pl"] = "py";
  129. mIconsMap["py"] = "py";
  130. mIconsMap["msi"]= "bin-exe";
  131. mIconsMap["part"] = "cpp";
  132. }
  133. QPixmap FileIconProvider::requestPixmap(const QString &id, QSize *size, const QSize &requestedSize)
  134. {
  135. qDebug()<<"ID ="<<id;
  136. QFileInfo info(id);
  137. QString fileName = mIconsMap.value(info.suffix().toLower(),"empty");
  138. if (!info.suffix().isEmpty())
  139. return QPixmap (":"+fileName+".png");
  140. else return QPixmap (":folder.png");
  141. // return model->fileIcon(model->index(0,0)).pixmap(32,32);
  142. }