comparison main/main.cpp @ 2518:f3f9114ff295

Improve chances of user getting to see splash screen (rather than empty box) by processing events a little more
author Chris Cannam
date Wed, 29 Apr 2020 13:27:59 +0100
parents c12b8c696aba
children e499ec4a32c9
comparison
equal deleted inserted replaced
2517:27dc177e114f 2518:f3f9114ff295
354 settings.setValue("run-vamp-plugins-in-process", false); 354 settings.setValue("run-vamp-plugins-in-process", false);
355 } 355 }
356 settings.endGroup(); 356 settings.endGroup();
357 357
358 settings.beginGroup("Preferences"); 358 settings.beginGroup("Preferences");
359 if (showSplash && settings.value("show-splash", true).toBool()) { 359 if (showSplash) {
360 if (!settings.value("show-splash", true).toBool()) {
361 showSplash = false;
362 }
363 }
364 settings.endGroup();
365
366 if (showSplash) {
360 splash = new SVSplash(); 367 splash = new SVSplash();
361 splash->show(); 368 splash->show();
362 QTimer::singleShot(5000, splash, SLOT(hide())); 369 QTimer::singleShot(5000, splash, SLOT(hide()));
363 application.processEvents(); 370 application.processEvents();
364 } 371 }
365 settings.endGroup();
366 372
367 settings.beginGroup("RDF"); 373 settings.beginGroup("RDF");
368 QStringList list; 374 QStringList list;
369 bool absent = !(settings.contains("rdf-indices")); 375 bool absent = !(settings.contains("rdf-indices"));
370 QString plugIndex("http://www.vamp-plugins.org/rdf/plugins/index.txt"); 376 QString plugIndex("http://www.vamp-plugins.org/rdf/plugins/index.txt");
392 for (int i = 0; i < int(sizeof(sizes)/sizeof(sizes[0])); ++i) { 398 for (int i = 0; i < int(sizeof(sizes)/sizeof(sizes[0])); ++i) {
393 icon.addFile(QString(":icons/sv-%1x%2.png").arg(sizes[i]).arg(sizes[i])); 399 icon.addFile(QString(":icons/sv-%1x%2.png").arg(sizes[i]).arg(sizes[i]));
394 } 400 }
395 QApplication::setWindowIcon(icon); 401 QApplication::setWindowIcon(icon);
396 402
403 if (showSplash) {
404 application.processEvents();
405 }
406
397 QTranslator qtTranslator; 407 QTranslator qtTranslator;
398 QString qtTrName = QString("qt_%1").arg(language); 408 QString qtTrName = QString("qt_%1").arg(language);
399 SVDEBUG << "Loading " << qtTrName << "... "; 409 SVDEBUG << "Loading " << qtTrName << "... ";
400 bool success = false; 410 bool success = false;
401 if (!(success = qtTranslator.load(qtTrName))) { 411 if (!(success = qtTranslator.load(qtTrName))) {
426 << endl; 436 << endl;
427 437
428 // Make known-plugins query as early as possible after showing 438 // Make known-plugins query as early as possible after showing
429 // splash screen. 439 // splash screen.
430 PluginScan::getInstance()->scan(); 440 PluginScan::getInstance()->scan();
441
442 if (showSplash) {
443 application.processEvents();
444 }
431 445
432 // Permit these types to be used as args in queued signal calls 446 // Permit these types to be used as args in queued signal calls
433 qRegisterMetaType<PropertyContainer::PropertyName>("PropertyContainer::PropertyName"); 447 qRegisterMetaType<PropertyContainer::PropertyName>("PropertyContainer::PropertyName");
434 qRegisterMetaType<ZoomLevel>("ZoomLevel"); 448 qRegisterMetaType<ZoomLevel>("ZoomLevel");
435 449