Skip to content

Commit f9e5e5a

Browse files
committed
Address various localisation issues. Fixes #1203
See also #1275
1 parent 5471da3 commit f9e5e5a

19 files changed

+76
-76
lines changed

app/src/actioncommands.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ Status ActionCommands::exportMovie(bool isGif)
148148
OnScopeExit(dialog->deleteLater());
149149

150150
dialog->init();
151-
151+
152152
std::vector< std::pair<QString, QSize> > camerasInfo;
153153
auto cameraLayers = mEditor->object()->getLayersByType< LayerCamera >();
154154
for (LayerCamera* i : cameraLayers)
@@ -178,7 +178,7 @@ Status ActionCommands::exportMovie(bool isGif)
178178

179179
dialog->setDefaultRange(1, length, lengthWithSounds);
180180
dialog->exec();
181-
181+
182182
if (dialog->result() == QDialog::Rejected)
183183
{
184184
return Status::SAFE;
@@ -262,7 +262,7 @@ Status ActionCommands::exportImageSequence()
262262
{
263263
auto dialog = new ExportImageDialog(mParent, FileType::IMAGE_SEQUENCE);
264264
OnScopeExit(dialog->deleteLater());
265-
265+
266266
dialog->init();
267267

268268
std::vector< std::pair<QString, QSize> > camerasInfo;
@@ -665,7 +665,7 @@ Status ActionCommands::deleteCurrentLayer()
665665

666666
int ret = QMessageBox::warning(mParent,
667667
tr("Delete Layer", "Windows title of Delete current layer pop-up."),
668-
tr("Are you sure you want to delete layer: ") + strLayerName + " ?",
668+
tr("Are you sure you want to delete layer: %1?").arg(strLayerName),
669669
QMessageBox::Ok | QMessageBox::Cancel,
670670
QMessageBox::Ok);
671671
if (ret == QMessageBox::Ok)

app/src/checkupdatesdialog.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ CheckUpdatesDialog::CheckUpdatesDialog()
2929
mDetailLabel = new QLabel;
3030
mDetailLabel->setWordWrap(true);
3131

32-
//If minimum and maximum both are set to 0, the bar shows a busy indicator instead of a percentage of steps.
32+
//If minimum and maximum both are set to 0, the bar shows a busy indicator instead of a percentage of steps.
3333
mProgressBar = new QProgressBar;
3434
mProgressBar->setMaximum(0);
3535
mProgressBar->setMinimum(0);
@@ -42,7 +42,7 @@ CheckUpdatesDialog::CheckUpdatesDialog()
4242
QHBoxLayout* hButtonLayout = new QHBoxLayout;
4343
hButtonLayout->addWidget(mDownloadButton);
4444
hButtonLayout->addWidget(mCloseButton);
45-
45+
4646
QVBoxLayout* vLayout = new QVBoxLayout;
4747
vLayout->addWidget(mTitleLabel);
4848
vLayout->addWidget(mDetailLabel);
@@ -67,7 +67,7 @@ CheckUpdatesDialog::~CheckUpdatesDialog()
6767
}
6868

6969
void CheckUpdatesDialog::startChecking()
70-
{
70+
{
7171
#ifdef NIGHTLY
7272
nightlyBuildCheck();
7373
#else
@@ -139,7 +139,7 @@ void CheckUpdatesDialog::networkRequestFinished(QNetworkReply* reply)
139139
else
140140
{
141141
mTitleLabel->setText(tr("<b>Pencil2D is up to date</b>"));
142-
mDetailLabel->setText(tr("Version") + " " APP_VERSION);
142+
mDetailLabel->setText(tr("Version %1").arg(APP_VERSION));
143143
mProgressBar->setRange(0, 1);
144144
mProgressBar->setValue(1);
145145
mDownloadButton->setEnabled(false);
@@ -154,7 +154,7 @@ bool CheckUpdatesDialog::compareVersion(QString currentVersion, QString latestVe
154154
QString CheckUpdatesDialog::getVersionNumberFromXml(QString xml)
155155
{
156156
// XML source: http://github.com/pencil2d/pencil/releases.atom
157-
157+
158158
QXmlStreamReader xmlReader(xml);
159159

160160
while (!xmlReader.atEnd() && !xmlReader.hasError())

app/src/filedialogex.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -243,12 +243,12 @@ QString FileDialog::defaultFileName( FileType fileType )
243243
switch ( fileType )
244244
{
245245
case FileType::ANIMATION: return tr( "MyAnimation.pclx" );
246-
case FileType::IMAGE: return "untitled.png";
247-
case FileType::IMAGE_SEQUENCE: return "untitled.png";
248-
case FileType::GIF: return "untitled.gif";
249-
case FileType::MOVIE: return "untitled.mp4";
250-
case FileType::SOUND: return "untitled.wav";
251-
case FileType::PALETTE: return "untitled.xml";
246+
case FileType::IMAGE: return tr( "untitled.png" );
247+
case FileType::IMAGE_SEQUENCE: return tr( "untitled.png" );
248+
case FileType::GIF: return tr( "untitled.gif" );
249+
case FileType::MOVIE: return tr( "untitled.mp4" );
250+
case FileType::SOUND: return tr( "untitled.wav" );
251+
case FileType::PALETTE: return tr( "untitled.xml" );
252252
}
253253
return "";
254254
}

app/src/importimageseqdialog.cpp

+3-5
Original file line numberDiff line numberDiff line change
@@ -351,12 +351,10 @@ Status ImportImageSeqDialog::validateKeySet(const PredefinedKeySet& keySet, cons
351351

352352
if (filepaths.isEmpty()) { status = Status::FAIL; }
353353

354-
for (int i = 0; i < filepaths.size(); i++)
354+
if (keySet.isEmpty())
355355
{
356-
if (keySet.isEmpty()) {
357-
status = Status::FAIL;
358-
failedPathsString += filepaths[i] + ", ";
359-
}
356+
status = Status::FAIL;
357+
failedPathsString = QLocale().createSeparatedList(filepaths);
360358
}
361359

362360
if (status == Status::FAIL)

app/src/main.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ void installTranslator(PencilApplication& app)
4040
{
4141
strUserLocale = QLocale::system().name();
4242
}
43+
QLocale::setDefault(QLocale(strUserLocale));
4344

4445
strUserLocale.replace("-", "_");
4546
QTranslator* qtTranslator = new QTranslator(&app);

app/src/mainwindow2.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ void MainWindow2::createMenus()
364364
mColorBox->toggleViewAction(),
365365
mColorPalette->toggleViewAction(),
366366
mTimeLine->toggleViewAction(),
367-
mDisplayOptionWidget->toggleViewAction(),
367+
mDisplayOptionWidget->toggleViewAction(),
368368
mColorInspector->toggleViewAction(),
369369
mOnionSkinWidget->toggleViewAction()
370370
};
@@ -786,7 +786,7 @@ bool MainWindow2::autoSave()
786786

787787
QMessageBox msgBox(this);
788788
msgBox.setIcon(QMessageBox::Question);
789-
msgBox.setWindowTitle("AutoSave Reminder");
789+
msgBox.setWindowTitle(tr("AutoSave Reminder"));
790790
msgBox.setText(tr("The animation is not saved yet.\n Do you want to save now?"));
791791
msgBox.addButton(tr("Never ask again", "AutoSave reminder button"), QMessageBox::RejectRole);
792792
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
@@ -959,7 +959,7 @@ void MainWindow2::importGIF()
959959
{
960960
QMessageBox::warning(this,
961961
tr("Warning"),
962-
tr("was unable to import") + strImgFileLower,
962+
tr("was unable to import %1").arg(strImgFileLower),
963963
QMessageBox::Ok,
964964
QMessageBox::Ok);
965965
}
@@ -992,7 +992,7 @@ void MainWindow2::lockWidgets(bool shouldLock)
992992
mOnionSkinWidget->setFeatures(feat);
993993
mToolOptions->setFeatures(feat);
994994
mToolBox->setFeatures(feat);
995-
mTimeLine->setFeatures(feat);
995+
mTimeLine->setFeatures(feat);
996996
}
997997

998998
void MainWindow2::preferences()
@@ -1041,7 +1041,7 @@ bool MainWindow2::newObject()
10411041

10421042
bool MainWindow2::newObjectFromPresets(int presetIndex)
10431043
{
1044-
Object* object = nullptr;
1044+
Object* object = nullptr;
10451045
QString presetFilePath = (presetIndex > 0) ? PresetDialog::getPresetPath(presetIndex) : "";
10461046
if (!presetFilePath.isEmpty())
10471047
{
@@ -1223,7 +1223,7 @@ void MainWindow2::setupKeyboardShortcuts()
12231223
mColorBox->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_COLOR_WHEEL));
12241224
mColorPalette->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_COLOR_LIBRARY));
12251225
mTimeLine->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_TIMELINE));
1226-
mDisplayOptionWidget->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_DISPLAY_OPTIONS));
1226+
mDisplayOptionWidget->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_DISPLAY_OPTIONS));
12271227
mColorInspector->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_COLOR_INSPECTOR));
12281228
mOnionSkinWidget->toggleViewAction()->setShortcut(cmdKeySeq(CMD_TOGGLE_ONION_SKIN));
12291229

@@ -1453,7 +1453,7 @@ void MainWindow2::bindActionWithSetting(QAction* action, SETTING setting)
14531453
void MainWindow2::updateZoomLabel()
14541454
{
14551455
float zoom = mEditor->view()->scaling() * 100.f;
1456-
statusBar()->showMessage(QString("Zoom: %0%1").arg(static_cast<double>(zoom), 0, 'f', 1).arg("%"));
1456+
statusBar()->showMessage(tr("Zoom: %0%").arg(static_cast<double>(zoom), 0, 'f', 1));
14571457
}
14581458

14591459
void MainWindow2::changePlayState(bool isPlaying)

app/src/popupcolorpalettewidget.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ PopupColorPaletteWidget::PopupColorPaletteWidget( ScribbleArea *parent ) :
3030
setGraphicsEffect(effect);
3131

3232
setAutoFillBackground(true);
33-
setWindowTitle("Color palette");
33+
setWindowTitle(tr("Color palette"));
3434
setWindowFlags( ( (windowFlags()
3535
| Qt::CustomizeWindowHint)
3636
& ~Qt::WindowMaximizeButtonHint
@@ -40,7 +40,7 @@ PopupColorPaletteWidget::PopupColorPaletteWidget( ScribbleArea *parent ) :
4040
QHBoxLayout *buttonsLayout = new QHBoxLayout();
4141
mainLayout->addLayout(buttonsLayout);
4242
closeButton = new QPushButton(this);
43-
closeButton->setText("close/toggle");
43+
closeButton->setText(tr("close/toggle"));
4444
buttonsLayout->addWidget(closeButton);
4545

4646
// --- connections ---

app/src/predefinedsetmodel.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ struct PredefinedKeySet
4343
switch(index)
4444
{
4545
case 0:
46-
return "Files";
46+
return QObject::tr("Files");
4747
case 1:
48-
return "KeyFrame Pos";
48+
return QObject::tr("KeyFrame Pos");
4949
default:
5050
return "";
5151
}

app/src/preferencesdialog.cpp

+27-27
Original file line numberDiff line numberDiff line change
@@ -99,32 +99,32 @@ GeneralPage::GeneralPage() : ui(new Ui::GeneralPage)
9999

100100
QSettings settings(PENCIL2D, PENCIL2D);
101101

102-
ui->languageCombo->addItem(tr("Arabic ") + " (Arabic)", "ar");
103-
ui->languageCombo->addItem(tr("Catalan ") + " (Catalan)", "ca");
104-
ui->languageCombo->addItem(tr("Czech") + " (Czech)", "cs");
105-
ui->languageCombo->addItem(tr("Danish") + " (Danish)", "da");
106-
ui->languageCombo->addItem(tr("German") + " (German)", "de");
107-
ui->languageCombo->addItem(tr("Greek") + " (Greek)", "el");
108-
ui->languageCombo->addItem(tr("English") + " (English)", "en");
109-
ui->languageCombo->addItem(tr("Spanish") + " (Spanish)", "es");
110-
ui->languageCombo->addItem(tr("Estonian") + " (Estonian)", "et");
111-
ui->languageCombo->addItem(tr("French") + " (French)", "fr");
112-
ui->languageCombo->addItem(tr("Hebrew") + " (Hebrew)", "he");
113-
ui->languageCombo->addItem(tr("Hungarian") + " (Hungarian)", "hu_HU");
114-
ui->languageCombo->addItem(tr("Indonesian") + " (Indonesian)", "id");
115-
ui->languageCombo->addItem(tr("Italian") + " (Italian)", "it");
116-
ui->languageCombo->addItem(tr("Japanese") + " (Japanese)", "ja");
117-
ui->languageCombo->addItem(tr("Kabyle") + " (Kabyle)", "kab");
118-
ui->languageCombo->addItem(tr("Polish") + " (Polish)", "pl");
119-
ui->languageCombo->addItem(tr("Portuguese - Portugal") + "(Portuguese - Portugal)", "pt");
120-
ui->languageCombo->addItem(tr("Portuguese - Brazil") + "(Portuguese - Brazil)", "pt_BR");
121-
ui->languageCombo->addItem(tr("Russian") + " (Russian)", "ru");
122-
ui->languageCombo->addItem(tr("Slovenian") + " (Slovenian)", "sl");
123-
ui->languageCombo->addItem(tr("Swedish") + " (Swedish)", "sv");
124-
ui->languageCombo->addItem(tr("Turkish") + " (Turkish)", "tr");
125-
ui->languageCombo->addItem(tr("Vietnamese") + " (Vietnamese)", "vi");
126-
ui->languageCombo->addItem(tr("Chinese - China") + " (Chinese - China)", "zh_CN");
127-
ui->languageCombo->addItem(tr("Chinese - Taiwan") + " (Chinese - Taiwan)", "zh_TW");
102+
ui->languageCombo->addItem(tr("Arabic (%1)").arg("Arabic"), "ar");
103+
ui->languageCombo->addItem(tr("Catalan (%1)").arg("Catalan"), "ca");
104+
ui->languageCombo->addItem(tr("Czech (%1)").arg("Czech"), "cs");
105+
ui->languageCombo->addItem(tr("Danish (%1)").arg("Danish"), "da");
106+
ui->languageCombo->addItem(tr("German (%1)").arg("German"), "de");
107+
ui->languageCombo->addItem(tr("Greek (%1)").arg("Greek"), "el");
108+
ui->languageCombo->addItem(tr("English (%1)").arg("English"), "en");
109+
ui->languageCombo->addItem(tr("Spanish (%1)").arg("Spanish"), "es");
110+
ui->languageCombo->addItem(tr("Estonian (%1)").arg("Estonian"), "et");
111+
ui->languageCombo->addItem(tr("French (%1)").arg("French"), "fr");
112+
ui->languageCombo->addItem(tr("Hebrew (%1)").arg("Hebrew"), "he");
113+
ui->languageCombo->addItem(tr("Hungarian (%1)").arg("Hungarian"), "hu_HU");
114+
ui->languageCombo->addItem(tr("Indonesian (%1)").arg("Indonesian"), "id");
115+
ui->languageCombo->addItem(tr("Italian (%1)").arg("Italian"), "it");
116+
ui->languageCombo->addItem(tr("Japanese (%1)").arg("Japanese"), "ja");
117+
ui->languageCombo->addItem(tr("Kabyle (%1)").arg("Kabyle"), "kab");
118+
ui->languageCombo->addItem(tr("Polish (%1)").arg("Polish"), "pl");
119+
ui->languageCombo->addItem(tr("Portuguese \u2013 Portugal (%1)").arg("Portuguese \u2013 Portugal"), "pt");
120+
ui->languageCombo->addItem(tr("Portuguese \u2013 Brazil (%1)").arg("Portuguese \u2013 Brazil"), "pt_BR");
121+
ui->languageCombo->addItem(tr("Russian (%1)").arg("Russian"), "ru");
122+
ui->languageCombo->addItem(tr("Slovene (%1)").arg("Slovene"), "sl");
123+
ui->languageCombo->addItem(tr("Swedish (%1)").arg("Swedish"), "sv");
124+
ui->languageCombo->addItem(tr("Turkish (%1)").arg("Turkish"), "tr");
125+
ui->languageCombo->addItem(tr("Vietnamese (%1)").arg("Vietnamese"), "vi");
126+
ui->languageCombo->addItem(tr("Chinese \u2013 China (%1)").arg("Chinese \u2013 China"), "zh_CN");
127+
ui->languageCombo->addItem(tr("Chinese \u2013 Taiwan (%1)").arg("Chinese \u2013 Taiwan"), "zh_TW");
128128

129129
int value = settings.value("windowOpacity").toInt();
130130
ui->windowOpacityLevel->setValue(100 - value);
@@ -753,7 +753,7 @@ void ToolsPage::rotationIncrementChange(int value)
753753
while (360 % angle != 0) {
754754
angle++;
755755
}
756-
ui->rotationIncrementDisplay->setText(tr("%1 degree(s)", "", angle).arg(angle));
756+
ui->rotationIncrementDisplay->setText(tr("%n degree(s)", "", angle));
757757
mManager->set(SETTING::ROTATION_INCREMENT, angle);
758758
}
759759

app/src/shortcutspage.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ ShortcutsPage::ShortcutsPage( QWidget* parent )
3939
ui->setupUi(this);
4040
m_treeModel = new QStandardItemModel(this);
4141
m_treeModel->setColumnCount(2);
42-
m_treeModel->setHorizontalHeaderLabels({ "Action", "Shortcut" });
42+
m_treeModel->setHorizontalHeaderLabels({ tr("Action"), tr("Shortcut") });
4343
treeModelLoadShortcutsSetting();
4444

4545
ui->treeView->setModel(m_treeModel);
@@ -132,7 +132,7 @@ void ShortcutsPage::saveShortcutsButtonClicked()
132132

133133
QString fileName = QFileDialog::getSaveFileName(this,
134134
tr("Save Pencil2D Shortcut file"),
135-
fDir + "/untitled.pcls",
135+
fDir + "/" + tr("untitled.pcls"),
136136
tr("Pencil2D Shortcut File(*.pcls)"));
137137
settings.setValue("Shortcuts", fileName);
138138
settings.endGroup();

core_lib/src/external/linux/linux.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ void Editor::importMovie (QString filePath, int fps)
7474
QDir::temp().mkdir("pencil");
7575
QString tempPath = QDir::temp().absolutePath()+"/pencil/";
7676

77-
QProgressDialog progress("Importing movie...", "Abort", 0, 100, NULL);
77+
QProgressDialog progress(tr("Importing movie..."), tr("Abort"), 0, 100, NULL);
7878
progress.setWindowModality(Qt::WindowModal);
7979
progress.show();
8080
progress.setValue(10);

core_lib/src/external/macosx/macosx.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ void Editor::importMovie(QString filePath, int fps)
9595
QDir::temp().mkdir("pencil");
9696
QString tempPath = QDir::temp().absolutePath()+"/pencil/";
9797

98-
QProgressDialog progress("Importing movie...", "Abort", 0, 100, NULL);
98+
QProgressDialog progress(tr("Importing movie..."), tr("Abort"), 0, 100, NULL);
9999
progress.setWindowModality(Qt::WindowModal);
100100
progress.show();
101101
progress.setValue(10);

core_lib/src/external/win32/win32.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void Editor::importMovie( QString filePath, int fps )
5050

5151
if ( QFile::exists( QDir::current().currentPath() + "/plugins/ffmpeg.exe" ) == true )
5252
{
53-
QProgressDialog progress( "Importing movie...", "Abort", 0, 100, NULL );
53+
QProgressDialog progress( tr("Importing movie..."), tr("Abort"), 0, 100, NULL );
5454
progress.setWindowModality( Qt::WindowModal );
5555
progress.show();
5656
progress.setValue( 10 );

core_lib/src/graphics/vector/colourref.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ GNU General Public License for more details.
2525
ColourRef::ColourRef()
2626
{
2727
colour = Qt::green;
28-
name = QString("Green");
28+
name = QObject::tr("Green");
2929
}
3030

3131
ColourRef::ColourRef(QColor theColour, QString theName)

core_lib/src/interface/timecontrols.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void TimeControls::initUI()
4343
mFpsBox->setValue(settings.value("fps").toInt());
4444
mFpsBox->setMinimum(1);
4545
mFpsBox->setMaximum(90);
46-
mFpsBox->setSuffix(" fps");
46+
mFpsBox->setSuffix(tr(" fps"));
4747
mFpsBox->setToolTip(tr("Frames per second"));
4848
mFpsBox->setFocusPolicy(Qt::WheelFocus);
4949

core_lib/src/interface/timeline.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ void TimeLine::deleteCurrentLayer()
288288

289289
int ret = QMessageBox::warning(this,
290290
tr("Delete Layer", "Windows title of Delete current layer pop-up."),
291-
tr("Are you sure you want to delete layer: ") + strLayerName + " ?",
291+
tr("Are you sure you want to delete layer: %1?").arg(strLayerName),
292292
QMessageBox::Ok | QMessageBox::Cancel,
293293
QMessageBox::Ok);
294294
if (ret == QMessageBox::Ok)

core_lib/src/managers/layermanager.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ QString LayerManager::nameSuggestLayer(const QString& name)
169169
int newIndex = 2;
170170
QString newName = name;
171171
do {
172-
newName = name + " " + QString::number(newIndex++);
172+
newName = tr("%1 %2", "Layer name template: base name (translated separately) + number")
173+
.arg(name).arg(QString::number(newIndex++));
173174
} while (sLayers.contains(newName));
174175
return newName;
175176
}

core_lib/src/movieexporter.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -129,25 +129,25 @@ Status MovieExporter::run(const Object* obj,
129129
if (desc.strFileName.endsWith("gif", Qt::CaseInsensitive))
130130
{
131131
majorProgress(0.03f, 1.f);
132-
progressMessage("Generating gif...");
132+
progressMessage(QObject::tr("Generating GIF..."));
133133
minorProgress(0.f);
134134
STATUS_CHECK(generateGif(obj, ffmpegPath, desc.strFileName, minorProgress));
135135
}
136136
else
137137
{
138138
majorProgress(0.03f, 0.25f);
139-
progressMessage("Assembling audio...");
139+
progressMessage(QObject::tr("Assembling audio..."));
140140
minorProgress(0.f);
141141
STATUS_CHECK(assembleAudio(obj, ffmpegPath, minorProgress));
142142
minorProgress(1.f);
143143
majorProgress(0.25f, 1.f);
144-
progressMessage("Generating movie...");
144+
progressMessage(QObject::tr("Generating movie..."));
145145
STATUS_CHECK(generateMovie(obj, ffmpegPath, desc.strFileName, minorProgress));
146146
}
147147
minorProgress(1.f);
148148
majorProgress(1.f, 1.f);
149149
progressMessage(QObject::tr("Done"));
150-
150+
151151
clock_t t2 = clock() - t1;
152152
qDebug("MOVIE = %.1f sec", static_cast<double>(t2 / CLOCKS_PER_SEC));
153153

0 commit comments

Comments
 (0)