Load playlist button works
This commit is contained in:
parent
c9c44ca592
commit
1f8b0de49c
@ -17,6 +17,7 @@
|
||||
#include "playlistcontainer.h"
|
||||
#include "playlistmanager.h"
|
||||
#include "ui_playlistcontainer.h"
|
||||
#include "playlistparsers/playlistparser.h"
|
||||
#include "ui/iconloader.h"
|
||||
|
||||
#include <QUndoStack>
|
||||
@ -25,12 +26,16 @@
|
||||
#include <QTimeLine>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QLabel>
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
|
||||
const char* PlaylistContainer::kSettingsGroup = "Playlist";
|
||||
|
||||
PlaylistContainer::PlaylistContainer(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
ui_(new Ui_PlaylistContainer),
|
||||
parser_(new PlaylistParser(this)),
|
||||
manager_(NULL),
|
||||
undo_(NULL),
|
||||
redo_(NULL),
|
||||
starting_up_(true),
|
||||
@ -228,7 +233,27 @@ void PlaylistContainer::NewPlaylist() {
|
||||
}
|
||||
|
||||
void PlaylistContainer::LoadPlaylist() {
|
||||
QString filename = settings_.value("last_load_playlist").toString();
|
||||
filename = QFileDialog::getOpenFileName(
|
||||
this, tr("Load playlist"), filename,
|
||||
tr("Playlists (%1)").arg(parser_->filter_text()));
|
||||
|
||||
if (filename.isNull())
|
||||
return;
|
||||
|
||||
settings_.setValue("last_load_playlist", filename);
|
||||
|
||||
SongList songs = parser_->Load(filename);
|
||||
QFileInfo info(filename);
|
||||
|
||||
if (songs.isEmpty()) {
|
||||
QMessageBox::information(this, tr("Error"),
|
||||
tr("The playlist '%1' was empty or could not be loaded.").arg(
|
||||
info.completeBaseName()));
|
||||
return;
|
||||
}
|
||||
|
||||
manager_->New(info.baseName(), songs);
|
||||
}
|
||||
|
||||
void PlaylistContainer::SavePlaylist() {
|
||||
|
@ -24,6 +24,7 @@ class Ui_PlaylistContainer;
|
||||
|
||||
class Playlist;
|
||||
class PlaylistManager;
|
||||
class PlaylistParser;
|
||||
class PlaylistView;
|
||||
|
||||
class QTimeLine;
|
||||
@ -84,6 +85,7 @@ private:
|
||||
private:
|
||||
Ui_PlaylistContainer* ui_;
|
||||
|
||||
PlaylistParser* parser_;
|
||||
PlaylistManager* manager_;
|
||||
QAction* undo_;
|
||||
QAction* redo_;
|
||||
|
@ -72,13 +72,15 @@ Playlist* PlaylistManager::AddPlaylist(int id, const QString& name) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void PlaylistManager::New(const QString& name) {
|
||||
void PlaylistManager::New(const QString& name, const SongList& songs) {
|
||||
int id = playlist_backend_->CreatePlaylist(name);
|
||||
|
||||
if (id == -1)
|
||||
qFatal("Couldn't create playlist");
|
||||
|
||||
AddPlaylist(id, name);
|
||||
Playlist* playlist = AddPlaylist(id, name);
|
||||
playlist->InsertSongs(songs);
|
||||
|
||||
SetCurrentPlaylist(id);
|
||||
}
|
||||
|
||||
|
@ -20,11 +20,12 @@
|
||||
#include <QObject>
|
||||
#include <QMap>
|
||||
|
||||
#include "core/song.h"
|
||||
|
||||
class LibraryBackend;
|
||||
class Playlist;
|
||||
class PlaylistBackend;
|
||||
class PlaylistSequence;
|
||||
class Song;
|
||||
|
||||
class QModelIndex;
|
||||
class QUrl;
|
||||
@ -53,7 +54,7 @@ public:
|
||||
PlaylistSequence* sequence() const { return sequence_; }
|
||||
|
||||
public slots:
|
||||
void New(const QString& name);
|
||||
void New(const QString& name, const SongList& songs = SongList());
|
||||
void Load(const QString& filename);
|
||||
void Save(int id, const QString& filename);
|
||||
void Rename(int id, const QString& new_name);
|
||||
|
@ -38,6 +38,13 @@ QStringList PlaylistParser::file_extensions() const {
|
||||
return ret;
|
||||
}
|
||||
|
||||
QString PlaylistParser::filter_text() const {
|
||||
QStringList extensions;
|
||||
foreach (const QString& extension, file_extensions())
|
||||
extensions << "*." + extension;
|
||||
return extensions.join(" ");
|
||||
}
|
||||
|
||||
bool PlaylistParser::can_load(const QString &filename) const {
|
||||
return file_extensions().contains(QFileInfo(filename).suffix());
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ public:
|
||||
PlaylistParser(QObject *parent = 0);
|
||||
|
||||
QStringList file_extensions() const;
|
||||
QString filter_text() const;
|
||||
|
||||
bool can_load(const QString& filename) const;
|
||||
|
||||
SongList Load(const QString& filename) const;
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -341,6 +341,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Seznam skladeb"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -343,6 +343,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Spilleliste"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Wiedergabeliste"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -343,6 +343,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Λίστα"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Playlist"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -346,6 +346,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de reproducción"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -345,6 +345,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Liste de lecture"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -343,6 +343,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Scaletta"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -341,6 +341,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Spilleliste"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de lectura"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -341,6 +341,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Playlista"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de Reprodução"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Listă de redare"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Плейлист"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -341,6 +341,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Playlist"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -342,6 +342,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Spellista"
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr "ASF"
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -331,6 +331,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -340,6 +340,20 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load playlist"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "Playlists (%1)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#, qt-format
|
||||
msgid "The playlist '%1' was empty or could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
msgid "ASF"
|
||||
msgstr ""
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user