lotrodatmanager.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef LEGACYAPP_H
  2. #define LEGACYAPP_H
  3. #include <QObject>
  4. #include <QSettings>
  5. #include <QApplication>
  6. #include <QVector>
  7. #include <QVariant>
  8. #include <LotroDat/LotroDat.h>
  9. class PatchDownloader;
  10. class LotroDatManager : public QObject
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit LotroDatManager(QSettings* settings, PatchDownloader* downloader, QObject *parent = nullptr);
  15. bool Initialised();
  16. bool NotPatched();
  17. bool IsRusificationActive();
  18. int getPercent();
  19. public slots:
  20. void InitialiseManager();
  21. void DeinitialiseManager();
  22. void StartGame(LOTRO_DAT::DatLocaleManager::LOCALE locale);
  23. void ChangeTranslationLanguage();
  24. void InstallActivePatches();
  25. void InstallPatches();
  26. void InstallLoadscreens();
  27. void InstallVideos();
  28. void InstallUpdates();
  29. void InstallMicroPatch();
  30. void CreateBackup();
  31. void RestoreFromBackup();
  32. void RemoveBackup();
  33. private:
  34. bool startLotroLauncherWithParameters(LOTRO_DAT::DatLocaleManager::LOCALE locale);
  35. void ApplyTexts();
  36. void ApplyImages();
  37. void ApplySounds();
  38. signals:
  39. // general signals. First argument is process_name, second - processed values
  40. void processStarted(QString, QVector<QVariant> parameters = QVector<QVariant>());
  41. void processFinished(QString, QVector<QVariant> parameters = QVector<QVariant>());
  42. void progressChanged();
  43. void caughtError(QString, QVector<QVariant>);
  44. private:
  45. LOTRO_DAT::DatFile client_local_file;
  46. LOTRO_DAT::DatFile client_general_file;
  47. QSettings* app_settings;
  48. PatchDownloader* patch_downloader;
  49. };
  50. #endif // LEGACYAPP_H