Compare commits

...

3 Commits

Author SHA1 Message Date
Alexey Sokolov 0cf5b7705e
Merge fb3d5ad476 into f76dbffa6b 2024-03-24 17:00:58 +01:00
Clementine Buildbot f76dbffa6b Automatic merge of translations from Transifex 2024-03-24 02:30:19 +00:00
Alexey Sokolov fb3d5ad476 Read system projectm presets from subdirs
Fix #7151

Note that this requires C++17 patches from #7272 because I don't want to
bother backporting the fix to syntax available in C++11
2023-11-10 22:49:38 +00:00
3 changed files with 22 additions and 17 deletions

View File

@ -42,6 +42,7 @@
# Martin Brodbeck <martin@brodbeck-online.de>, 2013
# Martin Herkt <lachs0r@hong-mailing.de>, 2011
# Martin Herkt <luck3r@phicode.de>, 2010
# Michael Kohler, 2024
# MCMicS, 2020
# Mohamed Sakhri, 2013
# Mohamed Sakhri, 2013
@ -70,7 +71,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 10:24+0000\n"
"PO-Revision-Date: 2011-10-27 18:53+0000\n"
"Last-Translator: 6543 <6543@obermui.de>, 2020\n"
"Last-Translator: Michael Kohler, 2024\n"
"Language-Team: German (http://app.transifex.com/davidsansome/clementine/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -219,7 +220,7 @@ msgid "1 track"
msgstr "1 Titel"
msgid "128K MP3"
msgstr ""
msgstr "128K MP3"
msgid "128k MP3"
msgstr "128k MP3"
@ -240,7 +241,7 @@ msgid "A Grooveshark Anywhere account is required."
msgstr ""
msgid "A Spotify Premium account is required."
msgstr ""
msgstr "Spotify Premium Zugang wird benötigt."
msgid ""
"A smart playlist is a dynamic list of songs that come from your library. "
@ -293,7 +294,7 @@ msgid "Action"
msgstr "Aktion"
msgid "Active/deactive Wiiremote"
msgstr ""
msgstr "Aktivieren/deaktivieren Wiiremote"
msgid "Add Stream"
msgstr "Datenstrom hinzufügen"
@ -326,7 +327,7 @@ msgid "Add folder..."
msgstr "Ordner hinzufügen …"
msgid "Add media"
msgstr ""
msgstr "Medien hinzufügen ..."
msgid "Add new folder..."
msgstr "Neuen Ordner hinzufügen …"
@ -386,7 +387,7 @@ msgid "Add wiimotedev action"
msgstr "Aktion für Wii-Fernbedienung hinzufügen"
msgid "Add..."
msgstr ""
msgstr "Hinzufügen …"
msgid "Added this month"
msgstr "Diesen Monat hinzugefügt"
@ -422,7 +423,7 @@ msgid "Album info on jamendo.com..."
msgstr "Albuminformationen auf jamendo.com …"
msgid "Albumartist"
msgstr ""
msgstr "Albumkünstler"
msgid "Albums with covers"
msgstr "Alben mit Titelbildern"
@ -633,7 +634,7 @@ msgid "CUE sheet support"
msgstr "Unterstützung von Cuesheets"
msgid "Cancel"
msgstr ""
msgstr "Abbrechen"
msgid "Change cover art"
msgstr "Titelbilder ändern"

View File

@ -27,22 +27,26 @@
#endif
#include <QDir>
#include <QDirIterator>
#include <QtDebug>
#include <set>
ProjectMPresetModel::ProjectMPresetModel(ProjectMVisualisation* vis,
QObject* parent)
: QAbstractItemModel(parent), vis_(vis) {
// Find presets
QDir preset_dir(vis_->preset_url());
QStringList presets(
preset_dir.entryList(QStringList() << "*.milk"
<< "*.prjm",
QDirIterator it(vis_->preset_url(),
QStringList() << "*.milk" << "*.prjm",
QDir::Files | QDir::NoDotAndDotDot | QDir::Readable,
QDir::Name | QDir::IgnoreCase));
QDirIterator::Subdirectories);
std::set<std::pair<QString, QString>> files;
while (it.hasNext()) {
it.next();
files.insert({it.filePath(), it.fileName()});
}
for (const QString& filename : presets) {
all_presets_ << Preset(preset_dir.absoluteFilePath(filename), filename,
false);
for (const auto& [filePath, fileName] : files) {
all_presets_ << Preset(filePath, fileName, false);
}
}

View File

@ -93,7 +93,7 @@ void ProjectMVisualisation::InitProjectM() {
if (!QFile::exists(path)) continue;
// Don't use empty directories
if (QDir(path).entryList(QDir::Files | QDir::NoDotAndDotDot).isEmpty())
if (QDir(path).entryList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot).isEmpty())
continue;
preset_path = path;