QInputDialog: simplify signalForMember()
Instead of playing clever tricks with the index variable, simply scan through the list of argument-carrying signals and, if nothing fits there, fall explicitly back to accepted(). Change-Id: I1be49ce601edb854cc1bab5be994b2c09fe31b3c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
parent
c2cc74f862
commit
46a0a87b2a
@ -64,7 +64,6 @@ enum CandidateSignal {
|
|||||||
TextValueSelectedSignal,
|
TextValueSelectedSignal,
|
||||||
IntValueSelectedSignal,
|
IntValueSelectedSignal,
|
||||||
DoubleValueSelectedSignal,
|
DoubleValueSelectedSignal,
|
||||||
AcceptedSignal,
|
|
||||||
|
|
||||||
NumCandidateSignals
|
NumCandidateSignals
|
||||||
};
|
};
|
||||||
@ -75,7 +74,6 @@ static const char *candidateSignal(int which)
|
|||||||
case TextValueSelectedSignal: return SIGNAL(textValueSelected(QString));
|
case TextValueSelectedSignal: return SIGNAL(textValueSelected(QString));
|
||||||
case IntValueSelectedSignal: return SIGNAL(intValueSelected(int));
|
case IntValueSelectedSignal: return SIGNAL(intValueSelected(int));
|
||||||
case DoubleValueSelectedSignal: return SIGNAL(doubleValueSelected(double));
|
case DoubleValueSelectedSignal: return SIGNAL(doubleValueSelected(double));
|
||||||
case AcceptedSignal: return SIGNAL(accepted());
|
|
||||||
|
|
||||||
case NumCandidateSignals: ; // fall through
|
case NumCandidateSignals: ; // fall through
|
||||||
};
|
};
|
||||||
@ -87,13 +85,12 @@ static const char *signalForMember(const char *member)
|
|||||||
{
|
{
|
||||||
QByteArray normalizedMember(QMetaObject::normalizedSignature(member));
|
QByteArray normalizedMember(QMetaObject::normalizedSignature(member));
|
||||||
|
|
||||||
int i = 0;
|
for (int i = 0; i < NumCandidateSignals; ++i)
|
||||||
while (i < NumCandidateSignals - 1) { // sic
|
|
||||||
if (QMetaObject::checkConnectArgs(candidateSignal(i), normalizedMember))
|
if (QMetaObject::checkConnectArgs(candidateSignal(i), normalizedMember))
|
||||||
break;
|
return candidateSignal(i);
|
||||||
++i;
|
|
||||||
}
|
// otherwise, use fit-all accepted signal:
|
||||||
return candidateSignal(i);
|
return SIGNAL(accepted());
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user