1
0
Fork 0
mirror of synced 2024-06-27 02:30:31 +12:00

Added Cloud Saves

This commit is contained in:
Dummerle 2021-03-16 11:03:55 +01:00
parent e0a4f7cf4c
commit f7dc0cf090
2 changed files with 9 additions and 7 deletions

View file

@ -1,6 +1,7 @@
from PyQt5.QtCore import QSize from PyQt5.QtCore import QSize
from PyQt5.QtGui import QFont from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QTabWidget, QTabBar, QWidget, QToolButton, QWidgetAction, QMenu from PyQt5.QtWidgets import QTabWidget, QTabBar, QWidget, QToolButton, QWidgetAction, QMenu
from Rare.Components.Tabs.CloudSaves.CloudSaves import SyncSaves
from legendary.core import LegendaryCore from legendary.core import LegendaryCore
from qtawesome import icon from qtawesome import icon
@ -15,7 +16,7 @@ from Rare.utils.Models import InstallOptions
class TabWidget(QTabWidget): class TabWidget(QTabWidget):
def __init__(self, core: LegendaryCore): def __init__(self, core: LegendaryCore):
super(TabWidget, self).__init__() super(TabWidget, self).__init__()
disabled_tab = 2 disabled_tab = 3
self.setTabBar(TabBar(disabled_tab)) self.setTabBar(TabBar(disabled_tab))
self.settings = SettingsTab(core) self.settings = SettingsTab(core)
self.game_list = GameTab(core) self.game_list = GameTab(core)
@ -33,8 +34,8 @@ class TabWidget(QTabWidget):
self.tabBarClicked.connect(lambda x: self.game_list.layout.setCurrentIndex(0) if x == 0 else None) self.tabBarClicked.connect(lambda x: self.game_list.layout.setCurrentIndex(0) if x == 0 else None)
# Commented, because it is not finished # Commented, because it is not finished
# self.cloud_saves = SyncSaves(core) self.cloud_saves = SyncSaves(core)
# self.addTab(self.cloud_saves, "Cloud Saves") self.addTab(self.cloud_saves, "Cloud Saves")
# Space Tab # Space Tab
self.addTab(QWidget(), "") self.addTab(QWidget(), "")

View file

@ -1,6 +1,6 @@
from logging import getLogger from logging import getLogger
from PyQt5.QtCore import QThread, pyqtSignal, QObjectCleanupHandler, Qt from PyQt5.QtCore import QThread, pyqtSignal, Qt
from PyQt5.QtWidgets import * from PyQt5.QtWidgets import *
from legendary.core import LegendaryCore from legendary.core import LegendaryCore
from legendary.models.game import SaveGameStatus from legendary.models.game import SaveGameStatus
@ -55,11 +55,12 @@ class SyncSaves(QScrollArea):
self.main_layout.addWidget(self.sync_all_button) self.main_layout.addWidget(self.sync_all_button)
latest_save = {} latest_save = {}
for i in saves: for i in sorted(saves, key=lambda a: a.datetime):
latest_save[i.app_name] = i latest_save[i.app_name] = i
logger.info(f'Got {len(latest_save)} remote save game(s)') logger.info(f'Got {len(latest_save)} remote save game(s)')
if len(latest_save) == 0: if len(latest_save) == 0:
QMessageBox.information(self.tr("No Games Found"), self.tr("Your games don't support cloud save")) # QMessageBox.information(self.tr("No Games Found"), self.tr("Your games don't support cloud save"))
self.widget = QLabel("No Games found, supporting cloud saves") self.widget = QLabel("No Games found, supporting cloud saves")
self.setWidget(self.widget) self.setWidget(self.widget)
return return
@ -97,4 +98,4 @@ class SyncSaves(QScrollArea):
if w.res == SaveGameStatus.REMOTE_NEWER: if w.res == SaveGameStatus.REMOTE_NEWER:
w.download() w.download()
elif w.res == SaveGameStatus.LOCAL_NEWER: elif w.res == SaveGameStatus.LOCAL_NEWER:
w.upload() w.upload()