Set correct cell when selecting custom color cell with arrow keys
Correct cell is now set when selecting a custom color cell with arrow keys so that the custom coor is actually added to the selected cell (as with mouse events). Task-number: QTBUG-32054 Change-Id: Ic271a0be76070b4f5364954b2dfe464964c1380b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
parent
bc03e80f9a
commit
17fe17d525
@ -134,6 +134,7 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void selected(int row, int col);
|
void selected(int row, int col);
|
||||||
|
void currentChanged(int row, int col);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void paintCell(QPainter *, int row, int col, const QRect&);
|
virtual void paintCell(QPainter *, int row, int col, const QRect&);
|
||||||
@ -309,6 +310,8 @@ void QWellArray::setCurrent(int row, int col)
|
|||||||
|
|
||||||
updateCell(oldRow, oldCol);
|
updateCell(oldRow, oldCol);
|
||||||
updateCell(curRow, curCol);
|
updateCell(curRow, curCol);
|
||||||
|
|
||||||
|
emit currentChanged(curRow, curCol);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -342,6 +345,7 @@ void QWellArray::setSelected(int row, int col)
|
|||||||
void QWellArray::focusInEvent(QFocusEvent*)
|
void QWellArray::focusInEvent(QFocusEvent*)
|
||||||
{
|
{
|
||||||
updateCell(curRow, curCol);
|
updateCell(curRow, curCol);
|
||||||
|
emit currentChanged(curRow, curCol);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QWellArray::setCellBrush(int row, int col, const QBrush &b)
|
void QWellArray::setCellBrush(int row, int col, const QBrush &b)
|
||||||
@ -1426,11 +1430,15 @@ void QColorDialogPrivate::_q_newColorTypedIn(QRgb rgb)
|
|||||||
lp->setCol(h, s, v);
|
lp->setCol(h, s, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QColorDialogPrivate::_q_nextCustom(int r, int c)
|
||||||
|
{
|
||||||
|
nextCust = r + 2 * c;
|
||||||
|
}
|
||||||
|
|
||||||
void QColorDialogPrivate::_q_newCustom(int r, int c)
|
void QColorDialogPrivate::_q_newCustom(int r, int c)
|
||||||
{
|
{
|
||||||
const int i = r + 2 * c;
|
const int i = r + 2 * c;
|
||||||
setCurrentColor(QColorDialogOptions::customColor(i));
|
setCurrentColor(QColorDialogOptions::customColor(i));
|
||||||
nextCust = i;
|
|
||||||
if (standard)
|
if (standard)
|
||||||
standard->setSelected(-1,-1);
|
standard->setSelected(-1,-1);
|
||||||
}
|
}
|
||||||
@ -1494,6 +1502,7 @@ void QColorDialogPrivate::init(const QColor &initial)
|
|||||||
custom->setAcceptDrops(true);
|
custom->setAcceptDrops(true);
|
||||||
|
|
||||||
q->connect(custom, SIGNAL(selected(int,int)), SLOT(_q_newCustom(int,int)));
|
q->connect(custom, SIGNAL(selected(int,int)), SLOT(_q_newCustom(int,int)));
|
||||||
|
q->connect(custom, SIGNAL(currentChanged(int,int)), SLOT(_q_nextCustom(int,int)));
|
||||||
lblCustomColors = new QLabel(q);
|
lblCustomColors = new QLabel(q);
|
||||||
#ifndef QT_NO_SHORTCUT
|
#ifndef QT_NO_SHORTCUT
|
||||||
lblCustomColors->setBuddy(custom);
|
lblCustomColors->setBuddy(custom);
|
||||||
|
@ -120,6 +120,7 @@ private:
|
|||||||
Q_PRIVATE_SLOT(d_func(), void _q_addCustom())
|
Q_PRIVATE_SLOT(d_func(), void _q_addCustom())
|
||||||
Q_PRIVATE_SLOT(d_func(), void _q_newHsv(int h, int s, int v))
|
Q_PRIVATE_SLOT(d_func(), void _q_newHsv(int h, int s, int v))
|
||||||
Q_PRIVATE_SLOT(d_func(), void _q_newColorTypedIn(QRgb rgb))
|
Q_PRIVATE_SLOT(d_func(), void _q_newColorTypedIn(QRgb rgb))
|
||||||
|
Q_PRIVATE_SLOT(d_func(), void _q_nextCustom(int, int))
|
||||||
Q_PRIVATE_SLOT(d_func(), void _q_newCustom(int, int))
|
Q_PRIVATE_SLOT(d_func(), void _q_newCustom(int, int))
|
||||||
Q_PRIVATE_SLOT(d_func(), void _q_newStandard(int, int))
|
Q_PRIVATE_SLOT(d_func(), void _q_newStandard(int, int))
|
||||||
friend class QColorShower;
|
friend class QColorShower;
|
||||||
|
@ -98,6 +98,7 @@ public:
|
|||||||
|
|
||||||
void _q_newHsv(int h, int s, int v);
|
void _q_newHsv(int h, int s, int v);
|
||||||
void _q_newColorTypedIn(QRgb rgb);
|
void _q_newColorTypedIn(QRgb rgb);
|
||||||
|
void _q_nextCustom(int, int);
|
||||||
void _q_newCustom(int, int);
|
void _q_newCustom(int, int);
|
||||||
void _q_newStandard(int, int);
|
void _q_newStandard(int, int);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user