From 83fbee1e9b4a6326bfc141fb27af09dd1ff43513 Mon Sep 17 00:00:00 2001 From: Dummerle Date: Wed, 10 Feb 2021 11:48:25 +0100 Subject: [PATCH] init --- .idea/.gitignore | 8 + .idea/RareNew.iml | 8 + .idea/inspectionProfiles/Project_Default.xml | 43 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + Rare/Components/MainWindow.py | 12 + Rare/Components/TabWidget.py | 67 + Rare/Components/Tabs/Account/AccountWidget.py | 37 + .../__pycache__/AccountWidget.cpython-38.pyc | Bin 0 -> 1697 bytes .../__pycache__/AccountWidget.cpython-39.pyc | Bin 0 -> 1695 bytes Rare/Components/Tabs/Downloads/DownloadTab.py | 6 + Rare/Components/Tabs/Downloads/__init__.py | 0 Rare/Components/Tabs/Games/GameList.py | 36 + .../Tabs/Games/GameWidgetInstalled.py | 108 + .../Tabs/Games/GameWidgetUninstalled.py | 57 + Rare/Components/Tabs/Games/Games.py | 24 + Rare/Components/Tabs/Games/__init__.py | 0 .../Games/__pycache__/GameList.cpython-38.pyc | Bin 0 -> 1732 bytes .../Games/__pycache__/GameList.cpython-39.pyc | Bin 0 -> 1737 bytes .../GameWidgetInstalled.cpython-39.pyc | Bin 0 -> 4034 bytes .../GameWidgetUninstalled.cpython-38.pyc | Bin 0 -> 2130 bytes .../GameWidgetUninstalled.cpython-39.pyc | Bin 0 -> 2316 bytes .../Games/__pycache__/Games.cpython-38.pyc | Bin 0 -> 1184 bytes .../Games/__pycache__/Games.cpython-39.pyc | Bin 0 -> 1184 bytes .../Games/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 174 bytes .../Games/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 174 bytes Rare/Components/Tabs/__init__.py | 0 .../Tabs/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 168 bytes .../Tabs/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 168 bytes Rare/Components/__init__.py | 0 .../__pycache__/MainWindow.cpython-38.pyc | Bin 0 -> 773 bytes .../__pycache__/MainWindow.cpython-39.pyc | Bin 0 -> 773 bytes .../__pycache__/TabWidget.cpython-38.pyc | Bin 0 -> 2782 bytes .../__pycache__/TabWidget.cpython-39.pyc | Bin 0 -> 2853 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 163 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 163 bytes Rare/Main.py | 71 + Rare/Styles/Icons/account.png | Bin 0 -> 128549 bytes Rare/Styles/Icons/loader.gif | Bin 0 -> 1924 bytes Rare/Styles/Icons/menu.png | Bin 0 -> 8655 bytes Rare/Styles/Icons/settings.png | Bin 0 -> 112659 bytes Rare/Styles/RareStyle.qss | 44 + Rare/Styles/__init__.py | 1 + Rare/Styles/dark.qss | 2174 +++++++++++++++++ Rare/__init__.py | 4 + Rare/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 315 bytes Rare/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 315 bytes Rare/utils/Dialogs/InstallDialog.py | 38 + .../__pycache__/InstallDialog.cpython-39.pyc | Bin 0 -> 1506 bytes Rare/utils/LegendaryApi.py | 41 + Rare/utils/QtExtensions.py | 148 ++ Rare/utils/RareConfig.py | 36 + Rare/utils/__init__.py | 0 .../__pycache__/LegendaryApi.cpython-39.pyc | Bin 0 -> 1219 bytes .../__pycache__/QtExtensions.cpython-38.pyc | Bin 0 -> 4459 bytes .../__pycache__/QtExtensions.cpython-39.pyc | Bin 0 -> 5895 bytes .../__pycache__/RareConfig.cpython-38.pyc | Bin 0 -> 1043 bytes .../__pycache__/RareConfig.cpython-39.pyc | Bin 0 -> 1043 bytes .../utils/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 158 bytes .../utils/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 158 bytes Rare/utils/legendaryConfig.py | 14 + Rare/utils/utils.py | 90 + 63 files changed, 3085 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/RareNew.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 Rare/Components/MainWindow.py create mode 100644 Rare/Components/TabWidget.py create mode 100644 Rare/Components/Tabs/Account/AccountWidget.py create mode 100644 Rare/Components/Tabs/Account/__pycache__/AccountWidget.cpython-38.pyc create mode 100644 Rare/Components/Tabs/Account/__pycache__/AccountWidget.cpython-39.pyc create mode 100644 Rare/Components/Tabs/Downloads/DownloadTab.py create mode 100644 Rare/Components/Tabs/Downloads/__init__.py create mode 100644 Rare/Components/Tabs/Games/GameList.py create mode 100644 Rare/Components/Tabs/Games/GameWidgetInstalled.py create mode 100644 Rare/Components/Tabs/Games/GameWidgetUninstalled.py create mode 100644 Rare/Components/Tabs/Games/Games.py create mode 100644 Rare/Components/Tabs/Games/__init__.py create mode 100644 Rare/Components/Tabs/Games/__pycache__/GameList.cpython-38.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/GameList.cpython-39.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/GameWidgetInstalled.cpython-39.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/GameWidgetUninstalled.cpython-38.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/GameWidgetUninstalled.cpython-39.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/Games.cpython-38.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/Games.cpython-39.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/__init__.cpython-38.pyc create mode 100644 Rare/Components/Tabs/Games/__pycache__/__init__.cpython-39.pyc create mode 100644 Rare/Components/Tabs/__init__.py create mode 100644 Rare/Components/Tabs/__pycache__/__init__.cpython-38.pyc create mode 100644 Rare/Components/Tabs/__pycache__/__init__.cpython-39.pyc create mode 100644 Rare/Components/__init__.py create mode 100644 Rare/Components/__pycache__/MainWindow.cpython-38.pyc create mode 100644 Rare/Components/__pycache__/MainWindow.cpython-39.pyc create mode 100644 Rare/Components/__pycache__/TabWidget.cpython-38.pyc create mode 100644 Rare/Components/__pycache__/TabWidget.cpython-39.pyc create mode 100644 Rare/Components/__pycache__/__init__.cpython-38.pyc create mode 100644 Rare/Components/__pycache__/__init__.cpython-39.pyc create mode 100644 Rare/Main.py create mode 100644 Rare/Styles/Icons/account.png create mode 100644 Rare/Styles/Icons/loader.gif create mode 100644 Rare/Styles/Icons/menu.png create mode 100644 Rare/Styles/Icons/settings.png create mode 100644 Rare/Styles/RareStyle.qss create mode 100644 Rare/Styles/__init__.py create mode 100644 Rare/Styles/dark.qss create mode 100644 Rare/__init__.py create mode 100644 Rare/__pycache__/__init__.cpython-38.pyc create mode 100644 Rare/__pycache__/__init__.cpython-39.pyc create mode 100644 Rare/utils/Dialogs/InstallDialog.py create mode 100644 Rare/utils/Dialogs/__pycache__/InstallDialog.cpython-39.pyc create mode 100644 Rare/utils/LegendaryApi.py create mode 100644 Rare/utils/QtExtensions.py create mode 100644 Rare/utils/RareConfig.py create mode 100644 Rare/utils/__init__.py create mode 100644 Rare/utils/__pycache__/LegendaryApi.cpython-39.pyc create mode 100644 Rare/utils/__pycache__/QtExtensions.cpython-38.pyc create mode 100644 Rare/utils/__pycache__/QtExtensions.cpython-39.pyc create mode 100644 Rare/utils/__pycache__/RareConfig.cpython-38.pyc create mode 100644 Rare/utils/__pycache__/RareConfig.cpython-39.pyc create mode 100644 Rare/utils/__pycache__/__init__.cpython-38.pyc create mode 100644 Rare/utils/__pycache__/__init__.cpython-39.pyc create mode 100644 Rare/utils/legendaryConfig.py create mode 100644 Rare/utils/utils.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..73f69e09 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/RareNew.iml b/.idea/RareNew.iml new file mode 100644 index 00000000..8388dbc8 --- /dev/null +++ b/.idea/RareNew.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..c926cefb --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,43 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 00000000..105ce2da --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..d56657ad --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..86f6b280 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Rare/Components/MainWindow.py b/Rare/Components/MainWindow.py new file mode 100644 index 00000000..188856b0 --- /dev/null +++ b/Rare/Components/MainWindow.py @@ -0,0 +1,12 @@ +from PyQt5.QtWidgets import QMainWindow + +from Rare.Components.TabWidget import TabWidget + + +class MainWindow(QMainWindow): + def __init__(self, core): + super(MainWindow, self).__init__() + self.setGeometry(0, 0, 1000, 800) + self.setWindowTitle("Rare - GUI for legendary") + self.setCentralWidget(TabWidget(core)) + self.show() diff --git a/Rare/Components/TabWidget.py b/Rare/Components/TabWidget.py new file mode 100644 index 00000000..6145d6cf --- /dev/null +++ b/Rare/Components/TabWidget.py @@ -0,0 +1,67 @@ +from PyQt5.QtGui import QIcon +from PyQt5.QtWidgets import QTabWidget, QTabBar, QWidget, QToolButton, QWidgetAction, QMenu +from Rare import style_path +from Rare.Components.Tabs.Account.AccountWidget import MiniWidget +from Rare.Components.Tabs.Games.Games import Games + + +class TabWidget(QTabWidget): + def __init__(self, core): + super(TabWidget, self).__init__() + self.setTabBar(TabBar(2)) + + self.game_list = Games(core) + + self.addTab(self.game_list, self.tr("Games")) + + self.downloads = QWidget() + self.addTab(self.downloads, "Downloads") + + # Space Tab + self.addTab(QWidget(), "") + self.setTabEnabled(2, False) + + self.account = QWidget() + self.addTab(self.account, "") + self.setTabEnabled(3, False) + + # self.settings = SettingsTab(core) + self.settings = QWidget() + self.addTab(self.settings, QIcon(style_path + "/Icons/settings.png"), "") + + self.tabBar().setTabButton(3, self.tabBar().RightSide, TabButtonWidget(core)) + + def resizeEvent(self, event): + self.tabBar().setMinimumWidth(self.width()) + super(TabWidget, self).resizeEvent(event) + + def download(self): + self.downloads.download() + + +class TabBar(QTabBar): + def __init__(self, expanded): + super(TabBar, self).__init__() + self._expanded = expanded + + def tabSizeHint(self, index): + size = super(TabBar, self).tabSizeHint(index) + if index == self._expanded: + offset = self.width() + for index in range(self.count()): + offset -= super(TabBar, self).tabSizeHint(index).width() + size.setWidth(max(size.width(), size.width() + offset)) + return size + + +class TabButtonWidget(QToolButton): + def __init__(self, core): + super(TabButtonWidget, self).__init__() + self.setText("Icon") + self.setPopupMode(QToolButton.InstantPopup) + self.setIcon(QIcon(style_path+"/Icons/account.png")) + self.setToolTip("Account") + self.setMenu(QMenu()) + action = QWidgetAction(self) + action.setDefaultWidget(MiniWidget(core)) + self.menu().addAction(action) diff --git a/Rare/Components/Tabs/Account/AccountWidget.py b/Rare/Components/Tabs/Account/AccountWidget.py new file mode 100644 index 00000000..333a1aa8 --- /dev/null +++ b/Rare/Components/Tabs/Account/AccountWidget.py @@ -0,0 +1,37 @@ +import webbrowser + +from PyQt5.QtCore import QCoreApplication +from PyQt5.QtWidgets import QWidget, QVBoxLayout, QMessageBox, QLabel, QPushButton +from legendary.core import LegendaryCore + + +class MiniWidget(QWidget): + def __init__(self, core: LegendaryCore): + super(MiniWidget, self).__init__() + self.layout = QVBoxLayout() + self.core = core + self.layout.addWidget(QLabel("Account")) + self.layout.addWidget(QLabel("Logged in as "+ self.core.lgd.userdata["display_name"])) + + self.open_browser = QPushButton("Account settings") + self.open_browser.clicked.connect(self.open_account) + self.layout.addWidget(self.open_browser) + + self.logout_button = QPushButton("Logout") + self.logout_button.clicked.connect(self.logout) + self.layout.addWidget(self.logout_button) + self.setLayout(self.layout) + + def logout(self): + reply = QMessageBox.question(self.parent().parent(), 'Message', + "Do you really want to logout", QMessageBox.Yes | + QMessageBox.No, QMessageBox.No) + + if reply == QMessageBox.Yes: + self.core.lgd.invalidate_userdata() + QCoreApplication.exit(0) + # self.core.lgd.invalidate_userdata() + # exit() + + def open_account(self): + webbrowser.open("https://www.epicgames.com/account/personal?productName=epicgames") \ No newline at end of file diff --git a/Rare/Components/Tabs/Account/__pycache__/AccountWidget.cpython-38.pyc b/Rare/Components/Tabs/Account/__pycache__/AccountWidget.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..524aba189dd43da82a1e0cf0272e8fe0b59b7e3c GIT binary patch literal 1697 zcmZ8hOK%%D5GHrI56P14*e%=uX`uqW=wbl@dMWxy>;Ub-5v)E@UbgEcBd@ZrkW>{3 z?#Tx77h0eP<(U2?UVG|a=%MWlSAL`fI3$Nda^{CD8m|Km6&pfRI0Naknv8 zJc6!IK?ovfK{$?HK}(N&6z6{7myEMA;6WMku#9+A#yoa=tmu?o-lgPAA_5U!5fMsu z>GLf?zahiuFSwPAht%#)j%y_!H%*aesmbeV7}#j?LoTM$*saO;NA=5-bXm`F@l;pI5|nrWC6<4xjsLd8v`e)?Vrf0tVF7ocx#4_+-(>XHvJHUB%BJuJ?RVjJAFl- zQQ-;ys>hjNBDf+P+!hgx;VZ%jkHGENcAw@|-g*bmu?%1F+?}n!c?jKyuKxgGh@ltc z(p!742_?qABo`!M7obam3o>Kt&_se>($|#2&SvewESSZ!j_~i31JdrAu3(pVZVPs| zX1#SE#_ij4sKpi71u+-M8#^+SU3VSTLLm0?~zI8$HgldS01T|D>Kyr5NPZ zAk_og6S;1RbeU9XDObB2tAUorP*!#x}5c_WqTKJBH77*Cz zbeWx}sytQo3?9^@uTv$*a^Xg>DVw^I73jZB&-7@6%JtYrci1e|HUxu!==VSnx=mvm z(p~z2*9E!VO1j#=rPkp!a2drDn}*y%T#ljZuRs{G20kFOunXX?Au}I3JAysPZ14-c zps0K9sV9)@U>2?;$HRCH+`7p;gUoM=YxUqsJ%BU~luV0aIas8X8JK#|qN&iIVOPPA zL3sRPE;W{{4I99vGTi@BYVM6|hp^fKBfFnhKc__wNtMY>b}kbyTGv%te9@>{%ri3vi_dOMfmYpxJloLJ zG9>Mgy0HEq&mMU25p?ao47xhF zj$95Xg}2-OhSZrX3Mjl=K;K1UhbmGLk7_KunC|VyTdrP*J@r0lZ0~eAF&`gJ4E~|Y z0s`U7!+CZ$Z~MM#d%N9L zI3-g51&}ywkL6GDl@tF02Vll;^HD5$Y>&tG%x`{U-tTt_H2>F+fBr2bGE zLD#1s1QE0#3`eh^rN=yqbHDJ*fCXj9!ZKn}8MC-dSmO4AqEmKRmy)lE2t{;7L?nYt zpKS^H9T~=d!L4LGq;_|5Tr2swX^K4KCa^acH$z9!G8 z@PvQWV}S@nctsevEn*m>*CZe;2DcO2eVSK!>m587WcZ5b?ra6lBj`SK{Rap`480(i z-r9RZC^7yexgcq90lGB2AhTc{nOM+E`i4^2*{nU7g|lSV5&nI0K-yi?6~QH*+k)M# zS#RBkar^chYHPcD23-76Hx$f#{;KjUQ)OJ+I8Fe^O7UQVjBH z!1ciPM6R2HFVl*ba<#j$8fa-uUQIQNz#MWk+_RycH&Uq%gl>~G1++|>Dg>TIZ~+)8 zBp&N>QVDLjiqWQ5H?m64RJ{N-i!-3eb17_`)m0@kW7~b+y3G28 z^C3NRWUx`YWF2s_Wzf*GftJNH=fGQPJ87B~T7`pxjgduC-12PM{0R9>>^PvYvum_n9f1wu? zb{GX&|-ne!Ms~s@1`+4<}7da$VrZ?HeNNgZqm-guD-W|wV2j2k?EW!S!KQm!l1@MnGp>SG;)Gs9MZ3GX{$5Dlp+8vd^RgPK? zCWW`#{)W<-ED9*QTR7iGV}~gc5szvtyM*rTCR?srhduQnXl(CvIWeCdP7MB_%4KTj zTGdioD+JZmv?GEmU{|qrySV;;0YW(Le8d;;xZ<2bS8Vb{8`@WxD2=v>*P{<;&;Jj& CW2|rh literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Downloads/DownloadTab.py b/Rare/Components/Tabs/Downloads/DownloadTab.py new file mode 100644 index 00000000..d51c85c7 --- /dev/null +++ b/Rare/Components/Tabs/Downloads/DownloadTab.py @@ -0,0 +1,6 @@ +from PyQt5.QtWidgets import QWidget + + +class DownloadTab(QWidget): + def __init__(self): + super(DownloadTab, self).__init__() diff --git a/Rare/Components/Tabs/Downloads/__init__.py b/Rare/Components/Tabs/Downloads/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Rare/Components/Tabs/Games/GameList.py b/Rare/Components/Tabs/Games/GameList.py new file mode 100644 index 00000000..864faaf3 --- /dev/null +++ b/Rare/Components/Tabs/Games/GameList.py @@ -0,0 +1,36 @@ +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import * +from legendary.core import LegendaryCore + +from Rare.Components.Tabs.Games.GameWidgetInstalled import GameWidgetInstalled +from Rare.Components.Tabs.Games.GameWidgetUninstalled import GameWidgetUninstalled +from Rare.utils.QtExtensions import FlowLayout + + +class GameList(QScrollArea): + def __init__(self, core: LegendaryCore): + super(GameList, self).__init__() + self.core = core + self.widget = QWidget() + self.setWidgetResizable(True) + self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded) + self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + + self.layout = FlowLayout() + + for i in self.core.get_installed_list(): + # continue + self.layout.addWidget(GameWidgetInstalled(core, i)) + + uninstalled_games = [] + installed = [i.app_name for i in core.get_installed_list()] + for game in sorted(core.get_game_list(), key=lambda x: x.app_title): + if not game.app_name in installed: + uninstalled_games.append(game) + + for i in uninstalled_games: + self.layout.addWidget(GameWidgetUninstalled(core, i)) + + + self.widget.setLayout(self.layout) + self.setWidget(self.widget) \ No newline at end of file diff --git a/Rare/Components/Tabs/Games/GameWidgetInstalled.py b/Rare/Components/Tabs/Games/GameWidgetInstalled.py new file mode 100644 index 00000000..46aeae18 --- /dev/null +++ b/Rare/Components/Tabs/Games/GameWidgetInstalled.py @@ -0,0 +1,108 @@ +import os +from logging import getLogger + +from PyQt5.QtCore import Qt, QEvent +from PyQt5.QtGui import QPixmap, QIcon, QMouseEvent +from PyQt5.QtWidgets import * +from legendary.core import LegendaryCore +from legendary.models.game import InstalledGame + +from Rare import style_path +from Rare.utils import LegendaryApi +from Rare.utils.QtExtensions import ClickableLabel +from Rare.utils.RareConfig import IMAGE_DIR + +logger = getLogger("FlowWidget") + + +class GameWidgetInstalled(QWidget): + def __init__(self, core: LegendaryCore, game: InstalledGame): + super(GameWidgetInstalled, self).__init__() + self.setObjectName("game_widget_parent") + self.layout = QVBoxLayout() + self.core = core + self.game = game + self.running = False + + Qt.WA_MouseTracking = Qt.WA_Hover + + if os.path.exists(f"{IMAGE_DIR}/{game.app_name}/FinalArt.png"): + pixmap = QPixmap(f"{IMAGE_DIR}/{game.app_name}/FinalArt.png") + elif os.path.exists(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxTall.png"): + pixmap = QPixmap(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxTall.png") + elif os.path.exists(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxLogo.png"): + pixmap = QPixmap(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxLogo.png") + else: + logger.warning(f"No Image found: {self.game.title}") + pixmap = None + if pixmap: + w = 200 + pixmap = pixmap.scaled(w, int(w * 4 / 3)) + + self.image = ClickableLabel() + self.image.setObjectName("game_widget") + self.image.setPixmap(pixmap) + self.layout.addWidget(self.image) + + self.title_label = QLabel(f"

{game.title}

") + self.title_label.setWordWrap(True) + self.title_label.setFixedWidth(180) + minilayout = QHBoxLayout() + self.title_label.setObjectName("game_widget") + minilayout.addWidget(self.title_label) + # minilayout.addStretch(1) + self.menu = QPushButton(QIcon(style_path + "/Icons/menu.png"), "") + self.menu.setMenu(Menu()) + self.menu.setObjectName("menu") + self.menu.setFixedWidth(10) + minilayout.addWidget(self.menu) + minilayout.addStretch(1) + self.layout.addLayout(minilayout) + + self.info_label = QLabel("") + self.info_label.setObjectName("info_label") + self.layout.addWidget(self.info_label) + + self.setLayout(self.layout) + self.setFixedWidth(self.sizeHint().width()) + + def enterEvent(self, a0: QEvent) -> None: + if not self.running: + self.info_label.setText("Start Game") + + def leaveEvent(self, a0: QEvent) -> None: + self.info_label.setText("") + + + + #return QWidget.mouseMoveEvent(self, mouseEvent) + + def mousePressEvent(self, a0) -> None: + self.launch() + + def launch(self, offline=False): + if not self.running: + logger.info("Launching " + self.game.title) + self.proc = LegendaryApi.launch_game(self.core, self.game.app_name, offline) + if not self.proc: + logger.error("Could not start process") + return + self.proc.finished.connect(self.finished) + self.info_label.setText("Game running") + self.running = True + + def finished(self): + self.info_label.setText("") + self.running = False + +class Menu(QMenu): + def __init__(self): + super(Menu, self).__init__() + self.addAction("Game info", self.info) + self.addAction("Uninstall", self.uninstall) + + def info(self): + pass + + def uninstall(self): + pass \ No newline at end of file diff --git a/Rare/Components/Tabs/Games/GameWidgetUninstalled.py b/Rare/Components/Tabs/Games/GameWidgetUninstalled.py new file mode 100644 index 00000000..0f27df91 --- /dev/null +++ b/Rare/Components/Tabs/Games/GameWidgetUninstalled.py @@ -0,0 +1,57 @@ +import os +from logging import getLogger + +from PyQt5.QtGui import QPixmap +from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QInputDialog +from legendary.core import LegendaryCore +from legendary.models.game import Game + +from Rare.utils.Dialogs.InstallDialog import InstallDialog +from Rare.utils.QtExtensions import ClickableLabel +from Rare.utils.RareConfig import IMAGE_DIR + +logger = getLogger("Uninstalled") + + +class GameWidgetUninstalled(QWidget): + def __init__(self, core: LegendaryCore, game: Game): + super(GameWidgetUninstalled, self).__init__() + self.layout = QVBoxLayout() + self.core = core + self.game = game + + if os.path.exists(f"{IMAGE_DIR}/{game.app_name}/UninstalledArt.png"): + pixmap = QPixmap(f"{IMAGE_DIR}/{game.app_name}/UninstalledArt.png") + else: + logger.warning(f"No Image found: {self.game.app_title}") + pixmap = None + if pixmap: + w = 200 + pixmap = pixmap.scaled(w, int(w * 4 / 3)) + self.image = ClickableLabel() + self.image.setPixmap(pixmap) + self.layout.addWidget(self.image) + self.title_label = QLabel(f"

{game.app_title}

") + self.title_label.setStyleSheet(""" + QLabel{ + text-align: center; + } + """) + self.title_label.setWordWrap(True) + self.layout.addWidget(self.title_label) + + self.info_label = QLabel("") + self.layout.addWidget(self.info_label) + + self.setLayout(self.layout) + self.setFixedWidth(self.sizeHint().width()) + + def mousePressEvent(self, a0) -> None: + self.install() + + def install(self): + logger.info("Install " + self.game.app_title) + infos = InstallDialog().get_information() + if infos != 0: + path, max_workers = infos + print(path, max_workers) \ No newline at end of file diff --git a/Rare/Components/Tabs/Games/Games.py b/Rare/Components/Tabs/Games/Games.py new file mode 100644 index 00000000..460946c4 --- /dev/null +++ b/Rare/Components/Tabs/Games/Games.py @@ -0,0 +1,24 @@ +from PyQt5.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QCheckBox + +from Rare.Components.Tabs.Games.GameList import GameList + + +class Games(QWidget): + def __init__(self, core): + super(Games, self).__init__() + self.layout = QVBoxLayout() + + self.head_bar = GameListHeadBar() + self.game_list = GameList(core) + + self.layout.addLayout(self.head_bar) + self.layout.addWidget(self.game_list) + #self.layout.addStretch(1) + self.setLayout(self.layout) + + +class GameListHeadBar(QHBoxLayout): + def __init__(self): + super(GameListHeadBar, self).__init__() + self.installed_only = QCheckBox("Installed only") + self.addWidget(self.installed_only) diff --git a/Rare/Components/Tabs/Games/__init__.py b/Rare/Components/Tabs/Games/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Rare/Components/Tabs/Games/__pycache__/GameList.cpython-38.pyc b/Rare/Components/Tabs/Games/__pycache__/GameList.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..24165df8192e8e1d8ef524bf94a133296902a817 GIT binary patch literal 1732 zcma)6y>A;g6esUXC;6n*isQIJmwseW2PsQ8!>F6KX#vBvVy7(#1lRMCR?gww*(3!= zf;>4urVh>AK_0X9Z|QhzfC8Pnb?SRO%T`dJC;>h`zI*q+e(&)~yWJwNet-SpPj5X! z-r{9>fsA|(TmJ}z6HX<`DWep5M>+?1y3)-(=2@91{XAfS<$c-6Ll#;-kj=csT9iB@ zyurhlgok3~!etR}?vq~YPq0pUv~q?9DE$;jdq<2!!4oxkSSkU6+mDi5{E+dHFy9v1 zBvJ|v;yX9uCq=gOq4l*a&vueYIW{SpUtX9NF8vV@K^WzPIl|@iSNe(^QSNZ}WyHK! z#3Rgy0KFr8!h;# zH81G7XIA0Xy(HY@K9oB6*#Qe1=l;w;zCH7vH`MEyJ71gm)&}tJ*uS%6|2OdI&)3oO zRg8C0f;=Zsm&WcvN+I3F!kS@0)lb@7@ zC_sLY9O?mrRa1nle=@0Bn-aJb^tRr|;IIP%;*jb61+e`%&Wg;$aeq^mX(II&FpGcQ z$r3ZhZL>t!p(a=jx(lf_F*TDJi9JhS+~lP?pjm~RGRY5lvULw`f59fxkN-1*S{rP+ z&&8y-QTcj&B9scPu|>$LiPy%k9uF3r*)d^VEle$XEOa(a4y9oCK=!>*CW93BQ&md& zMWXgfnWYnj@Uhiv>9*b#f(y<*fPcOzRW>aPn7ixm^Pay5| zRb3casO{Cv##mG+6X$hk%D1|@R7UWsjk+U%&#I{v`wdD8Pl3WxS51heo@$0{ZKD@d zo)+@R)_s+Hw eiA`r|Tx{}JGgDV@3x`feKq3GnasUt-x&Hv5%F3+( literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/GameList.cpython-39.pyc b/Rare/Components/Tabs/Games/__pycache__/GameList.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a020d58a8ec884c6e3bb868c7bd7eb7a2c4c5be GIT binary patch literal 1737 zcma)6&2Jk;6rY*hwb#ztZQL}C3a3I3=3w{2Es6*Q3Q}Z}rhI6mYT4{e+zqq4$;_D4 zks}VN)Ds6db8wEm@%QW%35hc|PP{i8C$5kXBhA}4Z{NJH-@KP}I&A{$$I*lDynvA3 z@vyvnID7=#d<#SnK^4g*f_2iT72C5w=?6eMJ8~=wk?85;QcDord6MMvn@o(Q{h}~7 zQA!FB-@OrkRb)#)+MlWNbSIgX6Pu#><%MbCG7o@A!l@vfNl(yU>1%RG1ry$@i2JXJ zPj~pV4FXHSYqjnT(CL2B$Uj6k3H*O5cmc&GH(ca z2}K01X~Uz|72gJa1$i4e&CZM*dGqci`Gh=QKWA|2%x~G-V2xcc)H~T7lXK5S3qESi z3wrL`RXFu7iSR`LrEdJhz{19PFbj_E%={my{$=LP*JgpU0sLF`?=IQ@4SWXkb@Y4{ z<2{rhF9_77IeL~-NO!TYCRl@g*ro?$3^_h;pVJvVB0sYef1kWToWtb!I4+=~eO9r- zql#u4-=QOa?+;&;xg0846p0qY$EC=M@o;yVzDRVwtIH#qS~Gl_XgQLn?h88kaaqU$ zmWtu3n1f=Q3 zmMTl98lmH>*V1h>l2S;)--SD$mpVHu3+TD)|Me~2yB2J#(`0JCJUrA*jHjVo=T$vu zSE%h(zs6WpD3cI%Xc}e?=$cYnDXI?YjsZHSrdQlQC@G8qjis(y5KGt#eA=TMC}AO8^SbnG^t%azrkEyz9F-iwGxtwD@ zzy=!JG|m7UXMnlXw7z^jX&qAh(f_)%G>08-{GPiuv6(Uu>8CHPEKF7w#yu6jvR6N% gZ7ma**HYiODqJ;BUB)f!J`(|n0GWsZGBoo30leSL_y7O^ literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/GameWidgetInstalled.cpython-39.pyc b/Rare/Components/Tabs/Games/__pycache__/GameWidgetInstalled.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a306ff1cd295446e24f267da8cba0746649f039b GIT binary patch literal 4034 zcmbtXOLH5?5#HGc-T=XeNLr#5+O!?PaS^E`t~idYh@wS_4#f~A6IJcOn-ykBF0~J2 zb|8@`=tNfen!BYGc+}m8{Dd5H-fK=g=jKzso&`XPqE1=V_V&zl&vf_n3vRVq((wHE zpG$xJs-|iGp~1z+#NaO8Io`eHz?76oW0b)*LE4#xp7jlEicDSZoSlbj^|HI zJ3k&5coE|QR!c7#FY^jUMLxxAeBy-JC0^%~Cz@UUUNbej0-H^z)1*=+&sa-X&1^&U z)ZD{j+fYJfAcqgVG?#p&Yns#~>ubmQKtI)(*4G9GXQzy5(mck{Xj`OHIPhC|#a0fVAXCyRj3fSpF=vl5WQnVuDr*j^jtZbey!Bc=AtA4!pM9gycvo ze}VKH?or%D_6gKi)WISqi7zj@QRGK^LWx*-yy85JpLxQr15^2EN4V{$AV~E%NlnT# zY0f+J6PXAkZyfA)I!=U>ghj(#pt4<>f9?v}H?^cM1JBMSZ5LT9HT+15DkyEsCu7+~ zh&xP#MVIp|{*fkC!m`VXJJZ-MgY5o&($oqwz|pwy{?pT zBq&FSGJ$y#Fb}>*uxe@&v`aX1TMDGW{glqn3?*(5DT$Vi?Ly-ByoZoIwct3&wYk)U zZ|t61($00Vbk3gJr4VNZuHenpn8QfTt)uq7 zE5a=i)4e6lZ{d}j-gET@P1uPecxlqyai1hja>xv3#u_Kf<<60KAA(QgO|}3uR%0br zU^)8f1^qgkXTw*YVJ2oxHm?_01-}|*=$j)5yrxDK@KWD`@~~CB$t(cER7<7+*+9?Ivu#zWK3B8YTqRJRl>fO9b@N?pK%Sw?#vJTiAQi?guH*_VL z_&soOo4{pp0?&PxRrGZ%C(0u45ayh;!NixKeoH3eR`#m^L2A>e%#qbzGio&u+uf+W zf2AN3A+;7;!b=im9CD74G)q^R<`VtdTf$JVD`EDPFt|)E)m6e+#(_DfGOn}+IgF`> z83%d!R1yVNKg66BiH4g9^T*YK4l-Rkh+KxRjy|3+}O@)I`)Q_U2aO zZon6#ST3R~g41+F+=h<53hA^sOl>=jiOh{YfvBlTDOBY?aSLNX#!+%>aDKA$kX%APg5ptpMc@vB z6#{n&kN|0Qm?+y`5ID{S8-7kC6yU1Xkqr~NwgQ{^Ro$%TYeuQ8R@#_+;~`tolY9m+ zYGYOViU#(iU>n@vCfZQ6usnyarP|RP`h>h_g5@palLEA9vJ7xl!wCmAPw^i`wV${U zG$ZOC3$`>idqw4!s6_`Ess+3TY8Wqtr80TB;jT-kO$2^AEbdYH_lLB2PRMqqVFgCTT4g{a;(A ze=W-W(`)CGh!QVImQ|Xes7Ot!^r}0tON1_Wr5_|JDW!Ag6AxGNBS(zLiOp^@moA%$oVwxv|DRlooDh5qyU{Be@O$i|KVXgZ6H%^3gy literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/GameWidgetUninstalled.cpython-38.pyc b/Rare/Components/Tabs/Games/__pycache__/GameWidgetUninstalled.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c338885d342f0e79bdde79d99dee72463bc21b5d GIT binary patch literal 2130 zcmb7FTW=IM6t?HKv)2TYkTmp?R_epHWfv8psuUq;pea%sC0vR$FT=2QHj{d0wzjuP zmW@^WHy+kgj=jUqQSW}!YZu#jIb*AMs{$X(fg!XI{_4Aqe)G< z%k_HJ?Q#i|($;3YpG3W;4eXx~pjuz&U7oT?9;{}P zgTPsf5*!<=BJTVWJrVp=wS4!dTWfd1+js8;)rV=EDjf;ISqC9ZH*^s;brT3D0c9kx zxXm3#Us}(}Hf0vGpVb1FIm~@Yna4`coWPsRd{%~8={a#o;Dd=3vw(;SE2ge(TE^)B zWaD&Uxntvvljgz*u_Gu`pHV_I(R4^g*4R2GlxTZIh9q=`APe201=Q1}U4LBGl@}1v zp|x9u(K>RDseGVo?@CAX&`y_hecWL7knDQ9GcU-IbxbjChxX8xe=z6J8QSC7p`*_Y z!N_^Syo+Q+kF7&npU-cfgPn8Z`Js*bfOp0VD8ZS&z)FAtPG$a)JwlX=u(mi}V&#eU z;`jqr`Pa_H$i4*mRX}6>FpSe!hoQtgFrLU$Ue;hD>nO1@ zWt?85cZ|pPW2KeEk~exC)gl0>6mUtUe7v=>Q8_O2=8x{kHr##5aLGT+#7s%06q z-54EY%8Kiv^gx}lB55V&qN(OvLxFW?>Y#UD9|(SbhhuHR^id|+BN_EfB~G`qi5{Le zDOud|L%h%NP=M~Mc))*z`;EJYf~IR6#l`lNon9}01PtAK1@A)`c0{C97``H}AGde1 zgtrAx(@3)RYR168_U1unCz8pg%yxN4tMS(Dy2{ z)jN>$VDb!f^%W388`P&B^{i#OWX)42|CT^jgOzz&b78b9&}($?@tM`$It?nmb)Mw9 zFVl{NXHOdP*jJ$|jJ1YJ9-U^lwP761l?F$+JqccWWyvo<$ym{4*#@Q{mr*p6WPQaq zC0FXsZ(uMktNbcD`21{e@9g-0z&w`q;gywF5XRLvSaMW3poRSS+qqW$DCe-go`Ut| zf53WoU$cxAf_WZ>rV@rp#`*&JS{VM?k3_K|O9;eAf}xb(Ao&)EsZSEA!-aqvd+WSQ zsDgm=GHd{&F!6mlztXUCS#wTa0EsDKX+g$G^s1?D9&G8Wtu4LQkBicqIh7Qtr6fKz zc{LZM)DWlttQP(Oa;#?Itq@G&LbbYB%V>gG#8htebqvxieP>_uRK;1UirQV6T19p> qOSj{0{wT<0ycwUBDMQ~z#=l;8?*{y1h&m4hQW}yNQo8so-~I>u*(q%R literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/GameWidgetUninstalled.cpython-39.pyc b/Rare/Components/Tabs/Games/__pycache__/GameWidgetUninstalled.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..723e5f14f075dc7ee0cf806e932924bfd4e52df6 GIT binary patch literal 2316 zcmZuzOK%%D5GMDf)yt3Aj-6+P7Ci`Pr9N{=gP^ICx&~asPSOTg6xeJ;T3%-#DoNG0 zDx(J($hG$*fPBoQ{Tuxay!Pb3&|W&jl@m2F1(L(z40kv)-%wG#ULnx_{quvzzm*92 z8yC~ffyLL*s!e~MQoUMeWR$x)2?Zi%FV~6-{c1y(P7?K+S}fUp72E1 zw%4;>U)_zPB=3S^eS>#-#v*aJnhOpLXDv!`uCHfOMM?5na%MG&J5Qr02{$K!NO}GH zJ8SpCyX*IZ>JM35$aB^~3#S`;6q~#W11AAxB(S*69Y$YR&&UpC7PF6Qfy*4`zM#xw zrDG@Xn9s_`Bq%*24hej?dqppyamDqfKG?Lh(*f(X(}nGhZ9Y~EE=(SD8tBTvnCm5c;9DSB2Sn>6}pUP}Sb%j_8q{t*H8V zhS@{1=k3itCoioNiUB>chqm~GIY-XW9?uOOH9v&wEfVHkAtQQX9og!F`T7EAE{qq4 zHtGTGjF*suD|L~Tzy>&#`7iAeTDc5+%i|SRo=7i`FR{x1G?youRU?1-^@*1Ysqq!$ zOz5jaGQM^~#@9~>au@+O*Eav5?ZHBO%ENbrYW1@2U~V&Stfx_zH+J%V#%?xF{{qLJ zVt`N4#RKQo?&r4$?yWXXS*3AKD-!Y7bN4`8@dNd7l*HZaW~0M1#l=_WiXOegeW*$E zJ?+YVj|));YqTGRaTcpE6qpCvOAHpo3@pSfa;#ixrx&SR?eT+HDk*A4FY5Ke401`} zr9jWXOqcc}0cqaVW!zV>O1So9CrUWecAP0uMQJxi2kElps=y?OGgc(6z+BW-qZ%d# zkaduIpbiuMV3#9kVfiQ*?2(9ix)NtQ`9u!Sn_wALzKst!9tx)WG9K{n;QQL$M@G}t zj^xSC)IGhPsScX%zXI5XVJC^C48vFCpU3UpJmu|#XIUgzdo^cp!S>c+XEze*mdN*b zN6Gg6NbpU*Z)T85dwB+-k?n`k6WK;g7UMg}Z1oPsMY!@jbomhsgw9Z(depNn(-mux zI_9?myc+B*(wYmiRe@fkgX`y_y>%8;EP|fksxPvRg=bG1(%4s_ON=MvI6<_V?53zz zniQ+1CD1BuMW2XIfhdO0kTsj;eaW{3m-5~(a9P}z<}-Bg;rWKWrO|NPi=8yNPn`9uuynVn(UEzdjO#J=D?p+=Z3(K zG)v+tOxnSGF_|r{!&=}&7tF$205E`!G*WS%X}2dJS(;99br-j!xPPja=xlLTP=CPr-(!9W?L&jBG3TRvTE%-Dw4yeL+Hqf3ZhNNRz>)77oR zZS`eqTdnou0^PG`oFaRrz%ZGDVbChzKLXJ+$=Ng6!k5Mvte4&};a)tEtuEFKyhqSL z$h7(@25#|$%GM-i#nJ>vFHebWt9u8EXA)v0i&C;QwTt9xp6$e4Q=?44%{`}_V%%f0 a*S}SG`ZlJAT!aA-2AEm_oZ*b4Z~q619#?4q literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/Games.cpython-38.pyc b/Rare/Components/Tabs/Games/__pycache__/Games.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ae80f2522f58a89870cb05d2d605efb8d5445cad GIT binary patch literal 1184 zcma)6J8u&~5Z>K;_|A#XAV5k%0ixj=yP`t~B}IZ1SvCZau30X(o7mwVVfQR>I#HD!8asZ{ zX^lQl#IdZ+#^}>_^%{`fl?NlYf7y^EnD&=Edcnk!14mu=ZD#S`Q3|Df7TGq{N%#5pLeq`LNQu2zL zkn=20wdVYa{2BJgRU!MiEX!1h{!S$(<#B&F%f_iHhN?P|S*`o;QzZxTyZwcn;splue>h@C|?x3}heMiKVDKfJro2XK~C@9k`6C z>SC&;YMEQUsPq#!8cCzlZF;tKZ*i`*R+#xu*^njHTg!%c5QnBaoQ>*Ny;0q)lvXIK zT~mdB3ii3?1+GT#W+i&K61`^3>!;Y2wbN+G-puZriwRyg!+(PkTS8lG(|Hj61x>aJ AtN;K2 literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/Games.cpython-39.pyc b/Rare/Components/Tabs/Games/__pycache__/Games.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2062f1a75d4c969027b72d8a6364aff8dcdf6251 GIT binary patch literal 1184 zcma)6&2G~`5Z?7)?6h?&1gHlN2rl@NoVX!`+Cz&}q68|C%wci8+a_ggmt9AYDz{YX zYoy0M3@@-(PP_sqX4Xm5RvZ|~iy#ds*(2QL-UZ>FpffjZ0rq(SI1n!2kheaNB>WB4 zNaC5+;M0hoh}x_TKJHXM4zfu#MzFsE(O`Ed@~?1^P!sNDg*X`LI>!RH&0PTf1Oh=) z%1P>6l4Hs#cP_%zy(At2hScI5!aIgCqy5L4s5QvTsZDPj z##jI!{Q}(mCE?9dcvCX>?+o7QoyTuWU1w4X{JkrQTYJVc(lx7n59s~ zgsLq}wNx#0%NLc#KqF~Xx=qiw?=8-a*6K0j{8Kh$iA9&PA?_uS+3ZgS^~=tnZdOVw zl+~`O!k>b@u6d5D(OIoT2UnugjCpw#yRvo~4cXP~Zn&86RWtn8D6u89?X0_7@m~=j B3l#tW literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/Games/__pycache__/__init__.cpython-38.pyc b/Rare/Components/Tabs/Games/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3c0b23f51e31ed689f2e6b6b0df3c798b88da214 GIT binary patch literal 174 zcmWIL<>g`kg2mQ~2_X70h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10aKO;XkRX-;+ zFE6nuMc+9;B{MHwKcF%>Be5tqpeR2pHMyi%KPa&%)i1RiOas;A7Ubup<^jb+5|fJc l-4kg`kg2mQ~2_X70h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10aKO;XkRX-;+ zFE6nuMc+9;B{MHwKcF%>Be5tqpeR2pHMyi%KPa&%)i1RiOas;A7Ubup<^jb+5|fJc l-4kg`kf;MZ#1Q7igL?8o3AjbiSi&=m~3PUi1CZpdACy>>>X%v$rh#g53-a?)^MK+ZiAlx! f@$s2?nI-Y@dIgoYIBatBQ%ZAE?LgLi24V&Pr5-7O literal 0 HcmV?d00001 diff --git a/Rare/Components/Tabs/__pycache__/__init__.cpython-39.pyc b/Rare/Components/Tabs/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..18a578efed1aa8f4ca1397522a6e807733eee852 GIT binary patch literal 168 zcmYe~<>g`kf;MZ#1Q7igL?8o3AjbiSi&=m~3PUi1CZpdACy>>>X%v$rh#g53-a?)^MK+ZiAlx! f@$s2?nI-Y@dIgoYIBatBQ%ZAE?LgLi24V&Pto|vC literal 0 HcmV?d00001 diff --git a/Rare/Components/__init__.py b/Rare/Components/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Rare/Components/__pycache__/MainWindow.cpython-38.pyc b/Rare/Components/__pycache__/MainWindow.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..32ac6a894a639623cf665309c361217942a6702c GIT binary patch literal 773 zcmYjPO>Yx15FPJ2X_}8xi3>;^!Z8wLPuvhf^bmnWlt8OWzL;h0B#XSesqLtw$}N@p zH=1Mr(q6g1nHwi&Hi5*FXXnY|_h#PuqSI*tuHWCEf0;3W9|R5;NAMQ6dx1fLVg@oM z7^6HeK^BUT!2ndK_$?@|**X+l)jmV7{tItFkCmua~KsYM)TS z;R<)aJ;OwUUwnIl$uK?9*LyO)(`V&dhE{2;YpJJ=KFS~<__uWZh zyGBoSu423FHOiV>%(b=TT-lH^%~LO>XgTc%y2!M*OL2l=Ysh)(jTWbf&vfo>Y_`@| zYF}_SL(77aJ8dQraJ%YBuoHI5niy{$AC&!@r&pud@;K8{mQ5+M zLM;sCZ7Hu7vDuzflx1hvaH5To(zZ}y8;&V!Qy{ZQ-qG)CunG@RYx15FPJ2X_}8xsTYtqgkvPgp12`|=pmvKQ36Gkd@*M2B#XSe!QQB($}N@p zH=1Mr(q6g1nHwi&Hi5*FXXnY|_h#N&bvjMJ_51s?&oc(_gTUe92;SiK&oOAw%tFcp zW0VIrNJ9}a7=R8nzXi<=TZe+{+DGWsf8h=2v9dLOuafL4$#i~=@c2@Fxk~iZ6fqSX zu5btZQ%np9ra=UEFkzbM;I<*cJK!KVl80q;PZ|dYB$U^26PJIBp@4#|U>)2C8(^@4 z`w-cXPlp>`VXpZG2f~wDQD3n&+o2<>*MMrZp+j#V`H7@S7sJit56YSDi|*jlyY3`+ zU2CQ$)5CQnV_mf{4#){x7jutuCBJ~vt6l-*k6 zsC~ix3@r;v?v0(4JkFhYKm(D6eqOr=K3vMFVn z>xHGfE##moK}-J%!c o9i59OG*5p&NB{qms(h<%AIMaKBvUqCZToypztfXwJ7|Z00eIQHPyhe` literal 0 HcmV?d00001 diff --git a/Rare/Components/__pycache__/TabWidget.cpython-38.pyc b/Rare/Components/__pycache__/TabWidget.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..29c02f8125761b63750bd612b59641111b6ba4de GIT binary patch literal 2782 zcmb7GOK%%D5GMDf)oLXxvfH>pnx;)(Dhlb;$Dt^iG-(>3G3+Eo0RqK#Ez-8!eJEV2 zu~p@y0J-+iA7CBxU-}Dp?J0kur_OL!mh89)x`JkB$RRnL`S@{vY&HV|kNfAlzx?hK z@;4f*j|0Xx@Gt%V!3n1cNhzZgbt|z_o7t(uoYZA*>M<{^v0Cag-}Ku_Jq=i3bSG(~ zAq$P}Ce5_PT1NMhwY1IJl-wn}#{Fl6`@){t>=M{@9)KMP2kZ{m4IY9W3J>gc-h4>9 zt(OoL=~C_P+#BRs*VDnyqj>kHA>S8D*HFI|OHito#?GTWPi~Es$}`=pT5k^25KMRH zzR1QfS5TpXj2k-&|aI8Lwx((n$x)jz4aORM?uvWa2s3E!XEBaRs#ZcSNy}uKV0$f&UiE{ zkEUv=HD0?+W)ysFGk1GVPA+kb1GK}ATE_^nj}zFozx5I~C_@meemj4XC3(yXO}=}H z8=kE9v93kG5K0ZR{h~L@_PZO}Eyg1uWfNSqA4O0h6-BHLURA}t@?Fil4~2>ns2cNP z&Y??NN=nzP$ro#~W;y&$7Vjp4vsyeDb}a1_BH7cbpxr0;0GAU>Vt{G=YO7jxejAq$vjSGGLJbqcjobg+n8&44LZ9{nNXa@>&sU$)seN_~dVL9gk9$)Kn8*hSEtRx^OMtzANvy?g>&xBhhKhF| z0)D<90$>oL@*NP`m2tK&v}?{U!}D9h&rahb$X1E6A>`)>4kZlNUcR>nUgwkZ5lr?e z{EHR{LfbT;KFBNdDmAAE?v~z41OR(PsJwyVeH55oiL=NLP#9R9!xmNzJr>wjc=}uzTrYn15=jXSm+kVh*zTq*IZ4MX<=}tah_x+is^U zFYdvlkJXT3#gQ^xyPc25qx(4*5>d#)ds(64Oqpimi3==wnguu*uKY*Ck?F=OUcz?{ zku@COhVI*9FCHg|5cp=0NS*LG18%GicSZSa069g>$hSafFE-x`=dpsN{sR65D#*J5 z4S}UlBIiyvfvr|AgwylYbuUECe*y+G^Eobrw~=RUb%PXb_!56)%M2q)o#%^3Vz%`~beo^uzSds*7x^E1AOHXW literal 0 HcmV?d00001 diff --git a/Rare/Components/__pycache__/TabWidget.cpython-39.pyc b/Rare/Components/__pycache__/TabWidget.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fa3244ebdca2aba1c5899a05f4c6b9881f8d45f1 GIT binary patch literal 2853 zcmai0%Wm676rJHqltjsjlQs{eZIJY(6p*?p&=y6}yqaba!%hMe7@%Mo4QX@0G2MXVLSY$8syyWrNChBZWfU(%yKM=gHlv)_GQT>ef3WJx0~tcpPU_%+)IN zUJ{3sNN-c^@i-e-!)cv|Q5qK`T6Ouc>q_w@3NaI0GGV=Dn_O~f9s0sHWm`HZJJOZj zArtOv<}l%57mc!cV)V#bnwQERKAOJx3qmu^XY9Z_vW^*NGj?QaNAd%Hj38)thSH3M z9@-l-wnKkkTF3m@LT~c``eCc?Ye}10sYX50scUT*>@MjCwSKUq;hoax)EXV#)hn`b znH_NG+Gg(FF*~{-$qtluR`o@)koqLUw*9rYv_aK|5Y7Af%Ph$wS(NO@x3uB?i$jWO zF)U)O$Jtgfm}Fc1OQl;(C$UliR7yV#5gi?dq6w`!+Ftdq=iNfU!em@%;YCuStF*LI zE{$%=`I@3r4S$eD&y!e+Ml>4b(@dBCd~sz=ZPGAL8&rv)UecgRG@p#Ow)NAojLQ`= zz_ix5u}Y_ilg-i@WH8xN7hoQlSX_r-yvw^*%erLwylZ!PKz||dH?#Hqi2s7yh-hp*^D;7DKtba2R2^&y(D>?Qn4e~yGcH+EEOFASi?$qNNd$oR7R zPDVBejTxaWEL&li=5h)a3Ckc1UreK<>MWf;X|j2DNSRx z2YAQ3lPHt1tivk&dBfSr5@NrgWva+_`Mxfj~iK)*La-#cs>C zj-EdSgnt?Xv!B5n^$|qrswmrvOV?0{APT8YfSpFWeWwQc82;G>FJO4-<(r$(I_n&Y z;}D-gFXKJl;y&axe!W58iS#z^8Ny)m4bni_CT9ELJGg-{LDMphW#G z9)KuG67BC_0bwrZq?7Xn0yqyf{|OlK%r~?UQK8RGwAcEpqP@Pip}!hz=!es>@j$sU zZ>jcHD2l(LBW%*IaiQ^p@kr@Vic^%n#BC}L7FlipV>iwnVD4%IBh6*N k(5At+v3lt|oG^Xqe^(Lr_mn=&!3+2eI1#ViyV+a$7gOkdhX4Qo literal 0 HcmV?d00001 diff --git a/Rare/Components/__pycache__/__init__.cpython-38.pyc b/Rare/Components/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c7c646831397207a296c1df3f3567cb2e137b89c GIT binary patch literal 163 zcmWIL<>g`kf*NbZ1Q7igL?8o3AjbiSi&=m~3PUi1CZpdACy>>>X%v$rh#g53-a?)^MK;<@tJv< aCGqik1(mlrY;yBcN^?@}KsI~^Vg>-p(kHk8 literal 0 HcmV?d00001 diff --git a/Rare/Components/__pycache__/__init__.cpython-39.pyc b/Rare/Components/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..629a852f1e0963acaccee221ac4ee1c244002802 GIT binary patch literal 163 zcmYe~<>g`kf*NbZ1Q7igL?8o3AjbiSi&=m~3PUi1CZpdACy>>>X%v$rh#g53-a?)^MK;<@tJv< aCGqik1(mlrY;yBcN^?@}KsI~^Vg>-xb|=ID literal 0 HcmV?d00001 diff --git a/Rare/Main.py b/Rare/Main.py new file mode 100644 index 00000000..8790cdaa --- /dev/null +++ b/Rare/Main.py @@ -0,0 +1,71 @@ +import logging +import os +import sys + +import requests +from PyQt5.QtCore import QTranslator +from PyQt5.QtWidgets import QApplication, QMessageBox +from legendary.core import LegendaryCore + +from Rare import style_path, lang_path +from Rare.Components.MainWindow import MainWindow + +# from Rare.Start.Launch import LaunchDialog +# from Rare.Start.Login import LoginWindow +# from Rare.utils.RareUtils import get_lang + +logging.basicConfig( + format='[%(name)s] %(levelname)s: %(message)s', + level=logging.INFO +) +logger = logging.getLogger("Rare") +core = LegendaryCore() + + +def main(): + app = QApplication(sys.argv) + translator = QTranslator() + # lang = get_lang() + lang = "de" + if os.path.exists(lang_path + lang + ".qm"): + translator.load(lang_path + lang + ".qm") + else: + logger.info("Your language is not supported") + app.installTranslator(translator) + + app.setStyleSheet(open(style_path + "RareStyle.qss").read()) + + offline = True + + logger.info("Try if you are logged in") + try: + if core.login(): + logger.info("You are logged in") + offline = False + else: + logger.error("Login Failed") + main() + + except ValueError: + logger.info("You are not logged in. Open Login Window") + login_window = LoginWindow(core) + if not login_window.login(): + return + + # Start Offline mode + except requests.exceptions.ConnectionError: + offline = True + QMessageBox.information(None, "Offline", "You are offline. Launching Rare in offline mode") + # Launch Offlienmode + if not offline: + # launch_dialog = LaunchDialog(core) + # launch_dialog.exec_() + pass + # mainwindow = MainWindow(core) + mainwindow = MainWindow(core) + + app.exec_() + + +if __name__ == '__main__': + main() diff --git a/Rare/Styles/Icons/account.png b/Rare/Styles/Icons/account.png new file mode 100644 index 0000000000000000000000000000000000000000..b718b8f70306b4b5c830129cb50d775662c78a98 GIT binary patch literal 128549 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%0DtNZn}5ssEf5t3FL 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 z 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 literal 0 HcmV?d00001 diff --git a/Rare/Styles/Icons/settings.png b/Rare/Styles/Icons/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..0fb26453a8ea6966236d7eff48565c94907fe99f GIT binary patch literal 112659 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

D|@ziF$B{LQxBg=n}LqI?a2?^=2J%F;( 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 literal 0 HcmV?d00001 diff --git a/Rare/utils/Dialogs/InstallDialog.py b/Rare/utils/Dialogs/InstallDialog.py new file mode 100644 index 00000000..817e8a1f --- /dev/null +++ b/Rare/utils/Dialogs/InstallDialog.py @@ -0,0 +1,38 @@ +import os + +from PyQt5.QtWidgets import QDialog, QFormLayout, QVBoxLayout, QSpinBox, QFileDialog, QLabel, QPushButton, QHBoxLayout + +from Rare.utils.QtExtensions import PathEdit + + +class InstallDialog(QDialog): + def __init__(self): + super(InstallDialog, self).__init__() + self.layout = QVBoxLayout() + + self.form = QFormLayout() + default_path = os.path.expanduser("~/legendary") + #TODO read from config + self.install_path_field = PathEdit(text=default_path, type_of_file=QFileDialog.DirectoryOnly) + self.form.addRow(QLabel("Install directory"), self.install_path_field) + + self.max_workes = QSpinBox() + self.form.addRow(QLabel("Max workers"), self.max_workes) + + self.layout.addLayout(self.form) + + self.ok = QPushButton("Install") + self.cancel = QPushButton("Cancel") + + self.button_layout = QHBoxLayout() + self.button_layout.addStretch(1) + self.button_layout.addWidget(self.ok) + self.button_layout.addWidget(self.cancel) + + self.layout.addLayout(self.button_layout) + + self.setLayout(self.layout) + + def get_information(self): + self.exec_() + return self.install_path_field.text(), self.max_workes.value() diff --git a/Rare/utils/Dialogs/__pycache__/InstallDialog.cpython-39.pyc b/Rare/utils/Dialogs/__pycache__/InstallDialog.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..572f985eef833d4c56f5be1e9fdb8e6e17781aed GIT binary patch literal 1506 zcmZ8hOK)366rP#;@bxP%(ikYvQh|gw@roTnsA+jfCD@Gw(rkuX&p5v6eVCasv8})+ zk-9?s1&3Y#(rj7vFR@1fIYCeDt#m3Hck1+Yk82SMZu4 z2uUQ(3CEM=v|yYS0S}6hhegDrBIa??;Ef{TNzvp@ig`iaD%!kF$u~rXGP)u%QtUF| z9Z63}KYjyU$#Fk%jnR`V&8t(_9(`Tu;#s<^<`#?}A6JWwk&I4eSqV1gWVzZD#G_~F z3zdU&I5*SBb8D*-jBjrW`_v`F)J~tu%#QJUx1V5Rm`^}agi}d4dqpNxQpv6o9>_q3 zSA>VJNJw}Dm?PKyt~55y^BTaI-s;Cd$B|)M<3Lzq=>@rDYj#a2vB4#|AR@GpKV#cC zOV&+Eujy~pwl1h`pLHbrgF#OBf}F+cExRp)OXzUcy=G9qBVxf=iVhnuYdJiMl z6f)nD5yr$mXtCGs*#lqQgPh*_UD?1qufGR!|BiKUW7QpdwY7d9@1M zT%D>?rh3_DF0^W4UB@nGN>mdufhDbWH^X`;Gp)w9(#uu*`*iW}ywWd~HoUQk^Y|z& z$0~n=fDOoB&-MtBeb0uw>U#i&JfDwjM?rF>qU>joA@Skx-gh446yYeKZXHx&0VPRHlUz!nK4bDml+l?+EeBJk9HfACCSMKi1uB z0T`JB@BV}G0HPZ4cxoaSJO-H9eedaa^&U3Z9xg}r^TUy?H*YllHF(N;5_^VuZq|gu wMxIEnhub{#TZHPT3#&>4zt+@j#`|y!jmPDulYCMCrY~_B21%c=&sZn;7d)MZG5`Po literal 0 HcmV?d00001 diff --git a/Rare/utils/LegendaryApi.py b/Rare/utils/LegendaryApi.py new file mode 100644 index 00000000..ec41862c --- /dev/null +++ b/Rare/utils/LegendaryApi.py @@ -0,0 +1,41 @@ +import os + +from PyQt5.QtCore import QProcess, QProcessEnvironment +from legendary.core import LegendaryCore + + + + +def launch_game(core, app_name: str, offline: bool = False, skip_version_check: bool = False): + game = core.get_installed_game(app_name) + if not game: + print("Game not found") + return None + if game.is_dlc: + print("Game is dlc") + return None + if not os.path.exists(game.install_path): + print("Game doesn't exist") + return None + + if not offline: + + if not skip_version_check and not core.is_noupdate_game(app_name): + # check updates + try: + latest = core.get_asset(app_name, update=True) + except ValueError: + print("Metadata doesn't exist") + return None + if latest.build_version != game.version: + print("Please update game") + return None + params, cwd, env = core.get_launch_parameters(app_name=app_name, offline=offline) + process = QProcess() + process.setWorkingDirectory(cwd) + environment = QProcessEnvironment() + for e in env: + environment.insert(e, env[e]) + process.setProcessEnvironment(environment) + process.start(params[0], params[1:]) + return process \ No newline at end of file diff --git a/Rare/utils/QtExtensions.py b/Rare/utils/QtExtensions.py new file mode 100644 index 00000000..7ce2eaa3 --- /dev/null +++ b/Rare/utils/QtExtensions.py @@ -0,0 +1,148 @@ +import os + +from PyQt5.QtCore import Qt, QRect, QSize, QPoint, pyqtSignal +from PyQt5.QtWidgets import QLayout, QStyle, QSizePolicy, QLabel, QFileDialog, QHBoxLayout, QWidget, QLineEdit, \ + QPushButton + + +class FlowLayout(QLayout): + def __init__(self, parent=None, margin=-1, hspacing=-1, vspacing=-1): + super(FlowLayout, self).__init__(parent) + self._hspacing = hspacing + self._vspacing = vspacing + self._items = [] + self.setContentsMargins(margin, margin, margin, margin) + + def __del__(self): + del self._items[:] + + def addItem(self, item): + self._items.append(item) + + def horizontalSpacing(self): + if self._hspacing >= 0: + return self._hspacing + else: + return self.smartSpacing( + QStyle.PM_LayoutHorizontalSpacing) + + def verticalSpacing(self): + if self._vspacing >= 0: + return self._vspacing + else: + return self.smartSpacing( + QStyle.PM_LayoutVerticalSpacing) + + def count(self): + return len(self._items) + + def itemAt(self, index): + if 0 <= index < len(self._items): + return self._items[index] + + def takeAt(self, index): + if 0 <= index < len(self._items): + return self._items.pop(index) + + def expandingDirections(self): + return Qt.Orientations(0) + + def hasHeightForWidth(self): + return True + + def heightForWidth(self, width): + return self.doLayout(QRect(0, 0, width, 0), True) + + def setGeometry(self, rect): + super(FlowLayout, self).setGeometry(rect) + self.doLayout(rect, False) + + def sizeHint(self): + return self.minimumSize() + + def minimumSize(self): + size = QSize() + for item in self._items: + size = size.expandedTo(item.minimumSize()) + left, top, right, bottom = self.getContentsMargins() + size += QSize(left + right, top + bottom) + return size + + def doLayout(self, rect, testonly): + left, top, right, bottom = self.getContentsMargins() + effective = rect.adjusted(+left, +top, -right, -bottom) + x = effective.x() + y = effective.y() + lineheight = 0 + for item in self._items: + widget = item.widget() + hspace = self.horizontalSpacing() + if hspace == -1: + hspace = widget.style().layoutSpacing( + QSizePolicy.PushButton, + QSizePolicy.PushButton, Qt.Horizontal) + vspace = self.verticalSpacing() + if vspace == -1: + vspace = widget.style().layoutSpacing( + QSizePolicy.PushButton, + QSizePolicy.PushButton, Qt.Vertical) + nextX = x + item.sizeHint().width() + hspace + if nextX - hspace > effective.right() and lineheight > 0: + x = effective.x() + y = y + lineheight + vspace + nextX = x + item.sizeHint().width() + hspace + lineheight = 0 + if not testonly: + item.setGeometry( + QRect(QPoint(x, y), item.sizeHint())) + x = nextX + lineheight = max(lineheight, item.sizeHint().height()) + return y + lineheight - rect.y() + bottom + + def smartSpacing(self, pm): + parent = self.parent() + if parent is None: + return -1 + elif parent.isWidgetType(): + return parent.style().pixelMetric(pm, None, parent) + else: + return parent.spacing() + + +class ClickableLabel(QLabel): + clicked = pyqtSignal() + + def __init__(self): + super(ClickableLabel, self).__init__() + + +class PathEdit(QWidget): + def __init__(self, text: str = "", type_of_file: QFileDialog.FileType = QFileDialog.AnyFile, infotext: str = "", + filter: str = None): + super(PathEdit, self).__init__() + self.filter = filter + self.type_of_file = type_of_file + self.info_text = infotext + self.layout = QHBoxLayout() + self.text_edit = QLineEdit(text) + self.path_select = QPushButton(self.tr("Select Path")) + self.path_select.clicked.connect(self.set_path) + self.layout.addWidget(self.text_edit) + self.layout.addWidget(self.path_select) + self.setLayout(self.layout) + + def setPlaceholderText(self, text: str): + self.text_edit.setPlaceholderText(text) + + def text(self): + return self.text_edit.text() + + def set_path(self): + dlg = QFileDialog(self, self.tr("Choose Path"), os.path.expanduser("~/")) + dlg.setFileMode(self.type_of_file) + if self.filter: + dlg.setFilter([self.filter]) + if dlg.exec_(): + names = dlg.selectedFiles() + self.text_edit.setText(names[0]) + diff --git a/Rare/utils/RareConfig.py b/Rare/utils/RareConfig.py new file mode 100644 index 00000000..6d36d244 --- /dev/null +++ b/Rare/utils/RareConfig.py @@ -0,0 +1,36 @@ +import configparser +import os +from logging import getLogger + +config_path = os.path.join(os.path.expanduser("~"), ".config/Rare/") +rare_config = configparser.ConfigParser() + +logger = getLogger("Config") +rare_config.read(config_path + "config.ini") + +if not os.path.exists(config_path): + os.makedirs(config_path) + rare_config["Rare"] = { + "IMAGE_DIR": os.path.expanduser(f"~/.cache/images"), + "theme": "default" + } + rare_config.write(open(config_path + "config.ini", "w")) +elif not rare_config.sections(): + rare_config["Rare"] = { + "IMAGE_DIR": os.path.expanduser("~/.cache/images"), + "theme": "default" + } + rare_config.write(open(config_path + "config.ini", "w")) + + +def get_config() -> {}: + return rare_config.__dict__["_sections"] + + +def set_config(new_config: {}): + rare_config.__dict__["_sections"] = new_config + rare_config.write(open(config_path + "config.ini", "w")) + + +IMAGE_DIR = rare_config["Rare"]["IMAGE_DIR"] +THEME = rare_config["Rare"]["theme"] diff --git a/Rare/utils/__init__.py b/Rare/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Rare/utils/__pycache__/LegendaryApi.cpython-39.pyc b/Rare/utils/__pycache__/LegendaryApi.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51a67440c7da4ec76507e151a99cc147bcf13835 GIT binary patch literal 1219 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 literal 0 HcmV?d00001 diff --git a/Rare/utils/__pycache__/QtExtensions.cpython-39.pyc b/Rare/utils/__pycache__/QtExtensions.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca7ec4f60965fb9a5e8f1507b42b58051577594f GIT binary patch literal 5895 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 literal 0 HcmV?d00001 diff --git a/Rare/utils/__pycache__/__init__.cpython-38.pyc b/Rare/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..278ce053ef367e028ace8b2664291daa6764feff GIT binary patch literal 158 zcmWIL<>g`kf}V861Q7igL?8o3AjbiSi&=m~3PUi1CZpdACy>>>X%v$ru9opGINUcg`kf}V861Q7igL?8o3AjbiSi&=m~3PUi1CZpdACy>>>X%v$ru9opGINUc {}: + return lgd.config + +def set_config(new_config: {}): + lgd.config = new_config + with open(os.path.join(lgd.path, 'config.ini'), "w") as cf: + lgd.config.write(cf) diff --git a/Rare/utils/utils.py b/Rare/utils/utils.py new file mode 100644 index 00000000..5fdf81ab --- /dev/null +++ b/Rare/utils/utils.py @@ -0,0 +1,90 @@ +import json +import os +from logging import getLogger + +import requests +from PIL import Image +from PyQt5.QtCore import pyqtSignal, QLocale +from legendary.core import LegendaryCore + +from Rare.utils import legendaryConfig +from Rare.utils.RareConfig import IMAGE_DIR + +logger = getLogger("Utils") + + +def download_images(signal: pyqtSignal, core: LegendaryCore): + if not os.path.isdir(IMAGE_DIR): + os.makedirs(IMAGE_DIR) + logger.info("Create Image dir") + + # Download Images + for i, game in enumerate(sorted(core.get_game_list(), key=lambda x: x.app_title)): + + if not os.path.isdir(f"{IMAGE_DIR}/" + game.app_name): + os.mkdir(f"{IMAGE_DIR}/" + game.app_name) + + if not os.path.isfile(f"{IMAGE_DIR}/{game.app_name}/image.json"): + json_data = {"DieselGameBoxTall": None, "DieselGameBoxLogo": None} + else: + json_data = json.load(open(f"{IMAGE_DIR}/{game.app_name}/image.json", "r")) + + for image in game.metadata["keyImages"]: + if image["type"] == "DieselGameBoxTall" or image["type"] == "DieselGameBoxLogo": + + if json_data[image["type"]] != image["md5"] or not os.path.isfile( + f"{IMAGE_DIR}/{game.app_name}/{image['type']}.png"): + # Download + json_data[image["type"]] = image["md5"] + # os.remove(f"{IMAGE_DIR}/{game.app_name}/{image['type']}.png") + json.dump(json_data, open(f"{IMAGE_DIR}/{game.app_name}/image.json", "w")) + logger.info(f"Download Image for Game: {game.app_title}") + url = image["url"] + with open(f"{IMAGE_DIR}/{game.app_name}/{image['type']}.png", "wb") as f: + f.write(requests.get(url).content) + f.close() + + if not os.path.isfile(f'{IMAGE_DIR}/' + game.app_name + '/UninstalledArt.png'): + + if os.path.isfile(f'{IMAGE_DIR}/' + game.app_name + '/DieselGameBoxTall.png'): + # finalArt = Image.open(f'{IMAGE_DIR}/' + game.app_name + '/DieselGameBoxTall.png') + # finalArt.save(f'{IMAGE_DIR}/{game.app_name}/FinalArt.png') + # And same with the grayscale one + + bg = Image.open(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxTall.png") + uninstalledArt = bg.convert('L') + uninstalledArt.save(f'{IMAGE_DIR}/{game.app_name}/UninstalledArt.png') + elif os.path.isfile(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxLogo.png"): + bg: Image.Image = Image.open(f"{IMAGE_DIR}/{game.app_name}/DieselGameBoxLogo.png") + bg = bg.resize((int(bg.size[1] * 3 / 4), bg.size[1])) + logo = Image.open(f'{IMAGE_DIR}/{game.app_name}/DieselGameBoxLogo.png').convert('RGBA') + wpercent = ((bg.size[0] * (3 / 4)) / float(logo.size[0])) + hsize = int((float(logo.size[1]) * float(wpercent))) + logo = logo.resize((int(bg.size[0] * (3 / 4)), hsize), Image.ANTIALIAS) + # Calculate where the image has to be placed + pasteX = int((bg.size[0] - logo.size[0]) / 2) + pasteY = int((bg.size[1] - logo.size[1]) / 2) + # And finally copy the background and paste in the image + # finalArt = bg.copy() + # finalArt.paste(logo, (pasteX, pasteY), logo) + # Write out the file + # finalArt.save(f'{IMAGE_DIR}/' + game.app_name + '/FinalArt.png') + logoCopy = logo.copy() + logoCopy.putalpha(int(256 * 3 / 4)) + logo.paste(logoCopy, logo) + uninstalledArt = bg.copy() + uninstalledArt.paste(logo, (pasteX, pasteY), logo) + uninstalledArt = uninstalledArt.convert('L') + uninstalledArt.save(f'{IMAGE_DIR}/' + game.app_name + '/UninstalledArt.png') + else: + logger.warning(f"File {IMAGE_DIR}/{game.app_name}/DieselGameBoxTall.png dowsn't exist") + signal.emit(i) + + +def get_lang(): + if "Legendary" in legendaryConfig.get_config() and "locale" in legendaryConfig.get_config()["Legendary"]: + logger.info("Found locale in Legendary config: " + legendaryConfig.get_config()["Legendary"]["locale"]) + return legendaryConfig.get_config()["Legendary"]["locale"].split("-")[0] + else: + logger.info("Found locale in system config: " + QLocale.system().name().split("_")[0]) + return QLocale.system().name().split("_")[0]