.
This commit is contained in:
+2
-2
@@ -114,9 +114,9 @@ QString cAlbum::band()
|
||||
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()
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
void setBand(const QString& szBand);
|
||||
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();
|
||||
|
||||
void sortTracks(qint32 sort);
|
||||
|
||||
+37
-16
@@ -113,8 +113,6 @@ void cMainWindow::initSettings()
|
||||
void cMainWindow::loadDB()
|
||||
{
|
||||
QSqlQuery query;
|
||||
QString szOldLeadArtist = "";
|
||||
QString szOldAlbum = "";
|
||||
QString szAlbum;
|
||||
QString szTitle;
|
||||
QString szTrackNumber;
|
||||
@@ -123,6 +121,7 @@ void cMainWindow::loadDB()
|
||||
QString szBand;
|
||||
QString szComposer;
|
||||
QDate recordingTime;
|
||||
QString szFileName;
|
||||
|
||||
cAlbum* lpAlbum = 0;
|
||||
|
||||
@@ -208,10 +207,11 @@ void cMainWindow::loadDB()
|
||||
szBand = query.value("band").toString();
|
||||
szComposer = query.value("composer").toString();
|
||||
recordingTime = query.value("recordingTime").toDate();
|
||||
szFileName = query.value("fileName").toString();
|
||||
|
||||
lpAlbum = m_albumList.add(szAlbum, szBand);
|
||||
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);
|
||||
|
||||
QStringList header;
|
||||
header << "Original";
|
||||
header << tr("Track") << tr("Nr") << tr("Set") << tr("Year") << tr("Filename");
|
||||
|
||||
m_lpMusicListModel->setHorizontalHeaderLabels(header);
|
||||
|
||||
@@ -242,11 +242,9 @@ void cMainWindow::displayDB()
|
||||
szOldAlbum = "";
|
||||
|
||||
lpBandItem.clear();
|
||||
lpBandItem.append(new QStandardItem(szOldBand));
|
||||
lpBandItem[0]->setData(USERROLE_TYPE_BAND, USERROLE_TYPE);
|
||||
lpBandItem[0]->setData(QVariant::fromValue(lpAlbum), USERROLE_VALUE);
|
||||
|
||||
lpBandItem.append(newItem(szOldBand, USERROLE_TYPE_BAND, QVariant::fromValue(lpAlbum), Qt::AlignLeft, true, false, QColor(), QColor(191, 191, 191)));
|
||||
m_lpMusicListModel->appendRow(lpBandItem);
|
||||
ui->m_lpMusicList->setFirstColumnSpanned(lpBandItem[0]->index().row(), m_lpMusicListModel->invisibleRootItem()->index(), true);
|
||||
}
|
||||
|
||||
if(szOldAlbum != lpAlbum->album())
|
||||
@@ -254,12 +252,9 @@ void cMainWindow::displayDB()
|
||||
szOldAlbum = lpAlbum->album();
|
||||
|
||||
lpAlbumItem.clear();
|
||||
lpAlbumItem.append(new QStandardItem(szOldAlbum));
|
||||
lpAlbumItem[0]->setData(USERROLE_TYPE_ALBUM, USERROLE_TYPE);
|
||||
lpAlbumItem[0]->setData(QVariant::fromValue(lpAlbum), USERROLE_VALUE);
|
||||
lpAlbumItem.append(new QStandardItem(szOldAlbum));
|
||||
|
||||
lpAlbumItem.append(newItem(szOldAlbum, USERROLE_TYPE_ALBUM, QVariant::fromValue(lpAlbum), Qt::AlignLeft, false, true, QColor(), QColor(223, 223, 223)));
|
||||
lpBandItem[0]->appendRow(lpAlbumItem);
|
||||
ui->m_lpMusicList->setFirstColumnSpanned(lpAlbumItem[0]->index().row(), lpBandItem[0]->index(), true);
|
||||
}
|
||||
|
||||
cTrackList trackList = lpAlbum->trackList();
|
||||
@@ -268,14 +263,40 @@ void cMainWindow::displayDB()
|
||||
cTrack* lpTrack = trackList.at(y);
|
||||
|
||||
QList<QStandardItem*> lpTrackItem;
|
||||
lpTrackItem.append(new QStandardItem(lpTrack->title()));
|
||||
lpTrackItem[0]->setData(USERROLE_TYPE_TRACK, USERROLE_TYPE);
|
||||
lpTrackItem[0]->setData(QVariant::fromValue(lpTrack), USERROLE_VALUE);
|
||||
lpTrackItem.append(newItem(lpTrack->title(), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack)));
|
||||
lpTrackItem.append(newItem(lpTrack->trackNumber(), USERROLE_TYPE_TRACK, QVariant::fromValue(lpTrack), Qt::AlignRight));
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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*/)
|
||||
{
|
||||
/*
|
||||
|
||||
@@ -42,6 +42,8 @@ private:
|
||||
void loadDB();
|
||||
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:
|
||||
void initSettings();
|
||||
private slots:
|
||||
|
||||
+21
-6
@@ -54,14 +54,16 @@ private:
|
||||
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_szTitle(szTitle),
|
||||
m_szTrackNumber(szTrackNumber),
|
||||
m_szPartOfSet(szPartOfSet),
|
||||
m_szBand(szBand),
|
||||
m_szLeadArtist(szLeadArtist),
|
||||
m_szComposer(szComposer),
|
||||
m_recordingTime(recordingTime)
|
||||
m_recordingTime(recordingTime),
|
||||
m_szFileName(szFileName)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -135,20 +137,33 @@ QDate cTrack::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 szBand1 = szBand;
|
||||
QString szLeadArtist1 = szLeadArtist;
|
||||
QString szComposer1 = szComposer;
|
||||
|
||||
if(szTitle1.isEmpty())
|
||||
szTitle1 = "*** NO TITLE ***";
|
||||
if(szBand1.isEmpty())
|
||||
szBand1 = "*** NO BAND ***";
|
||||
szBand1 = "*** NO BAND ***";
|
||||
if(szLeadArtist1.isEmpty())
|
||||
szLeadArtist1 = "*** NO LEAD ARTIST ***";
|
||||
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);
|
||||
return(lpTrackNew);
|
||||
}
|
||||
|
||||
@@ -10,10 +10,70 @@
|
||||
|
||||
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
|
||||
{
|
||||
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);
|
||||
cAlbum* album();
|
||||
@@ -30,20 +90,28 @@ public:
|
||||
void setBand(const QString& szBand);
|
||||
QString band();
|
||||
|
||||
void setLeadArtist(const QString& szLeadArtist);
|
||||
QString leadArtist();
|
||||
|
||||
void setComposer(const QString& szComposer);
|
||||
QString composer();
|
||||
|
||||
void setRecordingTime(const QDate &recordingTime);
|
||||
QDate recordingTime();
|
||||
|
||||
void setFileName(const QString& szFileName);
|
||||
QString fileName();
|
||||
|
||||
private:
|
||||
cAlbum* m_lpAlbum;
|
||||
QString m_szTitle;
|
||||
QString m_szTrackNumber;
|
||||
QString m_szPartOfSet;
|
||||
QString m_szBand;
|
||||
QString m_szLeadArtist;
|
||||
QString m_szComposer;
|
||||
QDate m_recordingTime;
|
||||
QString m_szFileName;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(cTrack*)
|
||||
@@ -51,7 +119,7 @@ Q_DECLARE_METATYPE(cTrack*)
|
||||
class cTrackList : public QList<cTrack*>
|
||||
{
|
||||
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);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user