Make the lyric providers configurable again
This commit is contained in:
parent
2f3732e73e
commit
2aa20d3dee
@ -135,6 +135,7 @@ set(SOURCES
|
||||
songinfo/lyricsettings.cpp
|
||||
songinfo/songinfobase.cpp
|
||||
songinfo/songinfofetcher.cpp
|
||||
songinfo/songinfoprovider.cpp
|
||||
songinfo/songinfoview.cpp
|
||||
songinfo/ultimatelyricsprovider.cpp
|
||||
songinfo/ultimatelyricsreader.cpp
|
||||
|
@ -15,13 +15,16 @@
|
||||
*/
|
||||
|
||||
#include "lyricsettings.h"
|
||||
#include "songinfoview.h"
|
||||
#include "ultimatelyricsprovider.h"
|
||||
#include "ui_lyricsettings.h"
|
||||
|
||||
#include <QSettings>
|
||||
|
||||
LyricSettings::LyricSettings(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
ui_(new Ui_LyricSettings)
|
||||
ui_(new Ui_LyricSettings),
|
||||
view_(NULL)
|
||||
{
|
||||
ui_->setupUi(this);
|
||||
|
||||
@ -38,23 +41,21 @@ LyricSettings::~LyricSettings() {
|
||||
}
|
||||
|
||||
void LyricSettings::Load() {
|
||||
/*QList<LyricProvider*> providers = fetcher_->providers();
|
||||
QList<const UltimateLyricsProvider*> providers = view_->lyric_providers();
|
||||
|
||||
ui_->providers->clear();
|
||||
foreach (const LyricProvider* provider, providers) {
|
||||
foreach (const UltimateLyricsProvider* provider, providers) {
|
||||
QListWidgetItem* item = new QListWidgetItem(ui_->providers);
|
||||
item->setText(provider->name());
|
||||
item->setCheckState(provider->is_enabled() ? Qt::Checked : Qt::Unchecked);
|
||||
item->setForeground(provider->is_enabled() ? palette().color(QPalette::Active, QPalette::Text)
|
||||
: palette().color(QPalette::Disabled, QPalette::Text));
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
void LyricSettings::Save() {
|
||||
/*QSettings s;
|
||||
s.beginGroup(LyricFetcher::kSettingsGroup);
|
||||
|
||||
s.setValue("download", ui_->download->isChecked());
|
||||
QSettings s;
|
||||
s.beginGroup(SongInfoView::kSettingsGroup);
|
||||
|
||||
QVariantList search_order;
|
||||
for (int i=0 ; i<ui_->providers->count() ; ++i) {
|
||||
@ -62,7 +63,7 @@ void LyricSettings::Save() {
|
||||
if (item->checkState() == Qt::Checked)
|
||||
search_order << item->text();
|
||||
}
|
||||
s.setValue("search_order", search_order);*/
|
||||
s.setValue("search_order", search_order);
|
||||
}
|
||||
|
||||
void LyricSettings::CurrentItemChanged(QListWidgetItem* item) {
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
class SongInfoView;
|
||||
class Ui_LyricSettings;
|
||||
|
||||
class QListWidgetItem;
|
||||
@ -30,6 +31,8 @@ public:
|
||||
LyricSettings(QWidget *parent = 0);
|
||||
~LyricSettings();
|
||||
|
||||
void SetSongInfoView(SongInfoView* view) { view_ = view; }
|
||||
|
||||
void Load();
|
||||
void Save();
|
||||
|
||||
@ -43,6 +46,7 @@ private slots:
|
||||
|
||||
private:
|
||||
Ui_LyricSettings* ui_;
|
||||
SongInfoView* view_;
|
||||
};
|
||||
|
||||
#endif // LYRICSETTINGS_H
|
||||
|
@ -15,83 +15,61 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="download">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Download lyrics from the Internet</string>
|
||||
<string>Choose the websites you want Clementine to use when searching for lyrics.</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="internet_container" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QListWidget" name="providers"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="up">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Move up</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="down">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Move down</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QListWidget" name="providers"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="up">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Move up</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="down">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Move down</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>download</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>internet_container</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>67</x>
|
||||
<y>18</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>114</x>
|
||||
<y>52</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -40,6 +40,7 @@ public:
|
||||
public slots:
|
||||
void SongChanged(const Song& metadata);
|
||||
void SongFinished();
|
||||
virtual void ReloadSettings() {}
|
||||
|
||||
protected:
|
||||
void showEvent(QShowEvent* e);
|
||||
|
@ -35,8 +35,10 @@ int SongInfoFetcher::FetchInfo(const Song& metadata) {
|
||||
results_[id] = Result();
|
||||
|
||||
foreach (SongInfoProvider* provider, providers_) {
|
||||
waiting_for_[id].append(provider);
|
||||
provider->FetchInfo(id, metadata);
|
||||
if (provider->is_enabled()) {
|
||||
waiting_for_[id].append(provider);
|
||||
provider->FetchInfo(id, metadata);
|
||||
}
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
@ -40,6 +40,8 @@ public:
|
||||
void AddProvider(SongInfoProvider* provider);
|
||||
int FetchInfo(const Song& metadata);
|
||||
|
||||
QList<SongInfoProvider*> providers() const { return providers_; }
|
||||
|
||||
signals:
|
||||
void ResultReady(int id, const SongInfoFetcher::Result& result);
|
||||
|
||||
|
22
src/songinfo/songinfoprovider.cpp
Normal file
22
src/songinfo/songinfoprovider.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
/* This file is part of Clementine.
|
||||
|
||||
Clementine is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Clementine is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Clementine. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "songinfoprovider.h"
|
||||
|
||||
SongInfoProvider::SongInfoProvider()
|
||||
: enabled_(true)
|
||||
{
|
||||
}
|
@ -27,12 +27,20 @@ class SongInfoProvider : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SongInfoProvider();
|
||||
|
||||
virtual void FetchInfo(int id, const Song& metadata) = 0;
|
||||
|
||||
bool is_enabled() const { return enabled_; }
|
||||
void set_enabled(bool enabled) { enabled_ = enabled; }
|
||||
|
||||
signals:
|
||||
void ImageReady(int id, const QUrl& url);
|
||||
void InfoReady(int id, const CollapsibleInfoPane::Data& data);
|
||||
void Finished(int id);
|
||||
|
||||
private:
|
||||
bool enabled_;
|
||||
};
|
||||
|
||||
#endif // SONGINFOPROVIDER_H
|
||||
|
@ -21,8 +21,11 @@
|
||||
|
||||
#include <QFuture>
|
||||
#include <QFutureWatcher>
|
||||
#include <QSettings>
|
||||
#include <QtConcurrentRun>
|
||||
|
||||
const char* SongInfoView::kSettingsGroup = "SongInfo";
|
||||
|
||||
typedef QList<SongInfoProvider*> ProviderList;
|
||||
|
||||
SongInfoView::SongInfoView(NetworkAccessManager* network, QWidget* parent)
|
||||
@ -51,6 +54,8 @@ void SongInfoView::UltimateLyricsParsed() {
|
||||
|
||||
watcher->deleteLater();
|
||||
ultimate_reader_.reset();
|
||||
|
||||
ReloadSettings();
|
||||
}
|
||||
|
||||
void SongInfoView::ResultReady(int id, const SongInfoFetcher::Result& result) {
|
||||
@ -63,3 +68,87 @@ void SongInfoView::ResultReady(int id, const SongInfoFetcher::Result& result) {
|
||||
AddSection(new CollapsibleInfoPane(data, this));
|
||||
}
|
||||
}
|
||||
|
||||
void SongInfoView::ReloadSettings() {
|
||||
QSettings s;
|
||||
s.beginGroup(kSettingsGroup);
|
||||
|
||||
// Put the providers in the right order
|
||||
QList<SongInfoProvider*> ordered_providers;
|
||||
|
||||
QVariant saved_order = s.value("search_order");
|
||||
if (saved_order.isNull()) {
|
||||
// Hardcoded default order
|
||||
ordered_providers << ProviderByName("lyrics.wikia.com")
|
||||
<< ProviderByName("lyricstime.com")
|
||||
<< ProviderByName("lyricsreg.com")
|
||||
<< ProviderByName("lyricsmania.com")
|
||||
<< ProviderByName("metrolyrics.com")
|
||||
<< ProviderByName("seeklyrics.com")
|
||||
<< ProviderByName("azlyrics.com")
|
||||
<< ProviderByName("mp3lyrics.org")
|
||||
<< ProviderByName("songlyrics.com")
|
||||
<< ProviderByName("lyricsmode.com")
|
||||
<< ProviderByName("elyrics.net")
|
||||
<< ProviderByName("lyricsdownload.com")
|
||||
<< ProviderByName("lyrics.com")
|
||||
<< ProviderByName("lyricsbay.com")
|
||||
<< ProviderByName("directlyrics.com")
|
||||
<< ProviderByName("loudson.gs")
|
||||
<< ProviderByName("teksty.org")
|
||||
<< ProviderByName("tekstowo.pl (Polish translations)")
|
||||
<< ProviderByName("vagalume.uol.com.br")
|
||||
<< ProviderByName("vagalume.uol.com.br (Portuguese translations)");
|
||||
} else {
|
||||
foreach (const QVariant& name, saved_order.toList()) {
|
||||
SongInfoProvider* provider = ProviderByName(name.toString());
|
||||
if (provider)
|
||||
ordered_providers << provider;
|
||||
}
|
||||
}
|
||||
|
||||
// Enable all the providers in the list and rank them
|
||||
int relevance = ordered_providers.count();
|
||||
foreach (SongInfoProvider* provider, ordered_providers) {
|
||||
provider->set_enabled(true);
|
||||
qobject_cast<UltimateLyricsProvider*>(provider)->set_relevance(relevance--);
|
||||
}
|
||||
|
||||
// Any lyric providers we don't have in ordered_providers are considered disabled
|
||||
foreach (SongInfoProvider* provider, fetcher_->providers()) {
|
||||
if (qobject_cast<UltimateLyricsProvider*>(provider) && !ordered_providers.contains(provider)) {
|
||||
provider->set_enabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SongInfoProvider* SongInfoView::ProviderByName(const QString& name) const {
|
||||
foreach (SongInfoProvider* provider, fetcher_->providers()) {
|
||||
if (UltimateLyricsProvider* lyrics = qobject_cast<UltimateLyricsProvider*>(provider)) {
|
||||
if (lyrics->name() == name)
|
||||
return provider;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
namespace {
|
||||
bool CompareLyricProviders(const UltimateLyricsProvider* a, const UltimateLyricsProvider* b) {
|
||||
if (a->is_enabled() && !b->is_enabled())
|
||||
return true;
|
||||
if (!a->is_enabled() && b->is_enabled())
|
||||
return false;
|
||||
return a->relevance() > b->relevance();
|
||||
}
|
||||
}
|
||||
|
||||
QList<const UltimateLyricsProvider*> SongInfoView::lyric_providers() const {
|
||||
QList<const UltimateLyricsProvider*> ret;
|
||||
foreach (SongInfoProvider* provider, fetcher_->providers()) {
|
||||
if (UltimateLyricsProvider* lyrics = qobject_cast<UltimateLyricsProvider*>(provider)) {
|
||||
ret << lyrics;
|
||||
}
|
||||
}
|
||||
qSort(ret.begin(), ret.end(), CompareLyricProviders);
|
||||
return ret;
|
||||
}
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
class UltimateLyricsProvider;
|
||||
class UltimateLyricsReader;
|
||||
|
||||
class SongInfoView : public SongInfoBase {
|
||||
@ -30,9 +31,19 @@ public:
|
||||
SongInfoView(NetworkAccessManager* network, QWidget* parent = 0);
|
||||
~SongInfoView();
|
||||
|
||||
static const char* kSettingsGroup;
|
||||
|
||||
QList<const UltimateLyricsProvider*> lyric_providers() const;
|
||||
|
||||
public slots:
|
||||
void ReloadSettings();
|
||||
|
||||
protected slots:
|
||||
void ResultReady(int id, const SongInfoFetcher::Result& result);
|
||||
|
||||
private:
|
||||
SongInfoProvider* ProviderByName(const QString& name) const;
|
||||
|
||||
private slots:
|
||||
void UltimateLyricsParsed();
|
||||
|
||||
|
@ -28,6 +28,7 @@ const int UltimateLyricsProvider::kRedirectLimit = 5;
|
||||
|
||||
UltimateLyricsProvider::UltimateLyricsProvider(NetworkAccessManager* network)
|
||||
: network_(network),
|
||||
relevance_(0),
|
||||
redirect_count_(0)
|
||||
{
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
void set_title(const QString& title) { title_ = title; }
|
||||
void set_url(const QString& url) { url_ = url; }
|
||||
void set_charset(const QString& charset) { charset_ = charset; }
|
||||
void set_relevance(int relevance) { relevance_ = relevance; }
|
||||
|
||||
void add_url_format(const QString& replace, const QString& with) {
|
||||
url_formats_ << UrlFormat(replace, with); }
|
||||
@ -51,6 +52,9 @@ public:
|
||||
void add_exclude_rule(const Rule& rule) { exclude_rules_ << rule; }
|
||||
void add_invalid_indicator(const QString& indicator) { invalid_indicators_ << indicator; }
|
||||
|
||||
QString name() const { return name_; }
|
||||
int relevance() const { return relevance_; }
|
||||
|
||||
void FetchInfo(int id, const Song& metadata);
|
||||
|
||||
private slots:
|
||||
@ -75,6 +79,7 @@ private:
|
||||
QString title_;
|
||||
QString url_;
|
||||
QString charset_;
|
||||
int relevance_;
|
||||
|
||||
QList<UrlFormat> url_formats_;
|
||||
QList<Rule> extract_rules_;
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr ""
|
||||
|
||||
@ -651,9 +655,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr ""
|
||||
|
||||
@ -652,9 +656,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -368,6 +368,10 @@ msgstr "Tria de la llista"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Tria la caràtula manualment"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Clàssica"
|
||||
|
||||
@ -670,9 +674,6 @@ msgstr "Fer doble click sobre una canço netejara la llista de reproducció"
|
||||
msgid "Download directory"
|
||||
msgstr "Directori de descàrregues"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Membres de descarrega"
|
||||
|
||||
|
@ -360,6 +360,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Vybrat obal ručně"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klasická"
|
||||
|
||||
@ -653,9 +657,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr "Adresář pro download"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -360,6 +360,10 @@ msgstr "Vælg fra listen"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Vælg omslag manuelt"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klassisk"
|
||||
|
||||
@ -653,9 +657,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -366,6 +366,10 @@ msgstr "Von der Liste wählen"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Cover selbst auswählen"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klassisch"
|
||||
|
||||
@ -669,9 +673,6 @@ msgstr "Stück doppelklicken um Wiedergabeliste zu ersetzen"
|
||||
msgid "Download directory"
|
||||
msgstr "Downloadverzeichnis"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Downloadmitgliedschaft"
|
||||
|
||||
|
@ -367,6 +367,10 @@ msgstr "Επιλογή από τη λίστα"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Επιλογή εξώφυλλου χειροκίνητα"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Κλασσική"
|
||||
|
||||
@ -673,9 +677,6 @@ msgstr "Διπλό κλικ σε ένα τραγούδι θα καθαρίσει
|
||||
msgid "Download directory"
|
||||
msgstr "Φάκελος λήψης"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "\"Κατέβασμα\" συνδρομής"
|
||||
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Choose manual cover"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classical"
|
||||
|
||||
@ -653,9 +657,6 @@ msgstr "Double-clicking a song clears the playlist first"
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Choose manual cover"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classical"
|
||||
|
||||
@ -651,9 +655,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -368,6 +368,10 @@ msgstr "Elegir de la lista"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Establecer carátula personalizada"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Clásico"
|
||||
|
||||
@ -672,9 +676,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr "Directorio de descargas"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Membrecía para descarga"
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr ""
|
||||
|
||||
@ -652,9 +656,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -371,6 +371,10 @@ msgstr "Choisir depuis la liste"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Choisir une jaquette manuellement"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classique"
|
||||
|
||||
@ -674,9 +678,6 @@ msgstr "Un double clic sur une chanson efface d'abord la liste de lecture"
|
||||
msgid "Download directory"
|
||||
msgstr "Dossier de téléchargement"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Adhésion au téléchargement"
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr "Elixir da lista"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Escoller unha capa manualmente"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Clásica"
|
||||
|
||||
@ -656,9 +660,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -364,6 +364,10 @@ msgstr "Választás a listáról"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Borító választása manuálisan"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klasszikus"
|
||||
|
||||
@ -668,9 +672,6 @@ msgstr "Dupla kattintás egy számon előbb törli a lejátszási listát"
|
||||
msgid "Download directory"
|
||||
msgstr "Letöltési mappa"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Tagsági információk betöltése"
|
||||
|
||||
|
@ -371,6 +371,10 @@ msgstr "Scegli dall'elenco"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Scelta manuale della copertina"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classica"
|
||||
|
||||
@ -674,9 +678,6 @@ msgstr "Il doppio clic su un brano svuota la scaletta"
|
||||
msgid "Download directory"
|
||||
msgstr "Cartella degli scaricamenti"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Scaricamento"
|
||||
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Классикалық"
|
||||
|
||||
@ -651,9 +655,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr ""
|
||||
|
||||
@ -652,9 +656,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Velg cover manuelt"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klassisk"
|
||||
|
||||
@ -652,9 +656,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -367,6 +367,10 @@ msgstr "Kies uit de lijst"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Albumhoes handmatig kiezen"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klassiek"
|
||||
|
||||
@ -670,9 +674,6 @@ msgstr "Dubbelklikken op een nummer maakt eerst de afspeellijst leeg"
|
||||
msgid "Download directory"
|
||||
msgstr "Downloadmap"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Download lidmaatschap"
|
||||
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classic"
|
||||
|
||||
@ -651,9 +655,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -367,6 +367,10 @@ msgstr "Wybierz z listy"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Wybierz okładkę ręcznie"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Muzyka klasyczna"
|
||||
|
||||
@ -671,9 +675,6 @@ msgstr "Podwójne kliknięcie na utworze najpierw czyści listę odtwarzania"
|
||||
msgid "Download directory"
|
||||
msgstr "Pobierz katalog"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Pobierz członkwstwo"
|
||||
|
||||
|
@ -367,6 +367,10 @@ msgstr "Escolher da lista"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Escolher a capa manualmente"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Clássica"
|
||||
|
||||
@ -670,9 +674,6 @@ msgstr "Duplo clique na música limpa a lista de reprodução"
|
||||
msgid "Download directory"
|
||||
msgstr "Diretório de transferências"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Transferência"
|
||||
|
||||
|
@ -364,6 +364,10 @@ msgstr "Escolher da lista"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Escolher capa manualmente"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Clássica"
|
||||
|
||||
@ -663,9 +667,6 @@ msgstr "Duplo clique em música limpa a lista de reprodução primeiro"
|
||||
msgid "Download directory"
|
||||
msgstr "Pasta de Download"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Download de membro"
|
||||
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Clasică"
|
||||
|
||||
@ -651,9 +655,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -362,6 +362,10 @@ msgstr "Выбор из списка"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Укажите обложку вручную"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classical"
|
||||
|
||||
@ -665,9 +669,6 @@ msgstr "Двойной щелчок мышью на композиции сти
|
||||
msgid "Download directory"
|
||||
msgstr "Каталог загрузок"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Загрузить membership"
|
||||
|
||||
|
@ -364,6 +364,10 @@ msgstr "Vybrať zo zoznamu"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Vybrať obal ručne"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Classical"
|
||||
|
||||
@ -667,9 +671,6 @@ msgstr "Dvojklik na pieseň najprv vymaže playlist"
|
||||
msgid "Download directory"
|
||||
msgstr "Priečinok na sťahovanie"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Členstvo sťahovania"
|
||||
|
||||
|
@ -363,6 +363,10 @@ msgstr "Izberi s seznama"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Ročno izberite ovitek"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klasična"
|
||||
|
||||
@ -666,9 +670,6 @@ msgstr "Dvoklik na skladbo počisti predvajalni seznam"
|
||||
msgid "Download directory"
|
||||
msgstr "Mapa prejemov"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Članstvo prejemanja"
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr "Одабери са листе"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Ручно одабери омот"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Класика"
|
||||
|
||||
@ -654,9 +658,6 @@ msgstr "Двоструки клик на песму претходно ће оч
|
||||
msgid "Download directory"
|
||||
msgstr "Фасцикла за преузимање"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -359,6 +359,10 @@ msgstr "Välj från listan"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Ange omslag manuellt"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klassiskt"
|
||||
|
||||
@ -656,9 +660,6 @@ msgstr "Dubbelklick på en sång rensar spellistan först"
|
||||
msgid "Download directory"
|
||||
msgstr "Nedladdningskatalog"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Ladda ned medlemskap"
|
||||
|
||||
|
@ -363,6 +363,10 @@ msgstr "Listeden seç"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Elle kapak seç"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Klasik"
|
||||
|
||||
@ -666,9 +670,6 @@ msgstr "Bir şarkıya çift tıklamak önce çalma listesini temizler"
|
||||
msgid "Download directory"
|
||||
msgstr "İndirme dizini"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "İndirme üyeliği"
|
||||
|
||||
|
@ -349,6 +349,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr ""
|
||||
|
||||
@ -642,9 +646,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -363,6 +363,10 @@ msgstr "Вибрати зі списку"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "Виберіть обкладинку вручну"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "Класична"
|
||||
|
||||
@ -666,9 +670,6 @@ msgstr "Подвійнне клацання на композиції споча
|
||||
msgid "Download directory"
|
||||
msgstr "Каталог завантаження"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "Завантажити членство"
|
||||
|
||||
|
@ -358,6 +358,10 @@ msgstr ""
|
||||
msgid "Choose manual cover"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr ""
|
||||
|
||||
@ -651,9 +655,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr ""
|
||||
|
||||
|
@ -363,6 +363,10 @@ msgstr "從清單中選擇"
|
||||
msgid "Choose manual cover"
|
||||
msgstr "選擇手動覆蓋"
|
||||
|
||||
msgid ""
|
||||
"Choose the websites you want Clementine to use when searching for lyrics."
|
||||
msgstr ""
|
||||
|
||||
msgid "Classical"
|
||||
msgstr "古典"
|
||||
|
||||
@ -656,9 +660,6 @@ msgstr ""
|
||||
msgid "Download directory"
|
||||
msgstr "下載目錄"
|
||||
|
||||
msgid "Download lyrics from the Internet"
|
||||
msgstr ""
|
||||
|
||||
msgid "Download membership"
|
||||
msgstr "下載會員"
|
||||
|
||||
|
@ -1501,13 +1501,15 @@ void MainWindow::EnsureSettingsDialogCreated() {
|
||||
#endif
|
||||
|
||||
settings_dialog_->SetGlobalShortcutManager(global_shortcuts_);
|
||||
settings_dialog_->SetSongInfoView(song_info_view_);
|
||||
|
||||
// Settings
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), library_, SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), player_, SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), osd_, SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), library_view_, SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), library_view_->view(), SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), song_info_view_, SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), player_->GetEngine(), SLOT(ReloadSettings()));
|
||||
connect(settings_dialog_.get(), SIGNAL(accepted()), ui_->playlist->view(), SLOT(ReloadSettings()));
|
||||
#ifdef ENABLE_WIIMOTEDEV
|
||||
|
@ -509,3 +509,7 @@ void SettingsDialog::OpenAtPage(Page page) {
|
||||
ui_->list->setCurrentRow(page);
|
||||
show();
|
||||
}
|
||||
|
||||
void SettingsDialog::SetSongInfoView(SongInfoView* view) {
|
||||
ui_->lyric_settings->SetSongInfoView(view);
|
||||
}
|
||||
|
@ -25,6 +25,7 @@
|
||||
class GlobalShortcuts;
|
||||
class LibraryDirectoryModel;
|
||||
class OSDPretty;
|
||||
class SongInfoView;
|
||||
class Ui_SettingsDialog;
|
||||
|
||||
#ifdef ENABLE_WIIMOTEDEV
|
||||
@ -57,6 +58,7 @@ class SettingsDialog : public QDialog {
|
||||
void SetLibraryDirectoryModel(LibraryDirectoryModel* model);
|
||||
void SetGlobalShortcutManager(GlobalShortcuts* manager);
|
||||
void SetGstEngine(const GstEngine* engine) { gst_engine_ = engine; }
|
||||
void SetSongInfoView(SongInfoView* view);
|
||||
|
||||
void OpenAtPage(Page page);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user