|
|
|
dev:cases_that_we_know_require_hand_coding [2018/02/07 16:07] |
dev:cases_that_we_know_require_hand_coding [2022/05/06 16:07] (current) |
| | =====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. |
| |