diff options
author | arli <tntlagf93@mail.ru> | 2017-02-05 20:55:12 +0400 |
---|---|---|
committer | arli <tntlagf93@mail.ru> | 2017-02-05 20:55:12 +0400 |
commit | 587594ac37f7e5a7359eaa66df12953e3ce4920b (patch) | |
tree | bfaeeae66048105dc1a6ba6c14711c8c10e4eec1 /src/widget | |
parent | cfaa1e806238065f6b32542bbc7ebb26bc3943b2 (diff) |
scroll bar state fix, now compiles, at very least works fine for tracklist, playlist and crates
Diffstat (limited to 'src/widget')
-rw-r--r-- | src/widget/wanalysislibrarytableview.cpp | 2 | ||||
-rw-r--r-- | src/widget/wlibrarytableview.cpp | 7 | ||||
-rw-r--r-- | src/widget/wtracktableview.cpp | 19 |
3 files changed, 12 insertions, 16 deletions
diff --git a/src/widget/wanalysislibrarytableview.cpp b/src/widget/wanalysislibrarytableview.cpp index d12240a9eb..2ec9ccbe16 100644 --- a/src/widget/wanalysislibrarytableview.cpp +++ b/src/widget/wanalysislibrarytableview.cpp @@ -4,7 +4,7 @@ WAnalysisLibraryTableView::WAnalysisLibraryTableView(QWidget* parent, UserSettingsPointer pConfig, TrackCollection* pTrackCollection) - : WTrackTableView(parent, pConfig, pTrackCollection, QString::number(qrand())) { + : WTrackTableView(parent, pConfig, pTrackCollection) { setDragDropMode(QAbstractItemView::DragOnly); setDragEnabled(true); //Always enable drag for now (until we have a model that doesn't support this.) } diff --git a/src/widget/wlibrarytableview.cpp b/src/widget/wlibrarytableview.cpp index 86bed34e1d..61cd09b0db 100644 --- a/src/widget/wlibrarytableview.cpp +++ b/src/widget/wlibrarytableview.cpp @@ -18,8 +18,6 @@ WLibraryTableView::WLibraryTableView(QWidget* parent, m_pConfig(pConfig), m_vScrollBarPosKey(vScrollBarPosKey) { - qWarning() << "vScrollBarPosKey=" << vScrollBarPosKey; - // Setup properties for table // Editing starts when clicking on an already selected item. @@ -44,7 +42,7 @@ WLibraryTableView::WLibraryTableView(QWidget* parent, setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setAlternatingRowColors(true); - loadVScrollBarPosState(); + //loadVScrollBarPosState(); connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SIGNAL(scrollValueChanged(int))); @@ -53,7 +51,6 @@ WLibraryTableView::WLibraryTableView(QWidget* parent, } WLibraryTableView::~WLibraryTableView() { - saveVScrollBarPosState(); } void WLibraryTableView::loadVScrollBarPosState() { @@ -75,7 +72,6 @@ void WLibraryTableView::saveVScrollBarPos() { //Save the scrollbar's position so we can return here after //a search is cleared. m_iSavedVScrollBarPos = verticalScrollBar()->value(); - } @@ -121,6 +117,7 @@ void WLibraryTableView::saveVScrollBarPos(const QString key){ void WLibraryTableView::restoreVScrollBarPos(const QString key){ updateGeometries(); + if (m_vScrollBarPosValues.contains(key)){ verticalScrollBar()->setValue(m_vScrollBarPosValues[key]); }else{ diff --git a/src/widget/wtracktableview.cpp b/src/widget/wtracktableview.cpp index d6b4ab46a6..9c6c548a5f 100644 --- a/src/widget/wtracktableview.cpp +++ b/src/widget/wtracktableview.cpp @@ -27,11 +27,10 @@ WTrackTableView::WTrackTableView(QWidget * parent, UserSettingsPointer pConfig, - TrackCollection* pTrackCollection, - const QString scrollBarKey, bool sorting) + TrackCollection* pTrackCollection, bool sorting) : WLibraryTableView(parent, pConfig, ConfigKey(LIBRARY_CONFIGVALUE, - scrollBarKey)), + WTRACKTABLEVIEW_VSCROLLBARPOS_KEY)), m_pConfig(pConfig), m_pTrackCollection(pTrackCollection), m_sorting(sorting), @@ -43,8 +42,6 @@ WTrackTableView::WTrackTableView(QWidget * parent, m_selectionChangedSinceLastGuiTick(true), m_loadCachedOnly(false) { - qWarning() << "WTrackTableView called"; - connect(&m_loadTrackMapper, SIGNAL(mapped(QString)), this, SLOT(loadSelectionToGroup(QString))); @@ -201,8 +198,6 @@ void WTrackTableView::slotGuiTick50ms(double /*unused*/) { void WTrackTableView::loadTrackModel(QAbstractItemModel *model) { //qDebug() << "WTrackTableView::loadTrackModel()" << model; - qWarning() << "loadTrackModel:" << reinterpret_cast<unsigned long>(model); - TrackModel* trackModel = dynamic_cast<TrackModel*>(model); VERIFY_OR_DEBUG_ASSERT(model) { @@ -212,6 +207,8 @@ void WTrackTableView::loadTrackModel(QAbstractItemModel *model) { return; } + unsigned long newModelAddr = 0; + /* If the model has not changed * there's no need to exchange the headers * this will cause a small GUI freeze @@ -222,12 +219,10 @@ void WTrackTableView::loadTrackModel(QAbstractItemModel *model) { doSortByColumn(horizontalHeader()->sortIndicatorSection()); return; }else{ + newModelAddr = reinterpret_cast<unsigned long>(trackModel); saveVScrollBarPos(QString::number(reinterpret_cast<unsigned long>(getTrackModel()))); //saving current vertical bar position //using adress of track model as key - restoreVScrollBarPos(QString::number(reinterpret_cast<unsigned long>(trackModel))); - // restoring scrollBar position using model pointer as key - // scrollbar positions with respect to different models are backed by map } // The "coverLocation" and "hash" column numbers are required very often @@ -369,6 +364,10 @@ void WTrackTableView::loadTrackModel(QAbstractItemModel *model) { setVisible(true); //restoreVScrollBarPos(); + + restoreVScrollBarPos(QString::number(newModelAddr)); + // restoring scrollBar position using model pointer as key + // scrollbar positions with respect to different models are backed by map } void WTrackTableView::createActions() { |