+/*
+ * SomePlayer - An alternate music player for Maemo 5
+ * Copyright (C) 2010 Nikolay (somebody) Tischenko <niktischenko@gmail.com>
+ *
+ * This program 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 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
#include "playlistdialog.h"
#include "ui_playlistdialog.h"
#include <QStandardItemModel>
model->appendRow(new QStandardItem(str));
}
ui->listView->setModel(model);
+ setWindowTitle("Playlists");
}
PlaylistDialog::~PlaylistDialog()
+/*
+ * SomePlayer - An alternate music player for Maemo 5
+ * Copyright (C) 2010 Nikolay (somebody) Tischenko <niktischenko@gmail.com>
+ *
+ * This program 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 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
#ifndef PLAYLISTDIALOG_H
#define PLAYLISTDIALOG_H
#include "track.h"
#include "tagresolver.h"
+#include <QFileInfo>
using namespace SomePlayer::DataObjects;
Track::Track(int id, TrackMetadata metadata, QString source) : QObject() {
_id = id;
_metadata = metadata;
+ if (_metadata.title() == _UNKNOWN_TRACK_) {
+ QFileInfo info(source);
+ _metadata.setTitle(info.baseName());
+ }
_source = source;
_count = 0;
}
this->_count = track._count;
}
+/// deprecated
Track::Track(QString source) :QObject() {
_resolver = new TagResolver(this);
connect(_resolver, SIGNAL(decoded(Track)), this, SLOT(decoded(Track)));
}
TrackMetadata::TrackMetadata(QString title = "", QString artist = "", QString album = "", int length = 0) {
- _metadata["TITLE"] = title == "" ? "Unknown title" : title.trimmed();
- _metadata["ARTIST"] = artist == "" ? "Unknown artist" : artist.trimmed();
- _metadata["ALBUM"] = album == "" ? "Unknown album" : album.trimmed();
+ _metadata["TITLE"] = title == "" ? _UNKNOWN_TRACK_ : title.trimmed();
+ _metadata["ARTIST"] = artist == "" ? _UNKNOWN_ARTIST_ : artist.trimmed();
+ _metadata["ALBUM"] = album == "" ? _UNKNOWN_ALBUM_ : album.trimmed();
_length = length;
}
if (_metadata.contains("TITLE")) {
return _metadata["TITLE"];
} else {
- return "Unknown title";
+ return _UNKNOWN_TRACK_;
}
}
if (_metadata.contains("ARTIST")) {
return _metadata["ARTIST"];
} else {
- return "Unknown artist";
+ return _UNKNOWN_ARTIST_;
}
}
if (_metadata.contains("ALBUM")) {
return _metadata["ALBUM"];
} else {
- return "Unknown album";
+ return _UNKNOWN_ALBUM_;
}
}
// represents track metainformation only.
// now it contains TITLE, ARTIST, ALBUM, GENRE
+#define _UNKNOWN_ARTIST_ "Unknown artist"
+#define _UNKNOWN_ALBUM_ "Unknown album"
+#define _UNKNOWN_TRACK_ "Unknown track"
+
namespace SomePlayer {
namespace DataObjects {
class TrackMetadata {