Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dev:cases_that_we_know_require_hand_coding [2008/07/27 03:37]
michael
dev:cases_that_we_know_require_hand_coding [2018/02/07 16:07]
Line 1: Line 1:
-=====Cases we know require hand coding===== 
-    * QComboBox::text() becomes itemText(), but I'm sure the word "text" appears umpty scadillion times, and I'm immediately relegating these cases to hand correction 
-    * QRegExp no longer has search() and searchRev(), which have been replaced with  
-indexIn() and lastIndexIn() in QT4. 
- 
-We seem to use only search(), but there is also QString::search() among  
-possible others.  I find four files with QRegExp, but seven files  
-with "search(" and there is no easy common thread among the four files, and I  
-can devise no sensible way to weed out the search() calls that pertain to  
-QRegExp but not QString or whatever else. 
- 
-Since there are only four affected files, it makes the most sense to just go  
-change this by hand after we start working with post-converted files. 
- 
-src/document/io/LilyPondExporter.cpp:1200: error: ‘class QRegExp’ has no  
-member named ‘search’ 
-src/gui/application/StartupTester.cpp:121: error: ‘class QRegExp’ has no  
-member named ‘search’ 
-src/gui/application/StartupTester.cpp:157: error: ‘class QRegExp’ has no  
-member named ‘search’ 
-src/gui/studio/DeviceEditorDialog.cpp:346: error: ‘class QRegExp’ has no  
-member named ‘search’ 
- 
-    * OK, the guide is here: 
- 
-[[http://doc.trolltech.com/4.3/qstring-qt3.html]] 
- 
-If you read up on the individual methods in the QT3-compatibility library, it  
-shows you what to switch to what in the port (so we could make the switches  
-ourselves to avoid using the hack library.)  For instance, QString::lower()  
-has become QString::toLower(), and so on. 
- 
-I picked a few of these at random, and if these can be automated, I don't have  
-enough experience with batch text manipulation to pull it off.  For every  
-term that needs to be replaced, there are at least twice as many occurrences  
-of that term as there are errors about QString not having that  
-member.  "latin1" for instance.  What else is using "latin1" and are all the  
-other classes switching from "latin1" to "toLatin1" like QString is?  Maybe,  
-maybe not. 
- 
-I'm moving on to the next one. 
- 
-    * We have another QString problem that might could be mechanized by somebody who  
-actually knows Perl. 
- 
-In RoseXmlHandler and probably elsewhere, we make frequent use of this idiom: 
- 
-        QString transposeStr = atts.value("defaultTranspose"); 
-        if (transposeStr) { 
-            track->setTranspose(transposeStr.toInt()); 
-        } 
- 
-This depends on transposeStr being null if nothing was returned,  
-but "Comparisons between QStrings and NULL in order to determine whether  
-strings are empty are no longer allowed. Use isEmpty() instead." 
- 
-So all we need to do to this code snippet to make it work is rewrite it  
-thusly: 
- 
-        QString transposeStr = atts.value("defaultTranspose"); 
-        if (!transposeStr.isEmpty()) { 
-            track->setTranspose(transposeStr.toInt()); 
-        } 
- 
-It might be easier to just fix these by hand than to try to whip up scripty  
-magic.  Especially for me. 
  
 
 
dev/cases_that_we_know_require_hand_coding.txt · Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki