It is possible that the selection of an inactive column gets changed (e. g. by the selection markers). In this case the column should get active.

BUG: 188979

svn path=/trunk/KDE/kdebase/apps/; revision=1070789
This commit is contained in:
Peter Penz 2010-01-06 18:40:55 +00:00
parent 923a47290f
commit b93b305d2e
2 changed files with 18 additions and 0 deletions

View file

@ -192,6 +192,22 @@ KFileItem DolphinColumnView::itemAt(const QPoint& pos) const
return item;
}
void DolphinColumnView::setSelectionModel(QItemSelectionModel* model)
{
// If a change of the selection is done although the view is not active
// (e. g. by the selection markers), the column must be activated. This
// is done by listening to the current selectionChanged() signal.
if (selectionModel() != 0) {
disconnect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
this, SLOT(requestActivation()));
}
QListView::setSelectionModel(model);
connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
this, SLOT(requestActivation()));
}
QStyleOptionViewItem DolphinColumnView::viewOptions() const
{
QStyleOptionViewItem viewOptions = QListView::viewOptions();

View file

@ -85,6 +85,8 @@ public:
*/
KFileItem itemAt(const QPoint& pos) const;
virtual void setSelectionModel(QItemSelectionModel* model);
protected:
virtual QStyleOptionViewItem viewOptions() const;
virtual void startDrag(Qt::DropActions supportedActions);