summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/widget/wanalysislibrarytableview.cpp2
-rw-r--r--src/widget/wlibrarytableview.cpp7
-rw-r--r--src/widget/wtracktableview.cpp19
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() {