diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-10-06 16:06:01 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-10-06 17:47:54 +0200 |
commit | 575ee40621f7632c6d82e628aa2817c3233de327 (patch) | |
tree | d71d7ec23cdf7bd9962d868e5db6c32b946ad6e1 /src/activeqt | |
parent | 68dcc97d38871bba273181e8b0c55bd9c9be6780 (diff) | |
download | qtactiveqt-575ee40621f7632c6d82e628aa2817c3233de327.tar.gz |
Remove repeated invocations of end() in iterations.
Assign end() to a variable. Where possible,
use foreach() to iterate over lists or map values or use
Qt convenience APIs.
Change-Id: Ie6a6f56d1b0ddb419d06a7ccf4be2f8b32c029b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/activeqt')
-rw-r--r-- | src/activeqt/container/qaxbase.cpp | 73 | ||||
-rw-r--r-- | src/activeqt/container/qaxscript.cpp | 61 | ||||
-rw-r--r-- | src/activeqt/container/qaxwidget.cpp | 21 | ||||
-rw-r--r-- | src/activeqt/control/qaxfactory.h | 16 | ||||
-rw-r--r-- | src/activeqt/control/qaxserver.cpp | 49 | ||||
-rw-r--r-- | src/activeqt/control/qaxserverbase.cpp | 27 | ||||
-rw-r--r-- | src/activeqt/control/qaxservermain.cpp | 14 | ||||
-rw-r--r-- | src/activeqt/shared/qaxtypes.cpp | 5 |
8 files changed, 108 insertions, 158 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp index f88172c..fc78640 100644 --- a/src/activeqt/container/qaxbase.cpp +++ b/src/activeqt/container/qaxbase.cpp @@ -304,14 +304,7 @@ public: } sigs.insert(memid, signalname); - QMap<DISPID,QByteArray>::ConstIterator it; - DISPID id = -1; - for (it = propsigs.constBegin(); it!= propsigs.constEnd(); ++it) { - if (it.value() == signalname) { - id = it.key(); - break; - } - } + const DISPID id = propsigs.key(signalname, -1); if (id != -1) propsigs.remove(id); } @@ -586,6 +579,8 @@ public: class QAxBasePrivate { public: + typedef QHash<QUuid, QAxEventSink*> UuidEventSinkHash; + QAxBasePrivate() : useEventSink(true), useMetaObject(true), useClassInfo(true), cachedMetaObject(false), initialized(false), tryCache(false), @@ -625,8 +620,7 @@ public: } QString ctrl; - - QHash<QUuid, QAxEventSink*> eventSink; + UuidEventSinkHash eventSink; uint useEventSink :1; uint useMetaObject :1; uint useClassInfo :1; @@ -1008,10 +1002,9 @@ bool QAxBase::setControl(const QString &c) search = controls.value(c + QLatin1String("/CLSID/Default")).toString(); if (search.isEmpty()) { controls.beginGroup(QLatin1String("/CLSID")); - QStringList clsids = controls.childGroups(); - for (QStringList::Iterator it = clsids.begin(); it != clsids.end(); ++it) { - QString clsid = *it; - QString name = controls.value(clsid + QLatin1String("/Default")).toString(); + const QStringList clsids = controls.childGroups(); + foreach (const QString &clsid, clsids) { + const QString name = controls.value(clsid + QLatin1String("/Default")).toString(); if (name == c) { search = clsid; break; @@ -1110,10 +1103,7 @@ void QAxBase::disableClassInfo() */ void QAxBase::clear() { - QHash<QUuid, QAxEventSink*>::Iterator it = d->eventSink.begin(); - while (it != d->eventSink.end()) { - QAxEventSink *eventSink = it.value(); - ++it; + foreach (QAxEventSink *eventSink, d->eventSink) { if (eventSink) { eventSink->unadvise(); eventSink->Release(); @@ -1526,6 +1516,10 @@ public: } private: + typedef QPair<QByteArray, int> ByteArrayIntPair; + typedef QList<ByteArrayIntPair> ByteArrayIntPairList; + typedef QMap<QByteArray, ByteArrayIntPairList>::ConstIterator EnumListMapConstIterator; + void init(); @@ -1690,10 +1684,11 @@ private: return property_list.value(name).type; } - QMap<QByteArray, QList<QPair<QByteArray, int> > > enum_list; + QMap<QByteArray, ByteArrayIntPairList> enum_list; + inline void addEnumValue(const QByteArray &enumname, const QByteArray &key, int value) { - enum_list[enumname].append(QPair<QByteArray, int>(key, value)); + enum_list[enumname].append(ByteArrayIntPair(key, value)); } inline bool hasEnum(const QByteArray &enumname) @@ -2166,11 +2161,10 @@ void MetaObjectGenerator::readClassInfo() if (!tlid.isEmpty()) { controls.beginGroup(QLatin1String("/Classes/TypeLib/") + tlid); QStringList versions = controls.childGroups(); - QStringList::Iterator vit = versions.begin(); - while (tlfile.isEmpty() && vit != versions.end()) { - QString version = *vit; - ++vit; + foreach (const QString &version, versions) { tlfile = controls.value(QLatin1Char('/') + version + QLatin1String("/0/win32/.")).toString(); + if (!tlfile.isEmpty()) + break; } controls.endGroup(); } else { @@ -2962,11 +2956,7 @@ QMetaObject *MetaObjectGenerator::tryCache() IConnectionPointContainer *cpoints = 0; d->ptr->QueryInterface(IID_IConnectionPointContainer, (void**)&cpoints); if (cpoints) { - QList<QUuid>::ConstIterator it = d->metaobj->connectionInterfaces.begin(); - while (it != d->metaobj->connectionInterfaces.end()) { - QUuid iid = *it; - ++it; - + foreach (const QUuid &iid, d->metaobj->connectionInterfaces) { IConnectionPoint *cpoint = 0; cpoints->FindConnectionPoint(iid, &cpoint); if (cpoint) { @@ -3052,10 +3042,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co int_data_size += (signal_list.count() + slot_list.count()) * 5 + paramsDataSize; int_data_size += property_list.count() * 3; int_data_size += enum_list.count() * 4; - for (QMap<QByteArray, QList<QPair<QByteArray, int> > >::ConstIterator it = enum_list.begin(); - it != enum_list.end(); ++it) { - int_data_size += (*it).count() * 2; - } + const EnumListMapConstIterator ecend = enum_list.end(); + for (EnumListMapConstIterator it = enum_list.begin(); it != ecend; ++it) + int_data_size += it.value().count() * 2; ++int_data_size; // eod uint *int_data = new uint[int_data_size]; @@ -3084,7 +3073,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co uint offset = header->classInfoData; // each class info in form key\0value\0 - for (QMap<QByteArray, QByteArray>::ConstIterator it = classinfo_list.begin(); it != classinfo_list.end(); ++it) { + typedef QMap<QByteArray, QByteArray>::ConstIterator ClassInfoConstIterator; + const ClassInfoConstIterator cend = classinfo_list.end(); + for (ClassInfoConstIterator it = classinfo_list.begin(); it != cend; ++it) { QByteArray key(it.key()); QByteArray value(it.value()); int_data[offset++] = strings.enter(key); @@ -3131,7 +3122,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co Q_ASSERT(offset == uint(header->propertyData)); // each property in form name\0type\0 - for (QMap<QByteArray, Property>::ConstIterator it = property_list.begin(); it != property_list.end(); ++it) { + typedef QMap<QByteArray, Property>::ConstIterator PropertyMapConstIterator; + const PropertyMapConstIterator pcend = property_list.end(); + for (PropertyMapConstIterator it = property_list.begin(); it != pcend; ++it) { QByteArray name(it.key()); QByteArray type(it.value().type); Q_ASSERT(!type.isEmpty()); @@ -3148,7 +3141,7 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co int value_offset = offset + enum_list.count() * 4; // each enum in form name\0 - for (QMap<QByteArray, QList<QPair<QByteArray, int> > >::ConstIterator it = enum_list.begin(); it != enum_list.end(); ++it) { + for (EnumListMapConstIterator it = enum_list.begin(); it != ecend; ++it) { QByteArray name(it.key()); int flags = 0x0; // 0x1 for flag? int count = it.value().count(); @@ -3162,8 +3155,9 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co Q_ASSERT(offset == uint(header->enumeratorData + enum_list.count() * 4)); // each enum value in form key\0 - for (QMap<QByteArray, QList<QPair<QByteArray, int> > >::ConstIterator it = enum_list.begin(); it != enum_list.end(); ++it) { - for (QList<QPair<QByteArray,int> >::ConstIterator it2 = it.value().begin(); it2 != it.value().end(); ++it2) { + for (EnumListMapConstIterator it = enum_list.begin(); it != ecend; ++it) { + const ByteArrayIntPairList::ConstIterator vcend = it.value().end(); + for (ByteArrayIntPairList::ConstIterator it2 = it.value().begin(); it2 != vcend; ++it2) { QByteArray key((*it2).first); int value = (*it2).second; int_data[offset++] = strings.enter(key); @@ -3190,8 +3184,7 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co if (!cacheKey.isEmpty()) { mo_cache.insert(cacheKey, d->metaobj); d->cachedMetaObject = true; - for (QHash<QUuid, QAxEventSink*>::Iterator it = d->eventSink.begin(); it != d->eventSink.end(); ++it) { - QAxEventSink *sink = it.value(); + foreach (QAxEventSink *sink, d->eventSink) { if (sink) { QUuid ciid = sink->connectionInterface(); diff --git a/src/activeqt/container/qaxscript.cpp b/src/activeqt/container/qaxscript.cpp index c56474d..e594ffb 100644 --- a/src/activeqt/container/qaxscript.cpp +++ b/src/activeqt/container/qaxscript.cpp @@ -712,13 +712,8 @@ bool QAxScript::load(const QString &code, const QString &language) if (code.contains(QLatin1String("End Sub"), Qt::CaseInsensitive)) lang = QLatin1String("VBScript"); - QList<QAxEngineDescriptor>::ConstIterator it; - for (it = engines.begin(); it != engines.end(); ++it) { - QAxEngineDescriptor engine = *it; - if (engine.code.isEmpty()) - continue; - - if (code.contains(engine.code)) { + foreach (const QAxEngineDescriptor &engine, engines) { + if (!engine.code.isEmpty() && code.contains(engine.code)) { lang = engine.name; break; } @@ -944,13 +939,9 @@ QAxScriptManager::~QAxScriptManager() QStringList QAxScriptManager::functions(QAxScript::FunctionFlags flags) const { QStringList functions; - - QHash<QString, QAxScript*>::ConstIterator scriptIt; - for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) { - QAxScript *script = scriptIt.value(); - functions += script->functions(flags); - } - + functions.reserve(d->scriptDict.size()); + foreach (const QAxScript *script, d->scriptDict) + functions.append(script->functions(flags)); return functions; } @@ -959,14 +950,7 @@ QStringList QAxScriptManager::functions(QAxScript::FunctionFlags flags) const */ QStringList QAxScriptManager::scriptNames() const { - QStringList scripts; - - QHash<QString, QAxScript*>::ConstIterator scriptIt; - for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) { - scripts << scriptIt.key(); - } - - return scripts; + return d->scriptDict.keys(); } /*! @@ -1072,13 +1056,8 @@ QAxScript *QAxScriptManager::load(const QString &file, const QString &name) if (file.endsWith(QLatin1String(".js"))) { language = QLatin1String("JScript"); } else { - QList<QAxEngineDescriptor>::ConstIterator it; - for (it = engines.begin(); it != engines.end(); ++it) { - QAxEngineDescriptor engine = *it; - if (engine.extension.isEmpty()) - continue; - - if (file.endsWith(engine.extension)) { + foreach (const QAxEngineDescriptor &engine, engines) { + if (!engine.extension.isEmpty() && file.endsWith(engine.extension)) { language = engine.name; break; } @@ -1200,14 +1179,12 @@ QString QAxScriptManager::scriptFileFilter() QString specialFiles = QLatin1String(";;VBScript Files (*.vbs *.dsm)" ";;JavaScript Files (*.js)"); - QList<QAxEngineDescriptor>::ConstIterator it; - for (it = engines.begin(); it != engines.end(); ++it) { - QAxEngineDescriptor engine = *it; - if (engine.extension.isEmpty()) - continue; - - allFiles += QLatin1String(" *") + engine.extension; - specialFiles += QLatin1String(";;") + engine.name + QLatin1String(" Files (*") + engine.extension + QLatin1Char(')'); + foreach (const QAxEngineDescriptor &engine, engines) { + if (!engine.extension.isEmpty()) { + allFiles += QLatin1String(" *") + engine.extension; + specialFiles += QLatin1String(";;") + engine.name + + QLatin1String(" Files (*") + engine.extension + QLatin1Char(')'); + } } allFiles += QLatin1Char(')'); @@ -1238,10 +1215,7 @@ QAxScript *QAxScriptManager::scriptForFunction(const QString &function) const { // check full prototypes if included if (function.contains(QLatin1Char('('))) { - QHash<QString, QAxScript*>::ConstIterator scriptIt; - for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) { - QAxScript *script = scriptIt.value(); - + foreach (QAxScript *script, d->scriptDict) { if (script->functions(QAxScript::FunctionSignatures).contains(function)) return script; } @@ -1250,10 +1224,7 @@ QAxScript *QAxScriptManager::scriptForFunction(const QString &function) const QString funcName = function; funcName = funcName.left(funcName.indexOf(QLatin1Char('('))); // second try, checking only names, not prototypes - QHash<QString, QAxScript*>::ConstIterator scriptIt; - for (scriptIt = d->scriptDict.begin(); scriptIt != d->scriptDict.end(); ++scriptIt) { - QAxScript *script = scriptIt.value(); - + foreach (QAxScript *script, d->scriptDict) { if (script->functions(QAxScript::FunctionNames).contains(funcName)) return script; } diff --git a/src/activeqt/container/qaxwidget.cpp b/src/activeqt/container/qaxwidget.cpp index 1ff6cc0..12cf76a 100644 --- a/src/activeqt/container/qaxwidget.cpp +++ b/src/activeqt/container/qaxwidget.cpp @@ -389,6 +389,8 @@ private: int id; QMenu *subMenu; }; + typedef QMap<QAction*, OleMenuItem> MenuItemMap; + QMenu *generatePopup(HMENU subMenu, QWidget *parent); IOleObject *m_spOleObject; @@ -412,7 +414,7 @@ private: QAxWidget *widget; QAxHostWidget *host; QPointer<QMenuBar> menuBar; - QMap<QAction*,OleMenuItem> menuItemMap; + MenuItemMap menuItemMap; }; static const ushort mouseTbl[] = { @@ -1345,11 +1347,9 @@ HRESULT WINAPI QAxClientSite::SetMenu(HMENU hmenuShared, HOLEMENU holemenu, HWND } } else if (menuBar) { m_menuOwner = 0; - QMap<QAction*, OleMenuItem>::Iterator it; - for (it = menuItemMap.begin(); it != menuItemMap.end(); ++it) { - QAction *action = it.key(); - delete action; - } + const MenuItemMap::Iterator mend = menuItemMap.end(); + for (MenuItemMap::Iterator it = menuItemMap.begin(); it != mend; ++it) + delete it.key(); menuItemMap.clear(); } @@ -1378,11 +1378,10 @@ int QAxClientSite::qt_metacall(QMetaObject::Call call, int isignal, void **argv) HRESULT WINAPI QAxClientSite::RemoveMenus(HMENU /*hmenuShared*/) { AX_DEBUG(QAxClientSite::RemoveMenus); - QMap<QAction*, OleMenuItem>::Iterator it; - for (it = menuItemMap.begin(); it != menuItemMap.end(); ++it) { - QAction *action = it.key(); - action->setVisible(false); - delete action; + const MenuItemMap::Iterator mend = menuItemMap.end(); + for (MenuItemMap::Iterator it = menuItemMap.begin(); it != mend; ++it) { + it.key()->setVisible(false); + delete it.key(); } menuItemMap.clear(); return S_OK; diff --git a/src/activeqt/control/qaxfactory.h b/src/activeqt/control/qaxfactory.h index eaf5757..0de1624 100644 --- a/src/activeqt/control/qaxfactory.h +++ b/src/activeqt/control/qaxfactory.h @@ -218,20 +218,20 @@ public: factory = new QAxClass<Class>(typeLibID().toString(), appID().toString()); \ qRegisterMetaType<Class*>(#Class"*"); \ keys = factory->featureList(); \ - for (it = keys.begin(); it != keys.end(); ++it) { \ - factoryKeys += *it; \ - factories.insert(*it, factory); \ - creatable.insert(*it, true); \ + foreach (const QString &key, keys) { \ + factoryKeys += key; \ + factories.insert(key, factory); \ + creatable.insert(key, true); \ }\ #define QAXTYPE(Class) \ factory = new QAxClass<Class>(typeLibID().toString(), appID().toString()); \ qRegisterMetaType<Class*>(#Class"*"); \ keys = factory->featureList(); \ - for (it = keys.begin(); it != keys.end(); ++it) { \ - factoryKeys += *it; \ - factories.insert(*it, factory); \ - creatable.insert(*it, false); \ + foreach (const QString &key, keys) { \ + factoryKeys += key; \ + factories.insert(key, factory); \ + creatable.insert(key, false); \ }\ #define QAXFACTORY_END() \ diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp index 0f2e0ff..dcdccc1 100644 --- a/src/activeqt/control/qaxserver.cpp +++ b/src/activeqt/control/qaxserver.cpp @@ -262,13 +262,12 @@ HRESULT UpdateRegistry(BOOL bRegister) } QStringList keys = qAxFactory()->featureList(); - for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) { - QString className = *key; - QObject *object = qAxFactory()->createObject(className); - const QMetaObject *mo = qAxFactory()->metaObject(className); - const QString classId = qAxFactory()->classID(className).toString().toUpper(); + foreach (const QString &classNameIn, keys) { + QObject *object = qAxFactory()->createObject(classNameIn); + const QMetaObject *mo = qAxFactory()->metaObject(classNameIn); + const QString classId = qAxFactory()->classID(classNameIn).toString().toUpper(); - className = qax_clean_type(className, mo); + const QString className = qax_clean_type(classNameIn, mo); if (object) { // don't register subobject classes QString classVersion = mo ? QString::fromLatin1(mo->classInfo(mo->indexOfClassInfo("Version")).value()) : QString(); @@ -348,7 +347,7 @@ HRESULT UpdateRegistry(BOOL bRegister) delete object; } - qAxFactory()->registerClass(*key, &settings); + qAxFactory()->registerClass(classNameIn, &settings); } } else { if (qAxOutProcServer) { @@ -356,18 +355,17 @@ HRESULT UpdateRegistry(BOOL bRegister) settings.remove(QLatin1String("/AppID/") + module + QLatin1String(".EXE")); } QStringList keys = qAxFactory()->featureList(); - for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) { - QString className = *key; - const QMetaObject *mo = qAxFactory()->metaObject(className); - const QString classId = qAxFactory()->classID(className).toString().toUpper(); - className = qax_clean_type(className, mo); + foreach (const QString &classNameIn, keys) { + const QMetaObject *mo = qAxFactory()->metaObject(classNameIn); + const QString classId = qAxFactory()->classID(classNameIn).toString().toUpper(); + const QString className = qax_clean_type(classNameIn, mo); QString classVersion = mo ? QString::fromLatin1(mo->classInfo(mo->indexOfClassInfo("Version")).value()) : QString(); if (classVersion.isNull()) classVersion = QLatin1String("1.0"); const QString classMajorVersion = classVersion.left(classVersion.indexOf(QLatin1Char('.'))); - qAxFactory()->unregisterClass(*key, &settings); + qAxFactory()->unregisterClass(classNameIn, &settings); settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/CLSID/.")); settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/Insertable/.")); @@ -1188,12 +1186,11 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver) out << "\t/* Forward declaration of classes that might be used as parameters */" << endl << endl; int res = S_OK; - for (key = keys.begin(); key != keys.end(); ++key) { - QByteArray className = (*key).toLatin1(); - const QMetaObject *mo = qAxFactory()->metaObject(QString::fromLatin1(className.constData())); + foreach (const QString &className, keys) { + const QMetaObject *mo = qAxFactory()->metaObject(className); // We have meta object information for this type. Forward declare it. if (mo) { - QByteArray cleanType = qax_clean_type(*key, mo).toLatin1(); + QByteArray cleanType = qax_clean_type(className, mo).toLatin1(); out << "\tcoclass " << cleanType << ';' << endl; subtypes.append(cleanType); if (!QMetaType::type(cleanType)) @@ -1206,15 +1203,14 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver) } out << endl; - for (key = keys.begin(); key != keys.end(); ++key) { - QByteArray className = (*key).toLatin1(); - const QMetaObject *mo = qAxFactory()->metaObject(QString::fromLatin1(className.constData())); + foreach (const QString &className, keys) { + const QMetaObject *mo = qAxFactory()->metaObject(className); // We have meta object information for this type. Define it. if (mo) { - QObject *o = qAxFactory()->createObject(QString::fromLatin1(className.constData())); + QObject *o = qAxFactory()->createObject(className); // It's not a control class, so it is actually a subtype. Define it. if (!o) - res = classIDL(0, mo, QString::fromLatin1(className), false, out); + res = classIDL(0, mo, className, false, out); delete o; } } @@ -1223,19 +1219,18 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver) if (res != S_OK) goto ErrorInClass; - for (key = keys.begin(); key != keys.end(); ++key) { - QByteArray className = (*key).toLatin1(); - QObject *o = qAxFactory()->createObject(QString::fromLatin1(className.constData())); + foreach (const QString &className, keys) { + QObject *o = qAxFactory()->createObject(className); if (!o) continue; const QMetaObject *mo = o->metaObject(); QAxBindable *bind = (QAxBindable*)o->qt_metacast("QAxBindable"); bool isBindable = bind != 0; - QByteArray cleanType = qax_clean_type(*key, mo).toLatin1(); + const QByteArray cleanType = qax_clean_type(className, mo).toLatin1(); subtypes.append(cleanType); subtypes.append(cleanType + '*'); - res = classIDL(o, mo, QString::fromLatin1(className.constData()), isBindable, out); + res = classIDL(o, mo, className, isBindable, out); delete o; if (res != S_OK) break; diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp index ce57bf1..01b7288 100644 --- a/src/activeqt/control/qaxserverbase.cpp +++ b/src/activeqt/control/qaxserverbase.cpp @@ -620,12 +620,8 @@ public: connections = old.connections; that = old.that; iid = old.iid; - QList<CONNECTDATA>::Iterator it = connections.begin(); - while (it != connections.end()) { - CONNECTDATA connection = *it; - ++it; + foreach (const CONNECTDATA &connection, connections) connection.pUnk->AddRef(); - } } ~QAxConnection() { @@ -832,9 +828,9 @@ public: // COM only knows the CLSID, but QAxFactory is class name based... QStringList keys = qAxFactory()->featureList(); - for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) { - if (qAxFactory()->classID(*key) == clsid) { - className = *key; + foreach (const QString &key, keys) { + if (qAxFactory()->classID(key) == clsid) { + className = key; break; } } @@ -1113,9 +1109,9 @@ QAxServerBase::~QAxServerBase() revokeActiveObject(); - for (QAxServerBase::ConnectionPointsIterator it = points.begin(); it != points.end(); ++it) { - if (it.value()) - (*it)->Release(); + foreach (IConnectionPoint *point, points) { + if (point) + point->Release(); } delete aggregatedObject; aggregatedObject = 0; @@ -1329,12 +1325,9 @@ bool QAxServerBase::internalCreate() // install an event filter for stock events if (isWidget) { qt.object->installEventFilter(this); - const QList<QWidget*> children = qt.object->findChildren<QWidget*>(); - QList<QWidget*>::ConstIterator it = children.constBegin(); - while (it != children.constEnd()) { - (*it)->installEventFilter(this); - ++it; - } + const QWidgetList children = qt.object->findChildren<QWidget*>(); + foreach (QWidget *child, children) + child->installEventFilter(this); } return true; } diff --git a/src/activeqt/control/qaxservermain.cpp b/src/activeqt/control/qaxservermain.cpp index 7f24313..15332c9 100644 --- a/src/activeqt/control/qaxservermain.cpp +++ b/src/activeqt/control/qaxservermain.cpp @@ -128,17 +128,18 @@ bool qax_startServer(QAxFactory::ServerType type) return true; const QStringList keys = qAxFactory()->featureList(); - if (!keys.count()) + const int keyCount = keys.count(); + if (!keyCount) return false; if (!qAxFactory()->isService()) StartMonitor(); - classRegistration = new DWORD[keys.count()]; + classRegistration = new DWORD[keyCount]; int object = 0; - for (QStringList::ConstIterator key = keys.begin(); key != keys.end(); ++key, ++object) { + for (object = 0; object < keyCount; ++object) { IUnknown* p = 0; - CLSID clsid = qAxFactory()->classID(*key); + CLSID clsid = qAxFactory()->classID(keys.at(object)); // Create a QClassFactory (implemented in qaxserverbase.cpp) HRESULT hRes = GetClassObject(clsid, IID_IClassFactory, (void**)&p); @@ -164,9 +165,8 @@ bool qax_stopServer() qAxIsServer = false; - const QStringList keys = qAxFactory()->featureList(); - int object = 0; - for (QStringList::ConstIterator key = keys.begin(); key != keys.end(); ++key, ++object) + const int keyCount = qAxFactory()->featureList().size(); + for (int object = 0; object < keyCount; ++object) CoRevokeClassObject(classRegistration[object]); delete []classRegistration; diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp index 1697686..6eba133 100644 --- a/src/activeqt/shared/qaxtypes.cpp +++ b/src/activeqt/shared/qaxtypes.cpp @@ -1246,9 +1246,8 @@ QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName, uint } else if (proptype == QVariant::StringList && var.type() == QVariant::List) { bool allStrings = true; QStringList strings; - const QList<QVariant> list(var.toList()); - for (QList<QVariant>::ConstIterator it(list.begin()); it != list.end(); ++it) { - QVariant variant = *it; + const QVariantList list(var.toList()); + foreach (const QVariant &variant, list) { if (variant.canConvert(QVariant::String)) strings << variant.toString(); else |