Reset model to reset column count

This commit is contained in:
craig.p.drummond
2014-01-27 19:39:44 +00:00
parent ec7406a9c1
commit e4cf9bf16b
4 changed files with 12 additions and 7 deletions

View File

@@ -265,8 +265,15 @@ void PlaylistsPage::addSelectionToPlaylist(const QString &name, bool replace, qu
void PlaylistsPage::setView(int mode)
{
//bool diff=view->viewMode()!=mode;
bool needToReset=ItemView::Mode_Table==view->viewMode() || ItemView::Mode_Table==mode;
if (needToReset) {
proxy.setSourceModel(0);
}
PlaylistsModel::self()->setMultiColumn(ItemView::Mode_Table==mode);
view->setMode((ItemView::Mode)mode);
if (needToReset) {
proxy.setSourceModel(PlaylistsModel::self());
}
//if (diff) {
// clear();
// refresh();

View File

@@ -89,9 +89,3 @@ bool PlaylistsProxyModel::lessThan(const QModelIndex &left, const QModelIndex &r
return false;
}
int PlaylistsProxyModel::columnCount(const QModelIndex &parent) const
{
Q_UNUSED(parent)
return PlaylistsModel::self()->columnCount(QModelIndex());
}

View File

@@ -37,7 +37,6 @@ public:
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
static bool compareNames(const QString &l, const QString &r) { return l.localeAwareCompare(r)<0; }
bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
int columnCount(const QModelIndex &parent=QModelIndex()) const;
};
#endif

View File

@@ -619,6 +619,7 @@ void ItemView::setMode(Mode m)
tableView->saveHeader();
tableView->setHidden(true);
tableView->setModel(0);
tableView->resize(16, tableView->height());
}
treeView->setModel(itemModel);
treeView->setHidden(false);
@@ -633,12 +634,14 @@ void ItemView::setMode(Mode m)
tableView->saveHeader();
tableView->setHidden(true);
tableView->setModel(0);
tableView->resize(16, tableView->height());
}
groupedView->setHidden(false);
treeView->setHidden(true);
groupedView->setModel(itemModel);
itemModel->setRootIndex(QModelIndex());
} else if (Mode_Table==mode) {
int w=view()->width();
treeView->setModel(0);
listView->setModel(0);
if (groupedView) {
@@ -650,6 +653,7 @@ void ItemView::setMode(Mode m)
tableView->setModel(itemModel);
tableView->initHeader();
itemModel->setRootIndex(QModelIndex());
tableView->resize(w, tableView->height());
} else {
treeView->setModel(0);
if (groupedView) {
@@ -658,6 +662,7 @@ void ItemView::setMode(Mode m)
if (tableView) {
tableView->saveHeader();
tableView->setModel(0);
tableView->resize(16, tableView->height());
}
listView->setModel(itemModel);
setLevel(0);