Skip to content

Commit fe706be

Browse files
committed
GUI - switch from QRegExp to QRegularExpression
QRegExp is being deprecated, so moving to QRegularExpression will help the future transition to Qt6. This may have introduced some quirks given that the two regexp engines have different implementations but things seem fine locally.
1 parent cdd9002 commit fe706be

File tree

5 files changed

+61
-58
lines changed

5 files changed

+61
-58
lines changed

app/gui/qt/dpi.h

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
#include <QGuiApplication>
44
#include <QScreen>
5+
#include <QRegularExpression>
6+
57

68
inline QSizeF GetDisplayScale()
79
{
@@ -65,60 +67,60 @@ inline QString ScalePxInStyleSheet(QString style)
6567

6668
// TODO: Need to figure out a nicer way to do all this in one pass.
6769
// My c++ fu doesn't currently rise to the challenge
68-
style = style.replace(QRegExp(":\\s*1dx"), QString(": %1px").arg(ScaleHeightForDPI(1)));
69-
style = style.replace(QRegExp(":\\s*2dx"), QString(": %1px").arg(ScaleHeightForDPI(2)));
70-
style = style.replace(QRegExp(":\\s*3dx"), QString(": %1px").arg(ScaleHeightForDPI(3)));
71-
style = style.replace(QRegExp(":\\s*4dx"), QString(": %1px").arg(ScaleHeightForDPI(4)));
72-
style = style.replace(QRegExp(":\\s*5dx"), QString(": %1px").arg(ScaleHeightForDPI(5)));
73-
style = style.replace(QRegExp(":\\s*6dx"), QString(": %1px").arg(ScaleHeightForDPI(6)));
74-
style = style.replace(QRegExp(":\\s*7dx"), QString(": %1px").arg(ScaleHeightForDPI(7)));
75-
style = style.replace(QRegExp(":\\s*8dx"), QString(": %1px").arg(ScaleHeightForDPI(8)));
76-
style = style.replace(QRegExp(":\\s*9dx"), QString(": %1px").arg(ScaleHeightForDPI(9)));
77-
style = style.replace(QRegExp(":\\s*10dx"), QString(": %1px").arg(ScaleHeightForDPI(10)));
78-
style = style.replace(QRegExp(":\\s*11dx"), QString(": %1px").arg(ScaleHeightForDPI(11)));
79-
style = style.replace(QRegExp(":\\s*12dx"), QString(": %1px").arg(ScaleHeightForDPI(12)));
80-
style = style.replace(QRegExp(":\\s*13dx"), QString(": %1px").arg(ScaleHeightForDPI(13)));
81-
style = style.replace(QRegExp(":\\s*14dx"), QString(": %1px").arg(ScaleHeightForDPI(14)));
82-
style = style.replace(QRegExp(":\\s*15dx"), QString(": %1px").arg(ScaleHeightForDPI(15)));
83-
style = style.replace(QRegExp(":\\s*16dx"), QString(": %1px").arg(ScaleHeightForDPI(16)));
84-
style = style.replace(QRegExp(":\\s*17dx"), QString(": %1px").arg(ScaleHeightForDPI(17)));
85-
style = style.replace(QRegExp(":\\s*18dx"), QString(": %1px").arg(ScaleHeightForDPI(18)));
86-
style = style.replace(QRegExp(":\\s*19dx"), QString(": %1px").arg(ScaleHeightForDPI(19)));
87-
style = style.replace(QRegExp(":\\s*20dx"), QString(": %1px").arg(ScaleHeightForDPI(20)));
88-
style = style.replace(QRegExp(":\\s*21dx"), QString(": %1px").arg(ScaleHeightForDPI(21)));
89-
style = style.replace(QRegExp(":\\s*22dx"), QString(": %1px").arg(ScaleHeightForDPI(22)));
90-
style = style.replace(QRegExp(":\\s*23dx"), QString(": %1px").arg(ScaleHeightForDPI(23)));
91-
style = style.replace(QRegExp(":\\s*24dx"), QString(": %1px").arg(ScaleHeightForDPI(24)));
92-
style = style.replace(QRegExp(":\\s*25dx"), QString(": %1px").arg(ScaleHeightForDPI(25)));
93-
style = style.replace(QRegExp(":\\s*26dx"), QString(": %1px").arg(ScaleHeightForDPI(26)));
94-
style = style.replace(QRegExp(":\\s*27dx"), QString(": %1px").arg(ScaleHeightForDPI(27)));
95-
style = style.replace(QRegExp(":\\s*28dx"), QString(": %1px").arg(ScaleHeightForDPI(28)));
96-
style = style.replace(QRegExp(":\\s*29dx"), QString(": %1px").arg(ScaleHeightForDPI(29)));
97-
style = style.replace(QRegExp(":\\s*3\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(30)));
98-
style = style.replace(QRegExp(":\\s*4\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(40)));
99-
style = style.replace(QRegExp(":\\s*5\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(50)));
100-
style = style.replace(QRegExp(":\\s*6\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(60)));
101-
style = style.replace(QRegExp(":\\s*7\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(70)));
102-
style = style.replace(QRegExp(":\\s*8\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(80)));
103-
style = style.replace(QRegExp(":\\s*9\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(90)));
104-
style = style.replace(QRegExp(":\\s*1\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(100)));
105-
style = style.replace(QRegExp(":\\s*2\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(200)));
106-
style = style.replace(QRegExp(":\\s*3\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(300)));
107-
style = style.replace(QRegExp(":\\s*4\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(400)));
108-
style = style.replace(QRegExp(":\\s*5\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(500)));
70+
style = style.replace(QRegularExpression(":\\s*1dx"), QString(": %1px").arg(ScaleHeightForDPI(1)));
71+
style = style.replace(QRegularExpression(":\\s*2dx"), QString(": %1px").arg(ScaleHeightForDPI(2)));
72+
style = style.replace(QRegularExpression(":\\s*3dx"), QString(": %1px").arg(ScaleHeightForDPI(3)));
73+
style = style.replace(QRegularExpression(":\\s*4dx"), QString(": %1px").arg(ScaleHeightForDPI(4)));
74+
style = style.replace(QRegularExpression(":\\s*5dx"), QString(": %1px").arg(ScaleHeightForDPI(5)));
75+
style = style.replace(QRegularExpression(":\\s*6dx"), QString(": %1px").arg(ScaleHeightForDPI(6)));
76+
style = style.replace(QRegularExpression(":\\s*7dx"), QString(": %1px").arg(ScaleHeightForDPI(7)));
77+
style = style.replace(QRegularExpression(":\\s*8dx"), QString(": %1px").arg(ScaleHeightForDPI(8)));
78+
style = style.replace(QRegularExpression(":\\s*9dx"), QString(": %1px").arg(ScaleHeightForDPI(9)));
79+
style = style.replace(QRegularExpression(":\\s*10dx"), QString(": %1px").arg(ScaleHeightForDPI(10)));
80+
style = style.replace(QRegularExpression(":\\s*11dx"), QString(": %1px").arg(ScaleHeightForDPI(11)));
81+
style = style.replace(QRegularExpression(":\\s*12dx"), QString(": %1px").arg(ScaleHeightForDPI(12)));
82+
style = style.replace(QRegularExpression(":\\s*13dx"), QString(": %1px").arg(ScaleHeightForDPI(13)));
83+
style = style.replace(QRegularExpression(":\\s*14dx"), QString(": %1px").arg(ScaleHeightForDPI(14)));
84+
style = style.replace(QRegularExpression(":\\s*15dx"), QString(": %1px").arg(ScaleHeightForDPI(15)));
85+
style = style.replace(QRegularExpression(":\\s*16dx"), QString(": %1px").arg(ScaleHeightForDPI(16)));
86+
style = style.replace(QRegularExpression(":\\s*17dx"), QString(": %1px").arg(ScaleHeightForDPI(17)));
87+
style = style.replace(QRegularExpression(":\\s*18dx"), QString(": %1px").arg(ScaleHeightForDPI(18)));
88+
style = style.replace(QRegularExpression(":\\s*19dx"), QString(": %1px").arg(ScaleHeightForDPI(19)));
89+
style = style.replace(QRegularExpression(":\\s*20dx"), QString(": %1px").arg(ScaleHeightForDPI(20)));
90+
style = style.replace(QRegularExpression(":\\s*21dx"), QString(": %1px").arg(ScaleHeightForDPI(21)));
91+
style = style.replace(QRegularExpression(":\\s*22dx"), QString(": %1px").arg(ScaleHeightForDPI(22)));
92+
style = style.replace(QRegularExpression(":\\s*23dx"), QString(": %1px").arg(ScaleHeightForDPI(23)));
93+
style = style.replace(QRegularExpression(":\\s*24dx"), QString(": %1px").arg(ScaleHeightForDPI(24)));
94+
style = style.replace(QRegularExpression(":\\s*25dx"), QString(": %1px").arg(ScaleHeightForDPI(25)));
95+
style = style.replace(QRegularExpression(":\\s*26dx"), QString(": %1px").arg(ScaleHeightForDPI(26)));
96+
style = style.replace(QRegularExpression(":\\s*27dx"), QString(": %1px").arg(ScaleHeightForDPI(27)));
97+
style = style.replace(QRegularExpression(":\\s*28dx"), QString(": %1px").arg(ScaleHeightForDPI(28)));
98+
style = style.replace(QRegularExpression(":\\s*29dx"), QString(": %1px").arg(ScaleHeightForDPI(29)));
99+
style = style.replace(QRegularExpression(":\\s*3\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(30)));
100+
style = style.replace(QRegularExpression(":\\s*4\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(40)));
101+
style = style.replace(QRegularExpression(":\\s*5\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(50)));
102+
style = style.replace(QRegularExpression(":\\s*6\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(60)));
103+
style = style.replace(QRegularExpression(":\\s*7\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(70)));
104+
style = style.replace(QRegularExpression(":\\s*8\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(80)));
105+
style = style.replace(QRegularExpression(":\\s*9\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(90)));
106+
style = style.replace(QRegularExpression(":\\s*1\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(100)));
107+
style = style.replace(QRegularExpression(":\\s*2\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(200)));
108+
style = style.replace(QRegularExpression(":\\s*3\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(300)));
109+
style = style.replace(QRegularExpression(":\\s*4\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(400)));
110+
style = style.replace(QRegularExpression(":\\s*5\\d\\ddx"), QString(": %1px").arg(ScaleHeightForDPI(500)));
109111

110112
#ifdef __APPLE__
111-
style = style.replace(QRegExp("font-size:\\s*small\\s*;"), QString("font-size: %1px; /*small*/").arg(ScaleHeightForDPI(13)));
112-
style = style.replace(QRegExp("font-size:\\s*medium\\s*;"), QString("font-size: %1px; /*medium*/").arg(ScaleHeightForDPI(18)));
113-
style = style.replace(QRegExp("font-size:\\s*large\\s*;"), QString("font-size: %1px; /*large*/").arg(ScaleHeightForDPI(21)));
114-
style = style.replace(QRegExp("font-size:\\s*x-large\\s*;"), QString("font-size: %1px; /*x-large*/").arg(ScaleHeightForDPI(25)));
115-
style = style.replace(QRegExp("font-size:\\s*xx-large\\s*;"), QString("font-size: %1px; /*xx-large*/").arg(ScaleHeightForDPI(31)));
113+
style = style.replace(QRegularExpression("font-size:\\s*small\\s*;"), QString("font-size: %1px; /*small*/").arg(ScaleHeightForDPI(13)));
114+
style = style.replace(QRegularExpression("font-size:\\s*medium\\s*;"), QString("font-size: %1px; /*medium*/").arg(ScaleHeightForDPI(18)));
115+
style = style.replace(QRegularExpression("font-size:\\s*large\\s*;"), QString("font-size: %1px; /*large*/").arg(ScaleHeightForDPI(21)));
116+
style = style.replace(QRegularExpression("font-size:\\s*x-large\\s*;"), QString("font-size: %1px; /*x-large*/").arg(ScaleHeightForDPI(25)));
117+
style = style.replace(QRegularExpression("font-size:\\s*xx-large\\s*;"), QString("font-size: %1px; /*xx-large*/").arg(ScaleHeightForDPI(31)));
116118
#else
117-
style = style.replace(QRegExp("font-size:\\s*small\\s*;"), QString("font-size: %1px; /*small*/").arg(ScaleHeightForDPI(14)));
118-
style = style.replace(QRegExp("font-size:\\s*medium\\s*;"), QString("font-size: %1px; /*medium*/").arg(ScaleHeightForDPI(19)));
119-
style = style.replace(QRegExp("font-size:\\s*large\\s*;"), QString("font-size: %1px; /*large*/").arg(ScaleHeightForDPI(22)));
120-
style = style.replace(QRegExp("font-size:\\s*x-large\\s*;"), QString("font-size: %1px; /*x-large*/").arg(ScaleHeightForDPI(26)));
121-
style = style.replace(QRegExp("font-size:\\s*xx-large\\s*;"), QString("font-size: %1px; /*xx-large*/").arg(ScaleHeightForDPI(32)));
119+
style = style.replace(QRegularExpression("font-size:\\s*small\\s*;"), QString("font-size: %1px; /*small*/").arg(ScaleHeightForDPI(14)));
120+
style = style.replace(QRegularExpression("font-size:\\s*medium\\s*;"), QString("font-size: %1px; /*medium*/").arg(ScaleHeightForDPI(19)));
121+
style = style.replace(QRegularExpression("font-size:\\s*large\\s*;"), QString("font-size: %1px; /*large*/").arg(ScaleHeightForDPI(22)));
122+
style = style.replace(QRegularExpression("font-size:\\s*x-large\\s*;"), QString("font-size: %1px; /*x-large*/").arg(ScaleHeightForDPI(26)));
123+
style = style.replace(QRegularExpression("font-size:\\s*xx-large\\s*;"), QString("font-size: %1px; /*xx-large*/").arg(ScaleHeightForDPI(32)));
122124
#endif
123125

124126
return style;

app/gui/qt/mainwindow.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ void MainWindow::handleCustomUrl(const QUrl& url)
723723
if (url.host() == "play-sample")
724724
{
725725
QString sample = url.path();
726-
sample.remove(QRegExp("^/"));
726+
sample.remove(QRegularExpression("^/"));
727727
QString code = "use_debug false\n"
728728
"use_real_time\n"
729729
"sample :"
@@ -1349,7 +1349,7 @@ bool MainWindow::saveAs()
13491349
{
13501350
QFileInfo fi = fileName;
13511351
gui_settings->setValue("lastDir", fi.dir().absolutePath());
1352-
if (!fileName.contains(QRegExp("\\.[a-z]+$")))
1352+
if (!fileName.contains(QRegularExpression("\\.[a-z]+$")))
13531353
{
13541354
fileName = fileName + ".txt";
13551355
}

app/gui/qt/utils/scintilla_api.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
#include <QDir>
1616
#include <iostream>
17-
17+
#include <QRegularExpression>
1818
#include "scintilla_api.h"
1919

2020
using namespace std;
@@ -82,7 +82,7 @@ void ScintillaAPI::updateMidiOuts(QString port_info) {
8282
// port info is a \n separated list of MIDI port names. Need to first split it up
8383
keywords[MidiOuts].clear();
8484

85-
for ( const auto& i : port_info.split(QRegExp("[\r\n]")) )
85+
for ( const auto& i : port_info.split(QRegularExpression("[\r\n]")) )
8686
{
8787
keywords[MidiOuts] << QString("\"%1\"").arg(i);
8888
}

app/gui/qt/widgets/sonicpilog.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ void SonicPiLog::handleMultiMessage(SonicPiLog::MultiMessage mm)
9999
int msg_type = mm.messages[i].msg_type;
100100
std::string s = mm.messages[i].s;
101101

102-
QStringList lines = QString::fromUtf8(s.c_str()).split(QRegExp("\\n"));
102+
QStringList lines = QString::fromUtf8(s.c_str()).split(QRegularExpression("\\n"));
103103

104104
if (s.empty()) {
105105
ss.append(QString::fromUtf8(""));

app/gui/qt/widgets/sonicpiscintilla.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <Qsci/qscicommandset.h>
2424
#include <Qsci/qscilexer.h>
2525
#include <QCheckBox>
26+
#include <QRegularExpression>
2627

2728
SonicPiScintilla::SonicPiScintilla(SonicPiLexer *lexer, SonicPiTheme *theme, QString fileName, bool autoIndent)
2829
: QsciScintilla()
@@ -226,7 +227,7 @@ void SonicPiScintilla::cutLineFromPoint()
226227
int linenum, index;
227228
getCursorPosition(&linenum, &index);
228229

229-
if (text(linenum).mid(index).contains(QRegExp("^\\s*\\n")))
230+
if (text(linenum).mid(index).contains(QRegularExpression("^\\s*\\n")))
230231
{
231232
setSelection(linenum, index, linenum + 1, 0);
232233
SendScintilla(SCI_CUT);
@@ -452,7 +453,7 @@ QStringList SonicPiScintilla::apiContext(int pos, int &context_start,
452453
getCursorPosition(&linenum, &cursor);
453454
QString line = text(linenum);
454455
line.truncate(cursor);
455-
context = line.split(QRegExp("[ ,(){}]+"));
456+
context = line.split(QRegularExpression("[ ,(){}]+"));
456457

457458
context_start = 0;
458459
last_word_start = pos;

0 commit comments

Comments
 (0)