mirror of
https://github.com/clementine-player/Clementine
synced 2025-01-31 11:35:24 +01:00
Allow names for custom saved streams. Fixes issue #242
This commit is contained in:
parent
4836b8d420
commit
791534703c
@ -33,6 +33,7 @@ class SimpleTreeItem {
|
||||
void InsertNotify(T* _parent);
|
||||
void DeleteNotify(int child_row);
|
||||
void ClearNotify();
|
||||
void ChangedNotify();
|
||||
|
||||
void Delete(int child_row);
|
||||
T* ChildByKey(const QString& key) const;
|
||||
@ -128,6 +129,11 @@ void SimpleTreeItem<T>::ClearNotify() {
|
||||
model->EndDelete();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void SimpleTreeItem<T>::ChangedNotify() {
|
||||
model->EmitDataChanged(static_cast<T*>(this));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
SimpleTreeItem<T>::~SimpleTreeItem() {
|
||||
qDeleteAll(children);
|
||||
|
@ -44,6 +44,7 @@ class SimpleTreeModel : public QAbstractItemModel {
|
||||
void EndInsert();
|
||||
void BeginDelete(T* parent, int start, int end = -1);
|
||||
void EndDelete();
|
||||
void EmitDataChanged(T* item);
|
||||
|
||||
protected:
|
||||
virtual void LazyPopulate(T* item) = 0;
|
||||
@ -144,4 +145,10 @@ void SimpleTreeModel<T>::EndDelete() {
|
||||
endRemoveRows();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void SimpleTreeModel<T>::EmitDataChanged(T *item) {
|
||||
QModelIndex index(ItemToIndex(item));
|
||||
emit dataChanged(index, index);
|
||||
}
|
||||
|
||||
#endif // SIMPLETREEMODEL_H
|
||||
|
@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
#include "savedradio.h"
|
||||
#include "ui/addstreamdialog.h"
|
||||
#include "ui/iconloader.h"
|
||||
|
||||
#include <QSettings>
|
||||
@ -26,13 +27,17 @@ const char* SavedRadio::kSettingsGroup = "SavedRadio";
|
||||
SavedRadio::SavedRadio(RadioModel* parent)
|
||||
: RadioService(kServiceName, parent),
|
||||
root_(NULL),
|
||||
context_menu_(new QMenu)
|
||||
context_menu_(new QMenu),
|
||||
edit_dialog_(new AddStreamDialog)
|
||||
{
|
||||
add_action_ = context_menu_->addAction(IconLoader::Load("media-playback-start"), tr("Add to playlist"), this, SLOT(AddToPlaylist()));
|
||||
remove_action_ = context_menu_->addAction(IconLoader::Load("list-remove"), tr("Remove"), this, SLOT(Remove()));
|
||||
edit_action_ = context_menu_->addAction(IconLoader::Load("edit-rename"), tr("Edit..."), this, SLOT(Edit()));
|
||||
context_menu_->addSeparator();
|
||||
context_menu_->addAction(IconLoader::Load("document-open-remote"), tr("Add another stream..."), this, SIGNAL(ShowAddStreamDialog()));
|
||||
|
||||
edit_dialog_->set_save_visible(false);
|
||||
|
||||
LoadStreams();
|
||||
}
|
||||
|
||||
@ -49,7 +54,7 @@ RadioItem* SavedRadio::CreateRootItem(RadioItem* parent) {
|
||||
void SavedRadio::LazyPopulate(RadioItem* item) {
|
||||
switch (item->type) {
|
||||
case RadioItem::Type_Service:
|
||||
foreach (const QString& stream, streams_)
|
||||
foreach (const Stream& stream, streams_)
|
||||
ItemForStream(stream, root_);
|
||||
|
||||
break;
|
||||
@ -69,7 +74,7 @@ void SavedRadio::LoadStreams() {
|
||||
int count = s.beginReadArray("streams");
|
||||
for (int i=0 ; i<count ; ++i) {
|
||||
s.setArrayIndex(i);
|
||||
streams_ << s.value("url").toString();
|
||||
streams_ << Stream(s.value("url").toString(), s.value("name").toString());
|
||||
}
|
||||
s.endArray();
|
||||
}
|
||||
@ -82,7 +87,8 @@ void SavedRadio::SaveStreams() {
|
||||
s.beginWriteArray("streams", count);
|
||||
for (int i=0 ; i<count ; ++i) {
|
||||
s.setArrayIndex(i);
|
||||
s.setValue("url", streams_[i]);
|
||||
s.setValue("url", streams_[i].url_);
|
||||
s.setValue("name", streams_[i].name_);
|
||||
}
|
||||
s.endArray();
|
||||
}
|
||||
@ -93,36 +99,56 @@ void SavedRadio::ShowContextMenu(RadioItem* item, const QModelIndex&,
|
||||
|
||||
add_action_->setEnabled(item != root_);
|
||||
remove_action_->setEnabled(item != root_);
|
||||
edit_action_->setEnabled(item != root_);
|
||||
|
||||
context_menu_->popup(global_pos);
|
||||
}
|
||||
|
||||
void SavedRadio::Remove() {
|
||||
streams_.removeAll(context_item_->key);
|
||||
streams_.removeAll(Stream(QUrl(context_item_->key)));
|
||||
context_item_->parent->DeleteNotify(context_item_->row);
|
||||
SaveStreams();
|
||||
}
|
||||
|
||||
void SavedRadio::Edit() {
|
||||
edit_dialog_->set_name(context_item_->display_text);
|
||||
edit_dialog_->set_url(context_item_->key);
|
||||
if (edit_dialog_->exec() == QDialog::Rejected)
|
||||
return;
|
||||
|
||||
int i = streams_.indexOf(Stream(QUrl(context_item_->key)));
|
||||
Stream& stream = streams_[i];
|
||||
stream.name_ = edit_dialog_->name();
|
||||
stream.url_ = edit_dialog_->url();
|
||||
|
||||
context_item_->display_text = stream.name_;
|
||||
context_item_->key = stream.url_.toString();
|
||||
context_item_->ChangedNotify();
|
||||
}
|
||||
|
||||
void SavedRadio::AddToPlaylist() {
|
||||
emit AddItemToPlaylist(context_item_);
|
||||
}
|
||||
|
||||
RadioItem* SavedRadio::ItemForStream(const QUrl& url, RadioItem* parent) {
|
||||
RadioItem* s = new RadioItem(this, Type_Stream, url.toString(), parent);
|
||||
RadioItem* SavedRadio::ItemForStream(const Stream& stream, RadioItem* parent) {
|
||||
RadioItem* s = new RadioItem(this, Type_Stream, stream.url_.toString(), parent);
|
||||
if (!stream.name_.isEmpty())
|
||||
s->display_text = stream.name_;
|
||||
s->lazy_loaded = true;
|
||||
s->icon = QIcon(":last.fm/icon_radio.png");
|
||||
s->playable = true;
|
||||
return s;
|
||||
}
|
||||
|
||||
void SavedRadio::Add(const QUrl &url) {
|
||||
if (streams_.contains(url.toString()))
|
||||
void SavedRadio::Add(const QUrl &url, const QString& name) {
|
||||
if (streams_.contains(Stream(url)))
|
||||
return;
|
||||
|
||||
streams_ << url.toString();
|
||||
Stream stream(url, name);
|
||||
streams_ << stream;
|
||||
|
||||
if (root_->lazy_loaded) {
|
||||
RadioItem* s = ItemForStream(url, NULL);
|
||||
RadioItem* s = ItemForStream(stream, NULL);
|
||||
s->InsertNotify(root_);
|
||||
}
|
||||
SaveStreams();
|
||||
|
@ -19,8 +19,12 @@
|
||||
|
||||
#include "radioservice.h"
|
||||
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
class QMenu;
|
||||
|
||||
class AddStreamDialog;
|
||||
|
||||
class SavedRadio : public RadioService {
|
||||
Q_OBJECT
|
||||
|
||||
@ -41,7 +45,7 @@ class SavedRadio : public RadioService {
|
||||
void ShowContextMenu(RadioItem* item, const QModelIndex& index,
|
||||
const QPoint& global_pos);
|
||||
|
||||
void Add(const QUrl& url);
|
||||
void Add(const QUrl& url, const QString& name = QString());
|
||||
|
||||
signals:
|
||||
void ShowAddStreamDialog();
|
||||
@ -49,11 +53,23 @@ class SavedRadio : public RadioService {
|
||||
private slots:
|
||||
void AddToPlaylist();
|
||||
void Remove();
|
||||
void Edit();
|
||||
|
||||
private:
|
||||
struct Stream {
|
||||
Stream(const QUrl& url, const QString& name = QString())
|
||||
: url_(url), name_(name) {}
|
||||
|
||||
// For QList::contains
|
||||
bool operator ==(const Stream& other) const { return url_ == other.url_; }
|
||||
|
||||
QUrl url_;
|
||||
QString name_;
|
||||
};
|
||||
|
||||
void LoadStreams();
|
||||
void SaveStreams();
|
||||
RadioItem* ItemForStream(const QUrl& url, RadioItem* parent);
|
||||
RadioItem* ItemForStream(const Stream& stream, RadioItem* parent);
|
||||
|
||||
private:
|
||||
RadioItem* root_;
|
||||
@ -62,8 +78,11 @@ class SavedRadio : public RadioService {
|
||||
|
||||
QAction* add_action_;
|
||||
QAction* remove_action_;
|
||||
QAction* edit_action_;
|
||||
|
||||
QStringList streams_;
|
||||
QList<Stream> streams_;
|
||||
|
||||
boost::scoped_ptr<AddStreamDialog> edit_dialog_;
|
||||
};
|
||||
|
||||
#endif // SAVEDRADIO_H
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -903,7 +906,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -605,6 +605,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Služba rádia nemohla být načtena :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Přidat další proud..."
|
||||
|
||||
@ -909,8 +912,11 @@ msgstr "Přidat proud"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Zadat URL proudu internetového rádia:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Uložit tento proud v kartě Rádií"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Správce obalů"
|
||||
@ -1254,6 +1260,9 @@ msgstr "Hlasitost %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Uložit tento proud v kartě Rádií"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Možnosti"
|
||||
|
||||
|
@ -607,6 +607,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Radiotjeneste kunne ikke indlæses :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Tilføj endnu en stream..."
|
||||
|
||||
@ -912,8 +915,11 @@ msgstr "Tilføj stream"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Indtast URL'en til en internetradiostream:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Gem denne stream i radio-fanen"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Omslagshåndtering"
|
||||
@ -1257,6 +1263,9 @@ msgstr "Lydstyrke %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Gem denne stream i radio-fanen"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Indstillinger"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr "Magnatune durchsuchen"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Radioservice konnte nicht geladen werden"
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Stream hinzufügen..."
|
||||
|
||||
@ -910,8 +913,11 @@ msgstr "Stream hinzufügen"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Geben sie die Adresse eines Internetradios an:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Stream zu \"Meine Internetradios\" hinzufügen"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Cover-Verwaltung"
|
||||
@ -1257,6 +1263,9 @@ msgstr "Lautstärke %1"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Stream zu \"Meine Internetradios\" hinzufügen"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Einstellungen"
|
||||
|
||||
|
@ -607,6 +607,9 @@ msgstr "Εύρεση στο Magnatune"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Η υπηρεσίες ραδιοφώνου απέτυχαν να φορτωθούν :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Προσθήκη άλλης ροής..."
|
||||
|
||||
@ -913,8 +916,11 @@ msgstr "Προσθήκη ροής"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Εισαγωγή της διεύθυνσης μιας ροής ραδιοφώνου:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Αποθήκευση της ροής αυτής στην καρτέλα του ραδιοφώνου"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Διαχείριση εξώφυλλων"
|
||||
@ -1258,6 +1264,9 @@ msgstr "Ένταση %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Αποθήκευση της ροής αυτής στην καρτέλα του ραδιοφώνου"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Επιλογές"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Radio service couldn't be loaded :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Add another stream..."
|
||||
|
||||
@ -907,8 +910,11 @@ msgstr "Add Stream"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Enter the URL of an internet radio stream:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Cover Manager"
|
||||
@ -1252,6 +1258,9 @@ msgstr "Volume %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Save this stream in the Radio tab"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Options"
|
||||
|
||||
|
@ -610,6 +610,9 @@ msgstr "Buscar en Magnatune"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Servicio de radio no pudo ser cargado :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Añadir un flujo de radio..."
|
||||
|
||||
@ -917,8 +920,11 @@ msgstr "Añadir Flujo de Radio"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Ingrese la URL de un flujo de radio por internet:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Guardar este flujo en la seccion de Radios"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Gestor de carátulas"
|
||||
@ -1264,6 +1270,9 @@ msgstr "Volumen %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Guardar este flujo en la seccion de Radios"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Opciones"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -903,7 +906,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -611,6 +611,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Le service radio n'a pas pu être chargé :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Ajouter un autre flux..."
|
||||
|
||||
@ -915,8 +918,11 @@ msgstr "Ajouter un flux"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Entrez l'adresse du flux d'une radio internet :"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Conserver un raccourci vers ce flux dans l'onglet Radio"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Gestionnaire de jaquettes"
|
||||
@ -1262,6 +1268,9 @@ msgstr "Volume %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Conserver un raccourci vers ce flux dans l'onglet Radio"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Options"
|
||||
|
||||
|
@ -605,6 +605,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Servizo de rádio non pudo ser carregado :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Adicionar outra stream..."
|
||||
|
||||
@ -905,7 +908,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -607,6 +607,9 @@ msgstr "Cerca in Magnatune"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Il servizio radio non può essere caricato :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Aggiungi un altro flusso..."
|
||||
|
||||
@ -914,8 +917,11 @@ msgstr "Aggiungi flusso"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Inserisci l'URL di flusso radio in Internet:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Salva questo flusso nella scheda Radio"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Gestore copertine"
|
||||
@ -1261,6 +1267,9 @@ msgstr "Volume %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Salva questo flusso nella scheda Radio"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Opzioni"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -905,7 +908,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -605,6 +605,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Kunne ikke laste inn radiotjeneste :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Legg til enda en strøm..."
|
||||
|
||||
@ -909,8 +912,11 @@ msgstr "Legg til strøm"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Skriv adressen (URL) til en internett radiostrøm"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Lagre denne strømmen"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Behandling av plateomslag"
|
||||
@ -1254,6 +1260,9 @@ msgstr "Volum %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Lagre denne strømmen"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Instillinger"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -903,7 +906,10 @@ msgstr "Apondre un flux"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -605,6 +605,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Usługa radio nie może być załadowana :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Dodaj następny strumień..."
|
||||
|
||||
@ -907,8 +910,11 @@ msgstr "Dodaj URL"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Dodaj URL radia internetowego:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Zapisz URL na karcie Radio"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Menadżer okładek"
|
||||
@ -1252,6 +1258,9 @@ msgstr "Głośność %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Zapisz URL na karcie Radio"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Opcje"
|
||||
|
||||
|
@ -606,6 +606,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Serviço de rádio não pode ser carregado :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Adicionar outro stream..."
|
||||
|
||||
@ -910,8 +913,11 @@ msgstr "Adicionar uma stream"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Introduza um URL de uma stream de rádio da internet:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Guarde esta stream na Rádio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Gestor de Capas"
|
||||
@ -1255,6 +1261,9 @@ msgstr "Volume %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Guarde esta stream na Rádio tab"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Opções"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -903,7 +906,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Serviciul de radio nu a putut fi încărcat :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Adaugă alt flux..."
|
||||
|
||||
@ -904,7 +907,10 @@ msgstr "Adaugă flux"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -604,6 +604,9 @@ msgstr "Искать на Magnatune"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Сервис радио не запустился =("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Добавить другой поток..."
|
||||
|
||||
@ -909,8 +912,11 @@ msgstr "Добавить поток"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Введите адрес радиопотока:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Сохранить поток на вкладке Радио"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Менеджер обложек"
|
||||
@ -1255,6 +1261,9 @@ msgstr "Громкость %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Сохранить поток на вкладке Радио"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Настройки"
|
||||
|
||||
|
@ -605,6 +605,9 @@ msgstr "Hľadať v Magnatune"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Služba rádia sa nedá načítať :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Pridať ďalší stream..."
|
||||
|
||||
@ -911,8 +914,11 @@ msgstr "Pridať stream"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Vložte URL internetového rádio streamu:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Uložiť tento stream na karte Rádio"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Správca obalov"
|
||||
@ -1256,6 +1262,9 @@ msgstr "Hlasitosť %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Uložiť tento stream na karte Rádio"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Možnosti"
|
||||
|
||||
|
@ -606,6 +606,9 @@ msgstr "Sök Magnatune"
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr "Radiotjänsten kunde inte laddas :-("
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr "Lägg till en annan ström..."
|
||||
|
||||
@ -912,8 +915,11 @@ msgstr "Lägg till ström"
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr "Skriv in webbadressen till en radiostation på Internet:"
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgstr "Spara den här stationen i radiotabben"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
msgstr "Omslagshanterare"
|
||||
@ -1257,6 +1263,9 @@ msgstr "Volym %1%"
|
||||
msgid "0:00:00"
|
||||
msgstr "0:00:00"
|
||||
|
||||
#~ msgid "Save this stream in the Radio tab"
|
||||
#~ msgstr "Spara den här stationen i radiotabben"
|
||||
|
||||
#~ msgid "Options"
|
||||
#~ msgstr "Flaggor"
|
||||
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -903,7 +906,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -595,6 +595,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -894,7 +897,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -604,6 +604,9 @@ msgstr ""
|
||||
msgid "Radio service couldn't be loaded :-("
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add another stream..."
|
||||
msgstr ""
|
||||
|
||||
@ -903,7 +906,10 @@ msgstr ""
|
||||
msgid "Enter the URL of an internet radio stream:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save this stream in the Radio tab"
|
||||
msgid "Save this stream in the Internet tab"
|
||||
msgstr ""
|
||||
|
||||
msgid "Give it a name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cover Manager"
|
||||
|
@ -41,12 +41,7 @@ AddStreamDialog::AddStreamDialog(QWidget *parent)
|
||||
s.beginGroup(kSettingsGroup);
|
||||
ui_->save->setChecked(s.value("save", true).toBool());
|
||||
ui_->url->setText(s.value("url").toString());
|
||||
|
||||
// Connections to the saved streams service
|
||||
saved_radio_ = qobject_cast<SavedRadio*>(
|
||||
RadioModel::ServiceByName(SavedRadio::kServiceName));
|
||||
|
||||
connect(saved_radio_, SIGNAL(ShowAddStreamDialog()), SLOT(show()));
|
||||
ui_->name->setText(s.value("name").toString());
|
||||
}
|
||||
|
||||
AddStreamDialog::~AddStreamDialog() {
|
||||
@ -57,9 +52,27 @@ QUrl AddStreamDialog::url() const {
|
||||
return QUrl(ui_->url->text());
|
||||
}
|
||||
|
||||
QString AddStreamDialog::name() const {
|
||||
return ui_->name->text();
|
||||
}
|
||||
|
||||
void AddStreamDialog::set_name(const QString &name) {
|
||||
ui_->name->setText(name);
|
||||
}
|
||||
|
||||
void AddStreamDialog::set_url(const QUrl &url) {
|
||||
ui_->url->setText(url.toString());
|
||||
}
|
||||
|
||||
void AddStreamDialog::set_save_visible(bool visible) {
|
||||
ui_->save->setVisible(visible);
|
||||
if (!visible)
|
||||
ui_->name_container->setEnabled(true);
|
||||
}
|
||||
|
||||
void AddStreamDialog::accept() {
|
||||
if (ui_->save->isChecked()) {
|
||||
saved_radio_->Add(url());
|
||||
if (ui_->save->isChecked() && saved_radio_) {
|
||||
saved_radio_->Add(url(), name());
|
||||
}
|
||||
|
||||
// Save settings
|
||||
@ -67,6 +80,7 @@ void AddStreamDialog::accept() {
|
||||
s.beginGroup(kSettingsGroup);
|
||||
s.setValue("save", ui_->save->isChecked());
|
||||
s.setValue("url", url().toString());
|
||||
s.setValue("name", ui_->name->text());
|
||||
|
||||
QDialog::accept();
|
||||
}
|
||||
|
@ -30,7 +30,13 @@ class AddStreamDialog : public QDialog {
|
||||
AddStreamDialog(QWidget *parent = 0);
|
||||
~AddStreamDialog();
|
||||
|
||||
void set_url(const QUrl& url);
|
||||
void set_name(const QString& name);
|
||||
void set_save_visible(bool visible);
|
||||
void set_add_on_accept(SavedRadio* saved_radio) { saved_radio_ = saved_radio; }
|
||||
|
||||
QUrl url() const;
|
||||
QString name() const;
|
||||
|
||||
void accept();
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>122</height>
|
||||
<height>168</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -27,13 +27,32 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="save">
|
||||
<property name="text">
|
||||
<string>Save this stream in the Radio tab</string>
|
||||
<string>Save this stream in the Internet tab</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="name_container" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Give it a name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="name"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
@ -59,6 +78,12 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>url</tabstop>
|
||||
<tabstop>save</tabstop>
|
||||
<tabstop>name</tabstop>
|
||||
<tabstop>button_box</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
@ -68,12 +93,12 @@
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
<x>257</x>
|
||||
<y>158</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
<y>167</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
@ -84,12 +109,28 @@
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
<x>325</x>
|
||||
<y>158</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
<y>167</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>save</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>name_container</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>65</x>
|
||||
<y>75</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>111</x>
|
||||
<y>97</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "radio/radiomodel.h"
|
||||
#include "radio/radioview.h"
|
||||
#include "radio/radioviewcontainer.h"
|
||||
#include "radio/savedradio.h"
|
||||
#include "transcoder/transcodedialog.h"
|
||||
#include "ui/about.h"
|
||||
#include "ui/addstreamdialog.h"
|
||||
@ -325,6 +326,14 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg
|
||||
|
||||
LastFMButtonVisibilityChanged(radio_model_->GetLastFMService()->AreButtonsVisible());
|
||||
|
||||
// Connections to the saved streams service
|
||||
SavedRadio* saved_radio_ = qobject_cast<SavedRadio*>(
|
||||
RadioModel::ServiceByName(SavedRadio::kServiceName));
|
||||
add_stream_dialog_->set_add_on_accept(saved_radio_);
|
||||
|
||||
connect(saved_radio_, SIGNAL(ShowAddStreamDialog()),
|
||||
add_stream_dialog_.get(), SLOT(show()));
|
||||
|
||||
// Tray icon
|
||||
QMenu* tray_menu = new QMenu(this);
|
||||
tray_menu->addAction(ui_->action_previous_track);
|
||||
|
Loading…
x
Reference in New Issue
Block a user