diff --git a/src/main.cpp b/src/main.cpp
index bad49ad..65e5849 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -45,14 +45,19 @@ int main(int argc, char *argv[])
fontDatabase.addApplicationFont(it.next());
}
- if (!QImageReader::supportedImageFormats().contains("apng"))
+ QStringList missing_formats{"webp", "apng", "gif"};
+ for (const QByteArray &i_format : QImageReader::supportedImageFormats())
{
- qCritical() << "QApng plugin could not be loaded. Errors may occur when loading .apng files.";
+ missing_formats.removeAll(i_format.toLower());
}
- if (!QImageReader::supportedImageFormats().contains("webp"))
+ if (!missing_formats.empty())
{
- qCritical() << "QWebP plugin could not be loaded. Errors may occur when loading .webp files.";
+ call_error(QString("Missing the following image formats: %1."
+ "
Please make sure the client is installed correctly."
+ "
If you are on Linux, you may need to install your distribution's image formats package, "
+ "as detailed in the project's README.")
+ .arg(missing_formats.join(", ")));
}
QString p_language = Options::getInstance().language();