.
This commit is contained in:
+2
-2
@@ -114,9 +114,9 @@ QString cAlbum::band()
|
|||||||
return(m_szBand);
|
return(m_szBand);
|
||||||
}
|
}
|
||||||
|
|
||||||
cTrack* cAlbum::addTrack(const QString& szTitle, const QString &szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szComposer, const QDate &recordingTime)
|
cTrack* cAlbum::addTrack(const QString& szTitle, const QString &szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szLeadArtist, const QString& szComposer, const QDate &recordingTime, const QString& szFileName)
|
||||||
{
|
{
|
||||||
return(m_trackList.add(this, szTitle, szTrackNumber, szPartOfSet, szBand, szComposer, recordingTime));
|
return(m_trackList.add(this, szTitle, szTrackNumber, szPartOfSet, szBand, szLeadArtist, szComposer, recordingTime, szFileName));
|
||||||
}
|
}
|
||||||
|
|
||||||
cTrackList cAlbum::trackList()
|
cTrackList cAlbum::trackList()
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public:
|
|||||||
void setBand(const QString& szBand);
|
void setBand(const QString& szBand);
|
||||||
QString band();
|
QString band();
|
||||||
|
|
||||||
cTrack* addTrack(const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szComposer, const QDate& recordingTime);
|
cTrack* addTrack(const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString &szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString &szFileName);
|
||||||
cTrackList trackList();
|
cTrackList trackList();
|
||||||
|
|
||||||
void sortTracks(qint32 sort);
|
void sortTracks(qint32 sort);
|
||||||
|
|||||||
+37
-16
@@ -113,8 +113,6 @@ void cMainWindow::initSettings()
|
|||||||
void cMainWindow::loadDB()
|
void cMainWindow::loadDB()
|
||||||
{
|
{
|
||||||
QSqlQuery query;
|
QSqlQuery query;
|
||||||
QString szOldLeadArtist = "";
|
|
||||||
QString szOldAlbum = "";
|
|
||||||
QString szAlbum;
|
QString szAlbum;
|
||||||
QString szTitle;
|
QString szTitle;
|
||||||
QString szTrackNumber;
|
QString szTrackNumber;
|
||||||
@@ -123,6 +121,7 @@ void cMainWindow::loadDB()
|
|||||||
QString szBand;
|
QString szBand;
|
||||||
QString szComposer;
|
QString szComposer;
|
||||||
QDate recordingTime;
|
QDate recordingTime;
|
||||||
|
QString szFileName;
|
||||||
|
|
||||||
cAlbum* lpAlbum = 0;
|
cAlbum* lpAlbum = 0;
|
||||||
|
|
||||||
@@ -208,10 +207,11 @@ void cMainWindow::loadDB()
|
|||||||
szBand = query.value("band").toString();
|
szBand = query.value("band").toString();
|
||||||
szComposer = query.value("composer").toString();
|
szComposer = query.value("composer").toString();
|
||||||
recordingTime = query.value("recordingTime").toDate();
|
recordingTime = query.value("recordingTime").toDate();
|
||||||
|
szFileName = query.value("fileName").toString();
|
||||||
|
|
||||||
lpAlbum = m_albumList.add(szAlbum, szBand);
|
lpAlbum = m_albumList.add(szAlbum, szBand);
|
||||||
if(lpAlbum)
|
if(lpAlbum)
|
||||||
lpAlbum->addTrack(szTitle, szTrackNumber, szPartOfSet, szBand, szComposer, recordingTime);
|
lpAlbum->addTrack(szTitle, szTrackNumber, szPartOfSet, szBand, szLeadArtist, szComposer, recordingTime, szFileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ void cMainWindow::displayDB()
|
|||||||
m_albumList.sort(SORT_ALBUM_ASC | SORT_BAND_ASC | SORT_TRACK_ASC);
|
m_albumList.sort(SORT_ALBUM_ASC | SORT_BAND_ASC | SORT_TRACK_ASC);
|
||||||
|
|
||||||
QStringList header;
|
QStringList header;
|
||||||
header << "Original";
|
header << tr("Track") << tr("Nr") << tr("Set") << tr("Year") << tr("Filename");
|
||||||
|
|
||||||
m_lpMusicListModel->setHorizontalHeaderLabels(header);
|
m_lpMusicListModel->setHorizontalHeaderLabels(header);
|
||||||
|
|
||||||
@@ -242,11 +242,9 @@ void cMainWindow::displayDB()
|
|||||||
szOldAlbum = "";
|
szOldAlbum = "";
|
||||||
|
|
||||||
lpBandItem.clear();
|
lpBandItem.clear();
|
||||||
lpBandItem.append(new QStandardItem(szOldBand));
|
lpBandItem.append(newItem(szOldBand, USERROLE_TYPE_BAND, QVariant::fromValue(lpAlbum), Qt::AlignLeft, true, false, QColor(), QColor(191, 191, 191)));
|
||||||
lpBandItem[0]->setData(USERROLE_TYPE_BAND, USERROLE_TYPE);
|
|
||||||
lpBandItem[0]->setData(QVariant::fromValue(lpAlbum), USERROLE_VALUE);
|
|
||||||
|
|
||||||
m_lpMusicListModel->appendRow(lpBandItem);
|
m_lpMusicListModel->appendRow(lpBandItem);
|
||||||
|
ui->m_lpMusicList->setFirstColumnSpanned(lpBandItem[0]->index().row(), m_lpMusicListModel->invisibleRootItem()->index(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(szOldAlbum != lpAlbum->album())
|
if(szOldAlbum != lpAlbum->album())
|
||||||
@@ -254,12 +252,9 @@ void cMainWindow::displayDB()
|
|||||||
szOldAlbum = lpAlbum->album();
|
szOldAlbum = lpAlbum->album();
|
||||||
|
|
||||||
lpAlbumItem.clear();
|
lpAlbumItem.clear();
|
||||||
lpAlbumItem.append(new QStandardItem(szOldAlbum));
|
lpAlbumItem.append(newItem(szOldAlbum, USERROLE_TYPE_ALBUM, QVariant::fromValue(lpAlbum), Qt::AlignLeft, false, true, QColor(), QColor(223, 223, 223)));
|
||||||
lpAlbumItem[0]->setData(USERROLE_TYPE_ALBUM, USERROLE_TYPE);
|
|
||||||
lpAlbumItem[0]->setData(QVariant::fromValue(lpAlbum), USERROLE_VALUE);
|
|
||||||
lpAlbumItem.append(new QStandardItem(szOldAlbum));
|
|
||||||
|
|
||||||
lpBandItem[0]->appendRow(lpAlbumItem);
|
lpBandItem[0]->appendRow(lpAlbumItem);
|
||||||
|
ui->m_lpMusicList->setFirstColumnSpanned(lpAlbumItem[0]->index().row(), lpBandItem[0]->index(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
cTrackList trackList = lpAlbum->trackList();
|
cTrackList trackList = lpAlbum->trackList();
|
||||||
@@ -268,14 +263,40 @@ void cMainWindow::displayDB()
|
|||||||
cTrack* lpTrack = trackList.at(y);
|
cTrack* lpTrack = trackList.at(y);
|
||||||
|
|
||||||
QList<QStandardItem*> lpTrackItem;
|
QList<QStandardItem*> lpTrackItem;
|
||||||
lpTrackItem.append(new QStandardItem(lpTrack->title()));
|
lpTrackItem.append(newItem(lpTrack->title(), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack)));
|
||||||
lpTrackItem[0]->setData(USERROLE_TYPE_TRACK, USERROLE_TYPE);
|
lpTrackItem.append(newItem(lpTrack->trackNumber(), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack), Qt::AlignRight));
|
||||||
lpTrackItem[0]->setData(QVariant::fromValue(lpTrack), USERROLE_VALUE);
|
lpTrackItem.append(newItem(lpTrack->partOfSet(), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack), Qt::AlignRight));
|
||||||
|
lpTrackItem.append(newItem(QString::number(lpTrack->recordingTime().year()), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack), Qt::AlignRight));
|
||||||
|
lpTrackItem.append(newItem(lpTrack->fileName(), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack)));
|
||||||
lpAlbumItem[0]->appendRow(lpTrackItem);
|
lpAlbumItem[0]->appendRow(lpTrackItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStandardItem* cMainWindow::newItem(const QString& szText, qint32 type, const QVariant& data, Qt::Alignment align, bool bold, bool italic, const QColor &foreground, const QColor &background)
|
||||||
|
{
|
||||||
|
QStandardItem* lpItem = new QStandardItem(szText);
|
||||||
|
lpItem->setTextAlignment(align);
|
||||||
|
|
||||||
|
if(bold || italic)
|
||||||
|
{
|
||||||
|
QFont font = lpItem->font();
|
||||||
|
font.setBold(bold);
|
||||||
|
font.setItalic(italic);
|
||||||
|
lpItem->setFont(font);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(foreground.isValid())
|
||||||
|
lpItem->setForeground(QBrush(foreground));
|
||||||
|
|
||||||
|
if(background.isValid())
|
||||||
|
lpItem->setBackground(QBrush(background));
|
||||||
|
|
||||||
|
lpItem->setData(type, USERROLE_TYPE);
|
||||||
|
lpItem->setData(data, USERROLE_VALUE);
|
||||||
|
return(lpItem);
|
||||||
|
}
|
||||||
|
|
||||||
void cMainWindow::onCustomContextMenuRequested(const QPoint &/*pos*/)
|
void cMainWindow::onCustomContextMenuRequested(const QPoint &/*pos*/)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ private:
|
|||||||
void loadDB();
|
void loadDB();
|
||||||
void displayDB();
|
void displayDB();
|
||||||
|
|
||||||
|
QStandardItem* newItem(const QString& szText, qint32 type, const QVariant &data, Qt::Alignment align = Qt::AlignLeft, bool bold = false, bool italic = false, const QColor& foreground = QColor(), const QColor& background = QColor());
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initSettings();
|
void initSettings();
|
||||||
private slots:
|
private slots:
|
||||||
|
|||||||
+21
-6
@@ -54,14 +54,16 @@ private:
|
|||||||
qint32 m_sort;
|
qint32 m_sort;
|
||||||
};
|
};
|
||||||
|
|
||||||
cTrack::cTrack(cAlbum* lpAlbum, const QString& szTitle, const QString &szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szComposer, const QDate& recordingTime) :
|
cTrack::cTrack(cAlbum* lpAlbum, const QString& szTitle, const QString &szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString& szFileName) :
|
||||||
m_lpAlbum(lpAlbum),
|
m_lpAlbum(lpAlbum),
|
||||||
m_szTitle(szTitle),
|
m_szTitle(szTitle),
|
||||||
m_szTrackNumber(szTrackNumber),
|
m_szTrackNumber(szTrackNumber),
|
||||||
m_szPartOfSet(szPartOfSet),
|
m_szPartOfSet(szPartOfSet),
|
||||||
m_szBand(szBand),
|
m_szBand(szBand),
|
||||||
|
m_szLeadArtist(szLeadArtist),
|
||||||
m_szComposer(szComposer),
|
m_szComposer(szComposer),
|
||||||
m_recordingTime(recordingTime)
|
m_recordingTime(recordingTime),
|
||||||
|
m_szFileName(szFileName)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,20 +137,33 @@ QDate cTrack::recordingTime()
|
|||||||
return(m_recordingTime);
|
return(m_recordingTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
cTrack* cTrackList::add(cAlbum* lpAlbum, const QString& szTitle, const QString &szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szComposer, const QDate &recordingTime)
|
void cTrack::setFileName(const QString& szFileName)
|
||||||
|
{
|
||||||
|
m_szFileName = szFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString cTrack::fileName()
|
||||||
|
{
|
||||||
|
return(m_szFileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
cTrack* cTrackList::add(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString& szFileName)
|
||||||
{
|
{
|
||||||
QString szTitle1 = szTitle;
|
QString szTitle1 = szTitle;
|
||||||
QString szBand1 = szBand;
|
QString szBand1 = szBand;
|
||||||
|
QString szLeadArtist1 = szLeadArtist;
|
||||||
QString szComposer1 = szComposer;
|
QString szComposer1 = szComposer;
|
||||||
|
|
||||||
if(szTitle1.isEmpty())
|
if(szTitle1.isEmpty())
|
||||||
szTitle1 = "*** NO TITLE ***";
|
szTitle1 = "*** NO TITLE ***";
|
||||||
if(szBand1.isEmpty())
|
if(szBand1.isEmpty())
|
||||||
szBand1 = "*** NO BAND ***";
|
szBand1 = "*** NO BAND ***";
|
||||||
|
if(szLeadArtist1.isEmpty())
|
||||||
|
szLeadArtist1 = "*** NO LEAD ARTIST ***";
|
||||||
if(szComposer1.isEmpty())
|
if(szComposer1.isEmpty())
|
||||||
szComposer1 = "*** NO COMPOSER ***";
|
szComposer1 = "*** NO COMPOSER ***";
|
||||||
|
|
||||||
cTrack* lpTrackNew = new cTrack(lpAlbum, szTitle1, szTrackNumber, szPartOfSet, szBand1, szComposer1, recordingTime);
|
cTrack* lpTrackNew = new cTrack(lpAlbum, szTitle1, szTrackNumber, szPartOfSet, szBand1, szLeadArtist1, szComposer1, recordingTime, szFileName);
|
||||||
append(lpTrackNew);
|
append(lpTrackNew);
|
||||||
return(lpTrackNew);
|
return(lpTrackNew);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,70 @@
|
|||||||
|
|
||||||
class cAlbum;
|
class cAlbum;
|
||||||
|
|
||||||
|
/*
|
||||||
|
" fileName TEXT, "
|
||||||
|
" fileSize INTEGER, "
|
||||||
|
" fileDate DATE, "
|
||||||
|
" fileType TEXT, "
|
||||||
|
" length INTEGER, "
|
||||||
|
" bitrate INTEGER, "
|
||||||
|
" sampleRate INTEGER, "
|
||||||
|
" channels INTEGER, "
|
||||||
|
" bitsPerSample INTEGER, "
|
||||||
|
" layer INTEGER, "
|
||||||
|
" version INTEGER, "
|
||||||
|
" sampleWidth INTEGER, "
|
||||||
|
" sampleFrames INTEGER, "
|
||||||
|
" isEncrypted BOOL, "
|
||||||
|
" trackGain INTEGER, "
|
||||||
|
" albumGain INTEGER, "
|
||||||
|
" trackPeak INTEGER, "
|
||||||
|
" albumPeak INTEGER, "
|
||||||
|
" protectionEnabled BOOL, "
|
||||||
|
" channelMode INTEGER, "
|
||||||
|
" isCopyrighted BOOL, "
|
||||||
|
" isOriginal BOOL, "
|
||||||
|
" copyright TEXT, "
|
||||||
|
" contentGroupDescription TEXT, "
|
||||||
|
" subTitle TEXT, "
|
||||||
|
" originalAlbum TEXT, "
|
||||||
|
" subTitleOfSet TEXT, "
|
||||||
|
" internationalStandardRecordingCode TEXT, "
|
||||||
|
" leadArtist TEXT, "
|
||||||
|
" conductor TEXT, "
|
||||||
|
" interpret TEXT, "
|
||||||
|
" originalArtist TEXT, "
|
||||||
|
" textWriter TEXT, "
|
||||||
|
" originalTextWriter TEXT, "
|
||||||
|
" encodedBy TEXT, "
|
||||||
|
" beatsPerMinute INTEGER, "
|
||||||
|
" language TEXT, "
|
||||||
|
" contentType TEXT, "
|
||||||
|
" mediaType TEXT, "
|
||||||
|
" mood TEXT, "
|
||||||
|
" producedNotice TEXT, "
|
||||||
|
" publisher TEXT, "
|
||||||
|
" fileOwner TEXT, "
|
||||||
|
" internetRadioStationName TEXT, "
|
||||||
|
" internetRadioStationOwner TEXT, "
|
||||||
|
" originalFilename TEXT, "
|
||||||
|
" playlistDelay TEXT, "
|
||||||
|
" encodingTime INTEGER, "
|
||||||
|
" originalReleaseTime DATE, "
|
||||||
|
" releaseTime DATE, "
|
||||||
|
" taggingTime DATE, "
|
||||||
|
" swhwSettings TEXT, "
|
||||||
|
" albumSortOrder TEXT, "
|
||||||
|
" performerSortOrder TEXT, "
|
||||||
|
" titleSortOrder TEXT, "
|
||||||
|
" synchronizedLyrics TEXT, "
|
||||||
|
" unsynchronizedLyrics TEXT)"))
|
||||||
|
*/
|
||||||
|
|
||||||
class cTrack
|
class cTrack
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cTrack(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szComposer, const QDate& recordingTime);
|
cTrack(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString &szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString &szFileName);
|
||||||
|
|
||||||
void setAlbum(cAlbum* lpAlbum);
|
void setAlbum(cAlbum* lpAlbum);
|
||||||
cAlbum* album();
|
cAlbum* album();
|
||||||
@@ -30,20 +90,28 @@ public:
|
|||||||
void setBand(const QString& szBand);
|
void setBand(const QString& szBand);
|
||||||
QString band();
|
QString band();
|
||||||
|
|
||||||
|
void setLeadArtist(const QString& szLeadArtist);
|
||||||
|
QString leadArtist();
|
||||||
|
|
||||||
void setComposer(const QString& szComposer);
|
void setComposer(const QString& szComposer);
|
||||||
QString composer();
|
QString composer();
|
||||||
|
|
||||||
void setRecordingTime(const QDate &recordingTime);
|
void setRecordingTime(const QDate &recordingTime);
|
||||||
QDate recordingTime();
|
QDate recordingTime();
|
||||||
|
|
||||||
|
void setFileName(const QString& szFileName);
|
||||||
|
QString fileName();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
cAlbum* m_lpAlbum;
|
cAlbum* m_lpAlbum;
|
||||||
QString m_szTitle;
|
QString m_szTitle;
|
||||||
QString m_szTrackNumber;
|
QString m_szTrackNumber;
|
||||||
QString m_szPartOfSet;
|
QString m_szPartOfSet;
|
||||||
QString m_szBand;
|
QString m_szBand;
|
||||||
|
QString m_szLeadArtist;
|
||||||
QString m_szComposer;
|
QString m_szComposer;
|
||||||
QDate m_recordingTime;
|
QDate m_recordingTime;
|
||||||
|
QString m_szFileName;
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(cTrack*)
|
Q_DECLARE_METATYPE(cTrack*)
|
||||||
@@ -51,7 +119,7 @@ Q_DECLARE_METATYPE(cTrack*)
|
|||||||
class cTrackList : public QList<cTrack*>
|
class cTrackList : public QList<cTrack*>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cTrack* add(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szComposer, const QDate& recordingTime);
|
cTrack* add(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString& szFileName);
|
||||||
void sort(qint32 sort);
|
void sort(qint32 sort);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user