Add an icecast search provider, refactor a couple of other bits

This commit is contained in:
David Sansome 2011-11-05 23:22:25 +00:00
parent 8c69094931
commit 931efb1f70
12 changed files with 203 additions and 108 deletions

View File

@ -126,6 +126,7 @@ set(SOURCES
globalsearch/globalsearchtooltip.cpp
globalsearch/globalsearchwidget.cpp
globalsearch/groovesharksearchprovider.cpp
globalsearch/icecastsearchprovider.cpp
globalsearch/librarysearchprovider.cpp
globalsearch/searchprovider.cpp
globalsearch/simplesearchprovider.cpp

View File

@ -0,0 +1,46 @@
/* This file is part of Clementine.
Copyright 2011, David Sansome <me@davidsansome.com>
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 "icecastsearchprovider.h"
#include "internet/icecastbackend.h"
IcecastSearchProvider::IcecastSearchProvider(IcecastBackend* backend, QObject* parent)
: BlockingSearchProvider(parent),
backend_(backend)
{
Init("Icecast", "icecast", QIcon(":last.fm/icon_radio.png"));
}
SearchProvider::ResultList IcecastSearchProvider::Search(int id, const QString& query) {
IcecastBackend::StationList stations = backend_->GetStations(query);
ResultList ret;
const QStringList tokens = TokenizeQuery(query);
foreach (const IcecastBackend::Station& station, stations) {
if (ret.count() > 3)
break;
Result result(this);
result.type_ = globalsearch::Type_Stream;
result.metadata_ = station.ToSong();
result.match_quality_ = MatchQuality(tokens, station.name);
ret << result;
}
return ret;
}

View File

@ -0,0 +1,36 @@
/* This file is part of Clementine.
Copyright 2011, David Sansome <me@davidsansome.com>
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/>.
*/
#ifndef ICECASTSEARCHPROVIDER_H
#define ICECASTSEARCHPROVIDER_H
#include "searchprovider.h"
class IcecastBackend;
class IcecastSearchProvider : public BlockingSearchProvider {
public:
IcecastSearchProvider(IcecastBackend* backend, QObject* parent);
ResultList Search(int id, const QString& query);
private:
IcecastBackend* backend_;
};
#endif // ICECASTSEARCHPROVIDER_H

View File

@ -19,9 +19,7 @@
#define LIBRARYSEARCHPROVIDER_H
#include "searchprovider.h"
#include "core/backgroundthread.h"
class AlbumCoverLoader;
class LibraryBackendInterface;

View File

@ -17,6 +17,7 @@
#include "searchprovider.h"
#include "core/boundfuturewatcher.h"
#include "playlist/songmimedata.h"
#include <QPainter>
#include <QtConcurrentRun>
@ -141,3 +142,10 @@ void SearchProvider::SortSongs(SongList* list) {
void SearchProvider::LoadArtAsync(int id, const Result& result) {
emit ArtLoaded(id, QImage());
}
void SearchProvider::LoadTracksAsync(int id, const Result& result) {
SongMimeData* mime_data = new SongMimeData;
mime_data->songs = SongList() << result.metadata_;
emit TracksLoaded(id, mime_data);
}

View File

@ -111,7 +111,7 @@ public:
// Starts loading tracks for a result that was previously emitted by
// ResultsAvailable. Must emit TracksLoaded exactly once with this ID.
virtual void LoadTracksAsync(int id, const Result& result) = 0;
virtual void LoadTracksAsync(int id, const Result& result);
// If provider needs user login to search and play songs, this method should
// be reimplemented

View File

@ -15,7 +15,18 @@
along with Clementine. If not, see <http://www.gnu.org/licenses/>.
*/
#include "icecastbackend.h"
#include "icecastfilterwidget.h"
#include "icecastmodel.h"
#include "icecastservice.h"
#include "internetmodel.h"
#include "core/mergedproxymodel.h"
#include "core/network.h"
#include "core/taskmanager.h"
#include "globalsearch/globalsearch.h"
#include "globalsearch/icecastsearchprovider.h"
#include "playlist/songplaylistitem.h"
#include "ui/iconloader.h"
#include <algorithm>
using std::sort;
@ -29,15 +40,6 @@ using std::unique;
#include <QRegExp>
#include <QtConcurrentRun>
#include "icecastbackend.h"
#include "icecastfilterwidget.h"
#include "icecastmodel.h"
#include "internetmodel.h"
#include "core/mergedproxymodel.h"
#include "core/network.h"
#include "core/taskmanager.h"
#include "playlist/songplaylistitem.h"
#include "ui/iconloader.h"
const char* IcecastService::kServiceName = "Icecast";
const char* IcecastService::kDirectoryUrl = "http://data.clementine-player.org/icecast-directory";
@ -58,6 +60,9 @@ IcecastService::IcecastService(InternetModel* parent)
model_ = new IcecastModel(backend_, this);
filter_->SetIcecastModel(model_);
model()->global_search()->AddProvider(
new IcecastSearchProvider(backend_, this), false);
}
IcecastService::~IcecastService() {

View File

@ -58,6 +58,8 @@ protected:
private slots:
void LoadDirectory();
void Homepage();
void DownloadDirectoryFinished();
void ParseDirectoryFinished();
private:
void RequestDirectory(const QUrl& url);
@ -75,10 +77,6 @@ private:
IcecastFilterWidget* filter_;
int load_directory_task_id_;
private slots:
void DownloadDirectoryFinished();
void ParseDirectoryFinished();
};
#endif

View File

@ -20,6 +20,20 @@
#include "jamendodynamicplaylist.h"
#include "jamendoplaylistitem.h"
#include "internetmodel.h"
#include "core/database.h"
#include "core/logging.h"
#include "core/mergedproxymodel.h"
#include "core/network.h"
#include "core/scopedtransaction.h"
#include "core/taskmanager.h"
#include "globalsearch/globalsearch.h"
#include "globalsearch/librarysearchprovider.h"
#include "library/librarybackend.h"
#include "library/libraryfilterwidget.h"
#include "library/librarymodel.h"
#include "smartplaylists/generator.h"
#include "smartplaylists/querygenerator.h"
#include "ui/iconloader.h"
#include <QDesktopServices>
#include <QFutureWatcher>
@ -31,19 +45,6 @@
#include <QXmlStreamReader>
#include "qtiocompressor.h"
#include "core/database.h"
#include "core/logging.h"
#include "core/mergedproxymodel.h"
#include "core/network.h"
#include "core/scopedtransaction.h"
#include "core/taskmanager.h"
#include "library/librarybackend.h"
#include "library/libraryfilterwidget.h"
#include "library/librarymodel.h"
#include "smartplaylists/generator.h"
#include "smartplaylists/querygenerator.h"
#include "ui/iconloader.h"
const char* JamendoService::kServiceName = "Jamendo";
const char* JamendoService::kDirectoryUrl =
"http://img.jamendo.com/data/dbdump_artistalbumtrack.xml.gz";
@ -116,6 +117,14 @@ JamendoService::JamendoService(InternetModel* parent)
library_sort_model_->setSortRole(LibraryModel::Role_SortText);
library_sort_model_->setDynamicSortFilter(true);
library_sort_model_->sort(0);
model()->global_search()->AddProvider(new LibrarySearchProvider(
library_backend_,
tr("Jamendo"),
"jamendo",
QIcon(":/providers/jamendo.png"),
this),
false /* disabled Jamendo by default */);
}
JamendoService::~JamendoService() {

View File

@ -26,6 +26,8 @@
#include "core/player.h"
#include "core/song.h"
#include "core/taskmanager.h"
#include "globalsearch/globalsearch.h"
#include "globalsearch/librarysearchprovider.h"
#include "library/librarymodel.h"
#include "library/librarybackend.h"
#include "library/libraryfilterwidget.h"
@ -92,6 +94,12 @@ MagnatuneService::MagnatuneService(InternetModel* parent)
library_sort_model_->sort(0);
model()->player()->RegisterUrlHandler(url_handler_);
model()->global_search()->AddProvider(new LibrarySearchProvider(
library_backend_,
tr("Magnatune"),
"magnatune",
QIcon(":/providers/magnatune.png"),
this));
}
MagnatuneService::~MagnatuneService() {

View File

@ -347,7 +347,7 @@ msgstr ""
msgid "Add directory..."
msgstr ""
#: ui/mainwindow.cpp:1576
#: ui/mainwindow.cpp:1562
msgid "Add file"
msgstr ""
@ -359,7 +359,7 @@ msgstr ""
msgid "Add files to transcode"
msgstr ""
#: ui/mainwindow.cpp:1601
#: ui/mainwindow.cpp:1587
msgid "Add folder"
msgstr ""
@ -427,7 +427,7 @@ msgstr ""
msgid "Add stream..."
msgstr ""
#: ui/mainwindow.cpp:1405
#: ui/mainwindow.cpp:1391
msgid "Add to another playlist"
msgstr ""
@ -495,7 +495,7 @@ msgstr ""
msgid "Album artist"
msgstr ""
#: internet/jamendoservice.cpp:401
#: internet/jamendoservice.cpp:410
msgid "Album info on jamendo.com..."
msgstr ""
@ -642,7 +642,7 @@ msgstr ""
msgid "Artist"
msgstr ""
#: ui/mainwindow.cpp:271
#: ui/mainwindow.cpp:257
msgid "Artist info"
msgstr ""
@ -825,7 +825,7 @@ msgstr ""
msgid "Change the language"
msgstr ""
#: ui/mainwindow.cpp:611
#: ui/mainwindow.cpp:597
msgid "Check for updates..."
msgstr ""
@ -991,7 +991,7 @@ msgstr ""
msgid "Configure Last.fm..."
msgstr ""
#: internet/magnatuneservice.cpp:265
#: internet/magnatuneservice.cpp:273
msgid "Configure Magnatune..."
msgstr ""
@ -1003,7 +1003,7 @@ msgstr ""
msgid "Configure Spotify..."
msgstr ""
#: ui/mainwindow.cpp:505
#: ui/mainwindow.cpp:491
msgid "Configure library..."
msgstr ""
@ -1036,12 +1036,12 @@ msgstr ""
msgid "Convert any music that the device can't play"
msgstr ""
#: library/libraryview.cpp:265 ui/mainwindow.cpp:538
#: library/libraryview.cpp:265 ui/mainwindow.cpp:524
#: widgets/fileviewlist.cpp:43
msgid "Copy to device..."
msgstr ""
#: devices/deviceview.cpp:223 ui/mainwindow.cpp:535
#: devices/deviceview.cpp:223 ui/mainwindow.cpp:521
#: widgets/fileviewlist.cpp:38
msgid "Copy to library..."
msgstr ""
@ -1257,7 +1257,7 @@ msgid "Delete Grooveshark playlist"
msgstr ""
#: devices/deviceview.cpp:393 library/libraryview.cpp:459
#: ui/mainwindow.cpp:1839 widgets/fileview.cpp:185
#: ui/mainwindow.cpp:1825 widgets/fileview.cpp:185
msgid "Delete files"
msgstr ""
@ -1265,7 +1265,7 @@ msgstr ""
msgid "Delete from device..."
msgstr ""
#: library/libraryview.cpp:267 ui/mainwindow.cpp:539
#: library/libraryview.cpp:267 ui/mainwindow.cpp:525
#: widgets/fileviewlist.cpp:44
msgid "Delete from disk..."
msgstr ""
@ -1286,11 +1286,11 @@ msgstr ""
msgid "Deleting files"
msgstr ""
#: ui/mainwindow.cpp:1350
#: ui/mainwindow.cpp:1336
msgid "Dequeue selected tracks"
msgstr ""
#: ui/mainwindow.cpp:1348
#: ui/mainwindow.cpp:1334
msgid "Dequeue track"
msgstr ""
@ -1318,7 +1318,7 @@ msgstr ""
msgid "Device properties..."
msgstr ""
#: ui/mainwindow.cpp:268
#: ui/mainwindow.cpp:254
msgid "Devices"
msgstr ""
@ -1421,11 +1421,11 @@ msgstr ""
msgid "Download membership"
msgstr ""
#: internet/magnatuneservice.cpp:261
#: internet/magnatuneservice.cpp:269
msgid "Download this album"
msgstr ""
#: internet/jamendoservice.cpp:403
#: internet/jamendoservice.cpp:412
msgid "Download this album..."
msgstr ""
@ -1433,15 +1433,15 @@ msgstr ""
msgid "Download..."
msgstr ""
#: internet/icecastservice.cpp:93
#: internet/icecastservice.cpp:98
msgid "Downloading Icecast directory"
msgstr ""
#: internet/jamendoservice.cpp:173
#: internet/jamendoservice.cpp:182
msgid "Downloading Jamendo catalogue"
msgstr ""
#: internet/magnatuneservice.cpp:146
#: internet/magnatuneservice.cpp:154
msgid "Downloading Magnatune catalogue"
msgstr ""
@ -1465,7 +1465,7 @@ msgstr ""
msgid "Dynamic mode is on"
msgstr ""
#: internet/jamendoservice.cpp:109 library/library.cpp:88
#: internet/jamendoservice.cpp:110 library/library.cpp:88
msgid "Dynamic random mix"
msgstr ""
@ -1473,7 +1473,7 @@ msgstr ""
msgid "Edit smart playlist..."
msgstr ""
#: ui/mainwindow.cpp:1383
#: ui/mainwindow.cpp:1369
#, qt-format
msgid "Edit tag \"%1\"..."
msgstr ""
@ -1580,8 +1580,8 @@ msgid "Equivalent to --log-levels *:3"
msgstr ""
#: internet/magnatunedownloaddialog.cpp:225 library/libraryview.cpp:453
#: ui/edittagdialog.cpp:719 ui/mainwindow.cpp:1807 ui/mainwindow.cpp:1912
#: ui/mainwindow.cpp:2130
#: ui/edittagdialog.cpp:719 ui/mainwindow.cpp:1793 ui/mainwindow.cpp:1898
#: ui/mainwindow.cpp:2116
msgid "Error"
msgstr ""
@ -1734,7 +1734,7 @@ msgstr ""
msgid "Filename"
msgstr ""
#: ui/mainwindow.cpp:266
#: ui/mainwindow.cpp:252
msgid "Files"
msgstr ""
@ -2072,7 +2072,7 @@ msgstr ""
msgid "Installed"
msgstr ""
#: ui/mainwindow.cpp:267
#: ui/mainwindow.cpp:253
msgid "Internet"
msgstr ""
@ -2112,27 +2112,27 @@ msgstr ""
msgid "Invalid username and/or password"
msgstr ""
#: ui/mainwindow.cpp:253
#: internet/jamendoservice.cpp:123
msgid "Jamendo"
msgstr ""
#: internet/jamendoservice.cpp:105
#: internet/jamendoservice.cpp:106
msgid "Jamendo Most Listened Tracks"
msgstr ""
#: internet/jamendoservice.cpp:103
#: internet/jamendoservice.cpp:104
msgid "Jamendo Top Tracks"
msgstr ""
#: internet/jamendoservice.cpp:99
#: internet/jamendoservice.cpp:100
msgid "Jamendo Top Tracks of the Month"
msgstr ""
#: internet/jamendoservice.cpp:101
#: internet/jamendoservice.cpp:102
msgid "Jamendo Top Tracks of the Week"
msgstr ""
#: internet/jamendoservice.cpp:157
#: internet/jamendoservice.cpp:166
msgid "Jamendo database"
msgstr ""
@ -2268,7 +2268,7 @@ msgstr ""
msgid "Length"
msgstr ""
#: ui/mainwindow.cpp:241 ui/mainwindow.cpp:265
#: ui/mainwindow.cpp:241 ui/mainwindow.cpp:251
msgid "Library"
msgstr ""
@ -2276,7 +2276,7 @@ msgstr ""
msgid "Library advanced grouping"
msgstr ""
#: ui/mainwindow.cpp:2032
#: ui/mainwindow.cpp:2018
msgid "Library rescan notice"
msgstr ""
@ -2429,7 +2429,7 @@ msgstr ""
msgid "MPC"
msgstr ""
#: ui/mainwindow.cpp:246 ../bin/src/ui_magnatunesettingspage.h:150
#: internet/magnatuneservice.cpp:99 ../bin/src/ui_magnatunesettingspage.h:150
msgid "Magnatune"
msgstr ""
@ -2527,7 +2527,7 @@ msgstr ""
msgid "Move down"
msgstr ""
#: ui/mainwindow.cpp:536 widgets/fileviewlist.cpp:40
#: ui/mainwindow.cpp:522 widgets/fileviewlist.cpp:40
msgid "Move to library..."
msgstr ""
@ -2622,7 +2622,7 @@ msgstr ""
msgid "Never start playing"
msgstr ""
#: ui/mainwindow.cpp:1422 ../bin/src/ui_mainwindow.h:680
#: ui/mainwindow.cpp:1408 ../bin/src/ui_mainwindow.h:680
msgid "New playlist"
msgstr ""
@ -2673,7 +2673,7 @@ msgstr ""
msgid "None"
msgstr ""
#: library/libraryview.cpp:454 ui/mainwindow.cpp:1808 ui/mainwindow.cpp:1913
#: library/libraryview.cpp:454 ui/mainwindow.cpp:1794 ui/mainwindow.cpp:1899
msgid "None of the selected songs were suitable for copying to a device"
msgstr ""
@ -2763,7 +2763,7 @@ msgstr ""
msgid "Open device"
msgstr ""
#: internet/icecastservice.cpp:295
#: internet/icecastservice.cpp:300
msgid "Open dir.xiph.org in browser"
msgstr ""
@ -2777,11 +2777,11 @@ msgstr ""
msgid "Open in new playlist"
msgstr ""
#: internet/jamendoservice.cpp:405
#: internet/jamendoservice.cpp:414
msgid "Open jamendo.com in browser"
msgstr ""
#: internet/magnatuneservice.cpp:263
#: internet/magnatuneservice.cpp:271
msgid "Open magnatune.com in browser"
msgstr ""
@ -2814,7 +2814,7 @@ msgstr ""
msgid "Organise Files"
msgstr ""
#: library/libraryview.cpp:263 ui/mainwindow.cpp:537
#: library/libraryview.cpp:263 ui/mainwindow.cpp:523
msgid "Organise files..."
msgstr ""
@ -2846,7 +2846,7 @@ msgstr ""
msgid "Overwrite existing files"
msgstr ""
#: internet/jamendoservice.cpp:200
#: internet/jamendoservice.cpp:209
msgid "Parsing Jamendo catalogue"
msgstr ""
@ -2865,7 +2865,7 @@ msgstr ""
msgid "Password Protected"
msgstr ""
#: core/globalshortcuts.cpp:46 ui/mainwindow.cpp:887 ui/mainwindow.cpp:1273
#: core/globalshortcuts.cpp:46 ui/mainwindow.cpp:873 ui/mainwindow.cpp:1259
#: ui/qtsystemtrayicon.cpp:178 wiimotedev/wiimotesettingspage.cpp:106
msgid "Pause"
msgstr ""
@ -2882,8 +2882,8 @@ msgstr ""
msgid "Plain sidebar"
msgstr ""
#: core/globalshortcuts.cpp:45 ui/mainwindow.cpp:520 ui/mainwindow.cpp:855
#: ui/mainwindow.cpp:874 ui/mainwindow.cpp:1276 ui/qtsystemtrayicon.cpp:166
#: core/globalshortcuts.cpp:45 ui/mainwindow.cpp:506 ui/mainwindow.cpp:841
#: ui/mainwindow.cpp:860 ui/mainwindow.cpp:1262 ui/qtsystemtrayicon.cpp:166
#: ui/qtsystemtrayicon.cpp:192 wiimotedev/wiimotesettingspage.cpp:101
#: ../bin/src/ui_mainwindow.h:631
msgid "Play"
@ -3091,12 +3091,12 @@ msgstr ""
msgid "Queue Manager"
msgstr ""
#: ui/mainwindow.cpp:1354
#: ui/mainwindow.cpp:1340
msgid "Queue selected tracks"
msgstr ""
#: globalsearch/globalsearchwidget.cpp:98 library/libraryview.cpp:251
#: ui/mainwindow.cpp:1352
#: ui/mainwindow.cpp:1338
msgid "Queue track"
msgstr ""
@ -3144,7 +3144,7 @@ msgstr ""
msgid "Really cancel?"
msgstr ""
#: internet/jamendoservice.cpp:406 internet/magnatuneservice.cpp:264
#: internet/jamendoservice.cpp:415 internet/magnatuneservice.cpp:272
msgid "Refresh catalogue"
msgstr ""
@ -3156,7 +3156,7 @@ msgstr ""
msgid "Refresh friends list"
msgstr ""
#: internet/icecastservice.cpp:296
#: internet/icecastservice.cpp:301
msgid "Refresh station list"
msgstr ""
@ -3365,11 +3365,11 @@ msgstr ""
msgid "Search Icecast stations"
msgstr ""
#: internet/jamendoservice.cpp:412
#: internet/jamendoservice.cpp:421
msgid "Search Jamendo"
msgstr ""
#: internet/magnatuneservice.cpp:270
#: internet/magnatuneservice.cpp:278
msgid "Search Magnatune"
msgstr ""
@ -3449,7 +3449,7 @@ msgstr ""
msgid "Service offline"
msgstr ""
#: ui/mainwindow.cpp:1381
#: ui/mainwindow.cpp:1367
#, qt-format
msgid "Set %1 to \"%2\"..."
msgstr ""
@ -3525,7 +3525,7 @@ msgstr ""
msgid "Show above status bar"
msgstr ""
#: ui/mainwindow.cpp:493
#: ui/mainwindow.cpp:479
msgid "Show all songs"
msgstr ""
@ -3545,7 +3545,7 @@ msgstr ""
msgid "Show fullsize..."
msgstr ""
#: library/libraryview.cpp:275 ui/mainwindow.cpp:540
#: library/libraryview.cpp:275 ui/mainwindow.cpp:526
msgid "Show in file browser..."
msgstr ""
@ -3553,11 +3553,11 @@ msgstr ""
msgid "Show in various artists"
msgstr ""
#: ui/mainwindow.cpp:494
#: ui/mainwindow.cpp:480
msgid "Show only duplicates"
msgstr ""
#: ui/mainwindow.cpp:495
#: ui/mainwindow.cpp:481
msgid "Show only untagged"
msgstr ""
@ -3653,7 +3653,7 @@ msgstr ""
msgid "Song Information"
msgstr ""
#: ui/mainwindow.cpp:270
#: ui/mainwindow.cpp:256
msgid "Song info"
msgstr ""
@ -3749,7 +3749,7 @@ msgstr ""
msgid "Stop after"
msgstr ""
#: ui/mainwindow.cpp:522 ../bin/src/ui_mainwindow.h:639
#: ui/mainwindow.cpp:508 ../bin/src/ui_mainwindow.h:639
msgid "Stop after this track"
msgstr ""
@ -3875,7 +3875,7 @@ msgstr ""
msgid "The site you requested is not an image!"
msgstr ""
#: ui/mainwindow.cpp:2025
#: ui/mainwindow.cpp:2011
msgid ""
"The version of Clementine you've just updated to requires a full library "
"rescan because of the new features listed below:"
@ -3897,7 +3897,7 @@ msgid ""
"deleted:"
msgstr ""
#: library/libraryview.cpp:460 ui/mainwindow.cpp:1840 widgets/fileview.cpp:186
#: library/libraryview.cpp:460 ui/mainwindow.cpp:1826 widgets/fileview.cpp:186
msgid ""
"These files will be deleted from disk, are you sure you want to continue?"
msgstr ""
@ -3922,7 +3922,7 @@ msgstr ""
msgid "Third level"
msgstr ""
#: internet/jamendoservice.cpp:157
#: internet/jamendoservice.cpp:166
msgid ""
"This action will create a database which could be as big as 150 MB.\n"
"Do you want to continue anyway?"
@ -4002,7 +4002,7 @@ msgstr ""
msgid "Toggle fullscreen"
msgstr ""
#: ui/mainwindow.cpp:1356
#: ui/mainwindow.cpp:1342
msgid "Toggle queue status"
msgstr ""
@ -4325,7 +4325,7 @@ msgstr ""
msgid "Windows Media audio"
msgstr ""
#: ui/mainwindow.cpp:2030
#: ui/mainwindow.cpp:2016
msgid "Would you like to run a full rescan right now?"
msgstr ""
@ -4444,7 +4444,7 @@ msgstr ""
msgid "Your Magnatune credentials were incorrect"
msgstr ""
#: ui/edittagdialog.cpp:719 ui/mainwindow.cpp:2130
#: ui/edittagdialog.cpp:719 ui/mainwindow.cpp:2116
msgid ""
"Your gstreamer installation is missing the 'ofa' plugin. This is required "
"for automatic tag fetching. Try installing the 'gstreamer-plugins-bad' "

View File

@ -241,20 +241,6 @@ MainWindow::MainWindow(
library_->backend(), tr("Library"), "library",
IconLoader::Load("folder-sound"), global_search));
global_search->AddProvider(new LibrarySearchProvider(
internet_model_->Service<MagnatuneService>()->library_backend(),
tr("Magnatune"),
"magnatune",
QIcon(":/providers/magnatune.png"),
global_search));
global_search->AddProvider(new LibrarySearchProvider(
internet_model_->Service<JamendoService>()->library_backend(),
tr("Jamendo"),
"jamendo",
QIcon(":/providers/jamendo.png"),
global_search),
false /* disabled Jamendo by default */);
global_search->ReloadSettings();
ui_->global_search->Init(global_search);