mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Better handling of mouse on the delegates ( Equipment Edition )
This adds more handling of missing actions for the mouse on the equipment edition. It complements the stuff talked about on bug 359, but it's a different issue. 359 seems already fixed. See #359 Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6fe692bde6
commit
0785a7f0ca
2 changed files with 10 additions and 0 deletions
|
@ -95,8 +95,12 @@ QWidget *ComboBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewI
|
|||
comboDelegate->view()->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
||||
comboDelegate->lineEdit()->installEventFilter(const_cast<QObject *>(qobject_cast<const QObject *>(this)));
|
||||
comboDelegate->view()->installEventFilter(const_cast<QObject *>(qobject_cast<const QObject *>(this)));
|
||||
QAbstractItemView *comboPopup = comboDelegate->lineEdit()->completer()->popup();
|
||||
comboPopup->setMouseTracking(true);
|
||||
connect(comboDelegate, SIGNAL(highlighted(QString)), this, SLOT(testActivation(QString)));
|
||||
connect(comboDelegate, SIGNAL(activated(QString)), this, SLOT(fakeActivation()));
|
||||
connect(comboPopup, SIGNAL(entered(QModelIndex)), this, SLOT(testActivation(QModelIndex)));
|
||||
connect(comboPopup, SIGNAL(activated(QModelIndex)), this, SLOT(fakeActivation()));
|
||||
connect(this, SIGNAL(closeEditor(QWidget *, QAbstractItemDelegate::EndEditHint)), this, SLOT(fixTabBehavior()));
|
||||
currCombo.comboEditor = comboDelegate;
|
||||
currCombo.currRow = index.row();
|
||||
|
@ -126,6 +130,11 @@ void ComboBoxDelegate::testActivation(const QString &currText)
|
|||
setModelData(currCombo.comboEditor, currCombo.model, QModelIndex());
|
||||
}
|
||||
|
||||
void ComboBoxDelegate::testActivation(const QModelIndex &currIndex)
|
||||
{
|
||||
testActivation(currIndex.data().toString());
|
||||
}
|
||||
|
||||
// HACK, send a fake event so Qt thinks we hit 'enter' on the line edit.
|
||||
void ComboBoxDelegate::fakeActivation()
|
||||
{
|
||||
|
|
|
@ -36,6 +36,7 @@ public:
|
|||
public
|
||||
slots:
|
||||
void testActivation(const QString &currString = QString());
|
||||
void testActivation(const QModelIndex &currIndex);
|
||||
//HACK: try to get rid of this in the future.
|
||||
void fakeActivation();
|
||||
void fixTabBehavior();
|
||||
|
|
Loading…
Add table
Reference in a new issue