ENH: Allow edit on single click. Fixes #9393. Also fix row heights to be consistent.
This commit is contained in:
parent
821247ef4d
commit
37805ff81c
|
@ -24,6 +24,7 @@
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
#include <QMetaProperty>
|
#include <QMetaProperty>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
#include "QCMakeWidgets.h"
|
#include "QCMakeWidgets.h"
|
||||||
|
|
||||||
|
@ -139,10 +140,9 @@ QCMakeCacheView::QCMakeCacheView(QWidget* p)
|
||||||
QCMakeCacheModelDelegate* delegate = new QCMakeCacheModelDelegate(this);
|
QCMakeCacheModelDelegate* delegate = new QCMakeCacheModelDelegate(this);
|
||||||
this->setItemDelegate(delegate);
|
this->setItemDelegate(delegate);
|
||||||
|
|
||||||
this->setEditTriggers(QAbstractItemView::DoubleClicked |
|
this->setUniformRowHeights(true);
|
||||||
QAbstractItemView::SelectedClicked |
|
|
||||||
QAbstractItemView::EditKeyPressed |
|
this->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
||||||
QAbstractItemView::AnyKeyPressed);
|
|
||||||
|
|
||||||
// tab, backtab doesn't step through items
|
// tab, backtab doesn't step through items
|
||||||
this->setTabKeyNavigation(false);
|
this->setTabKeyNavigation(false);
|
||||||
|
@ -664,6 +664,19 @@ void QCMakeCacheModelDelegate::setModelData(QWidget* editor,
|
||||||
const_cast<QCMakeCacheModelDelegate*>(this)->recordChange(model, index);
|
const_cast<QCMakeCacheModelDelegate*>(this)->recordChange(model, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSize QCMakeCacheModelDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
|
||||||
|
{
|
||||||
|
QSize sz = QItemDelegate::sizeHint(option, index);
|
||||||
|
QStyle *style = QApplication::style();
|
||||||
|
|
||||||
|
// increase to checkbox size
|
||||||
|
QStyleOptionButton opt;
|
||||||
|
opt.QStyleOption::operator=(option);
|
||||||
|
sz = sz.expandedTo(style->subElementRect(QStyle::SE_ViewItemCheckIndicator, &opt, NULL).size());
|
||||||
|
|
||||||
|
return sz;
|
||||||
|
}
|
||||||
|
|
||||||
QSet<QCMakeProperty> QCMakeCacheModelDelegate::changes() const
|
QSet<QCMakeProperty> QCMakeCacheModelDelegate::changes() const
|
||||||
{
|
{
|
||||||
return mChanges;
|
return mChanges;
|
||||||
|
|
|
@ -150,6 +150,7 @@ public:
|
||||||
const QStyleOptionViewItem& option, const QModelIndex& index);
|
const QStyleOptionViewItem& option, const QModelIndex& index);
|
||||||
bool eventFilter(QObject* object, QEvent* event);
|
bool eventFilter(QObject* object, QEvent* event);
|
||||||
void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index ) const;
|
void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index ) const;
|
||||||
|
QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
|
||||||
|
|
||||||
QSet<QCMakeProperty> changes() const;
|
QSet<QCMakeProperty> changes() const;
|
||||||
void clearChanges();
|
void clearChanges();
|
||||||
|
|
Loading…
Reference in New Issue