Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 713e1ae3 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

LIB: Add a get any file type filter

parent aab633b3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!9Lua cpp expose
...@@ -87,7 +87,7 @@ const QString & ...@@ -87,7 +87,7 @@ const QString &
Utils::getAudioFileSuffixFilter() noexcept Utils::getAudioFileSuffixFilter() noexcept
{ {
static bool isInitialized = false; static bool isInitialized = false;
static QString ret = QStringLiteral("Audio sub-documents (*."); static QString ret = QStringLiteral("Audio Sub Documents (*.");
if (isInitialized) if (isInitialized)
return ret; return ret;
...@@ -102,7 +102,7 @@ const QString & ...@@ -102,7 +102,7 @@ const QString &
Utils::getVideoFileSuffixFilter() noexcept Utils::getVideoFileSuffixFilter() noexcept
{ {
static bool isInitialized = false; static bool isInitialized = false;
static QString ret = QStringLiteral("Video sub-documents (*."); static QString ret = QStringLiteral("Video Sub Documents (*.");
if (isInitialized) if (isInitialized)
return ret; return ret;
...@@ -113,11 +113,41 @@ Utils::getVideoFileSuffixFilter() noexcept ...@@ -113,11 +113,41 @@ Utils::getVideoFileSuffixFilter() noexcept
return ret; return ret;
} }
const QString &
Utils::getVivyDocumentFileSuffixFilter() noexcept
{
static bool isInitialized = false;
static QString ret = QStringLiteral("Vivy Documents (*.");
if (isInitialized)
return ret;
ret.append(vivyFileSuffix.join(" *."));
ret.append(')');
isInitialized = true;
return ret;
}
const QString &
Utils::getScriptFileSuffixFilter() noexcept
{
static bool isInitialized = false;
static QString ret = QStringLiteral("Vivy Script Documents (*.");
if (isInitialized)
return ret;
ret.append(scriptFileSuffix.join(" *."));
ret.append(')');
isInitialized = true;
return ret;
}
const QString & const QString &
Utils::getAssFileSuffixFilter() noexcept Utils::getAssFileSuffixFilter() noexcept
{ {
static bool isInitialized = false; static bool isInitialized = false;
static QString ret = QStringLiteral("ASS sub-documents (*."); static QString ret = QStringLiteral("ASS Sub Documents (*.");
if (isInitialized) if (isInitialized)
return ret; return ret;
...@@ -127,3 +157,20 @@ Utils::getAssFileSuffixFilter() noexcept ...@@ -127,3 +157,20 @@ Utils::getAssFileSuffixFilter() noexcept
isInitialized = true; isInitialized = true;
return ret; return ret;
} }
const QString &
Utils::getAnyDocumentFileSuffixFilter() noexcept
{
static bool isInitialized = false;
static QString ret = QStringLiteral("");
if (isInitialized)
return ret;
const QString separator = QStringLiteral(";;");
isInitialized = true;
ret = getAudioFileSuffixFilter() + separator + getVideoFileSuffixFilter() + separator +
getAssFileSuffixFilter() + separator + getScriptFileSuffixFilter() + separator +
getVivyDocumentFileSuffixFilter();
return ret;
}
...@@ -45,10 +45,14 @@ static const QStringList audioFileSuffix = { "wave", "wav", "ogg", "mp3", "m4a ...@@ -45,10 +45,14 @@ static const QStringList audioFileSuffix = { "wave", "wav", "ogg", "mp3", "m4a
static const QStringList videoFileSuffix = { "mkv", "mp4", "mov", "avi", "av1", "m4v", "flv" }; static const QStringList videoFileSuffix = { "mkv", "mp4", "mov", "avi", "av1", "m4v", "flv" };
static const QStringList assFileSuffix = { "ass" }; static const QStringList assFileSuffix = { "ass" };
static const QStringList vivyFileSuffix = { "vivy" }; static const QStringList vivyFileSuffix = { "vivy" };
static const QStringList scriptFileSuffix = { "lua", "vvs" };
const QString &getAudioFileSuffixFilter() noexcept; const QString &getAudioFileSuffixFilter() noexcept;
const QString &getVideoFileSuffixFilter() noexcept; const QString &getVideoFileSuffixFilter() noexcept;
const QString &getAssFileSuffixFilter() noexcept; const QString &getAssFileSuffixFilter() noexcept;
const QString &getScriptFileSuffixFilter() noexcept;
const QString &getVivyDocumentFileSuffixFilter() noexcept;
const QString &getAnyDocumentFileSuffixFilter() noexcept;
enum class DocumentType : quint64 { enum class DocumentType : quint64 {
/* Basic types */ /* Basic types */
......
...@@ -249,11 +249,7 @@ MainWindow::openDocument() noexcept ...@@ -249,11 +249,7 @@ MainWindow::openDocument() noexcept
{ {
const QString separator = QStringLiteral(";;"); const QString separator = QStringLiteral(";;");
const QString filename = dialogOpenFileName("Select a document to open", QDir::homePath(), const QString filename = dialogOpenFileName("Select a document to open", QDir::homePath(),
QStringLiteral("Vivy documents (*.vivy);;" Utils::getAnyDocumentFileSuffixFilter());
"Vivy scripts (*.lua *.vvs);;") +
Utils::getAudioFileSuffixFilter() + separator +
Utils::getVideoFileSuffixFilter() + separator +
Utils::getAssFileSuffixFilter());
if (filename.isEmpty()) { if (filename.isEmpty()) {
qWarning() << "Found an empty filename, don't open a file"; qWarning() << "Found an empty filename, don't open a file";
return; return;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter