r22506 by jghali - replace a few Qt's foreach by c++11 range-based for()

scribus-commit scribus-commit at lists.scribus.net
Mon Apr 30 23:49:50 UTC 2018


Author: jghali
Date: Mon Apr 30 23:49:50 2018
New Revision: 22506

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22506
Log:
replace a few Qt's foreach by c++11 range-based for()

Modified:
    trunk/Scribus/scribus/pageitem_noteframe.h
    trunk/Scribus/scribus/pageitem_textframe.cpp
    trunk/Scribus/scribus/plugins/export/svgexplugin/svgexplugin.cpp
    trunk/Scribus/scribus/plugins/export/xpsexport/xpsexplugin.cpp
    trunk/Scribus/scribus/text/boxes.cpp
    trunk/Scribus/scribus/text/textlayout.cpp
    trunk/Scribus/scribus/text/textlayout.h
    trunk/Scribus/scribus/text/textshaper.cpp

Modified: trunk/Scribus/scribus/pageitem_noteframe.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/pageitem_noteframe.h
==============================================================================
--- trunk/Scribus/scribus/pageitem_noteframe.h	(original)
+++ trunk/Scribus/scribus/pageitem_noteframe.h	Mon Apr 30 23:49:50 2018
@@ -39,10 +39,10 @@
 
 	PageItem_TextFrame* masterFrame() { return m_masterFrame; }
 	void setMaster(PageItem* frame) { m_masterFrame = frame->asTextFrame(); }
-	bool isEndNotesFrame() { return m_nstyle->isEndNotes(); }
-	bool isAutoWelded() { return m_nstyle->isAutoWeldNotesFrames(); }
-	bool isAutoHeight() { return m_nstyle->isAutoNotesHeight(); }
-	bool isAutoWidth() { return m_nstyle->isAutoNotesWidth(); }
+	bool isEndNotesFrame() const { return m_nstyle->isEndNotes(); }
+	bool isAutoWelded()  const { return m_nstyle->isAutoWeldNotesFrames(); }
+	bool isAutoHeight()  const { return m_nstyle->isAutoNotesHeight(); }
+	bool isAutoWidth()  const { return m_nstyle->isAutoNotesWidth(); }
 
 	//return list of notes in noteframe
 	QList<TextNote*> notesList() { return l_notes; }

Modified: trunk/Scribus/scribus/pageitem_textframe.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/pageitem_textframe.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem_textframe.cpp	(original)
+++ trunk/Scribus/scribus/pageitem_textframe.cpp	Mon Apr 30 23:49:50 2018
@@ -1102,7 +1102,7 @@
 		result->setWidth(lineData.width);
 		result->setAscent(lineData.ascent);
 		result->setDescent(lineData.descent);
-		foreach (const GlyphCluster& run, ShapedTextFeed::putInVisualOrder(glyphs,   0, lineData.lastCluster - lineData.firstCluster + 1))
+		for (const GlyphCluster& run : ShapedTextFeed::putInVisualOrder(glyphs,   0, lineData.lastCluster - lineData.firstCluster + 1))
 		{
 			addBox(result, run);
 //			qDebug() << "cluster" << run.firstChar() << ".." << run.lastChar() << "@" << run.visualIndex();
@@ -1411,7 +1411,7 @@
 		{ //if notes are used
 			UndoManager::instance()->setUndoEnabled(false);
 			QList<PageItem_NoteFrame*> delList;
-			foreach (PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+			for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 			{
 				if (nF->notesList().isEmpty() && !nF->isAutoNoteFrame())
 					delList.append(nF);
@@ -1670,7 +1670,8 @@
 				//text height, width, ascent and descent should be calculated for whole text provided by ScText in current position
 				//and that may be more than one char (variable text for example)
 				double realCharHeight = 0.0, realCharAscent = 0.0;
-				foreach (const GlyphLayout& gl, current.glyphs[currentIndex].glyphs()) {
+				const QList<GlyphLayout>& glyphs = current.glyphs[currentIndex].glyphs();
+				for (const GlyphLayout& gl : glyphs) {
 					GlyphMetrics gm = font.glyphBBox(gl.glyph);
 					realCharHeight = qMax(realCharHeight, gm.ascent + gm.descent);
 					realCharAscent = qMax(realCharAscent, gm.ascent);
@@ -1749,7 +1750,8 @@
 				{
 					double realCharHeight = 0.0;
 					wide = 0.0; realAsce = 0.0;
-					foreach (const GlyphLayout& gl, glyphCluster.glyphs()) {
+					const QList<GlyphLayout>& glyphs = glyphCluster.glyphs();
+					for (const GlyphLayout& gl : glyphs) {
 						GlyphMetrics gm;
 						gm = font.glyphBBox(gl.glyph, charStyle.fontSize() / 10.0);
 						realCharHeight = qMax(realCharHeight, gm.ascent + gm.descent);
@@ -1786,7 +1788,8 @@
 				{
 					if (itemText.text(a) != SpecialChars::OBJECT)
 					{
-						foreach (const GlyphLayout& gl, current.glyphs[currentIndex].glyphs())
+						const QList<GlyphLayout>& glyphs = current.glyphs[currentIndex].glyphs();
+						for (const GlyphLayout& gl : glyphs)
 						{
 							GlyphMetrics gm = font.glyphBBox(gl.glyph, hlcsize10);
 							realDesc = qMax(realDesc, gm.descent * scaleV - offset);
@@ -1810,7 +1813,8 @@
 						realAsce = asce * scaleV + offset;
 					else
 					{
-						foreach (const GlyphLayout& gl, current.glyphs[currentIndex].glyphs())
+						const QList<GlyphLayout>& glyphs = current.glyphs[currentIndex].glyphs();
+						for (const GlyphLayout& gl : glyphs)
 							realAsce = qMax(realAsce, font.glyphBBox(gl.glyph, hlcsize10).ascent * scaleV + offset);
 					}
 				}
@@ -2203,7 +2207,8 @@
 			if (DropCmode)
 			{
 				double yoffset = 0.0;
-				foreach (const GlyphLayout& gl, current.glyphs[currentIndex].glyphs())
+				const QList<GlyphLayout>& glyphs = current.glyphs[currentIndex].glyphs();
+				for (const GlyphLayout& gl : glyphs)
 					yoffset = qMax(yoffset, font.glyphBBox(gl.glyph, chsd / 10.0).descent);
 				current.glyphs[currentIndex].yoffset -= yoffset;
 			}
@@ -5588,7 +5593,7 @@
 	int oldItemsCount = m_Doc->Items->count();
 
 	QList<PageItem_NoteFrame*> delList;
-	foreach (PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+	for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 	{
 		if (nF->notesList().isEmpty() && !nF->isAutoNoteFrame())
 			delList.append(nF);
@@ -5806,14 +5811,14 @@
 //	QList<PageItem_NoteFrame*> old_endNotesList;
 
 
-//	foreach(PageItem_NoteFrame* nF, notesMap.keys())
+//	for (PageItem_NoteFrame* nF : notesMap.keys())
 //	{
 //		if (nF->isEndNotesFrame())
 //			curr_endNotesList.append(nF);
 //		else if (!notesMap.value(nF).isEmpty())
 //			curr_footNotesList.append(nF);
 //	}
-//	foreach(PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+//	for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 //	{
 //		if (nF->isEndNotesFrame())
 //			old_endNotesList.append(nF);
@@ -5821,7 +5826,7 @@
 //			old_footNotesList.append(nF);
 //	}
 //	//check for endnotes marks change in current frame
-//	foreach (PageItem_NoteFrame* nF, old_endNotesList)
+//	for (PageItem_NoteFrame* nF : old_endNotesList)
 //	{
 //		if (nF->deleteIt)
 //		{
@@ -5835,7 +5840,7 @@
 //		}
 //	}
 	//check if some notes frames are not used anymore
-	foreach (PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+	for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 	{
 		if (nF->deleteIt || (nF->isAutoNoteFrame() && !notesMap.keys().contains(nF)))
 		{
@@ -5857,7 +5862,7 @@
 	if (m_notesFramesMap != notesMap)
 	{
 		docWasChanged = true;
-		foreach (PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+		for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 		{
 			if (notesMap.contains(nF))
 			{
@@ -5878,7 +5883,7 @@
 
 void PageItem_TextFrame::notesFramesLayout()
 {
-	foreach (PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+	for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 	{
 		if (nF == NULL)
 			continue;
@@ -5932,7 +5937,7 @@
 
 PageItem_NoteFrame *PageItem_TextFrame::itemNoteFrame(NotesStyle *nStyle)
 {
-	foreach (PageItem_NoteFrame* nF, m_notesFramesMap.keys())
+	for (PageItem_NoteFrame* nF : m_notesFramesMap.keys())
 		if (nF->notesStyle() == nStyle)
 			return nF;
 	return NULL;

Modified: trunk/Scribus/scribus/plugins/export/svgexplugin/svgexplugin.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/plugins/export/svgexplugin/svgexplugin.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/export/svgexplugin/svgexplugin.cpp	(original)
+++ trunk/Scribus/scribus/plugins/export/svgexplugin/svgexplugin.cpp	Mon Apr 30 23:49:50 2018
@@ -640,7 +640,7 @@
 void SVGExPlug::paintBorder(const TableBorder& border, const QPointF& start, const QPointF& end, const QPointF& startOffsetFactors, const QPointF& endOffsetFactors, QDomElement &ob)
 {
 	QPointF lineStart, lineEnd;
-	foreach (const TableBorderLine& line, border.borderLines())
+	for (const TableBorderLine& line : border.borderLines())
 	{
 		lineStart.setX(start.x() + line.width() * startOffsetFactors.x());
 		lineStart.setY(start.y() + line.width() * startOffsetFactors.y());
@@ -1162,7 +1162,8 @@
 		if (gc.isControlGlyphs())
 			return;
 		double current_x = 0.0;
-		foreach (const GlyphLayout& gl, gc.glyphs()) {
+		for (const GlyphLayout& gl : gc.glyphs())
+		{
 			QTransform transform = matrix();
 			transform.translate(x() + gl.xoffset + current_x, y() - (fontSize() * gc.scaleV()) + gl.yoffset);
 			transform.scale(gc.scaleH() * fontSize() / 10.0, gc.scaleV() * fontSize() / 10.0);
@@ -1182,7 +1183,8 @@
 		if (gc.isControlGlyphs())
 			return;
 		double current_x = 0.0;
-		foreach (const GlyphLayout& gl, gc.glyphs()) {
+		for (const GlyphLayout& gl : gc.glyphs())
+		{
 			QTransform transform = matrix();
 			transform.translate(x() + gl.xoffset + current_x, y() - (fontSize() * gc.scaleV()) + gl.yoffset);
 			transform.scale(gc.scaleH() * fontSize() / 10.0, gc.scaleV() * fontSize() / 10.0);

Modified: trunk/Scribus/scribus/plugins/export/xpsexport/xpsexplugin.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/plugins/export/xpsexport/xpsexplugin.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/export/xpsexport/xpsexplugin.cpp	(original)
+++ trunk/Scribus/scribus/plugins/export/xpsexport/xpsexplugin.cpp	Mon Apr 30 23:49:50 2018
@@ -839,7 +839,7 @@
 		QString gcMap = QString("(%1:%2)").arg(gc.getText().size()).arg(gc.glyphs().size());
 		QString indices;
 		double current_x = 0.0;
-		foreach (const GlyphLayout& gl, gc.glyphs()) {
+		for (const GlyphLayout& gl : gc.glyphs()) {
 			indices += QString("%1,%2,%3,%4;").arg(gl.glyph)
 					.arg(((gl.xadvance + current_x) * m_xps->conversionFactor) / size * 100)
 					.arg((-gl.xoffset * m_xps->conversionFactor) / size * 100)
@@ -856,7 +856,7 @@
 		if (gc.isControlGlyphs())
 			return;
 		double current_x = 0.0;
-		foreach (const GlyphLayout& gl, gc.glyphs()) {
+		for (const GlyphLayout& gl : gc.glyphs()) {
 			FPointArray outline = font().glyphOutline(gl.glyph);
 			if (outline.size() >= 4)
 			{
@@ -1466,7 +1466,7 @@
 void XPSExPlug::paintBorder(const TableBorder& border, const QPointF& start, const QPointF& end, const QPointF& startOffsetFactors, const QPointF& endOffsetFactors, QDomElement &ob)
 {
 	QPointF lineStart, lineEnd;
-	foreach (const TableBorderLine& line, border.borderLines())
+	for (const TableBorderLine& line : border.borderLines())
 	{
 		lineStart.setX(start.x() + line.width() * startOffsetFactors.x());
 		lineStart.setY(start.y() + line.width() * startOffsetFactors.y());

Modified: trunk/Scribus/scribus/text/boxes.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/text/boxes.cpp
==============================================================================
--- trunk/Scribus/scribus/text/boxes.cpp	(original)
+++ trunk/Scribus/scribus/text/boxes.cpp	Mon Apr 30 23:49:50 2018
@@ -24,7 +24,7 @@
 int GroupBox::pointToPosition(QPointF coord, const StoryText &story) const
 {
 	QPointF rel = coord - QPointF(m_x, m_y);
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		if (box->containsPoint(rel))
 		{
@@ -51,7 +51,7 @@
 QLineF GroupBox::positionToPoint(int pos, const StoryText& story) const
 {
 	QLineF result;
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		if (box->containsPos(pos))
 		{
@@ -67,7 +67,7 @@
 {
 	p->save();
 	p->translate(x(), y());
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		box->render(p);
 	}
@@ -78,7 +78,7 @@
 {
 	p->save();
 	p->translate(x(), y());
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		box->render(p, ctx);
 	}
@@ -89,7 +89,7 @@
 {
 	p->save();
 	p->translate(x(), y());
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		box->drawSelection(p, ctx);
 	}
@@ -194,7 +194,7 @@
 QLineF LineBox::positionToPoint(int pos, const StoryText& story) const
 {
 	QLineF result;
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		if (box->containsPos(pos))
 		{
@@ -218,7 +218,7 @@
 	drawBackGround(p);
 
 	p->translate(0, ascent());
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 	{
 		box->render(p);
 	}
@@ -234,7 +234,7 @@
 	drawSelection(p, ctx);
 
 	p->translate(0, ascent());
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 		box->render(p, ctx);
 
 	p->translate(-x(), -y() - ascent());
@@ -242,7 +242,7 @@
 
 void LineBox::drawSelection(ScreenPainter *p, ITextContext *ctx) const
 {
-	foreach (const Box *box, boxes())
+	for (const Box *box : boxes())
 		box->drawSelection(p, ctx);
 }
 
@@ -463,7 +463,7 @@
 
 void PathLineBox::update()
 {
-	foreach (Box* box, boxes()) {
+	for (Box* box : boxes()) {
 		m_firstChar = qMin(m_firstChar, box->firstChar());
 		m_lastChar = qMax(m_lastChar, box->lastChar());
 	}

Modified: trunk/Scribus/scribus/text/textlayout.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/text/textlayout.cpp
==============================================================================
--- trunk/Scribus/scribus/text/textlayout.cpp	(original)
+++ trunk/Scribus/scribus/text/textlayout.cpp	Mon Apr 30 23:49:50 2018
@@ -49,7 +49,7 @@
 uint TextLayout::lines() const
 {
 	uint count = 0;
-	foreach (const Box *box, m_box->boxes())
+	for (const Box *box : m_box->boxes())
 	{
 		count += box->boxes().count();
 	}
@@ -59,7 +59,7 @@
 const LineBox* TextLayout::line(uint i) const
 {
 	uint count = 0;
-	foreach (const Box *box, m_box->boxes())
+	for (const Box *box : m_box->boxes())
 	{
 		if (i < count + box->boxes().count())
 			return dynamic_cast<const LineBox*>(box->boxes()[i - count]);
@@ -111,14 +111,14 @@
 		column->removeBox(lineCount - 1);
 }
 
-void TextLayout::render(ScreenPainter *p, ITextContext *ctx)
+void TextLayout::render(ScreenPainter *p, ITextContext *ctx) const
 {
 	p->save();
 	m_box->render(p, ctx);
 	p->restore();
 }
 
-void TextLayout::renderBackground(TextLayoutPainter *p)
+void TextLayout::renderBackground(TextLayoutPainter *p) const
 {
 	QString backColor, lastColor;
 	double backShade, lastShade = 100;
@@ -127,7 +127,7 @@
 	p->save();
 	p->translate(m_box->x(), m_box->y());
 
-	foreach (const Box* column, m_box->boxes())
+	for (const Box* column : m_box->boxes())
 	{
 		const QList<const Box*>& lineBoxes = column->boxes();
 		QRectF colBBox = column->bbox();
@@ -182,7 +182,7 @@
 	p->restore();
 }
 
-void TextLayout::render(TextLayoutPainter *p)
+void TextLayout::render(TextLayoutPainter *p) const
 {
 	p->save();
 	m_box->render(p);

Modified: trunk/Scribus/scribus/text/textlayout.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/text/textlayout.h
==============================================================================
--- trunk/Scribus/scribus/text/textlayout.h	(original)
+++ trunk/Scribus/scribus/text/textlayout.h	Mon Apr 30 23:49:50 2018
@@ -49,9 +49,9 @@
 	ITextContext*  frame() { return m_frame; }
 	const StoryText* story() const { return m_story; }
 	void setStory(StoryText* story);
-	void render(ScreenPainter *p, ITextContext *item);
-	void render(TextLayoutPainter *p);
-	void renderBackground(TextLayoutPainter *p);
+	void render(ScreenPainter *p, ITextContext *item) const;
+	void render(TextLayoutPainter *p) const;
+	void renderBackground(TextLayoutPainter *p) const;
 	int startOfLine(int pos) const;
 	int endOfLine(int pos) const;
 	int prevLine(int pos) const;

Modified: trunk/Scribus/scribus/text/textshaper.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22506&path=/trunk/Scribus/scribus/text/textshaper.cpp
==============================================================================
--- trunk/Scribus/scribus/text/textshaper.cpp	(original)
+++ trunk/Scribus/scribus/text/textshaper.cpp	Mon Apr 30 23:49:50 2018
@@ -78,7 +78,7 @@
 	QList<TextRun> newRuns;
 	ScriptRun scriptrun((const UChar*) m_text.utf16(), m_text.length());
 
-	foreach (TextRun run, runs)
+	for (TextRun run : runs)
 	{
 		int start = run.start;
 		QList<TextRun> subRuns;
@@ -138,7 +138,8 @@
 {
 	QList<TextRun> newRuns;
 
-	foreach (TextRun run, runs) {
+	for (TextRun run : runs)
+	{
 		int start = run.start;
 		QList<TextRun> subRuns;
 
@@ -289,7 +290,8 @@
 
 	// Insert implicit spaces in justification between characters
 	// in scripts that do not use spaces to seperate words
-	foreach (const TextRun& run, scriptRuns) {
+	for (const TextRun& run : scriptRuns)
+	{
 		switch (run.script) {
 		// clustered scripts from https://drafts.csswg.org/css-text-3/#script-groups
 		case USCRIPT_KHMER:
@@ -324,7 +326,8 @@
 		}
 	}
 
-	foreach (const TextRun& textRun, textRuns) {
+	for (const TextRun& textRun : textRuns)
+	{
 		const CharStyle &style = m_story.charStyle(m_textMap.value(textRun.start));
 
 		const ScFace &scFace = style.font();
@@ -350,14 +353,16 @@
 		hb_buffer_set_cluster_level(hbBuffer, HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS);
 
 		QVector<hb_feature_t> hbFeatures;
-		QList<FeaturesRun> featuresRuns = itemizeFeatures(textRun);
-		foreach (const FeaturesRun& featuresRun, featuresRuns)
+		const QList<FeaturesRun> featuresRuns = itemizeFeatures(textRun);
+		for (const FeaturesRun& featuresRun : featuresRuns)
 		{
 			const QStringList& features = featuresRun.features;
 			hbFeatures.reserve(features.length());
-			foreach (const QString& feature, features) {
+			for (const QString& feature : features)
+			{
 				hb_feature_t hbFeature;
-				hb_bool_t ok = hb_feature_from_string(feature.toStdString().c_str(), feature.toStdString().length(), &hbFeature);
+				std::string strFeature(feature.toStdString());
+				hb_bool_t ok = hb_feature_from_string(strFeature.c_str(), strFeature.length(), &hbFeature);
 				if (ok)
 				{
 					hbFeature.start = featuresRun.start;




More information about the scribus-commit mailing list