summaryrefslogtreecommitdiffstats
path: root/helper.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2019-11-22 13:15:21 +0100
committerArno <arno@disconnect.de>2019-11-22 13:15:21 +0100
commitb41db9bfac46ead20e1c9d3b6924231886cfee0c (patch)
tree2d1ea1041d5b4be18f83f80c24f79dd786cd9962 /helper.cpp
parent85a59da691cfadedfb1b7b680efa0bfe5b44a36c (diff)
downloadSheMov-b41db9bfac46ead20e1c9d3b6924231886cfee0c.tar.gz
SheMov-b41db9bfac46ead20e1c9d3b6924231886cfee0c.tar.bz2
SheMov-b41db9bfac46ead20e1c9d3b6924231886cfee0c.zip
Use QMime* instead of libmagic
One more step to make it compile with Windows. And once again, it makes the code much neater and more readable.
Diffstat (limited to 'helper.cpp')
-rw-r--r--helper.cpp27
1 files changed, 5 insertions, 22 deletions
diff --git a/helper.cpp b/helper.cpp
index 214e950..4b42f0e 100644
--- a/helper.cpp
+++ b/helper.cpp
@@ -30,6 +30,8 @@
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QAction>
+#include <QMimeDatabase>
+#include <QMimeType>
#include <stdio.h>
@@ -37,28 +39,9 @@
namespace Helper {
const QString mimeType(const QString &path){
- QString retval;
- magic_t mc = magic_open(MAGIC_MIME_TYPE);
- QByteArray name = path.toUtf8();
- if(mc){
- magic_load(mc, nullptr);
- const char* magic_c = magic_file(mc, name.constData());
- retval = QString(magic_c);
- magic_close(mc);
- }
- if(retval.toLower().startsWith("application/octet-stream")){
- magic_t mc = magic_open(MAGIC_NONE);
- if(mc){
- magic_load(mc, nullptr);
- const char* magic_c = magic_file(mc, name.constData());
- QString desc(magic_c);
- magic_close(mc);
- if(desc.toLower().contains("mpeg sequence") || desc.toLower().contains("microsoft asf") || desc.toLower().contains("matroska")){
- retval = "video/";
- }
- }
- }
- return retval;
+ QMimeDatabase db;
+ QMimeType type = db.mimeTypeForFile(path);
+ return type.name();
}
const QString md5Sum(const QString &path){