QKeySequenceEdit: Extract Method Private::rebuildKeySequence()

Factor the construction of Private::keySequence from Private::key into
a helper function, as we'll need this functionality in more places
when we add a maxKeyCount property to the class.

Change-Id: I6b08a619c3b6b2a9ff660e9f51b02632c2359a47
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
Marc Mutz 2022-05-18 12:02:07 +02:00 committed by Tor Arne Vestbø
parent 1ad456c908
commit 20d5f8461f
2 changed files with 4 additions and 3 deletions

View File

@ -283,9 +283,8 @@ void QKeySequenceEdit::keyPressEvent(QKeyEvent *e)
d->key[d->keyNum] = QKeyCombination::fromCombined(nextKey);
d->keyNum++;
QKeySequence key(d->key[0], d->key[1], d->key[2], d->key[3]);
d->keySequence = key;
QString text = key.toString(QKeySequence::NativeText);
d->rebuildKeySequence();
QString text = d->keySequence.toString(QKeySequence::NativeText);
if (d->keyNum < QKeySequencePrivate::MaxKeyCount) {
//: This text is an "unfinished" shortcut, expands like "Ctrl+A, ..."
text = tr("%1, ...").arg(text);

View File

@ -36,6 +36,8 @@ public:
int translateModifiers(Qt::KeyboardModifiers state, const QString &text);
void resetState();
void finishEditing();
void rebuildKeySequence()
{ keySequence = QKeySequence(key[0], key[1], key[2], key[3]); }
QLineEdit *lineEdit;
QKeySequence keySequence;