From 57bb5c48c81b6ce23f5e4a0452dce6dc2f5cc333 Mon Sep 17 00:00:00 2001 From: Albert S Date: Sun, 24 Apr 2022 12:22:59 +0200 Subject: [PATCH] gui: PreviewGenerator: Add get() --- gui/previewgenerator.cpp | 14 ++++++++++++++ gui/previewgenerator.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/gui/previewgenerator.cpp b/gui/previewgenerator.cpp index 7d4c891..32e0951 100644 --- a/gui/previewgenerator.cpp +++ b/gui/previewgenerator.cpp @@ -1 +1,15 @@ #include "previewgenerator.h" +#include "previewgeneratorpdf.h" +#include "previewgeneratorplaintext.h" + +static PreviewGenerator *plainTextGenerator = new PreviewGeneratorPlainText(); + +static QMap generators{ + {"pdf", new PreviewGeneratorPdf()}, {"txt", plainTextGenerator}, {"md", plainTextGenerator}, + {"py", plainTextGenerator}, {"java", plainTextGenerator}, {"js", plainTextGenerator}, + {"cpp", plainTextGenerator}, {"c", plainTextGenerator}, {"sql", plainTextGenerator}}; + +PreviewGenerator *PreviewGenerator::get(QFileInfo &info) +{ + return generators.value(info.suffix(), nullptr); +} diff --git a/gui/previewgenerator.h b/gui/previewgenerator.h index 51019a0..515f9c0 100644 --- a/gui/previewgenerator.h +++ b/gui/previewgenerator.h @@ -2,6 +2,7 @@ #define PREVIEWGENERATOR_H #include #include +#include #include "previewresult.h" #include "renderconfig.h" @@ -12,6 +13,8 @@ class PreviewGenerator virtual ~PreviewGenerator() { } + + static PreviewGenerator *get(QFileInfo &info); }; #endif // PREVIEWGENERATOR_H