Show a "Configure Magnatune" button on the magnatune header
This commit is contained in:
parent
782166db41
commit
5f92d652a9
|
@ -95,13 +95,11 @@ LibraryFilterWidget::LibraryFilterWidget(QWidget *parent)
|
|||
connect(group_by_group_, SIGNAL(triggered(QAction*)), SLOT(GroupByClicked(QAction*)));
|
||||
|
||||
// Library config menu
|
||||
QMenu* library_menu = new QMenu(this);
|
||||
library_menu->addMenu(filter_age_menu_);
|
||||
library_menu->addMenu(group_by_menu_);
|
||||
library_menu->addSeparator();
|
||||
config_action_ = library_menu->addAction(
|
||||
tr("Configure library..."), this, SLOT(ShowConfigDialog()));
|
||||
ui_->options->setMenu(library_menu);
|
||||
library_menu_ = new QMenu(this);
|
||||
library_menu_->addMenu(filter_age_menu_);
|
||||
library_menu_->addMenu(group_by_menu_);
|
||||
library_menu_->addSeparator();
|
||||
ui_->options->setMenu(library_menu_);
|
||||
}
|
||||
|
||||
LibraryFilterWidget::~LibraryFilterWidget() {
|
||||
|
@ -178,10 +176,6 @@ void LibraryFilterWidget::ClearFilter() {
|
|||
ui_->filter->setFocus();
|
||||
}
|
||||
|
||||
void LibraryFilterWidget::ShowConfigDialog() {
|
||||
settings_dialog_->OpenAtPage(SettingsDialog::Page_Library);
|
||||
}
|
||||
|
||||
void LibraryFilterWidget::SetFilterHint(const QString& hint) {
|
||||
ui_->filter->SetHint(hint);
|
||||
}
|
||||
|
@ -194,6 +188,6 @@ void LibraryFilterWidget::SetGroupByEnabled(bool enabled) {
|
|||
group_by_menu_->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void LibraryFilterWidget::SetConfigDialogEnabled(bool enabled) {
|
||||
config_action_->setEnabled(enabled);
|
||||
void LibraryFilterWidget::AddMenuAction(QAction* action) {
|
||||
library_menu_->addAction(action);
|
||||
}
|
||||
|
|
|
@ -41,17 +41,10 @@ class LibraryFilterWidget : public QWidget {
|
|||
void SetFilterHint(const QString& hint);
|
||||
void SetAgeFilterEnabled(bool enabled);
|
||||
void SetGroupByEnabled(bool enabled);
|
||||
void SetConfigDialogEnabled(bool enabled);
|
||||
void AddMenuAction(QAction* action);
|
||||
|
||||
void SetSettingsGroup(const QString& group) { settings_group_ = group; }
|
||||
void SetLibraryModel(LibraryModel* model);
|
||||
void SetSettingsDialog(SettingsDialog* dialog) { settings_dialog_ = dialog; }
|
||||
|
||||
signals:
|
||||
void LibraryConfigChanged();
|
||||
|
||||
public slots:
|
||||
void ShowConfigDialog();
|
||||
|
||||
private slots:
|
||||
void GroupingChanged(const LibraryModel::Grouping& g);
|
||||
|
@ -67,7 +60,7 @@ class LibraryFilterWidget : public QWidget {
|
|||
|
||||
QMenu* filter_age_menu_;
|
||||
QMenu* group_by_menu_;
|
||||
QAction* config_action_;
|
||||
QMenu* library_menu_;
|
||||
QActionGroup* group_by_group_;
|
||||
QSignalMapper* filter_age_mapper_;
|
||||
|
||||
|
|
|
@ -60,6 +60,7 @@ MagnatuneService::MagnatuneService(RadioModel* parent)
|
|||
context_menu_(new QMenu),
|
||||
library_backend_(NULL),
|
||||
library_model_(NULL),
|
||||
library_filter_(NULL),
|
||||
library_sort_model_(new QSortFilterProxyModel(this)),
|
||||
membership_(Membership_None),
|
||||
format_(Format_Ogg),
|
||||
|
@ -89,13 +90,21 @@ MagnatuneService::MagnatuneService(RadioModel* parent)
|
|||
context_menu_->addSeparator();
|
||||
context_menu_->addAction(IconLoader::Load("download"), tr("Open magnatune.com in browser"), this, SLOT(Homepage()));
|
||||
context_menu_->addAction(IconLoader::Load("view-refresh"), tr("Refresh catalogue"), this, SLOT(ReloadDatabase()));
|
||||
context_menu_->addAction(IconLoader::Load("configure"), tr("Configure Magnatune..."), this, SLOT(ShowConfig()));
|
||||
QAction* config_action = context_menu_->addAction(IconLoader::Load("configure"), tr("Configure Magnatune..."), this, SLOT(ShowConfig()));
|
||||
|
||||
library_filter_ = new LibraryFilterWidget(0);
|
||||
library_filter_->SetSettingsGroup(kSettingsGroup);
|
||||
library_filter_->SetLibraryModel(library_model_);
|
||||
library_filter_->SetFilterHint(tr("Search Magnatune"));
|
||||
library_filter_->SetAgeFilterEnabled(false);
|
||||
library_filter_->AddMenuAction(config_action);
|
||||
|
||||
library_model_->Init();
|
||||
}
|
||||
|
||||
MagnatuneService::~MagnatuneService() {
|
||||
delete context_menu_;
|
||||
delete library_filter_;
|
||||
}
|
||||
|
||||
void MagnatuneService::ReloadSettings() {
|
||||
|
@ -274,16 +283,6 @@ void MagnatuneService::Homepage() {
|
|||
QDesktopServices::openUrl(QUrl(kHomepage));
|
||||
}
|
||||
|
||||
bool MagnatuneService::SetupLibraryFilter(LibraryFilterWidget* w) const {
|
||||
w->SetSettingsGroup(kSettingsGroup);
|
||||
w->SetLibraryModel(library_model_);
|
||||
w->SetFilterHint(tr("Search Magnatune"));
|
||||
w->SetAgeFilterEnabled(false);
|
||||
w->SetConfigDialogEnabled(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
QUrl MagnatuneService::ModifyUrl(const QUrl& url) const {
|
||||
QUrl ret(url);
|
||||
|
||||
|
@ -324,3 +323,7 @@ void MagnatuneService::Download() {
|
|||
dialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
dialog->Show(songs);
|
||||
}
|
||||
|
||||
QWidget* MagnatuneService::HeaderWidget() const {
|
||||
return library_filter_;
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ class MagnatuneService : public RadioService {
|
|||
void ShowContextMenu(RadioItem* item, const QModelIndex& index,
|
||||
const QPoint& global_pos);
|
||||
|
||||
bool SetupLibraryFilter(LibraryFilterWidget *) const;
|
||||
QWidget* HeaderWidget() const;
|
||||
|
||||
void ReloadSettings();
|
||||
|
||||
|
@ -106,6 +106,7 @@ class MagnatuneService : public RadioService {
|
|||
|
||||
LibraryBackend* library_backend_;
|
||||
LibraryModel* library_model_;
|
||||
LibraryFilterWidget* library_filter_;
|
||||
QSortFilterProxyModel* library_sort_model_;
|
||||
|
||||
MembershipType membership_;
|
||||
|
|
|
@ -55,7 +55,7 @@ class RadioService : public QObject {
|
|||
|
||||
virtual PlaylistItem::Options playlistitem_options() const { return PlaylistItem::Default; }
|
||||
|
||||
virtual bool SetupLibraryFilter(LibraryFilterWidget*) const { return false; }
|
||||
virtual QWidget* HeaderWidget() const { return NULL; }
|
||||
|
||||
virtual void ReloadSettings() {}
|
||||
|
||||
|
|
|
@ -23,23 +23,19 @@
|
|||
#include <QtDebug>
|
||||
#include <QTimeLine>
|
||||
|
||||
const int RadioViewContainer::kAnimationDuration = 500;
|
||||
|
||||
RadioViewContainer::RadioViewContainer(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
ui_(new Ui_RadioViewContainer),
|
||||
model_(NULL),
|
||||
current_service_(NULL),
|
||||
filter_visible_(false),
|
||||
filter_animation_(new QTimeLine(500, this))
|
||||
current_header_(NULL)
|
||||
{
|
||||
ui_->setupUi(this);
|
||||
|
||||
connect(ui_->tree, SIGNAL(collapsed(QModelIndex)), SLOT(Collapsed(QModelIndex)));
|
||||
connect(ui_->tree, SIGNAL(expanded(QModelIndex)), SLOT(Expanded(QModelIndex)));
|
||||
|
||||
filter_animation_->setFrameRange(0, ui_->filter->sizeHint().height());
|
||||
connect(filter_animation_, SIGNAL(frameChanged(int)), SLOT(SetFilterHeight(int)));
|
||||
|
||||
ui_->filter->setMaximumHeight(0);
|
||||
}
|
||||
|
||||
RadioViewContainer::~RadioViewContainer() {
|
||||
|
@ -60,22 +56,36 @@ void RadioViewContainer::SetModel(RadioModel* model) {
|
|||
SLOT(CurrentIndexChanged(QModelIndex)));
|
||||
}
|
||||
|
||||
void RadioViewContainer::ServiceChanged(const QModelIndex& index, bool changed_away) {
|
||||
void RadioViewContainer::ServiceChanged(const QModelIndex& index) {
|
||||
RadioItem* item = model_->IndexToItem(
|
||||
model_->merged_model()->FindSourceParent(index));
|
||||
if (!item)
|
||||
return;
|
||||
|
||||
if (changed_away) {
|
||||
SetFilterVisible(false);
|
||||
} else {
|
||||
RadioService* service = item->service;
|
||||
if (!service || service == current_service_)
|
||||
return;
|
||||
current_service_ = service;
|
||||
RadioService* service = item->service;
|
||||
if (!service || service == current_service_)
|
||||
return;
|
||||
current_service_ = service;
|
||||
|
||||
SetFilterVisible(service->SetupLibraryFilter(ui_->filter));
|
||||
QWidget* header = service->HeaderWidget();
|
||||
if (header && !headers_.contains(header)) {
|
||||
header->setParent(ui_->header_container);
|
||||
header->setMaximumHeight(0);
|
||||
ui_->header_container->layout()->addWidget(header);
|
||||
header->show();
|
||||
|
||||
HeaderData d;
|
||||
d.visible_ = false;
|
||||
d.animation_ = new QTimeLine(kAnimationDuration, this);
|
||||
d.animation_->setFrameRange(0, header->sizeHint().height());
|
||||
connect(d.animation_, SIGNAL(frameChanged(int)), SLOT(SetHeaderHeight(int)));
|
||||
|
||||
headers_.insert(header, d);
|
||||
}
|
||||
|
||||
SetHeaderVisible(current_header_, false);
|
||||
current_header_ = header;
|
||||
SetHeaderVisible(current_header_, true);
|
||||
}
|
||||
|
||||
void RadioViewContainer::CurrentIndexChanged(const QModelIndex& index) {
|
||||
|
@ -84,8 +94,9 @@ void RadioViewContainer::CurrentIndexChanged(const QModelIndex& index) {
|
|||
|
||||
void RadioViewContainer::Collapsed(const QModelIndex& index) {
|
||||
if (model_->merged_model()->mapToSource(index).model() == model_) {
|
||||
SetFilterVisible(false);
|
||||
SetHeaderVisible(current_header_, false);
|
||||
current_service_ = NULL;
|
||||
current_header_ = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,15 +104,29 @@ void RadioViewContainer::Expanded(const QModelIndex& index) {
|
|||
ServiceChanged(index);
|
||||
}
|
||||
|
||||
void RadioViewContainer::SetFilterVisible(bool visible) {
|
||||
if (filter_visible_ == visible)
|
||||
void RadioViewContainer::SetHeaderVisible(QWidget* header, bool visible) {
|
||||
if (!header)
|
||||
return;
|
||||
filter_visible_ = visible;
|
||||
|
||||
filter_animation_->setDirection(visible ? QTimeLine::Forward : QTimeLine::Backward);
|
||||
filter_animation_->start();
|
||||
HeaderData& d = headers_[header];
|
||||
if (d.visible_ == visible)
|
||||
return;
|
||||
d.visible_ = visible;
|
||||
|
||||
d.animation_->setDirection(visible ? QTimeLine::Forward : QTimeLine::Backward);
|
||||
d.animation_->start();
|
||||
}
|
||||
|
||||
void RadioViewContainer::SetFilterHeight(int height) {
|
||||
ui_->filter->setMaximumHeight(height);
|
||||
void RadioViewContainer::SetHeaderHeight(int height) {
|
||||
QTimeLine* animation = qobject_cast<QTimeLine*>(sender());
|
||||
QWidget* header = NULL;
|
||||
foreach (QWidget* h, headers_.keys()) {
|
||||
if (headers_[h].animation_ == animation) {
|
||||
header = h;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (header)
|
||||
header->setMaximumHeight(height);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,9 @@
|
|||
#define RADIOVIEWCONTAINER_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QMap>
|
||||
|
||||
class LibraryFilterWidget;
|
||||
class RadioModel;
|
||||
class RadioService;
|
||||
class RadioView;
|
||||
|
@ -34,6 +36,8 @@ class RadioViewContainer : public QWidget {
|
|||
RadioViewContainer(QWidget* parent = 0);
|
||||
~RadioViewContainer();
|
||||
|
||||
static const int kAnimationDuration;
|
||||
|
||||
void SetModel(RadioModel* model);
|
||||
|
||||
RadioView* tree() const;
|
||||
|
@ -42,19 +46,24 @@ class RadioViewContainer : public QWidget {
|
|||
void Collapsed(const QModelIndex& index);
|
||||
void Expanded(const QModelIndex& index);
|
||||
void CurrentIndexChanged(const QModelIndex& index);
|
||||
void SetFilterHeight(int height);
|
||||
void SetHeaderHeight(int height);
|
||||
|
||||
private:
|
||||
void ServiceChanged(const QModelIndex& index, bool changed_away = false);
|
||||
void SetFilterVisible(bool visible);
|
||||
void ServiceChanged(const QModelIndex& index);
|
||||
void SetHeaderVisible(QWidget* header, bool visible);
|
||||
|
||||
private:
|
||||
Ui_RadioViewContainer* ui_;
|
||||
RadioModel* model_;
|
||||
RadioService* current_service_;
|
||||
|
||||
bool filter_visible_;
|
||||
QTimeLine* filter_animation_;
|
||||
QWidget* current_header_;
|
||||
|
||||
struct HeaderData {
|
||||
bool visible_;
|
||||
QTimeLine* animation_;
|
||||
};
|
||||
QMap<QWidget*, HeaderData> headers_;
|
||||
};
|
||||
|
||||
#endif // RADIOVIEWCONTAINER_H
|
||||
|
|
|
@ -21,7 +21,13 @@
|
|||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="LibraryFilterWidget" name="filter" native="true"/>
|
||||
<widget class="QWidget" name="header_container" native="true">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="RadioView" name="tree">
|
||||
|
@ -56,12 +62,6 @@
|
|||
<extends>QTreeView</extends>
|
||||
<header>radio/radioview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>LibraryFilterWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>library/libraryfilterwidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "عرض"
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "فنانون مختلفون"
|
||||
|
||||
|
@ -706,6 +703,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -151,9 +151,6 @@ msgstr "Zobrazit"
|
|||
msgid "Group by"
|
||||
msgstr "Seskupit podle"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Nastavit knihovnu..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Různí umělci"
|
||||
|
||||
|
@ -708,6 +705,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr "Všechny soubory (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Nastavit knihovnu..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Zastavit po této skladbě"
|
||||
|
||||
|
|
|
@ -153,9 +153,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Indstil bibliotek..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Diverse kunstnere"
|
||||
|
||||
|
@ -711,6 +708,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Indstil bibliotek..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Stop efter dette spor"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Anzeigen"
|
|||
msgid "Group by"
|
||||
msgstr "Gruppieren nach"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Musiksammlung einrichten..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Verschiedene Interpreten"
|
||||
|
||||
|
@ -710,6 +707,9 @@ msgstr "Wiedergabelisten (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Alle Dateien (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Musiksammlung einrichten..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Wiedergabe nach diesem Stück beenden"
|
||||
|
||||
|
|
|
@ -152,9 +152,6 @@ msgstr "Εμφάνιση"
|
|||
msgid "Group by"
|
||||
msgstr "Ομαδοποίηση κατά"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Παραμετροποίηση της βιβλιοθήκης"
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Διάφοροι καλλιτέχνες"
|
||||
|
||||
|
@ -713,6 +710,9 @@ msgstr "Λίστα αναπαραγωγής (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Όλα τα αρχεία (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Παραμετροποίηση της βιβλιοθήκης"
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Σταμάτημα μετά από αυτό το κομμάτι"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Show"
|
|||
msgid "Group by"
|
||||
msgstr "Group by"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configure library..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Various Artists"
|
||||
|
||||
|
@ -710,6 +707,9 @@ msgstr "Playlists (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "All Files (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configure library..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Stop after this track"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configure library..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Various Artists"
|
||||
|
||||
|
@ -707,6 +704,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configure library..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Stop after this track"
|
||||
|
||||
|
|
|
@ -151,9 +151,6 @@ msgstr "Mostrar"
|
|||
msgid "Group by"
|
||||
msgstr "Agrupar por"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar colección..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Varios Artistas"
|
||||
|
||||
|
@ -713,6 +710,9 @@ msgstr "Listas de reproducción (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Todos los Archivos"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar colección..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Detener reproducción al finalizar la pista"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Kirjaston asetukset"
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Useita artisteja"
|
||||
|
||||
|
@ -706,6 +703,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Kirjaston asetukset"
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Pysäytä toistettavan kappaleen jälkeen"
|
||||
|
||||
|
|
|
@ -151,9 +151,6 @@ msgstr "Afficher"
|
|||
msgid "Group by"
|
||||
msgstr "Grouper par"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurer votre bibliothèque..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Compilations d'artistes"
|
||||
|
||||
|
@ -710,6 +707,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr "Tous les fichiers (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurer votre bibliothèque..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Arrêter la lecture après cette piste"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar a biblioteca..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Vários Artistas"
|
||||
|
||||
|
@ -708,6 +705,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar a biblioteca..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Parar a reproduzón despois da faixa actual"
|
||||
|
||||
|
|
|
@ -151,9 +151,6 @@ msgstr "Mostra"
|
|||
msgid "Group by"
|
||||
msgstr "Raggruppa per"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configura raccolta..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Artisti vari"
|
||||
|
||||
|
@ -713,6 +710,9 @@ msgstr "Scalette (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Tutti i file (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configura raccolta..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Ferma dopo questa traccia"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr ""
|
||||
|
||||
|
@ -708,6 +705,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Sett opp bibliotek..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Diverse artister"
|
||||
|
||||
|
@ -708,6 +705,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Sett opp bibliotek..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Stopp etter denne sangen"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Afichar"
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Artistas divèrses"
|
||||
|
||||
|
@ -706,6 +703,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -151,9 +151,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Konfiguruj bibliotekę..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Różni wykonawcy"
|
||||
|
||||
|
@ -708,6 +705,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Konfiguruj bibliotekę..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Zatrzymaj po tym utworze"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Mostrar"
|
|||
msgid "Group by"
|
||||
msgstr "Agrupar por"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar biblioteca..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Vários Artistas"
|
||||
|
||||
|
@ -711,6 +708,9 @@ msgstr "Listas (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Todos os Ficheiros (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar biblioteca..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Parar depois desta faixa"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Exibir"
|
|||
msgid "Group by"
|
||||
msgstr "Organizar por"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar biblioteca"
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Vários Artistas"
|
||||
|
||||
|
@ -713,6 +710,9 @@ msgstr "Listas de reprodução (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Todos os Arquivos (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurar biblioteca"
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Parar depois desta música"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurează biblioteca..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Diferiți artiști"
|
||||
|
||||
|
@ -707,6 +704,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Configurează biblioteca..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Oprește după pista aceasta"
|
||||
|
||||
|
|
|
@ -149,9 +149,6 @@ msgstr "Показать"
|
|||
msgid "Group by"
|
||||
msgstr "Сгруппировать по"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Настройки коллекции..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Различные исполнители"
|
||||
|
||||
|
@ -711,6 +708,9 @@ msgstr "Плейлисты (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Все файлы (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Настройки коллекции..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Остановить после этой композиции"
|
||||
|
||||
|
|
|
@ -151,9 +151,6 @@ msgstr "Zobraziť"
|
|||
msgid "Group by"
|
||||
msgstr "Zoskupiť podľa"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Nastaviť zbierku..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Rôzni interpréti"
|
||||
|
||||
|
@ -711,6 +708,9 @@ msgstr "Playlisty (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Všetky súbory (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Nastaviť zbierku..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Zastaviť po tejto skladbe"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Visa"
|
|||
msgid "Group by"
|
||||
msgstr "Gruppera efter"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Ställ in bibliotek..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "Diverse artister"
|
||||
|
||||
|
@ -709,6 +706,9 @@ msgstr "Spellistor (*.m3u *.xspf *.xml)"
|
|||
msgid "All Files (*)"
|
||||
msgstr "Alla filer (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "Ställ in bibliotek..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr "Stoppa efter nuvarande spår"
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "Göster"
|
|||
msgid "Group by"
|
||||
msgstr "Grupla"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr ""
|
||||
|
||||
|
@ -706,6 +703,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr "Tüm Dosyalar (*)"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr "显示"
|
|||
msgid "Group by"
|
||||
msgstr "分组"
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "配置乐库..."
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr "多位艺人"
|
||||
|
||||
|
@ -706,6 +703,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr "配置乐库..."
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -150,9 +150,6 @@ msgstr ""
|
|||
msgid "Group by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Various Artists"
|
||||
msgstr ""
|
||||
|
||||
|
@ -706,6 +703,9 @@ msgstr ""
|
|||
msgid "All Files (*)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configure library..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop after this track"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -309,18 +309,18 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg
|
|||
connect(ui_->library_view, SIGNAL(doubleClicked(QModelIndex)), SLOT(LibraryItemDoubleClicked(QModelIndex)));
|
||||
connect(ui_->library_view, SIGNAL(Load(QModelIndex)), SLOT(LoadLibraryItemToPlaylist(QModelIndex)));
|
||||
connect(ui_->library_view, SIGNAL(AddToPlaylist(QModelIndex)), SLOT(AddLibraryItemToPlaylist(QModelIndex)));
|
||||
connect(ui_->library_view, SIGNAL(ShowConfigDialog()), ui_->library_filter, SLOT(ShowConfigDialog()));
|
||||
connect(ui_->library_view, SIGNAL(ShowConfigDialog()), SLOT(ShowLibraryConfig()));
|
||||
connect(library_->model(), SIGNAL(TotalSongCountUpdated(int)), ui_->library_view, SLOT(TotalSongCountUpdated(int)));
|
||||
connect(library_, SIGNAL(ScanStarted()), SLOT(LibraryScanStarted()));
|
||||
connect(library_, SIGNAL(ScanFinished()), SLOT(LibraryScanFinished()));
|
||||
|
||||
// Library filter widget
|
||||
QAction* library_config_action = new QAction(
|
||||
IconLoader::Load("configure"), tr("Configure library..."), this);
|
||||
connect(library_config_action, SIGNAL(triggered()), SLOT(ShowLibraryConfig()));
|
||||
ui_->library_filter->SetSettingsGroup(kSettingsGroup);
|
||||
ui_->library_filter->SetLibraryModel(library_->model());
|
||||
ui_->library_filter->SetSettingsDialog(settings_dialog_.get());
|
||||
connect(ui_->library_filter, SIGNAL(LibraryConfigChanged()), ui_->library_view,
|
||||
SLOT(ReloadSettings()));
|
||||
connect(ui_->library_filter, SIGNAL(LibraryConfigChanged()), SLOT(ReloadSettings()));
|
||||
ui_->library_filter->AddMenuAction(library_config_action);
|
||||
|
||||
// Playlist menu
|
||||
playlist_play_pause_ = playlist_menu_->addAction(tr("Play"), this, SLOT(PlaylistPlay()));
|
||||
|
@ -1147,3 +1147,7 @@ void MainWindow::PlaylistUndoRedoChanged(QAction *undo, QAction *redo) {
|
|||
playlist_menu_->insertAction(playlist_undoredo_, undo);
|
||||
playlist_menu_->insertAction(playlist_undoredo_, redo);
|
||||
}
|
||||
|
||||
void MainWindow::ShowLibraryConfig() {
|
||||
settings_dialog_->OpenAtPage(SettingsDialog::Page_Library);
|
||||
}
|
||||
|
|
|
@ -132,6 +132,7 @@ class MainWindow : public QMainWindow {
|
|||
void LibraryScanStarted();
|
||||
void LibraryScanFinished();
|
||||
|
||||
void ShowLibraryConfig();
|
||||
void ReloadSettings();
|
||||
|
||||
void AddFile();
|
||||
|
|
Loading…
Reference in New Issue