Review Request 111595: Turn some sequences of x += ... statements (with x a QString) into a long chain of additions (for QStringBuilder)

Friedrich W. H. Kossebau kossebau at kde.org
Fri Jul 19 11:07:49 BST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111595/
-----------------------------------------------------------

Review request for Calligra.


Description
-------

The power of QStringBuilder only sets in if more than two strings are concatenated before picking up the result as QString again (e.g. when assigning to a QString variable). There are some code parts where a lot of concatenating is done, but not in one expression, instead assigning the intermediate result to a QString var again and again, thus preventing the advantage of QStringBuilder.

There are also a few places in the code where literal strings are concatenated using "+", instead of having the compiler concatenate them already. 

Attached patch optimizes the code in those two cases: by removing "+" between literal string and turning sequences of += into a chain of +


Diffs
-----

  filters/karbon/eps/EpsImport.cpp d91f092 
  filters/karbon/karbon1.x/Karbon1xImport.cpp 4510b88 
  filters/karbon/wmf/WmfImportParser.cpp 9ba0faa 
  filters/libmso/shapes2.cpp 9f794e2 
  filters/libmsooxml/ComplexShapeHandler.cpp b093db4 
  filters/libmsooxml/MsooXmlVmlReaderImpl.h 6a96176 
  filters/sheets/applixspread/applixspreadimport.cc 7b52ed4 
  filters/sheets/csv/csvexport.cc 8e2a79c 
  filters/sheets/dbase/dbaseimport.cc 38b30b5 
  filters/sheets/html/htmlexport.cc 1d5bfc6 
  filters/stage/kpr2odf/Filterkpr2odf.cpp 9a3e83e 
  kexi/kexiutils/identifier.cpp 0505326 
  kexi/migration/pqxx/pqxxmigrate.cpp c7aaefc 
  libs/db/connection.cpp 4eebf3a 
  libs/db/cursor.cpp 80bf01d 
  libs/db/expression.cpp e8e43c1 
  libs/db/fieldlist.cpp 9ed9812 
  libs/db/preparedstatement.cpp cfc2b05 
  libs/db/queryschema.cpp 2fa34e9 
  libs/db/utils.cpp 1beec54 
  libs/flake/svg/SvgCssHelper.cpp 8d68c63 
  libs/koreport/renderer/KoReportHTMLCSSRenderer.cpp 58c1598 
  libs/koreport/renderer/KoReportHTMLTableRenderer.cpp c98866d 
  libs/koreport/renderer/KoReportKSpreadRenderer.cpp bf70deb 
  libs/main/KoDocumentEntry.cpp e1b03f7 
  libs/main/KoFilterManager.cpp 2648885 
  libs/main/KoRecentDocumentsPane.cpp 126078e 
  libs/main/PriorityQueue_p.h e83c137 
  libs/odf/KoStyleStack.cpp d07b635 
  libs/odf/KoXmlStreamReader.cpp 45073c3 
  libs/pigment/KoColorConversionSystem.cpp 2ad1b98 
  libs/vectorimage/libwmf/qwmf.cc 73c661a 
  sheets/Condition.cpp b84ebde 
  sheets/Currency.cpp 74ad638 
  sheets/FunctionDescription.cpp a13dccb 
  sheets/GenValidationStyle.cpp d3622fb 
  sheets/Sheet.cpp fb3b9d0 
  sheets/Util.cpp f54e673 
  sheets/ValueFormatter.cpp 9dacad5 
  sheets/dialogs/DatabaseDialog.cpp b644f4b 
  sheets/dialogs/FormulaDialog.cpp 905b844 
  sheets/dialogs/ListDialog.cpp ba032b6 

Diff: http://git.reviewboard.kde.org/r/111595/diff/


Testing
-------


Thanks,

Friedrich W. H. Kossebau

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20130719/85160300/attachment.htm>


More information about the calligra-devel mailing list