#ifndef LEGACYAPP_H #define LEGACYAPP_H #include #include #include #include #include #include class PatchDownloader; class LotroDatManager : public QObject { Q_OBJECT public: explicit LotroDatManager(QSettings* settings, PatchDownloader* downloader, QObject *parent = nullptr); bool Initialised(); bool NotPatched(); bool IsRusificationActive(); int getPercent(); public slots: void InitialiseManager(); void DeinitialiseManager(); void StartGame(LOTRO_DAT::DatLocaleManager::LOCALE locale); void ChangeTranslationLanguage(); void InstallActivePatches(); void InstallPatches(); void InstallLoadscreens(); void InstallVideos(); void InstallUpdates(); void InstallMicroPatch(); void CreateBackup(); void RestoreFromBackup(); void RemoveBackup(); private: bool startLotroLauncherWithParameters(LOTRO_DAT::DatLocaleManager::LOCALE locale); void ApplyTexts(); void ApplyImages(); void ApplySounds(); signals: // general signals. First argument is process_name, second - processed values void processStarted(QString, QVector parameters = QVector()); void processFinished(QString, QVector parameters = QVector()); void progressChanged(); void caughtError(QString, QVector); private: LOTRO_DAT::DatFile client_local_file; LOTRO_DAT::DatFile client_general_file; QSettings* app_settings; PatchDownloader* patch_downloader; }; #endif // LEGACYAPP_H