legacyapplication.cpp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #include "legacyapplication.h"
  2. #include <QLockFile>
  3. #include <QDir>
  4. #include <QMessageBox>
  5. #include <QResource>
  6. #include <QFontDatabase>
  7. #include <QMessageLogContext>
  8. #include "utils.h"
  9. #include "widgets/mainwindow.h"
  10. #include "models/filesystem.h"
  11. #include "models/patchdownloader.h"
  12. #include "models/patchinstaller.h"
  13. extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
  14. LegacyApplication::LegacyApplication() {
  15. qInstallMessageHandler(logMessageHandler);
  16. modules_init_timer_.setInterval(1 * 1000); // one second.
  17. connect(&modules_init_timer_, &QTimer::timeout, this, &LegacyApplication::InitModules);
  18. modules_init_timer_.stop();
  19. }
  20. LegacyApplication::~LegacyApplication() {
  21. }
  22. bool LegacyApplication::init()
  23. {
  24. qt_ntfs_permission_lookup++;
  25. qDebug() << "Starting initialisation...";
  26. QCoreApplication::setOrganizationName("LotroLegacy");
  27. QCoreApplication::setOrganizationDomain("translate.lotros.ru");
  28. QCoreApplication::setApplicationName("Legacy_v2");
  29. QSettings::setDefaultFormat(QSettings::IniFormat);
  30. QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, QApplication::applicationDirPath());
  31. QSettings::setPath(QSettings::IniFormat, QSettings::SystemScope, QApplication::applicationDirPath());
  32. qDebug() << "Checking if there's another instance of Legacy";
  33. if (!checkSingleAppInstance()) {
  34. return false;
  35. }
  36. qDebug() << "Initialising fonts and resources";
  37. QDir::setCurrent(QApplication::applicationDirPath());
  38. if (!FileSystem::folderExists("backup")) {
  39. QDir dir;
  40. dir.mkdir("backup");
  41. }
  42. QResource::registerResource(QApplication::applicationDirPath() + "/data01.gtr");
  43. QResource::registerResource(QApplication::applicationDirPath() + "/data02.gtr");
  44. QFontDatabase::addApplicationFont(":/fonts/trpro.ttf");
  45. QFontDatabase::addApplicationFont(":/fonts/CrimsonText.ttf");
  46. QFontDatabase::addApplicationFont(":/fonts/EBGaramond.ttf");
  47. QFontDatabase::addApplicationFont(":/fonts/aniron.ttf");
  48. qDebug() << "Starting Patch managers initialization...";
  49. patch_managers_thread_ = new QThread();
  50. PatchDownloader::instance().moveToThread(patch_managers_thread_);
  51. PatchInstaller::instance().moveToThread(patch_managers_thread_);
  52. patch_managers_thread_->start();
  53. qDebug() << "Starting GUI initialisation...";
  54. gui = new MainWindow();
  55. connect(this, &LegacyApplication::ErrorStatusChanged, gui, &MainWindow::onErrorStatusChanged);
  56. connect(this, &LegacyApplication::SecondsToNextTryToInitChanged, gui, &MainWindow::onSecondsToNextTryToInitChanged);
  57. qDebug() << "Starting functional modules initialisation...";
  58. InitModules();
  59. return true;
  60. }
  61. void LegacyApplication::InitModules()
  62. {
  63. if (seconds_after_previous_try_to_init_ + 1 < try_to_init_timeout_) {
  64. seconds_after_previous_try_to_init_++;
  65. emit SecondsToNextTryToInitChanged(try_to_init_timeout_ - seconds_after_previous_try_to_init_);
  66. return;
  67. }
  68. modules_init_timer_.stop();
  69. seconds_after_previous_try_to_init_ = 0;
  70. AppErrorStatus status = CheckAppPrerequesities();
  71. emit ErrorStatusChanged(status);
  72. if (status == E_NO_ERRORS) {
  73. connect(&PatchDownloader::instance(), &PatchDownloader::finished, &PatchInstaller::instance(), &PatchInstaller::startPatchInstallationChain, Qt::QueuedConnection);
  74. QMetaObject::invokeMethod(&PatchInstaller::instance(), &PatchInstaller::init, Qt::BlockingQueuedConnection);
  75. QMetaObject::invokeMethod(&PatchDownloader::instance(), &PatchDownloader::init, Qt::BlockingQueuedConnection);
  76. QMetaObject::invokeMethod(&PatchDownloader::instance(), &PatchDownloader::startPatchDownloaderChain, Qt::QueuedConnection);
  77. } else {
  78. qWarning() << "LegacyApplication: Couldnt init functional modules!";
  79. modules_init_timer_.start();
  80. }
  81. }
PANIC: session(release): write data/sessions/7/f/7f2d9e87fc52decf: no space left on device

PANIC

session(release): write data/sessions/7/f/7f2d9e87fc52decf: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934)
gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5)
gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8)
gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6)
gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5)
gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca)
net/http/server.go:2836 (0x7a79b2)
net/http/server.go:1924 (0x7a341b)
runtime/asm_amd64.s:1373 (0x46f9f0)