Hi

I've noticed yesterday that we have some common code in different TM.
I've prepared a small patch that adds functions to BSTM if they are the
same in different derived TMs, gets rid of some unused variable
warnings and unified the code at places where different TMs did the
same but took 2 different approaches.

One thing I didn't change were the search functions. Now all children
of BSTM have this code for search

void ChildTableModel::search(const QString& searchText) {
    // qDebug() << "CrateTableModel::search()" << searchText
    //          << QThread::currentThread();
    emit(doSearch(searchText));
}

and this for slotSearch

void ChildTableModel::slotSearch(const QString& searchText) {
    BaseSqlTableModel::search(
        searchText, LibraryTableModel::DEFAULT_LIBRARYFILTER);
}

Wouldn't it be better to declare search and slotSearch only in BSTM and
let the children use these inherited functions instead of this rather
strange construct.

best Max
=== modified file 'mixxx/src/library/basesqltablemodel.cpp'
--- mixxx/src/library/basesqltablemodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/basesqltablemodel.cpp	2012-05-28 14:41:34 +0000
@@ -747,3 +747,8 @@
     }
     return NULL;
 }
+
+TrackPointer BaseSqlTableModel::getTrack(const QModelIndex& index) const {
+    int trackId = getTrackId(index);
+    return m_trackDAO.getTrack(trackId);
+}

=== modified file 'mixxx/src/library/basesqltablemodel.h'
--- mixxx/src/library/basesqltablemodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/basesqltablemodel.h	2012-05-28 13:54:21 +0000
@@ -29,30 +29,31 @@
     // Methods implemented from QAbstractItemModel
     ////////////////////////////////////////////////////////////////////////////
 
-    virtual void sort(int column, Qt::SortOrder order);
-    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
-    virtual bool setData(const QModelIndex& index, const QVariant& value, int role=Qt::EditRole);
-    virtual int columnCount(const QModelIndex& parent=QModelIndex()) const;
-    virtual int rowCount(const QModelIndex& parent=QModelIndex()) const;
-    virtual bool setHeaderData(int section, Qt::Orientation orientation,
+    void sort(int column, Qt::SortOrder order);
+    QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
+    bool setData(const QModelIndex& index, const QVariant& value, int role=Qt::EditRole);
+    int columnCount(const QModelIndex& parent=QModelIndex()) const;
+    int rowCount(const QModelIndex& parent=QModelIndex()) const;
+    bool setHeaderData(int section, Qt::Orientation orientation,
                                const QVariant &value, int role=Qt::EditRole);
-    virtual QVariant headerData(int section, Qt::Orientation orientation,
+    QVariant headerData(int section, Qt::Orientation orientation,
                                 int role=Qt::DisplayRole) const;
-    virtual QMimeData* mimeData(const QModelIndexList &indexes) const;
+    QMimeData* mimeData(const QModelIndexList &indexes) const;
 
     ////////////////////////////////////////////////////////////////////////////
     // Other public methods
     ////////////////////////////////////////////////////////////////////////////
+    void select();
+    int getTrackId(const QModelIndex& index) const;
 
     virtual void search(const QString& searchText, const QString extraFilter=QString());
     virtual void setSearch(const QString& searchText, const QString extraFilter=QString());
     virtual const QString currentSearch() const;
     virtual void setSort(int column, Qt::SortOrder order);
     virtual int fieldIndex(const QString& fieldName) const;
-    virtual void select();
-    virtual int getTrackId(const QModelIndex& index) const;
     virtual QString getTrackLocation(const QModelIndex& index) const;
     virtual QAbstractItemDelegate* delegateForColumn(const int i, QObject* pParent);
+    virtual TrackPointer getTrack(const QModelIndex &index) const;
 
   protected:
     // Returns the row of trackId in this result set. If trackId is not present,

=== modified file 'mixxx/src/library/browse/browsetablemodel.cpp'
--- mixxx/src/library/browse/browsetablemodel.cpp	2012-03-12 05:23:47 +0000
+++ mixxx/src/library/browse/browsetablemodel.cpp	2012-05-28 15:29:21 +0000
@@ -18,9 +18,10 @@
 
 BrowseTableModel::BrowseTableModel(QObject* parent,
                                    TrackCollection* pTrackCollection,
-                                   RecordingManager* pRecordingManager)
+                                   RecordingManager* pRecordingManager,
+                                   QString nameSpaces)
         : TrackModel(pTrackCollection->getDatabase(),
-                     "mixxx.db.model.browse"),
+                     nameSpaces),
           QStandardItemModel(parent),
           m_pTrackCollection(pTrackCollection),
           m_pRecordingManager(pRecordingManager) {

=== modified file 'mixxx/src/library/browse/browsetablemodel.h'
--- mixxx/src/library/browse/browsetablemodel.h	2012-03-03 18:50:45 +0000
+++ mixxx/src/library/browse/browsetablemodel.h	2012-05-28 15:29:11 +0000
@@ -35,7 +35,10 @@
     Q_OBJECT
 
   public:
-    BrowseTableModel(QObject* parent, TrackCollection* pTrackCollection, RecordingManager* pRec);
+    BrowseTableModel(QObject* parent, 
+                     TrackCollection* pTrackCollection, 
+                     RecordingManager* pRec,
+                     QString nameSpaces = "mixxx.db.model.browse");
     virtual ~BrowseTableModel();
     void setPath(QString absPath);
     //reimplemented from TrackModel class

=== modified file 'mixxx/src/library/cratetablemodel.cpp'
--- mixxx/src/library/cratetablemodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/cratetablemodel.cpp	2012-05-28 14:47:18 +0000
@@ -11,10 +11,12 @@
 #include "library/trackcollection.h"
 #include "mixxxutils.cpp"
 
-CrateTableModel::CrateTableModel(QObject* pParent, TrackCollection* pTrackCollection)
+CrateTableModel::CrateTableModel(QObject* pParent, 
+								 TrackCollection* pTrackCollection,
+								 QString settingsNamespace)
         : BaseSqlTableModel(pParent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.crate"),
+                            settingsNamespace),
           m_pTrackCollection(pTrackCollection),
           m_iCrateId(-1) {
     connect(this, SIGNAL(doSearch(const QString&)),
@@ -90,7 +92,7 @@
 
 int CrateTableModel::addTracks(const QModelIndex& index, QList<QString> locations) {
     // If a track is dropped but it isn't in the library, then add it because
-    // the user probably dropped a file from outside Mixxx into this playlist.
+    // the user probably dropped a file from outside Mixxx into this crate.
     QList<QFileInfo> fileInfoList;
     foreach(QString fileLocation, locations) {
         fileInfoList.append(QFileInfo(fileLocation));
@@ -113,45 +115,42 @@
     return tracksAdded;
 }
 
-TrackPointer CrateTableModel::getTrack(const QModelIndex& index) const {
-    int trackId = getTrackId(index);
-    return m_pTrackCollection->getTrackDAO().getTrack(trackId);
-}
-
 void CrateTableModel::removeTracks(const QModelIndexList& indices) {
     CrateDAO& crateDao = m_pTrackCollection->getCrateDAO();
-    bool locked = crateDao.isCrateLocked(m_iCrateId);
+    if (crateDao.isCrateLocked(m_iCrateId)) {
+        return;
+    }
 
-    if (!locked) {
-        QList<int> trackIds;
-        foreach (QModelIndex index, indices) {
-            trackIds.append(getTrackId(index));
-        }
-        foreach (int trackId, trackIds) {
-            crateDao.removeTrackFromCrate(trackId, m_iCrateId);
-        }
-        select();
-    }
+    QList<int> trackIds;
+    foreach (QModelIndex index, indices) {
+        trackIds.append(getTrackId(index));
+    }
+    foreach (int trackId, trackIds) {
+        crateDao.removeTrackFromCrate(trackId, m_iCrateId);
+    }
+    select();
 }
 
 void CrateTableModel::removeTrack(const QModelIndex& index) {
     CrateDAO& crateDao = m_pTrackCollection->getCrateDAO();
-    bool locked = crateDao.isCrateLocked(m_iCrateId);
+    if (crateDao.isCrateLocked(m_iCrateId)) {
+        return;
+    }
 
-    if (!locked) {
-        int trackId = getTrackId(index);
-        if (m_pTrackCollection->getCrateDAO().
-            removeTrackFromCrate(trackId, m_iCrateId)) {
-            select();
-        } else {
-            // TODO(XXX) feedback
-        }
+    if (m_pTrackCollection->getCrateDAO().
+        removeTrackFromCrate(getTrackId(index), m_iCrateId)) {
+        select();
+    } else {
+        // TODO(XXX) feedback
     }
 }
 
 void CrateTableModel::moveTrack(const QModelIndex& sourceIndex,
                                 const QModelIndex& destIndex) {
-    return;
+    Q_UNUSED(sourceIndex);
+    Q_UNUSED(destIndex);
+    // Does nothing because we don't support reordering tracks in crates,
+    // and getCapabilities() reports that.
 }
 
 void CrateTableModel::search(const QString& searchText) {

=== modified file 'mixxx/src/library/cratetablemodel.h'
--- mixxx/src/library/cratetablemodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/cratetablemodel.h	2012-05-28 14:16:03 +0000
@@ -14,7 +14,8 @@
 class CrateTableModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    CrateTableModel(QObject* parent, TrackCollection* pTrackCollection);
+    CrateTableModel(QObject* parent, TrackCollection* pTrackCollection,
+					QString settingsNamespace = "mixxx.db.model.crate");
     virtual ~CrateTableModel();
 
     void setCrate(int crateId);
@@ -23,14 +24,13 @@
     }
 
     // From TrackModel
-    virtual TrackPointer getTrack(const QModelIndex& index) const;
     virtual void search(const QString& searchText);
     virtual bool isColumnInternal(int column);
     virtual bool isColumnHiddenByDefault(int column);
     virtual void removeTrack(const QModelIndex& index);
     virtual void removeTracks(const QModelIndexList& indices);
     virtual bool addTrack(const QModelIndex& index, QString location);
-    // Returns the number of unsuccessful track additions
+    // Returns the number of successful track additions
     virtual int addTracks(const QModelIndex& index, QList <QString> locations);
     virtual void moveTrack(const QModelIndex& sourceIndex,
                            const QModelIndex& destIndex);

=== modified file 'mixxx/src/library/itunes/itunesplaylistmodel.cpp'
--- mixxx/src/library/itunes/itunesplaylistmodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/itunes/itunesplaylistmodel.cpp	2012-05-28 15:21:45 +0000
@@ -8,10 +8,11 @@
 #include "track/beats.h"
 
 ITunesPlaylistModel::ITunesPlaylistModel(QObject* parent,
-                                         TrackCollection* pTrackCollection)
+                                         TrackCollection* pTrackCollection,
+                                         QString nameSpaces)
         : BaseSqlTableModel(parent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.itunes_playlist"),
+                            nameSpaces),
           m_pTrackCollection(pTrackCollection),
           m_database(m_pTrackCollection->getDatabase()) {
     connect(this, SIGNAL(doSearch(const QString&)),

=== modified file 'mixxx/src/library/itunes/itunesplaylistmodel.h'
--- mixxx/src/library/itunes/itunesplaylistmodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/itunes/itunesplaylistmodel.h	2012-05-28 15:38:58 +0000
@@ -15,7 +15,8 @@
 class ITunesPlaylistModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    ITunesPlaylistModel(QObject* parent, TrackCollection* pTrackCollection);
+    ITunesPlaylistModel(QObject* parent, TrackCollection* pTrackCollection,
+                        QString nameSpaces = "mixxx.db.model.itunes_playlist");
     virtual ~ITunesPlaylistModel();
 
     virtual TrackPointer getTrack(const QModelIndex& index) const;

=== modified file 'mixxx/src/library/itunes/itunestrackmodel.cpp'
--- mixxx/src/library/itunes/itunestrackmodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/itunes/itunestrackmodel.cpp	2012-05-28 15:22:33 +0000
@@ -8,10 +8,11 @@
 #include "track/beats.h"
 
 ITunesTrackModel::ITunesTrackModel(QObject* parent,
-                                   TrackCollection* pTrackCollection)
+                                   TrackCollection* pTrackCollection,
+                                   QString nameSpaces)
         : BaseSqlTableModel(parent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.itunes"),
+                            nameSpaces),
           m_pTrackCollection(pTrackCollection),
           m_database(m_pTrackCollection->getDatabase()) {
     connect(this, SIGNAL(doSearch(const QString&)),

=== modified file 'mixxx/src/library/itunes/itunestrackmodel.h'
--- mixxx/src/library/itunes/itunestrackmodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/itunes/itunestrackmodel.h	2012-05-28 15:37:52 +0000
@@ -15,7 +15,8 @@
 class ITunesTrackModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    ITunesTrackModel(QObject* parent, TrackCollection* pTrackCollection);
+    ITunesTrackModel(QObject* parent, TrackCollection* pTrackCollection,
+                     QString nameSpaces = "mixxx.db.model.itunes");
     TrackModel::CapabilitiesFlags getCapabilities() const;
     virtual ~ITunesTrackModel();
 

=== modified file 'mixxx/src/library/librarytablemodel.cpp'
--- mixxx/src/library/librarytablemodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/librarytablemodel.cpp	2012-05-28 14:47:46 +0000
@@ -73,17 +73,11 @@
     return trackIds.size();
 }
 
-TrackPointer LibraryTableModel::getTrack(const QModelIndex& index) const {
-    int trackId = getTrackId(index);
-    return m_trackDao.getTrack(trackId);
-}
-
 void LibraryTableModel::removeTracks(const QModelIndexList& indices) {
     QList<int> trackIds;
 
     foreach (QModelIndex index, indices) {
-        int trackId = getTrackId(index);
-        trackIds.append(trackId);
+        trackIds.append(getTrackId(index));
     }
 
     m_trackDao.removeTracks(trackIds);
@@ -94,8 +88,7 @@
 }
 
 void LibraryTableModel::removeTrack(const QModelIndex& index) {
-    int trackId = getTrackId(index);
-    m_trackDao.removeTrack(trackId);
+    m_trackDao.removeTrack(getTrackId(index));
     // TODO(rryan) : do not select, instead route event to BTC and notify from
     // there.
     select(); //Repopulate the data model.
@@ -103,6 +96,8 @@
 
 void LibraryTableModel::moveTrack(const QModelIndex& sourceIndex,
                                   const QModelIndex& destIndex) {
+    Q_UNUSED(sourceIndex);
+    Q_UNUSED(destIndex);
     // Does nothing because we don't support reordering tracks in the library,
     // and getCapabilities() reports that.
 }

=== modified file 'mixxx/src/library/librarytablemodel.h'
--- mixxx/src/library/librarytablemodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/librarytablemodel.h	2012-05-28 13:54:41 +0000
@@ -17,7 +17,6 @@
                       QString settingsNamespace="mixxx.db.model.library");
     virtual ~LibraryTableModel();
 
-    virtual TrackPointer getTrack(const QModelIndex& index) const;
     virtual void search(const QString& searchText);
     virtual bool isColumnInternal(int column);
     virtual bool isColumnHiddenByDefault(int column);

=== modified file 'mixxx/src/library/missingtablemodel.cpp'
--- mixxx/src/library/missingtablemodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/missingtablemodel.cpp	2012-05-28 14:46:37 +0000
@@ -62,19 +62,9 @@
     return false;
 }
 
-TrackPointer MissingTableModel::getTrack(const QModelIndex& index) const {
-    //FIXME: use position instead of location for playlist tracks?
-
-    //const int locationColumnIndex = this->fieldIndex(LIBRARYTABLE_LOCATION);
-    //QString location = index.sibling(index.row(), locationColumnIndex).data().toString();
-    int trackId = getTrackId(index);
-    return m_trackDao.getTrack(trackId);
-}
 
 void MissingTableModel::removeTrack(const QModelIndex& index) {
-    int trackId = getTrackId(index);
-
-    m_trackDao.removeTrack(trackId);
+    m_trackDao.removeTrack(getTrackId(index));
 
     // TODO(rryan) : do not select, instead route event to BTC and notify from
     // there.
@@ -85,8 +75,7 @@
     QList<int> trackIds;
 
     foreach (QModelIndex index, indices) {
-        int trackId = getTrackId(index);
-        trackIds.append(trackId);
+        trackIds.append(getTrackId(index));
     }
 
     m_trackDao.removeTracks(trackIds);

=== modified file 'mixxx/src/library/missingtablemodel.h'
--- mixxx/src/library/missingtablemodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/missingtablemodel.h	2012-05-28 15:05:54 +0000
@@ -16,7 +16,6 @@
   public:
     MissingTableModel(QObject* parent, TrackCollection* pTrackCollection);
     virtual ~MissingTableModel();
-    virtual TrackPointer getTrack(const QModelIndex& index) const;
     virtual void search(const QString& searchText);
     virtual bool isColumnInternal(int column);
     virtual bool isColumnHiddenByDefault(int column);

=== modified file 'mixxx/src/library/playlisttablemodel.cpp'
--- mixxx/src/library/playlisttablemodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/playlisttablemodel.cpp	2012-05-28 15:13:32 +0000
@@ -134,15 +134,6 @@
     return tracksAdded;
 }
 
-TrackPointer PlaylistTableModel::getTrack(const QModelIndex& index) const {
-    //FIXME: use position instead of location for playlist tracks?
-
-    //const int locationColumnIndex = this->fieldIndex(LIBRARYTABLE_LOCATION);
-    //QString location = index.sibling(index.row(), locationColumnIndex).data().toString();
-    int trackId = getTrackId(index);
-    return m_trackDao.getTrack(trackId);
-}
-
 void PlaylistTableModel::removeTrack(const QModelIndex& index) {
     if (m_playlistDao.isPlaylistLocked(m_iPlaylistId)) {
         return;
@@ -155,18 +146,15 @@
 }
 
 void PlaylistTableModel::removeTracks(const QModelIndexList& indices) {
-    bool locked = m_playlistDao.isPlaylistLocked(m_iPlaylistId);
-
-    if (locked) {
+    if (m_playlistDao.isPlaylistLocked(m_iPlaylistId)) {
         return;
     }
 
-    const int positionColumnIndex = fieldIndex(PLAYLISTTRACKSTABLE_POSITION);
+    //const int positionColumnIndex = fieldIndex(PLAYLISTTRACKSTABLE_POSITION);
 
     QList<int> trackPositions;
     foreach (QModelIndex index, indices) {
-        int trackPosition = index.sibling(index.row(), positionColumnIndex).data().toInt();
-        trackPositions.append(trackPosition);
+        trackPositions.append(getTrackId(index));
     }
 
     qSort(trackPositions);

=== modified file 'mixxx/src/library/playlisttablemodel.h'
--- mixxx/src/library/playlisttablemodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/playlisttablemodel.h	2012-05-28 15:06:04 +0000
@@ -22,7 +22,6 @@
     int getPlaylist() const {
         return m_iPlaylistId;
     }
-    virtual TrackPointer getTrack(const QModelIndex& index) const;
 
     virtual void search(const QString& searchText);
     virtual bool isColumnInternal(int column);

=== modified file 'mixxx/src/library/rhythmbox/rhythmboxplaylistmodel.cpp'
--- mixxx/src/library/rhythmbox/rhythmboxplaylistmodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/rhythmbox/rhythmboxplaylistmodel.cpp	2012-05-28 15:18:34 +0000
@@ -8,10 +8,11 @@
 #include "track/beats.h"
 
 RhythmboxPlaylistModel::RhythmboxPlaylistModel(QObject* parent,
-                                         TrackCollection* pTrackCollection)
+                                         TrackCollection* pTrackCollection,
+                                         QString nameSpaces)
         : BaseSqlTableModel(parent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.rhythmbox_playlist"),
+                            nameSpaces),
           m_pTrackCollection(pTrackCollection),
           m_database(m_pTrackCollection->getDatabase()) {
     connect(this, SIGNAL(doSearch(const QString&)),

=== modified file 'mixxx/src/library/rhythmbox/rhythmboxplaylistmodel.h'
--- mixxx/src/library/rhythmbox/rhythmboxplaylistmodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/rhythmbox/rhythmboxplaylistmodel.h	2012-05-28 15:18:13 +0000
@@ -33,7 +33,8 @@
 class RhythmboxPlaylistModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    RhythmboxPlaylistModel(QObject* parent, TrackCollection* pTrackCollection);
+    RhythmboxPlaylistModel(QObject* parent, TrackCollection* pTrackCollection,
+                            QString nameSpaces="mixxx.db.model.rhythmbox_playlist");
     virtual ~RhythmboxPlaylistModel();
 
     virtual TrackPointer getTrack(const QModelIndex& index) const;

=== modified file 'mixxx/src/library/rhythmbox/rhythmboxtrackmodel.cpp'
--- mixxx/src/library/rhythmbox/rhythmboxtrackmodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/rhythmbox/rhythmboxtrackmodel.cpp	2012-05-28 15:19:21 +0000
@@ -8,10 +8,11 @@
 #include "track/beats.h"
 
 RhythmboxTrackModel::RhythmboxTrackModel(QObject* parent,
-                                   TrackCollection* pTrackCollection)
+                                   TrackCollection* pTrackCollection,
+                                   QString nameSpaces)
         : BaseSqlTableModel(parent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.rhythmbox"),
+                            nameSpaces),
           m_pTrackCollection(pTrackCollection),
           m_database(m_pTrackCollection->getDatabase()) {
     connect(this, SIGNAL(doSearch(const QString&)), this, SLOT(slotSearch(const QString&)));

=== modified file 'mixxx/src/library/rhythmbox/rhythmboxtrackmodel.h'
--- mixxx/src/library/rhythmbox/rhythmboxtrackmodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/rhythmbox/rhythmboxtrackmodel.h	2012-05-28 15:40:07 +0000
@@ -34,7 +34,8 @@
 class RhythmboxTrackModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    RhythmboxTrackModel(QObject* parent, TrackCollection* pTrackCollection);
+    RhythmboxTrackModel(QObject* parent, TrackCollection* pTrackCollection,
+                        QString nameSpaces = "mixxx.db.model.rhythmbox");
     TrackModel::CapabilitiesFlags getCapabilities() const;
     virtual ~RhythmboxTrackModel();
 

=== modified file 'mixxx/src/library/traktor/traktorplaylistmodel.cpp'
--- mixxx/src/library/traktor/traktorplaylistmodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/traktor/traktorplaylistmodel.cpp	2012-05-28 15:20:14 +0000
@@ -8,10 +8,11 @@
 #include "track/beats.h"
 
 TraktorPlaylistModel::TraktorPlaylistModel(QObject* parent,
-                                       TrackCollection* pTrackCollection)
+                                       TrackCollection* pTrackCollection,
+                                       QString nameSpaces)
         : BaseSqlTableModel(parent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.traktor.playlistmodel"),
+                            nameSpaces),
           m_pTrackCollection(pTrackCollection),
           m_database(m_pTrackCollection->getDatabase()) {
     connect(this, SIGNAL(doSearch(const QString&)),

=== modified file 'mixxx/src/library/traktor/traktorplaylistmodel.h'
--- mixxx/src/library/traktor/traktorplaylistmodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/traktor/traktorplaylistmodel.h	2012-05-28 15:19:53 +0000
@@ -15,7 +15,8 @@
 class TraktorPlaylistModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    TraktorPlaylistModel(QObject* parent, TrackCollection* pTrackCollection);
+    TraktorPlaylistModel(QObject* parent, TrackCollection* pTrackCollection,
+                         QString nameSpaces = "mixxx.db.model.traktor.playlistmodel");
     TrackModel::CapabilitiesFlags getCapabilities() const;
     virtual ~TraktorPlaylistModel();
 

=== modified file 'mixxx/src/library/traktor/traktortablemodel.cpp'
--- mixxx/src/library/traktor/traktortablemodel.cpp	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/traktor/traktortablemodel.cpp	2012-05-28 15:21:01 +0000
@@ -8,10 +8,11 @@
 #include "track/beats.h"
 
 TraktorTableModel::TraktorTableModel(QObject* parent,
-                                     TrackCollection* pTrackCollection)
+                                     TrackCollection* pTrackCollection,
+                                     QString nameSpaces)
         : BaseSqlTableModel(parent, pTrackCollection,
                             pTrackCollection->getDatabase(),
-                            "mixxx.db.model.traktor_tablemodel"),
+                            nameSpaces),
           m_pTrackCollection(pTrackCollection),
           m_database(m_pTrackCollection->getDatabase()) {
     connect(this, SIGNAL(doSearch(const QString&)), this,

=== modified file 'mixxx/src/library/traktor/traktortablemodel.h'
--- mixxx/src/library/traktor/traktortablemodel.h	2012-05-23 19:12:25 +0000
+++ mixxx/src/library/traktor/traktortablemodel.h	2012-05-28 15:20:41 +0000
@@ -16,7 +16,8 @@
 class TraktorTableModel : public BaseSqlTableModel {
     Q_OBJECT
   public:
-    TraktorTableModel(QObject* parent, TrackCollection* pTrackCollection);
+    TraktorTableModel(QObject* parent, TrackCollection* pTrackCollection,
+                      QString nameSpaces = "mixxx.db.model.traktor_tablemodel");
     TrackModel::CapabilitiesFlags getCapabilities() const;
     virtual ~TraktorTableModel();
 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to