fixed selection issues in grid view

This commit is contained in:
Luis Ángel San Martín 2015-01-01 11:45:41 +01:00
parent 280c6b96e9
commit 1a04358a83
2 changed files with 16 additions and 1 deletions

View File

@ -102,6 +102,8 @@ void GridComicsView::setModel(ComicModel *model)
void GridComicsView::setCurrentIndex(const QModelIndex &index)
{
QLOG_INFO() << "setCurrentIndex";
_selectionModel->select(index, QItemSelectionModel::Select | QItemSelectionModel::Rows);
view->rootContext()->setContextProperty("dummyValue", true);
}
QModelIndex GridComicsView::currentIndex()
@ -153,6 +155,11 @@ void GridComicsView::enableFilterMode(bool enabled)
void GridComicsView::selectAll()
{
QLOG_INFO() << "selectAll";
QModelIndex top = model->index(0, 0);
QModelIndex bottom = model->index(model->rowCount()-1, 0);
QItemSelection selection(top, bottom);
_selectionModel->select(selection, QItemSelectionModel::Select | QItemSelectionModel::Rows);
view->rootContext()->setContextProperty("dummyValue", true);
}
void GridComicsView::rate(int index, int rating)

View File

@ -12,7 +12,7 @@ Rectangle {
function selectAll(from,to)
{
for(var i = from+1;i<to;i++)
for(var i = from;i<to;i++)
{
comicsSelectionHelper.selectIndex(i);
}
@ -120,6 +120,14 @@ Rectangle {
}
onReleased: {
if(mouse.button != Qt.RightButton && !(mouse.modifiers & Qt.ControlModifier || mouse.modifiers & Qt.ShiftModifier))
{
comicsSelectionHelper.clear();
grid.currentIndex = index;
}
}
}
}