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,
|
||||
IntValueSelectedSignal,
|
||||
DoubleValueSelectedSignal,
|
||||
AcceptedSignal,
|
||||
|
||||
NumCandidateSignals
|
||||
};
|
||||
@ -75,7 +74,6 @@ static const char *candidateSignal(int which)
|
||||
case TextValueSelectedSignal: return SIGNAL(textValueSelected(QString));
|
||||
case IntValueSelectedSignal: return SIGNAL(intValueSelected(int));
|
||||
case DoubleValueSelectedSignal: return SIGNAL(doubleValueSelected(double));
|
||||
case AcceptedSignal: return SIGNAL(accepted());
|
||||
|
||||
case NumCandidateSignals: ; // fall through
|
||||
};
|
||||
@ -87,13 +85,12 @@ static const char *signalForMember(const char *member)
|
||||
{
|
||||
QByteArray normalizedMember(QMetaObject::normalizedSignature(member));
|
||||
|
||||
int i = 0;
|
||||
while (i < NumCandidateSignals - 1) { // sic
|
||||
for (int i = 0; i < NumCandidateSignals; ++i)
|
||||
if (QMetaObject::checkConnectArgs(candidateSignal(i), normalizedMember))
|
||||
break;
|
||||
++i;
|
||||
}
|
||||
return candidateSignal(i);
|
||||
return candidateSignal(i);
|
||||
|
||||
// otherwise, use fit-all accepted signal:
|
||||
return SIGNAL(accepted());
|
||||
}
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
Loading…
x
Reference in New Issue
Block a user