diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index bf26e49e1b..e8fbd99d3b 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -2602,7 +2602,7 @@ App::Document* Application::reopen(App::Document* doc) if (name == v.first->FileName.getValue()) { doc = const_cast(v.first); } - if (untouchedDocs.count(v.second)) { + if (untouchedDocs.contains(v.second)) { if (!v.second->isModified()) { continue; } diff --git a/src/Gui/Command.cpp b/src/Gui/Command.cpp index c434a9cfe6..301386060a 100644 --- a/src/Gui/Command.cpp +++ b/src/Gui/Command.cpp @@ -1977,7 +1977,7 @@ const Command* Gui::CommandManager::checkAcceleratorForConflicts(const char* acc if (newCombo.isEmpty()) return nullptr; auto newSequence = QKeySequence::fromString(newCombo); - if (newSequence.count() == 0) + if (newSequence.isEmpty()) return nullptr; // Does this command shortcut conflict with other commands already defined? @@ -1998,7 +1998,7 @@ const Command* Gui::CommandManager::checkAcceleratorForConflicts(const char* acc if (existingCombo.isEmpty()) continue; auto existingSequence = QKeySequence::fromString(existingCombo); - if (existingSequence.count() == 0) + if (existingSequence.isEmpty()) continue; // Exact match diff --git a/src/Gui/CommandLink.cpp b/src/Gui/CommandLink.cpp index d0c1baea59..42f9252887 100644 --- a/src/Gui/CommandLink.cpp +++ b/src/Gui/CommandLink.cpp @@ -403,7 +403,7 @@ static void linkConvert(bool unlink) { auto obj = info.obj.getObject(); if(!parent || !obj || !parentVp) continue; - if(!recomputeSet.count(parent)) + if(!recomputeSet.contains(parent)) recomputeSet.emplace(parent,parent); auto doc = parent->getDocument(); App::DocumentObject *replaceObj; diff --git a/src/Gui/DAGView/DAGModel.cpp b/src/Gui/DAGView/DAGModel.cpp index 887ba29922..d608194d58 100644 --- a/src/Gui/DAGView/DAGModel.cpp +++ b/src/Gui/DAGView/DAGModel.cpp @@ -1096,7 +1096,7 @@ void Model::contextMenuEvent(QGraphicsSceneContextMenuEvent* event) contextMenu.addAction(editingFinishedAction); } - if (contextMenu.actions().count() > 0) + if (!contextMenu.actions().isEmpty()) contextMenu.exec(event->screenPos()); } diff --git a/src/Gui/Dialogs/DlgObjectSelection.cpp b/src/Gui/Dialogs/DlgObjectSelection.cpp index a7cc6f5332..158a69bb15 100644 --- a/src/Gui/Dialogs/DlgObjectSelection.cpp +++ b/src/Gui/Dialogs/DlgObjectSelection.cpp @@ -280,7 +280,7 @@ void DlgObjectSelection::setItemState(App::DocumentObject *obj, if (ui->checkBoxAutoDeps->isChecked() && state == Qt::Checked) { // If an object is newly checked, check all its dependencies for (auto o : obj->getOutListRecursive()) { - if (!depSet.count(o) || itemChanged.count(o)) + if (!depSet.contains(o) || itemChanged.contains(o)) continue; auto itItem = itemMap.find(o); if (itItem == itemMap.end() || itItem->second[0]->checkState(0) == state) @@ -304,7 +304,7 @@ void DlgObjectSelection::setItemState(App::DocumentObject *obj, // If an object toggles state, we need to revisit all its in-list // object to update the partial/full checked state. for (auto o : obj->getInList()) { - if (!depSet.count(o) ||itemChanged.count(o)) + if (!depSet.contains(o) || itemChanged.contains(o)) continue; auto it = itemMap.find(o); if (it == itemMap.end() || it->second[0]->checkState(0) == state) @@ -312,7 +312,7 @@ void DlgObjectSelection::setItemState(App::DocumentObject *obj, int count = 0; int selcount = 0; for (auto sibling : o->getOutList()) { - if (!depSet.count(sibling)) + if (!depSet.contains(sibling)) continue; ++count; auto it = itemMap.find(sibling); @@ -511,7 +511,7 @@ void DlgObjectSelection::checkItemChanged() { std::sort(outlist.begin(), outlist.end()); for (const auto &v : itemMap) { - if (itemChanged.count(v.first) == 0 && v.second[0]->checkState(0) == Qt::Unchecked) + if (!itemChanged.contains(v.first) && v.second[0]->checkState(0) == Qt::Unchecked) continue; if (auto obj = v.first.getObject()) { if (!std::binary_search(outlist.begin(), outlist.end(), obj)) @@ -598,7 +598,7 @@ void DlgObjectSelection::onItemSelectionChanged() { for (auto obj : sels) obj->getInListEx(inlist, true); for (auto it = inlist.begin(); it != inlist.end();) { - if (!depSet.count(*it) || std::binary_search(sels.begin(), sels.end(), *it)) + if (!depSet.contains(*it) || std::binary_search(sels.begin(), sels.end(), *it)) it = inlist.erase(it); else ++it; diff --git a/src/Gui/Dialogs/DlgOnlineHelpImp.cpp b/src/Gui/Dialogs/DlgOnlineHelpImp.cpp index 94f0808b98..c76cd2abf5 100644 --- a/src/Gui/Dialogs/DlgOnlineHelpImp.cpp +++ b/src/Gui/Dialogs/DlgOnlineHelpImp.cpp @@ -98,7 +98,7 @@ void DlgOnlineHelpImp::changeEvent(QEvent *e) void DlgOnlineHelpImp::onLineEditDownloadFileNameSelected( const QString& url ) { QDir dir(url); - if (dir.exists() && dir.count() == 0) { + if (dir.exists() && dir.isEmpty()) { QMessageBox::critical(this, tr("Access denied"), tr("Access denied to '%1'\n\n" "Specify another directory, please.").arg(url)); } diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index bbfcb7f0fb..546093c4e8 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -1047,7 +1047,7 @@ void Document::slotChangedObject(const App::DocumentObject& Obj, const App::Prop && (Prop.isDerivedFrom() // Issue ID 0004230 : getName() can return null in which case strstr() crashes || (Prop.getName() && strstr(Prop.getName(),"Scale"))) - && d->_editObjs.count(&Obj)) + && d->_editObjs.contains(&Obj)) { Base::Matrix4D mat; auto sobj = d->_editViewProviderParent->getObject()->getSubObject( @@ -1294,7 +1294,7 @@ static bool checkCanonicalPath(const std::map &docs) auto &d = paths[info.canonicalFilePath()]; d.push_back(doc); if (!warn && d.size() > 1) { - if (docs.count(d.front()) || docs.count(d.back())) + if (docs.contains(d.front()) || docs.contains(d.back())) warn = true; } } @@ -1315,7 +1315,7 @@ static bool checkCanonicalPath(const std::map &docs) for (auto &v : paths) { if (v.second.size() <= 1) continue; for (auto doc : v.second) { - if (docs.count(doc)) { + if (docs.contains(doc)) { FC_WARN("Physical path: " << v.first.toUtf8().constData()); for (auto d : v.second) FC_WARN(" Document: " << docName(d).toUtf8().constData() diff --git a/src/Gui/ExpressionCompleter.cpp b/src/Gui/ExpressionCompleter.cpp index 44c0e65983..cb3e409545 100644 --- a/src/Gui/ExpressionCompleter.cpp +++ b/src/Gui/ExpressionCompleter.cpp @@ -341,7 +341,7 @@ public: if (idx >= 0 && idx < objSize) { obj = objs[idx / 2]; // if they are in the ignore list skip - if (inList.count(obj)) { + if (inList.contains(obj)) { return; } } @@ -430,7 +430,7 @@ public: const auto& objs = doc->getObjects(); objSize = (int)objs.size() * 2; // if invalid index, or in the ignore list bail out - if (idx < 0 || idx >= objSize || inList.count(obj)) { + if (idx < 0 || idx >= objSize || inList.contains(obj)) { return; } obj = objs[idx / 2]; diff --git a/src/Gui/MDIViewPyWrap.cpp b/src/Gui/MDIViewPyWrap.cpp index 0be622db10..77376f9f83 100644 --- a/src/Gui/MDIViewPyWrap.cpp +++ b/src/Gui/MDIViewPyWrap.cpp @@ -66,7 +66,7 @@ public: Base::PyGILStateLocker lock; PythonWrapper wrap; wrap.loadWidgetsModule(); - if (func.count("widget") == 0) { + if (!func.contains("widget")) { throw Py::AttributeError("Object has no attribute 'widget'"); } Py::Callable target(func.at("widget")); diff --git a/src/Gui/MenuManager.cpp b/src/Gui/MenuManager.cpp index db6ae93325..e0520d0e57 100644 --- a/src/Gui/MenuManager.cpp +++ b/src/Gui/MenuManager.cpp @@ -62,7 +62,7 @@ std::string MenuItem::command() const bool MenuItem::hasItems() const { - return _items.count() > 0; + return !_items.isEmpty(); } MenuItem* MenuItem::findItem(const std::string& name) diff --git a/src/Gui/OverlayManager.cpp b/src/Gui/OverlayManager.cpp index 2f12fea611..8c1cb144e7 100644 --- a/src/Gui/OverlayManager.cpp +++ b/src/Gui/OverlayManager.cpp @@ -1179,7 +1179,7 @@ public: if (dockWidget == dock || !dockWidget->isVisible() || dockWidget->isFloating() - || _overlayMap.count(dockWidget)) + || _overlayMap.contains(dockWidget)) continue; if (dockWidget->rect().contains(dockWidget->mapFromGlobal(pos))) { dstDock = dockWidget; diff --git a/src/Gui/PropertyView.cpp b/src/Gui/PropertyView.cpp index 9f1094243e..315d339c3d 100644 --- a/src/Gui/PropertyView.cpp +++ b/src/Gui/PropertyView.cpp @@ -214,7 +214,7 @@ void PropertyView::slotRollback() { void PropertyView::slotChangePropertyData(const App::Property& prop) { - if (propertyEditorData->propOwners.count(prop.getContainer())) { + if (propertyEditorData->propOwners.contains(prop.getContainer())) { propertyEditorData->updateProperty(prop); timer->start(ViewParams::instance()->getPropertyViewTimer()); } @@ -222,7 +222,7 @@ void PropertyView::slotChangePropertyData(const App::Property& prop) void PropertyView::slotChangePropertyView(const Gui::ViewProvider&, const App::Property& prop) { - if (propertyEditorView->propOwners.count(prop.getContainer())) { + if (propertyEditorView->propOwners.contains(prop.getContainer())) { propertyEditorView->updateProperty(prop); timer->start(ViewParams::instance()->getPropertyViewTimer()); } @@ -239,8 +239,8 @@ void PropertyView::slotAppendDynamicProperty(const App::Property& prop) return; App::PropertyContainer* parent = prop.getContainer(); - if (propertyEditorData->propOwners.count(parent) - || propertyEditorView->propOwners.count(parent)) + if (propertyEditorData->propOwners.contains(parent) + || propertyEditorView->propOwners.contains(parent)) { timer->start(ViewParams::instance()->getPropertyViewTimer()); } @@ -249,9 +249,9 @@ void PropertyView::slotAppendDynamicProperty(const App::Property& prop) void PropertyView::slotRemoveDynamicProperty(const App::Property& prop) { App::PropertyContainer* parent = prop.getContainer(); - if(propertyEditorData->propOwners.count(parent)) + if(propertyEditorData->propOwners.contains(parent)) propertyEditorData->removeProperty(prop); - else if(propertyEditorView->propOwners.count(parent)) + else if(propertyEditorView->propOwners.contains(parent)) propertyEditorView->removeProperty(prop); else return; @@ -261,13 +261,13 @@ void PropertyView::slotRemoveDynamicProperty(const App::Property& prop) void PropertyView::slotChangePropertyEditor(const App::Document &, const App::Property& prop) { App::PropertyContainer* parent = prop.getContainer(); - if (propertyEditorData->propOwners.count(parent) - || propertyEditorView->propOwners.count(parent)) + if (propertyEditorData->propOwners.contains(parent) + || propertyEditorView->propOwners.contains(parent)) timer->start(ViewParams::instance()->getPropertyViewTimer()); } void PropertyView::slotDeleteDocument(const Gui::Document &doc) { - if(propertyEditorData->propOwners.count(doc.getDocument())) { + if(propertyEditorData->propOwners.contains(doc.getDocument())) { propertyEditorView->buildUp(); propertyEditorData->buildUp(); clearPropertyItemSelection(); @@ -276,7 +276,7 @@ void PropertyView::slotDeleteDocument(const Gui::Document &doc) { } void PropertyView::slotDeletedViewObject(const Gui::ViewProvider &vp) { - if(propertyEditorView->propOwners.count(&vp)) { + if(propertyEditorView->propOwners.contains(&vp)) { propertyEditorView->buildUp(); propertyEditorData->buildUp(); clearPropertyItemSelection(); @@ -285,7 +285,7 @@ void PropertyView::slotDeletedViewObject(const Gui::ViewProvider &vp) { } void PropertyView::slotDeletedObject(const App::DocumentObject &obj) { - if(propertyEditorData->propOwners.count(&obj)) { + if(propertyEditorData->propOwners.contains(&obj)) { propertyEditorView->buildUp(); propertyEditorData->buildUp(); clearPropertyItemSelection(); diff --git a/src/Gui/Selection/SoFCSelectionContext.cpp b/src/Gui/Selection/SoFCSelectionContext.cpp index 8ab9a3886f..241d2d488f 100644 --- a/src/Gui/Selection/SoFCSelectionContext.cpp +++ b/src/Gui/Selection/SoFCSelectionContext.cpp @@ -104,7 +104,7 @@ int SoFCSelectionContext::merge(int status, SoFCSelectionContextBasePtr &output, std::vector remove; for(auto idx : ret->selectionIndex) { - if(!ctx->selectionIndex.count(idx)) + if(!ctx->selectionIndex.contains(idx)) remove.push_back(idx); } @@ -216,7 +216,7 @@ int SoFCSelectionContextEx::merge(int status, SoFCSelectionContextBasePtr &outpu auto ret = std::dynamic_pointer_cast(output); assert(ret); for(auto &v : ctx->colors) { - if(ret->colors.count(v.first)) + if(ret->colors.contains(v.first)) continue; if(!status) { status = 1; diff --git a/src/Gui/ToolBarManager.cpp b/src/Gui/ToolBarManager.cpp index ee01114b36..0b2ade5b05 100644 --- a/src/Gui/ToolBarManager.cpp +++ b/src/Gui/ToolBarManager.cpp @@ -78,7 +78,7 @@ const std::string & ToolBarItem::command() const bool ToolBarItem::hasItems() const { - return _items.count() > 0; + return !_items.isEmpty(); } ToolBarItem* ToolBarItem::findItem(const std::string& name) diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp index 5e7ee7bf83..88b82d6345 100644 --- a/src/Gui/Tree.cpp +++ b/src/Gui/Tree.cpp @@ -1177,7 +1177,7 @@ void TreeWidget::contextMenuEvent(QContextMenuEvent* e) header()->setVisible(action->isChecked()||internalNameAction->isChecked()); }); - if (contextMenu.actions().count() > 0) { + if (!contextMenu.actions().isEmpty()) { try { contextMenu.exec(QCursor::pos()); } @@ -2573,7 +2573,7 @@ bool TreeWidget::dropInObject(QDropEvent* event, TargetItemInfo& targetInfo, } } - if (inList.count(obj)) { + if (inList.contains(obj)) { FC_THROWM(Base::RuntimeError, "Dependency loop detected for " << obj->getFullName()); } @@ -3059,7 +3059,7 @@ void TreeWidget::onUpdateStatus() continue; if (obj->isError()) errors.push_back(obj); - if (docItem->ObjectMap.count(obj)) + if (docItem->ObjectMap.contains(obj)) continue; auto vpd = freecad_cast(gdoc->getViewProvider(obj)); if (vpd) @@ -4447,7 +4447,7 @@ void TreeWidget::updateChildren(App::DocumentObject* obj, // and thus, its property change will not be propagated through // recomputation. So we have to manually check for each links here. for (auto link : App::GetApplication().getLinksTo(obj, App::GetLinkRecursive)) { - if (ChangedObjects.count(link)) + if (ChangedObjects.contains(link)) continue; std::vector linkedChildren; DocumentObjectDataPtr found; @@ -4475,7 +4475,7 @@ void TreeWidget::updateChildren(App::DocumentObject* obj, //if the item is in a GeoFeatureGroup we may need to update that too, as the claim children //of the geofeaturegroup depends on what the childs claim auto grp = App::GeoFeatureGroupExtension::getGroupOfObject(obj); - if (grp && !ChangedObjects.count(grp)) { + if (grp && !ChangedObjects.contains(grp)) { auto iter = ObjectTable.find(grp); if (iter != ObjectTable.end()) updateChildren(grp, iter->second, true, false); diff --git a/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp b/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp index e441220f4b..608847e413 100644 --- a/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp +++ b/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp @@ -104,7 +104,7 @@ std::vector ViewProviderGeoFeatureGroupExtension::extensio for(auto obj : model) { if(!obj || !obj->isAttachedToDocument()) continue; - if(outSet.count(obj)) + if(outSet.contains(obj)) obj->setStatus(App::ObjectStatus::GeoExcluded,true); else { obj->setStatus(App::ObjectStatus::GeoExcluded,false);