diff --git a/README.md b/README.md index d114183..0b26a42 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ In 2023 [olf (Olf0)](https://github.com/Olf0) overhauled infrastructure aspects, #### Contributors - [Damien Caliste (dcaliste)](https://github.com/dcaliste) - [David Llewellyn-Jones (llewelld / flypig)](https://github.com/llewelld) +- [Elmeri Länsiharju (tuplasuhveli)](https://github.com/tuplasuhveli) - [Mark Washeim (poetaster)](https://github.com/poetaster) - [olf (Olf0)](https://github.com/Olf0) - [Ruben de Smet (rubdos)](https://github.com/rubdos) diff --git a/extras/Lockscreen.qml b/extras/Lockscreen.qml index e999799..13a1d96 100644 --- a/extras/Lockscreen.qml +++ b/extras/Lockscreen.qml @@ -5,6 +5,10 @@ ** ****************************************************************************/ +/*********************************************** +** This file bears some issues, see issue #102. +***********************************************/ + import QtQuick 2.0 import org.nemomobile.lipstick 0.1 import Sailfish.Silica 1.0 @@ -432,6 +436,7 @@ MouseArea { onTextChanged: { setDefaultMarqueeOffset() if (text!=="") { + // Do not worry about this hardcoded path, see issues #101 and #102. coverArt.source = "/home/nemo/.cache/currentAlbumArt.jpeg"; coverArt.sourceSize.width = 0 coverArt.sourceSize.height = 0 diff --git a/rpm/flowplayer.changes b/rpm/flowplayer.changes index 85bf355..1a04f16 100644 --- a/rpm/flowplayer.changes +++ b/rpm/flowplayer.changes @@ -1,7 +1,14 @@ +* Thu Nov 28 2024 olf - 0.3.6 +- Update translations: SV (#90 by @eson57), DE (#91), ET (#92) +- Add Finnish (FI) translation (#94, #95, #96) by @tuplasuhveli +- Clean up multiple code sections (#100, #104, #107) +- Document status of `extras/Lockscreen.qml` (#102, #103, #108) +- Use the app config dir to save the QSettings file (#105 by @dcaliste), closes issue #99 + * Fri Apr 12 2024 olf - 0.3.5 - Add SailJail configuration (#77), originally by @poetaster -- Add Estonian translation (#86) by @tuplasuhveli -- Fix some source strings (#87, #88) by @tuplasuhveli +- Add Estonian translation (#86) by Priit Jõerüüt (tlend@transifex) +- Fix some source strings (#87, #88) by @tuplasuhveli & @olf * Thu Mar 14 2024 olf - 0.3.4 - Support Opus codec (#67) by @rubdos diff --git a/rpm/flowplayer.spec b/rpm/flowplayer.spec index 7e9db2a..968b888 100644 --- a/rpm/flowplayer.spec +++ b/rpm/flowplayer.spec @@ -10,7 +10,7 @@ Name: flowplayer Summary: Music Player for SailfishOS # The tag must adhere to semantic versioning: Among multiple other # reasons due to its use for `qmake5` in line 104. See https://semver.org/ -Version: 0.3.5 +Version: 0.3.6 # The tag comprises one of {alpha,beta,rc,release} postfixed with a # natural number greater or equal to 1 (e.g., "beta3") and may additionally be # postfixed with a plus character ("+"), the name of the packager and a release @@ -21,7 +21,7 @@ Version: 0.3.5 # build at GitHub and OBS, when configured accordingly; mind the sorting # (`adud` < `alpha`). For details and reasons, see # https://github.com/storeman-developers/harbour-storeman/wiki/Git-tag-format -Release: release3 +Release: release4 # The Group tag should comprise one of the groups listed here: # https://github.com/mer-tools/spectacle/blob/master/data/GROUPS Group: Applications/Multimedia diff --git a/src/FlowPlayer.cpp b/src/FlowPlayer.cpp index a862eff..11477df 100644 --- a/src/FlowPlayer.cpp +++ b/src/FlowPlayer.cpp @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include "playlistmanager.h" #include "utils.h" @@ -34,7 +36,7 @@ int main(int argc, char *argv[]) QString lang; QTranslator translator; - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); lang = settings.value("Language", "undefined").toString(); if (lang=="undefined") diff --git a/src/coversearch.cpp b/src/coversearch.cpp index f01e95c..5b0ef66 100644 --- a/src/coversearch.cpp +++ b/src/coversearch.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #define BING_ID "A16EECFD14108C2794E4BC29D4DE59C308685B4A" @@ -165,7 +166,7 @@ void CoverSearch::remove(const QString &file) QString nf = file; if ( nf.startsWith("//") ) nf.remove(0, 1); - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QStringList entries = settings.value("CoverSearch","").toStringList(); QStringList newfiles; for (int i=0; i< entries.count(); ++i) diff --git a/src/datareader.cpp b/src/datareader.cpp index c15bf09..8b24d64 100644 --- a/src/datareader.cpp +++ b/src/datareader.cpp @@ -187,10 +187,6 @@ TagLib::File* DataReader::getFileByMimeType(QString file) void DataReader::readFile(QString file) { - // Is oFile used somewhere? (I failed to find a location.) - // If not, what is this new line good for? For details, see PR #75. - QString oFile = file; - file.remove("file://"); TagLib::File* tf = getFileByMimeType(file); @@ -271,7 +267,7 @@ void DataReader::run() favFiles.clear(); map.clear(); - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); diff --git a/src/datos.cpp b/src/datos.cpp index f202fbf..6e50681 100644 --- a/src/datos.cpp +++ b/src/datos.cpp @@ -233,7 +233,7 @@ void Datos::addFilterToQueue() }*/ QString norder; - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QString order = settings.value("TrackOrder", "title").toString(); if (order=="title") norder="title"; @@ -429,7 +429,7 @@ QString Datos::getArtistsCovers() dato1.append(coverart); } - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); int first = settings.value("LastArtistItem", 0).toInt(); if (first >= dato1.count()) { @@ -463,7 +463,7 @@ QString Datos::getAlbumsCovers() dato1.append(coverart); } - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); int first = settings.value("LastAlbumItem", 0).toInt(); if (first >= dato1.count()) { diff --git a/src/lfm.cpp b/src/lfm.cpp index 34f4fe8..942a814 100644 --- a/src/lfm.cpp +++ b/src/lfm.cpp @@ -31,7 +31,7 @@ LFM::LFM(QQuickItem *parent) //connect(datos5, SIGNAL(finished(QNetworkReply*)), this, SLOT(downloaded5(QNetworkReply*))); //connect(datos6, SIGNAL(finished(QNetworkReply*)), this, SLOT(downloaded6(QNetworkReply*))); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); lang = sets.value("LastFMlang", "en").toString(); } @@ -277,7 +277,7 @@ void LFM::getBio(QString artist) //if ( reply1 && reply1->isRunning() ) // reply1->abort(); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); lang = sets.value("Language", "en").toString(); artistInfo = tr("Fetching artist information"); artistInfoLarge = ""; @@ -301,7 +301,7 @@ void LFM::getAlbumBio(QString artist, QString album) { /*if ( reply2 && reply2->isRunning() ) reply2->abort(); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); lang = sets.value("LastFMlang", "en").toString(); albumInfo = tr("Fetching album information"); albumInfoLarge = ""; @@ -316,7 +316,7 @@ void LFM::getSongBio(QString artist, QString song) { /*if ( reply3 && reply3->isRunning() ) reply3->abort(); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); lang = sets.value("LastFMlang", "en").toString(); songInfo = tr("Fetching track information"); songInfoLarge = ""; diff --git a/src/loadimage.cpp b/src/loadimage.cpp index ab21f6e..aefb58c 100644 --- a/src/loadimage.cpp +++ b/src/loadimage.cpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include diff --git a/src/loadwebimage.cpp b/src/loadwebimage.cpp index 600a1c9..ec3c7c1 100644 --- a/src/loadwebimage.cpp +++ b/src/loadwebimage.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include diff --git a/src/missing.cpp b/src/missing.cpp index 23e6eaf..dac16ae 100644 --- a/src/missing.cpp +++ b/src/missing.cpp @@ -8,7 +8,6 @@ #include #include #include -#include #include bool namefileLess(const QStringList &d1, const QStringList &d2) diff --git a/src/musicmodel.cpp b/src/musicmodel.cpp index 31d0f87..5ccf8ce 100644 --- a/src/musicmodel.cpp +++ b/src/musicmodel.cpp @@ -57,7 +57,7 @@ void MusicModel::loadData(QString artist, QString album, QString various) if (!isDBOpened) openDatabase(); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QString torder = sets.value("TrackOrder", "title").toString(); QString order; if (torder=="title") order="title"; diff --git a/src/player.cpp b/src/player.cpp index 1cddc58..0732592 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -3,6 +3,7 @@ #include #include +#include #include "QVariantMap" extern bool databaseWorking; @@ -20,7 +21,7 @@ static gboolean bus_cb (GstBus *bus, GstMessage *msg, gpointer data) static void prepare_next_stream(GstElement *obj, gpointer data) { qDebug() << "ABOUT TO FINISH"; - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); if (sets.value("GaplessPlayback", "no").toString()=="no") return; @@ -421,7 +422,7 @@ void Player::backend_deinit() void Player::setEq(bool enabled) { qDebug() << "Setting eq: " << enabled; - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); sets.setValue("Equalizer", enabled? "Yes" : "No"); sets.sync(); @@ -472,7 +473,7 @@ void Player::setEqualizerReal(int band, int value) void Player::loadEqualizer() { - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); m_eqenabled = sets.value("Equalizer", "No").toString()=="Yes"; emit eqEnabledChanged(); diff --git a/src/playlist.cpp b/src/playlist.cpp index dab9d31..9e29f7f 100644 --- a/src/playlist.cpp +++ b/src/playlist.cpp @@ -24,14 +24,14 @@ int Playlist::current() QString Playlist::active() const { - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QString t = sets.value("Active", "false").toString(); return t; } QString Playlist::unknown() const { - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QString t = sets.value("Unknown", "false").toString(); return t; } @@ -258,10 +258,10 @@ void Playlist::addAlbumToList(QString artist, QString album, QString various) void Playlist::saveList(QString list) { - //qDebug() << "Saving playlist :" << list; + //qDebug() << "Saving playlist: " << list; /*QString archivo; - archivo = "/home/nemo/.config/cepiperez/playlists/" + list + ".xml"; + archivo = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/playlists/" + list + ".xml"; QFile file( archivo ); file.open( QIODevice::Truncate | QIODevice::Text | QIODevice::ReadWrite); QTextStream out(&file); @@ -352,7 +352,7 @@ void Playlist::clearList(QString list) listado.clear(); //saveList(list); /*QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); - QString path("/home/nemo/.config/cepiperez/flowplayer.db"); + QString path(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.db"); db.setDatabaseName(path); db.open(); @@ -416,7 +416,7 @@ void Playlist::changeUnknown(bool active) { //qDebug() << "CHANGING UKNOWN: " << active; - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); sets.setValue("Unknown", active); sets.sync(); } @@ -425,7 +425,7 @@ void Playlist::changeMode(QString mode) { //qDebug() << "CHANGING MODE: " << mode; - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); sets.setValue("Mode", mode); sets.sync(); } diff --git a/src/playlistmanager.cpp b/src/playlistmanager.cpp index 68167ad..38b514e 100644 --- a/src/playlistmanager.cpp +++ b/src/playlistmanager.cpp @@ -1,6 +1,7 @@ #include "playlistmanager.h" #include +#include #include #include #include @@ -89,7 +90,7 @@ void PlaylistManager::addAlbumToList(QString list, QString artist, QString album if (!isDBOpened) openDatabase(); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QString torder = sets.value("TrackOrder", "title").toString(); QString order; if (torder=="title") order="title"; @@ -431,7 +432,7 @@ void PlaylistManager::loadAlbum(QString artist, QString album, QString various) if (!isDBOpened) openDatabase(); - QSettings sets; + QSettings sets(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QString torder = sets.value("TrackOrder", "title").toString(); QString order; if (torder=="title") order="title"; diff --git a/src/utils.cpp b/src/utils.cpp index 84a82fa..9f116f2 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -43,40 +43,6 @@ void Utils::favSong(QString filename, bool fav) executeQuery(QString("update tracks set fav=%1 where url='%2'").arg(val).arg(filename)); } -void Utils::startMafw(QString artist, QString title) -{ - - /*QDBusInterface iface("com.nokia.maemo.meegotouch.MusicSuiteInterface", "/", - "com.nokia.maemo.meegotouch.MusicSuiteInterface", - QDBusConnection::systemBus(), this); - - qDebug() << "SENDING DBUS SIGNAL " << title << artist; - iface.call("mediaChanged", "0", title, artist); - - QString RENDERER_UUID = "mafw_gst_renderer"; - qDebug() << "HELLO WORLD"; - //MafwMessageHandler::initMafwLogging(true); - MafwRegistry* registry = MafwRegistry::instance(); - MafwShared* shared = MafwShared::instance(); - bool initialized = shared->initTracking(registry); - qDebug() << "MafwShared initialization result was: " << initialized; - - QList sources = MafwRegistry::instance()->sources(); - qDebug() << sources.count() << " sources found."; - //Then list names and uuids for each source. - qDebug() << "Name - Uuid"; - - registry = MafwRegistry::instance(); - MafwRenderer* renderer = registry->renderer(RENDERER_UUID); - if (renderer) - { - renderer->play(QUrl("file:///home/nemo/MyDocs/Music/Alexisonfire/Alexisonfire/Adelleda.mp3")); - }*/ - - - -} - void Utils::readLyrics(QString artist, QString song) { QString art = cleanItem(artist); @@ -440,81 +406,81 @@ void Utils::removePreview() void Utils::setSettings(QString set, QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue(set, val); settings.sync(); } QString Utils::readSettings(QString set, QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value(set, val).toString(); } QString Utils::showReflection() { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("ShowReflection", "true").toString(); } QString Utils::viewmode() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("ViewMode", "grid").toString(); } QString Utils::paging() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("Paging", "multiple").toString(); } QString Utils::scrobble() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("Scrobble", "false").toString(); } QString Utils::order() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("SortOrder", "album").toString(); } QString Utils::lang() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("LastFMlang", "en").toString(); } QString Utils::updatestart() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("UpdateOnStartup", "no").toString(); } QString Utils::autosearch() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("AutoSearchLyrics", "yes").toString(); } QString Utils::cleanqueue() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("CleanQueue", "yes").toString(); } QString Utils::workoffline() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("WorkOffline", "no").toString(); } void Utils::setViewMode(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("ViewMode", val); settings.sync(); emit viewmodeChanged(); @@ -522,7 +488,7 @@ void Utils::setViewMode(QString val) void Utils::setPaging(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("Paging", val); settings.sync(); emit pagingChanged(); @@ -530,7 +496,7 @@ void Utils::setPaging(QString val) void Utils::setScrobble(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("Scrobble", val); settings.sync(); emit scrobbleChanged(); @@ -538,7 +504,7 @@ void Utils::setScrobble(QString val) void Utils::setOrder(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("SortOrder", val); settings.sync(); emit orderChanged(); @@ -546,7 +512,7 @@ void Utils::setOrder(QString val) void Utils::setLang(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("LastFMlang", val); settings.sync(); emit langChanged(); @@ -554,7 +520,7 @@ void Utils::setLang(QString val) void Utils::setUpdateStart(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("UpdateOnStartup", val); settings.sync(); emit updateChanged(); @@ -562,7 +528,7 @@ void Utils::setUpdateStart(QString val) void Utils::setAutoSearch(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("AutoSearchLyrics", val); settings.sync(); emit autosearchChanged(); @@ -570,7 +536,7 @@ void Utils::setAutoSearch(QString val) void Utils::setCleanQueue(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("CleanQueue", val); settings.sync(); emit queueChanged(); @@ -578,7 +544,7 @@ void Utils::setCleanQueue(QString val) void Utils::setWorkOffline(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("WorkOffline", val); settings.sync(); emit workofflineChanged(); @@ -586,13 +552,13 @@ void Utils::setWorkOffline(QString val) QString Utils::orientation() const { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("Orientation", "auto").toString(); } void Utils::setOrientation(QString val) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); settings.setValue("Orientation", val); settings.sync(); emit orientationChanged(); @@ -607,7 +573,7 @@ QString Utils::plainLyrics(QString text) QString Utils::version() { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); return settings.value("Firmware", "PR10").toString(); } @@ -644,7 +610,7 @@ void Utils::removeAlbumArt() void Utils::getFolders() { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); @@ -708,7 +674,7 @@ void Utils::getFolderItems(QString path) void Utils::addFolderToList(QString path) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); folders.append(path); @@ -720,7 +686,7 @@ void Utils::addFolderToList(QString path) void Utils::removeFolder(QString path) { - QSettings settings; + QSettings settings(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/flowplayer.conf", QSettings::NativeFormat); QStringList folders = settings.value("Folders","").toString().split(""); folders.removeAll(""); folders.removeAll(path); diff --git a/src/utils.h b/src/utils.h index 9fb7637..1082ac2 100644 --- a/src/utils.h +++ b/src/utils.h @@ -107,8 +107,6 @@ public slots: void setOrientation(QString val); - void startMafw(QString artist, QString title); - void createAlbumArt(QString imagepath); void removeAlbumArt(); diff --git a/translations/de.ts b/translations/de.ts index 7e9bac3..dd2a949 100644 --- a/translations/de.ts +++ b/translations/de.ts @@ -17,12 +17,12 @@ Beitragende: - + If you want to create a new translation or improve an extant one: Wenn Du eine neue Übersetzung erstellen oder eine bestehende verbessern möchtest: - + You can support the original author of FlowPlayer by donating: Du kannst den ursprünglichen Autor von FlowPlayer durch eine Spende unterstützen: @@ -217,7 +217,7 @@ CoverPage - Cover no found + Cover not found Cover nicht gefunden @@ -331,7 +331,7 @@ - There's no missing covers in your music collection + There are no missing covers in your music collection Es gibt keine fehlenden Cover in deiner Musiksammlung @@ -1371,8 +1371,8 @@ - No lyrics founded - Keine Songtexte gefunden + No lyrics found + Kein Liedtext gefunden @@ -1381,7 +1381,7 @@ - Album cover not founded + Album cover not found Albumcover nicht gefunden diff --git a/translations/et.ts b/translations/et.ts index dccc45d..a9a2e10 100644 --- a/translations/et.ts +++ b/translations/et.ts @@ -17,12 +17,12 @@ Kaasautorid: - + If you want to create a new translation or improve an extant one: Kui soovid lisada uut tõlget või olemasolevat kohendada: - + You can support the original author of FlowPlayer by donating: Kui soovid algset autorit toetada, siis klõpsi siin: @@ -217,7 +217,7 @@ CoverPage - Cover no found + Cover not found Kaanepilti ei leidu @@ -331,7 +331,7 @@ - There's no missing covers in your music collection + There are no missing covers in your music collection Sinu muusikakogus pole puuduvaid kaanepilte @@ -1371,7 +1371,7 @@ - No lyrics founded + No lyrics found Laulusõnu ei leidu @@ -1381,7 +1381,7 @@ - Album cover not founded + Album cover not found Kaanepilti ei leidu diff --git a/translations/fi.ts b/translations/fi.ts new file mode 100644 index 0000000..99d7536 --- /dev/null +++ b/translations/fi.ts @@ -0,0 +1,1401 @@ + + + AboutPage + + + About + Tietoja sovelluksesta + + + + Original author: + Alkuperäinen tekijä: + + + + Contributors: + Muut tekijät: + + + + If you want to create a new translation or improve an extant one: + Jos haluat luoda uuden käännöksen tai parantaa jo olemassaolevaa: + + + + You can support the original author of FlowPlayer by donating: + Voit tukea FlowPlayerin alkuperäistä tekijää lahjoittamalla: + + + + AddFolder + + + Done + Valmis + + + + Cancel + Peruuta + + + + Select folder + Valitse kansio + + + + Deleting + Poistetaan + + + + Remove + Poista + + + + No items + Ei kohteita + + + + AddRadio + + + Done + Valmis + + + + Cancel + Peruuta + + + + Edit station + Muokkaa radiokanavaa + + + + Add station + Lisää radiokanava + + + + + Station name + Radiokanavan nimi + + + + + Station url + Radiokanavan osoite + + + + AlbumDelegate + + + Not found + Ei osumia + + + + AlbumListView + + + Search artist image + Hae esittäjän kuvaa + + + + Unknown artist + Tuntematon esittäjä + + + + + Add to playlist + Lisää soittolistalle + + + + Play all + Toista kaikki + + + + + 1 track + 1 kappale + + + + + %1 tracks + %1 kappaletta + + + + Image not found + Kuvaa ei löytynyt + + + + 1 album + 1 albumi + + + + %1 albums + %1 albumia + + + + AlbumMetadata + + + Done + Valmis + + + + Cancel + Peruuta + + + + Metadata editor + Tunnistemuokkain + + + + Cover not found + Kansikuvaa ei löytynyt + + + + + Artist + Esittäjä + + + + + Album + Albumi + + + + + Year + Vuosi + + + + CoverDownload + + + Download album cover + Lataa kansikuva + + + + Download artist image + Lataa esittäjän kuva + + + + Enter text to search + Syötä haku + + + + CoverPage + + + Cover not found + Kansikuvaa ei löytynyt + + + + DataReader + + + Unknown artist + Tuntematon esittäjä + + + + Unknown album + Tuntematon albumi + + + + Datos + + + Various artists + Eri esittäjiä + + + + 1 album + 1 albumi + + + + %1 albums + %1 albumia + + + + DownloadingListDelegate + + + Not found + Ei osumia + + + + No cover + Ei kansikuvaa + + + + EditPreset + + + Done + Valmis + + + + Cancel + Peruuta + + + + Edit preset + Muuta asetusta + + + + Save preset + Tallenna asetus + + + + + Preset name + Asetuksen nimi + + + + Equalizer + + + Save preset + Tallenna asetus + + + + Equalizer + Taajuuskorjain + + + + Preset + Asetus + + + + FullAlbumSearch + + + Start downloading + Aloita lataus + + + + Stop downloading + Keskeytä lataus + + + + Download album covers + Lataa kansikuvat + + + + There are no missing covers in your music collection + Musiikkikokoelmastasi ei puutu kansikuvia + + + + LFM + + + + Error fetching artist information + Virhe haettaessa esittäjän tietoja + + + + The artist could not be found + Esittäjää ei löytynyt + + + + Error fetching album information + Virhe haettaessa albumin tietoja + + + + The album could not be found + Albumia ei löytynyt + + + + No album information available + Albumin tietoja ei ole saatavilla + + + + Error fetching track information + Virhe haettaessa kappaleen tietoja + + + + The track could not be found + Kappaletta ei löytynyt + + + + No track information available + Kappaleen tietoja ei ole saatavilla + + + + Fetching artist information + Haetaan esittäjän tietoja + + + + LastFM + + + + + + Fetching artist information + Haetaan esittäjän tietoja + + + + + + + Fetching album information + Haetaan albumin tietoja + + + + + + + + + Fetching track information + Haetaan kappaleen tietoja + + + + No artist information available + Virhe haettaessa esittäjän tietoja + + + + Error fetching artist information + Virhe haettaessa esittäjän tietoja + + + + The artist could not be found + Esittäjää ei löytynyt + + + + No album information available + Albumin tietoja ei saatavilla + + + + Error fetching album information + Virhe haettaessa albumin tietoja + + + + The album could not be found + Albumia ei löytynyt + + + + No track information available + Kappaleen tietoja ei ole saatavilla + + + + + + Error fetching track information + Virhe haettaessa kappaleen tietoja + + + + + + The track could not be found + Kappaletta ei löytynyt + + + + Not logged yet + Et ole kirjautunut sisään + + + + Login error. Try again + Sisäänkirjautuminen epäonnistui. Yritä uudestaan + + + + Logged as + Kirjautunut käyttäjänä + + + + User + Käyttäjätunnus + + + + Password + Salasana + + + + Login + Sisäänkirjautuminen + + + + Language + Kieli + + + + Scrobble all songs + Scrobblaa kaikki kappaleet + + + + Lyrics + + + Search in ChartLyrics + Hae kohteesta ChartLyrics + + + + Search in A-Z Lyrics + Hae kohteesta A-Z Lyrics + + + + Search in Lyric Wiki + Hae kohteesta Lyric Wiki + + + + Save lyrics + Tallenna sanoitus + + + + Lyrics + Sanoitus + + + + by + Sanoittaja + + + + Reload picture + Lataa kuva uudelleen + + + + Reload info + Lataa tiedot uudelleen + + + + Info + Tiedot + + + + MainPage + + + No music + Ei musiikkia + + + + Hide search field + Piilota hakukenttä + + + + Show search field + Näytä hakukenttä + + + + + Artists + Esittäjät + + + + + Albums + Albumit + + + + + Various artists + Eri esittäjiä + + + + ManageFolders + + + Add folder + Lisää kansio + + + + Manage folders + Hallitse kansioita + + + + Deleting + Poistetaan + + + + Remove + Poista + + + + No folders + Ei kansioita + + + + Meta + + + Unknown artist + Tuntematon esittäjä + + + + Unknown album + Tuntematon albumi + + + + Metadata + + + Done + Valmis + + + + Cancel + Peruuta + + + + Metadata editor + Tunnistemuokkain + + + + Cover not found + Kansikuvaa ei löytynyt + + + + + Artist + Esittäjä + + + + + Album + Albumi + + + + + Title + Nimi + + + + + Year + Vuosi + + + + Missing + + + Various artists + Eri esittäjiä + + + + Unknown album + Tuntematon albumi + + + + Unknown artist + Tuntematon esittäjä + + + + MusicModel + + + Unknown album + Tuntematon albumi + + + + + Unknown artist + Tuntematon esittäjä + + + + MyPlaylist + + + Unknown artist + Tuntematon esittäjä + + + + Unknown album + Tuntematon albumi + + + + NewPlaylist + + + Done + Valmis + + + + Cancel + Peruuta + + + + Rename playlist + Nimeä soittolista uudelleen + + + + New playlist + Uusi soittolista + + + + + Playlist name + Soittolistan nimi + + + + NowPlaying + + + + Unknown artist + Tuntematon esittäjä + + + + + Unknown album + Tuntematon albumi + + + + Equalizer + Taajuuskorjain + + + + Edit metadata + Muokkaa tunnisteita + + + + Remove from favorites + Poista suosikeista + + + + Add to favorites + Lisää suosikkeihin + + + + Add to playlist + Lisää soittolistalle + + + + Reload info + Lataa tiedot uudelleen + + + + Save station + Tallenna radiokanava + + + + Cover not found + Kansikuvaa ei löytynyt + + + + Online radio + Nettiradio + + + + OnlineRadios + + + Add station + Lisää radiokanava + + + + Search station + Etsi radiokanavaa + + + + Radio stations + Radiokanavat + + + + Deleting + Poistetaan + + + + Edit + Muokkaa + + + + Remove + Poista + + + + No saved stations + Ei tallennettuja radiokanavia + + + + PickFolder + + + Select folder + Valitse kansio + + + + Playlist + + + Unknown artist + Tuntematon esittäjä + + + + Unknown album + Tuntematon albumi + + + + PlaylistManager + + + Custom playlists + Mukautetut soittolistat + + + + PlaylistPage + + + Queue + Jono + + + + Favorites + Suosikit + + + + Rename playlist + Nimeä soittolista uudelleen + + + + Clear playlist + Tyhjennä soittolista + + + + Deleting + Poistetaan + + + + Remove + Poista + + + + Playlist is empty + Soittolista on tyhjä + + + + Playlists + + + New playlist + Uusi soittolista + + + + Playlists + Soittolistat + + + + Deleting + Poistetaan + + + + Rename + Nimeä uudelleen + + + + Remove + Poista + + + + Queue + Jono + + + + Favorites + Suosikit + + + + No tracks + Ei kappaleita + + + + 1 track + 1 kappale + + + + %1 tracks + %1 kappaletta + + + + SearchRadio + + + Search station + Etsi radiokanavaa + + + + SelectLanguage + + + Done + Valmis + + + + Cancel + Peruuta + + + + SelectPlaylist + + + Done + Valmis + + + + Cancel + Peruuta + + + + Select playlist + Valitse soittolista + + + + New playlist + Uusi soittolista + + + + Queue + Jono + + + + SelectPreset + + + Presets + Asetukset + + + + Deleting + Poistetaan + + + + Edit + Muokkaa + + + + Remove + Poista + + + + Settings + + + About + Tietoja + + + + Settings + Asetukset + + + + General + Yleiset + + + + Language + Kieli + + + + *Restart to apply the new language + *Kielen vaihtaminen vaatii uudelleenkäynnistyksen + + + + Orientation + Suunta + + + + Automatic + Automaattinen + + + + Portrait + Pysty + + + + Landscape + Vaaka + + + + Albums view mode + Albuminäkymä + + + + Flow + Karuselli + + + + Grid + Ruudukko + + + + List + Luettelo + + + + Active cover + Pienennetty sovellus + + + + Use album art as background + Käytä kansitaidetta taustakuvana + + + + Show previous button + Näytä "edellinen"-painike + + + + List management + Listojen hallinta + + + + Sort albums by + Albumeiden lajitteluperuste + + + + Albums + Albumi + + + + Artists + Esittäjä + + + + Sort songs by + Kappaleiden lajitteluperuste + + + + Title + Nimi + + + + Track number + Kappalenumero + + + + Filename + Tiedostonimi + + + + Clear queue on exit + Tyhjennä jono suljettaessa + + + + Lyrics + Sanoitukset + + + + Fetch lyrics automatically + Hae sanoituksia automaattisesti + + + + Save lyrics automatically + Tallenna sanoitukset automaattisesti + + + + Extras + Lisäasetukset + + + + Gapless playback + Katkeamaton toisto + + + + Collection + Kokoelma + + + + Manage folders + Hallitse kansioita + + + + Update collection + Päivitä kokoelma + + + + SongListView + + + Search cover + Etsi kansikuva + + + + Unknown artist + Tuntematon esittäjä + + + + Unknown album + Tuntematon albumi + + + + + Edit metadata + Muokkaa tunnisteita + + + + + Add to playlist + Lisää soittolistalle + + + + Remove from favorites + Poista suosikeista + + + + Add to favorites + Lisää suosikkeihin + + + + Cover not found + Kansikuvaa ei löytynyt + + + + Various artists + Eri esittäjiä + + + + 1 track + 1 kappale + + + + %1 tracks + %1 kappaletta + + + + SongsPage + + + Hide search field + Piilota hakukenttä + + + + Show search field + Näytä hakukenttä + + + + Tracks + Kappaleet + + + + Edit metadata + Muokkaa tunnisteita + + + + Add to playlist + Lisää soittolistalle + + + + Remove from favorites + Poista suosikeista + + + + Add to favorites + Lisää suosikkeihin + + + + No music + Ei musiikkia + + + + StartPage + + + Updating music collection + Päivitetään musiikkikokoelmaa + + + + Cancel + Peruuta + + + + Artists + Esittäjät + + + + Albums + Albumit + + + + Tracks + Kappaleet + + + + Playlists + Soittolistat + + + + Radio stations + Radioasemat + + + + Download album covers + Lataa kansikuvat + + + + Settings + Asetukset + + + + Equalizer + Taajuuskorjain + + + + Utils + + + + + + + + No lyrics found + Sanoituksia ei löytynyt + + + + Error fetching lyrics + Virhe haettaessa sanoituksia + + + + Album cover not found + Kansikuvaa ei löytynyt + + + + flowplayer + + + (radio) + (radio) + + + + Cover not found + Kansikuvaa ei löytynyt + + + \ No newline at end of file diff --git a/translations/sv.ts b/translations/sv.ts index 9bedae4..80974a9 100644 --- a/translations/sv.ts +++ b/translations/sv.ts @@ -17,12 +17,12 @@ Bidragande parter: - + If you want to create a new translation or improve an extant one: Om du vill skapa en ny översättning eller förbättra en befintlig: - + You can support the original author of FlowPlayer by donating: Du kan stödja den ursprungliga utvecklaren av FlowPlayer genom att donera: @@ -217,7 +217,7 @@ CoverPage - Cover no found + Cover not found Inget omslag hittades @@ -331,8 +331,8 @@ - There's no missing covers in your music collection - Det saknas inga omslag i din musiksamling + There are no missing covers in your music collection + Det saknas inga omslagsbilder i din musiksamling @@ -1371,8 +1371,8 @@ - No lyrics founded - Inga texter hittades + No lyrics found + Ingen text hittades @@ -1381,8 +1381,8 @@ - Album cover not founded - Inget omslag hittades + Album cover not found + Omslagsbild hittades inte