Fix Icon error for Ubuntu LTS, which uses QtAwesome 0.4.4
This commit is contained in:
parent
0698231ca0
commit
0bc15be1f6
|
@ -8,9 +8,9 @@ from PyQt5.QtWidgets import (
|
||||||
QHBoxLayout,
|
QHBoxLayout,
|
||||||
QPushButton,
|
QPushButton,
|
||||||
)
|
)
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from legendary.models.game import Game
|
from legendary.models.game import Game
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
|
|
||||||
class UninstallDialog(QDialog):
|
class UninstallDialog(QDialog):
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
from PyQt5.QtCore import QSize
|
from PyQt5.QtCore import QSize
|
||||||
from PyQt5.QtWidgets import QMenu, QTabWidget, QWidget, QWidgetAction, QShortcut
|
from PyQt5.QtWidgets import QMenu, QTabWidget, QWidget, QWidgetAction, QShortcut
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare import shared
|
from rare import shared
|
||||||
from rare.components.tabs.account import MiniWidget
|
from rare.components.tabs.account import MiniWidget
|
||||||
|
@ -10,6 +9,7 @@ from rare.components.tabs.settings import SettingsTab
|
||||||
from rare.components.tabs.settings.debug import DebugSettings
|
from rare.components.tabs.settings.debug import DebugSettings
|
||||||
from rare.components.tabs.shop import Shop
|
from rare.components.tabs.shop import Shop
|
||||||
from rare.components.tabs.tab_utils import MainTabBar, TabButtonWidget
|
from rare.components.tabs.tab_utils import MainTabBar, TabButtonWidget
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
|
|
||||||
class TabWidget(QTabWidget):
|
class TabWidget(QTabWidget):
|
||||||
|
@ -56,7 +56,7 @@ class TabWidget(QTabWidget):
|
||||||
self.mini_widget = MiniWidget()
|
self.mini_widget = MiniWidget()
|
||||||
account_action = QWidgetAction(self)
|
account_action = QWidgetAction(self)
|
||||||
account_action.setDefaultWidget(self.mini_widget)
|
account_action.setDefaultWidget(self.mini_widget)
|
||||||
account_button = TabButtonWidget("mdi.account-circle", "Account")
|
account_button = TabButtonWidget("mdi.account-circle", "Account", fallback_icon="fa.user")
|
||||||
account_button.setMenu(QMenu())
|
account_button.setMenu(QMenu())
|
||||||
account_button.menu().addAction(account_action)
|
account_button.menu().addAction(account_action)
|
||||||
self.tabBar().setTabButton(
|
self.tabBar().setTabButton(
|
||||||
|
|
|
@ -9,9 +9,9 @@ from PyQt5.QtWidgets import (
|
||||||
QPushButton,
|
QPushButton,
|
||||||
QWidget,
|
QWidget,
|
||||||
)
|
)
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare.utils.models import InstallQueueItemModel
|
from rare.utils.models import InstallQueueItemModel
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = getLogger("QueueWidget")
|
logger = getLogger("QueueWidget")
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
import datetime
|
import datetime
|
||||||
|
import sys
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
from typing import Union, List
|
from typing import Union, List
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtSignal, QRunnable, QThreadPool, Qt, QSettings
|
from PyQt5.QtCore import QObject, pyqtSignal, QRunnable, QThreadPool, Qt, QSettings
|
||||||
from PyQt5.QtWidgets import QDialog, QMessageBox, QSizePolicy, QLayout
|
from PyQt5.QtWidgets import QDialog, QMessageBox, QSizePolicy, QLayout, QApplication
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
|
from legendary.core import LegendaryCore
|
||||||
from legendary.models.game import SaveGameStatus, InstalledGame, SaveGameFile
|
from legendary.models.game import SaveGameStatus, InstalledGame, SaveGameFile
|
||||||
from rare import shared
|
from rare import shared
|
||||||
from rare.ui.components.dialogs.sync_save_dialog import Ui_SyncSaveDialog
|
from rare.ui.components.dialogs.sync_save_dialog import Ui_SyncSaveDialog
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = getLogger("Cloud Saves")
|
logger = getLogger("Cloud Saves")
|
||||||
|
|
||||||
|
@ -76,11 +78,11 @@ class CloudSaveDialog(QDialog, Ui_SyncSaveDialog):
|
||||||
CANCEL = 0
|
CANCEL = 0
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
igame: InstalledGame,
|
igame: InstalledGame,
|
||||||
dt_local: datetime.datetime,
|
dt_local: datetime.datetime,
|
||||||
dt_remote: datetime.datetime,
|
dt_remote: datetime.datetime,
|
||||||
newer: str,
|
newer: str,
|
||||||
):
|
):
|
||||||
super(CloudSaveDialog, self).__init__()
|
super(CloudSaveDialog, self).__init__()
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
@ -101,8 +103,8 @@ class CloudSaveDialog(QDialog, Ui_SyncSaveDialog):
|
||||||
elif newer == "local":
|
elif newer == "local":
|
||||||
self.local_gb.setTitle(self.local_gb.title() + new_text)
|
self.local_gb.setTitle(self.local_gb.title() + new_text)
|
||||||
|
|
||||||
self.icon_local.setPixmap(icon("mdi.harddisk").pixmap(128, 128))
|
self.icon_local.setPixmap(icon("mdi.harddisk", "fa.desktop").pixmap(128, 128))
|
||||||
self.icon_remote.setPixmap(icon("mdi.cloud-outline").pixmap(128, 128))
|
self.icon_remote.setPixmap(icon("mdi.cloud-outline", "ei.cloud").pixmap(128, 128))
|
||||||
|
|
||||||
self.upload_button.clicked.connect(lambda: self.btn_clicked(self.UPLOAD))
|
self.upload_button.clicked.connect(lambda: self.btn_clicked(self.UPLOAD))
|
||||||
self.download_button.clicked.connect(lambda: self.btn_clicked(self.DOWNLOAD))
|
self.download_button.clicked.connect(lambda: self.btn_clicked(self.DOWNLOAD))
|
||||||
|
@ -168,16 +170,16 @@ class CloudSaveUtils(QObject):
|
||||||
logger.info(f"Set save path of {igame.title} to {savepath}")
|
logger.info(f"Set save path of {igame.title} to {savepath}")
|
||||||
elif not ignore_settings: # sync on startup
|
elif not ignore_settings: # sync on startup
|
||||||
if (
|
if (
|
||||||
QMessageBox.question(
|
QMessageBox.question(
|
||||||
None,
|
None,
|
||||||
"Warning",
|
"Warning",
|
||||||
self.tr(
|
self.tr(
|
||||||
"Could not compute cloud save path. Please set it in Game settings manually. \nDo you want to launch {} anyway?"
|
"Could not compute cloud save path. Please set it in Game settings manually. \nDo you want to launch {} anyway?"
|
||||||
).format(igame.title),
|
).format(igame.title),
|
||||||
QMessageBox.Yes | QMessageBox.No,
|
QMessageBox.Yes | QMessageBox.No,
|
||||||
QMessageBox.No,
|
QMessageBox.No,
|
||||||
)
|
)
|
||||||
== QMessageBox.Yes
|
== QMessageBox.Yes
|
||||||
):
|
):
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
|
@ -313,3 +315,16 @@ class CloudSaveUtils(QObject):
|
||||||
self.tr("Syncing with cloud failed: \n ") + error_message,
|
self.tr("Syncing with cloud failed: \n ") + error_message,
|
||||||
)
|
)
|
||||||
self.sync_finished.emit(app_name)
|
self.sync_finished.emit(app_name)
|
||||||
|
|
||||||
|
|
||||||
|
def test_dialog():
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
core = LegendaryCore()
|
||||||
|
dlg = CloudSaveDialog(core.get_installed_list()[0], datetime.datetime.now(),
|
||||||
|
datetime.datetime.strptime("2021,1", "%Y,%M"), "local")
|
||||||
|
dlg.show()
|
||||||
|
app.exec_()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
test_dialog()
|
||||||
|
|
|
@ -12,7 +12,6 @@ from PyQt5.QtWidgets import (
|
||||||
QPushButton,
|
QPushButton,
|
||||||
QSizePolicy,
|
QSizePolicy,
|
||||||
)
|
)
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from legendary.core import LegendaryCore
|
from legendary.core import LegendaryCore
|
||||||
from legendary.models.game import InstalledGame, Game
|
from legendary.models.game import InstalledGame, Game
|
||||||
|
@ -20,6 +19,7 @@ from rare.components.tabs.settings.linux import LinuxSettings
|
||||||
from rare.ui.components.tabs.games.game_info.game_settings import Ui_GameSettings
|
from rare.ui.components.tabs.games.game_info.game_settings import Ui_GameSettings
|
||||||
from rare.utils.extra_widgets import PathEdit
|
from rare.utils.extra_widgets import PathEdit
|
||||||
from rare.utils.utils import WineResolver, get_raw_save_path
|
from rare.utils.utils import WineResolver, get_raw_save_path
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = getLogger("GameSettings")
|
logger = getLogger("GameSettings")
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,12 @@ from logging import getLogger
|
||||||
from PyQt5.QtCore import QEvent, pyqtSignal, QSize, Qt
|
from PyQt5.QtCore import QEvent, pyqtSignal, QSize, Qt
|
||||||
from PyQt5.QtGui import QMouseEvent
|
from PyQt5.QtGui import QMouseEvent
|
||||||
from PyQt5.QtWidgets import QVBoxLayout, QHBoxLayout, QPushButton, QLabel
|
from PyQt5.QtWidgets import QVBoxLayout, QHBoxLayout, QPushButton, QLabel
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare import shared
|
from rare import shared
|
||||||
from rare.components.tabs.games.game_widgets.base_installed_widget import (
|
from rare.components.tabs.games.game_widgets.base_installed_widget import (
|
||||||
BaseInstalledWidget,
|
BaseInstalledWidget,
|
||||||
)
|
)
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = getLogger("GameWidgetInstalled")
|
logger = getLogger("GameWidgetInstalled")
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@ from logging import getLogger
|
||||||
|
|
||||||
from PyQt5.QtCore import QProcess, pyqtSignal, Qt
|
from PyQt5.QtCore import QProcess, pyqtSignal, Qt
|
||||||
from PyQt5.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout
|
from PyQt5.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare.components.tabs.games.game_widgets.base_installed_widget import (
|
from rare.components.tabs.games.game_widgets.base_installed_widget import (
|
||||||
BaseInstalledWidget,
|
BaseInstalledWidget,
|
||||||
)
|
)
|
||||||
from rare.utils.utils import get_size
|
from rare.utils.utils import get_size
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = getLogger("GameWidget")
|
logger = getLogger("GameWidget")
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,10 @@ from PyQt5.QtWidgets import (
|
||||||
QHBoxLayout,
|
QHBoxLayout,
|
||||||
QComboBox,
|
QComboBox,
|
||||||
)
|
)
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare import shared
|
from rare import shared
|
||||||
from rare.utils.extra_widgets import SelectViewWidget
|
from rare.utils.extra_widgets import SelectViewWidget
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
|
|
||||||
class GameListHeadBar(QWidget):
|
class GameListHeadBar(QWidget):
|
||||||
|
@ -62,11 +62,11 @@ class GameListHeadBar(QWidget):
|
||||||
self.filter.currentIndexChanged.connect(self.filter_changed)
|
self.filter.currentIndexChanged.connect(self.filter_changed)
|
||||||
self.layout().addStretch(1)
|
self.layout().addStretch(1)
|
||||||
|
|
||||||
self.import_game = QPushButton(icon("mdi.import"), self.tr("Import Game"))
|
self.import_game = QPushButton(icon("mdi.import", "fa.arrow-down"), self.tr("Import Game"))
|
||||||
self.import_clicked = self.import_game.clicked
|
self.import_clicked = self.import_game.clicked
|
||||||
self.layout().addWidget(self.import_game)
|
self.layout().addWidget(self.import_game)
|
||||||
|
|
||||||
self.egl_sync = QPushButton(icon("mdi.sync"), self.tr("Sync with EGL"))
|
self.egl_sync = QPushButton(icon("mdi.sync", "fa.refresh"), self.tr("Sync with EGL"))
|
||||||
self.egl_sync_clicked = self.egl_sync.clicked
|
self.egl_sync_clicked = self.egl_sync.clicked
|
||||||
self.layout().addWidget(self.egl_sync)
|
self.layout().addWidget(self.egl_sync)
|
||||||
# FIXME: Until it is ready
|
# FIXME: Until it is ready
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
from PyQt5.QtCore import QSettings, pyqtSignal
|
from PyQt5.QtCore import QSettings
|
||||||
from PyQt5.QtWidgets import QGroupBox
|
from PyQt5.QtWidgets import QGroupBox
|
||||||
|
|
||||||
from rare.ui.components.tabs.settings.rpc import Ui_RPCSettings
|
from rare.ui.components.tabs.settings.rpc import Ui_RPCSettings
|
||||||
|
|
||||||
|
|
||||||
class RPCSettings(QGroupBox, Ui_RPCSettings):
|
class RPCSettings(QGroupBox, Ui_RPCSettings):
|
||||||
update_settings = pyqtSignal()
|
def __init__(self, parent):
|
||||||
|
super(RPCSettings, self).__init__(parent=parent)
|
||||||
def __init__(self):
|
|
||||||
super(RPCSettings, self).__init__()
|
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
|
||||||
self.settings = QSettings()
|
self.settings = QSettings()
|
||||||
|
@ -33,4 +31,3 @@ class RPCSettings(QGroupBox, Ui_RPCSettings):
|
||||||
|
|
||||||
def changed(self, i):
|
def changed(self, i):
|
||||||
self.settings.setValue("rpc_enable", i)
|
self.settings.setValue("rpc_enable", i)
|
||||||
self.update_settings.emit()
|
|
||||||
|
|
|
@ -4,10 +4,10 @@ from logging import getLogger
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtSignal, QRunnable, QThreadPool, QSize
|
from PyQt5.QtCore import QObject, pyqtSignal, QRunnable, QThreadPool, QSize
|
||||||
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QSizePolicy, QPushButton
|
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QSizePolicy, QPushButton
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from legendary.models.game import Game
|
from legendary.models.game import Game
|
||||||
from rare import shared
|
from rare import shared
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = getLogger("Ubisoft")
|
logger = getLogger("Ubisoft")
|
||||||
|
|
||||||
|
|
|
@ -13,12 +13,12 @@ from PyQt5.QtWidgets import (
|
||||||
QTabWidget,
|
QTabWidget,
|
||||||
QGridLayout,
|
QGridLayout,
|
||||||
)
|
)
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare import shared
|
from rare import shared
|
||||||
from rare.components.tabs.shop.shop_models import ShopGame
|
from rare.components.tabs.shop.shop_models import ShopGame
|
||||||
from rare.ui.components.tabs.store.shop_game_info import Ui_shop_info
|
from rare.ui.components.tabs.store.shop_game_info import Ui_shop_info
|
||||||
from rare.utils.extra_widgets import WaitingSpinner, ImageLabel
|
from rare.utils.extra_widgets import WaitingSpinner, ImageLabel
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = logging.getLogger("ShopInfo")
|
logger = logging.getLogger("ShopInfo")
|
||||||
|
|
||||||
|
@ -234,10 +234,10 @@ class ShopGameInfo(QWidget, Ui_shop_info):
|
||||||
for name, url in self.game.links:
|
for name, url in self.game.links:
|
||||||
|
|
||||||
if name.lower() == "homepage":
|
if name.lower() == "homepage":
|
||||||
icn = icon("mdi.web", scale_factor=1.5)
|
icn = icon("mdi.web", "fa.search", scale_factor=1.5)
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
icn = icon("mdi." + name.lower(), scale_factor=1.5)
|
icn = icon("mdi." + name.lower(), "fa." + name.lower(), scale_factor=1.5)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(str(e))
|
logger.error(str(e))
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -5,11 +5,11 @@ from PyQt5.QtCore import pyqtSignal
|
||||||
from PyQt5.QtGui import QFont
|
from PyQt5.QtGui import QFont
|
||||||
from PyQt5.QtNetwork import QNetworkAccessManager
|
from PyQt5.QtNetwork import QNetworkAccessManager
|
||||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QHBoxLayout
|
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QHBoxLayout
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare.components.tabs.shop.shop_models import ImageUrlModel
|
from rare.components.tabs.shop.shop_models import ImageUrlModel
|
||||||
from rare.ui.components.tabs.store.wishlist_widget import Ui_WishlistWidget
|
from rare.ui.components.tabs.store.wishlist_widget import Ui_WishlistWidget
|
||||||
from rare.utils.extra_widgets import ImageLabel
|
from rare.utils.extra_widgets import ImageLabel
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
logger = logging.getLogger("GameWidgets")
|
logger = logging.getLogger("GameWidgets")
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5.QtCore import pyqtSignal
|
from PyQt5.QtCore import pyqtSignal
|
||||||
from PyQt5.QtWidgets import QStackedWidget, QMessageBox
|
from PyQt5.QtWidgets import QStackedWidget, QMessageBox
|
||||||
from qtawesome import icon
|
|
||||||
|
|
||||||
from rare.components.tabs.shop import ShopApiCore
|
from rare.components.tabs.shop import ShopApiCore
|
||||||
from rare.components.tabs.shop.game_widgets import WishlistWidget
|
from rare.components.tabs.shop.game_widgets import WishlistWidget
|
||||||
from rare.ui.components.tabs.store.wishlist import Ui_Wishlist
|
from rare.ui.components.tabs.store.wishlist import Ui_Wishlist
|
||||||
from rare.utils.extra_widgets import WaitingSpinner
|
from rare.utils.extra_widgets import WaitingSpinner
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
|
|
||||||
class Wishlist(QStackedWidget, Ui_Wishlist):
|
class Wishlist(QStackedWidget, Ui_Wishlist):
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
from PyQt5.QtCore import QSize
|
from PyQt5.QtCore import QSize
|
||||||
from PyQt5.QtWidgets import QTabBar, QToolButton
|
from PyQt5.QtWidgets import QTabBar, QToolButton
|
||||||
from qtawesome import icon
|
|
||||||
|
from rare.utils.utils import icon
|
||||||
|
|
||||||
|
|
||||||
class MainTabBar(QTabBar):
|
class MainTabBar(QTabBar):
|
||||||
|
@ -25,10 +26,10 @@ class MainTabBar(QTabBar):
|
||||||
|
|
||||||
|
|
||||||
class TabButtonWidget(QToolButton):
|
class TabButtonWidget(QToolButton):
|
||||||
def __init__(self, button_icon: str, tool_tip: str):
|
def __init__(self, button_icon: str, tool_tip: str, fallback_icon=None):
|
||||||
super(TabButtonWidget, self).__init__()
|
super(TabButtonWidget, self).__init__()
|
||||||
self.setText("Icon")
|
self.setText("Icon")
|
||||||
self.setPopupMode(QToolButton.InstantPopup)
|
self.setPopupMode(QToolButton.InstantPopup)
|
||||||
self.setIcon(icon(button_icon, scale_factor=1.25))
|
self.setIcon(icon(button_icon, fallback_icon, scale_factor=1.25))
|
||||||
self.setToolTip(tool_tip)
|
self.setToolTip(tool_tip)
|
||||||
self.setIconSize(QSize(25, 25))
|
self.setIconSize(QSize(25, 25))
|
||||||
|
|
|
@ -32,10 +32,10 @@ from PyQt5.QtWidgets import (
|
||||||
QStyledItemDelegate,
|
QStyledItemDelegate,
|
||||||
QFileIconProvider,
|
QFileIconProvider,
|
||||||
)
|
)
|
||||||
from qtawesome import icon as qta_icon
|
|
||||||
|
|
||||||
from rare import cache_dir
|
from rare import cache_dir
|
||||||
from rare.utils.qt_requests import QtRequestManager
|
from rare.utils.qt_requests import QtRequestManager
|
||||||
|
from rare.utils.utils import icon as qta_icon
|
||||||
|
|
||||||
logger = getLogger("ExtraWidgets")
|
logger = getLogger("ExtraWidgets")
|
||||||
|
|
||||||
|
@ -244,22 +244,22 @@ class IndicatorLineEdit(QWidget):
|
||||||
|
|
||||||
class PathEditIconProvider(QFileIconProvider):
|
class PathEditIconProvider(QFileIconProvider):
|
||||||
icons = [
|
icons = [
|
||||||
"mdi.file-cancel", # Unknown
|
("mdi.file-cancel", "fa.file-excel-o"), # Unknown
|
||||||
"mdi.desktop-classic", # Computer
|
("mdi.desktop-classic", "fa.desktop"), # Computer
|
||||||
"mdi.desktop-mac", # Desktop
|
("mdi.desktop-mac", "fa.desktop"), # Desktop
|
||||||
"mdi.trash-can", # Trashcan
|
("mdi.trash-can", "fa.trash"), # Trashcan
|
||||||
"mdi.server-network", # Network
|
("mdi.server-network", "fa.server"), # Network
|
||||||
"mdi.harddisk", # Drive
|
("mdi.harddisk", "fa.desktop"), # Drive
|
||||||
"mdi.folder", # Folder
|
("mdi.folder", "fa.folder"), # Folder
|
||||||
"mdi.file", # File
|
("mdi.file", "fa.file"), # File
|
||||||
"mdi.cog", # Executable
|
("mdi.cog", "fa.cog"), # Executable
|
||||||
]
|
]
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(PathEditIconProvider, self).__init__()
|
super(PathEditIconProvider, self).__init__()
|
||||||
self.icon_types = dict()
|
self.icon_types = dict()
|
||||||
for idx, icn in enumerate(self.icons):
|
for idx, (icn, fallback) in enumerate(self.icons):
|
||||||
self.icon_types.update({idx - 1: qta_icon(icn, color="#eeeeee")})
|
self.icon_types.update({idx - 1: qta_icon(icn, fallback, color="#eeeeee")})
|
||||||
|
|
||||||
def icon(self, info_type):
|
def icon(self, info_type):
|
||||||
if isinstance(info_type, QFileInfo):
|
if isinstance(info_type, QFileInfo):
|
||||||
|
@ -281,21 +281,24 @@ class PathEdit(IndicatorLineEdit):
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
path: str = "",
|
path: str = "",
|
||||||
file_type: QFileDialog.FileType = QFileDialog.AnyFile,
|
file_type: QFileDialog.FileType = QFileDialog.AnyFile,
|
||||||
type_filter: str = "",
|
type_filter: str = "",
|
||||||
name_filter: str = "",
|
name_filter: str = "",
|
||||||
ph_text: str = "",
|
ph_text: str = "",
|
||||||
edit_func: Callable[[str], Tuple[bool, str]] = None,
|
edit_func: Callable[[str], Tuple[bool, str]] = None,
|
||||||
save_func: Callable[[str], None] = None,
|
save_func: Callable[[str], None] = None,
|
||||||
horiz_policy: QSizePolicy = QSizePolicy.Expanding,
|
horiz_policy: QSizePolicy = QSizePolicy.Expanding,
|
||||||
parent=None,
|
parent=None,
|
||||||
):
|
):
|
||||||
self.compl_model.setOptions(
|
try:
|
||||||
QFileSystemModel.DontWatchForChanges
|
self.compl_model.setOptions(
|
||||||
| QFileSystemModel.DontResolveSymlinks
|
QFileSystemModel.DontWatchForChanges
|
||||||
| QFileSystemModel.DontUseCustomDirectoryIcons
|
| QFileSystemModel.DontResolveSymlinks
|
||||||
)
|
| QFileSystemModel.DontUseCustomDirectoryIcons
|
||||||
|
)
|
||||||
|
except AttributeError as e: # Error on Ubuntu
|
||||||
|
logger.warning(e)
|
||||||
self.compl_model.setIconProvider(PathEditIconProvider())
|
self.compl_model.setIconProvider(PathEditIconProvider())
|
||||||
self.compl_model.setRootPath(path)
|
self.compl_model.setRootPath(path)
|
||||||
self.completer.setModel(self.compl_model)
|
self.completer.setModel(self.compl_model)
|
||||||
|
@ -381,7 +384,7 @@ class SideTabWidget(QTabWidget):
|
||||||
self.setDocumentMode(True)
|
self.setDocumentMode(True)
|
||||||
self.setTabPosition(QTabWidget.West)
|
self.setTabPosition(QTabWidget.West)
|
||||||
if show_back:
|
if show_back:
|
||||||
self.addTab(QWidget(), qta_icon("mdi.keyboard-backspace"), self.tr("Back"))
|
self.addTab(QWidget(), qta_icon("mdi.keyboard-backspace", "ei.backward"), self.tr("Back"))
|
||||||
self.tabBarClicked.connect(self.back_func)
|
self.tabBarClicked.connect(self.back_func)
|
||||||
|
|
||||||
def back_func(self, tab):
|
def back_func(self, tab):
|
||||||
|
@ -417,12 +420,12 @@ class SelectViewWidget(QWidget):
|
||||||
self.list_view = QPushButton()
|
self.list_view = QPushButton()
|
||||||
if icon_view:
|
if icon_view:
|
||||||
self.icon_view_button.setIcon(
|
self.icon_view_button.setIcon(
|
||||||
qta_icon("mdi.view-grid-outline", color="orange")
|
qta_icon("mdi.view-grid-outline", "ei.th-large", color="orange")
|
||||||
)
|
)
|
||||||
self.list_view.setIcon(qta_icon("fa5s.list"))
|
self.list_view.setIcon(qta_icon("fa5s.list", "ei.th-list"))
|
||||||
else:
|
else:
|
||||||
self.icon_view_button.setIcon(qta_icon("mdi.view-grid-outline"))
|
self.icon_view_button.setIcon(qta_icon("mdi.view-grid-outline", "ei.th-large"))
|
||||||
self.list_view.setIcon(qta_icon("fa5s.list", color="orange"))
|
self.list_view.setIcon(qta_icon("fa5s.list", "ei.th-list", color="orange"))
|
||||||
|
|
||||||
self.icon_view_button.clicked.connect(self.icon)
|
self.icon_view_button.clicked.connect(self.icon)
|
||||||
self.list_view.clicked.connect(self.list)
|
self.list_view.clicked.connect(self.list)
|
||||||
|
@ -437,14 +440,14 @@ class SelectViewWidget(QWidget):
|
||||||
return self.icon_view
|
return self.icon_view
|
||||||
|
|
||||||
def icon(self):
|
def icon(self):
|
||||||
self.icon_view_button.setIcon(qta_icon("mdi.view-grid-outline", color="orange"))
|
self.icon_view_button.setIcon(qta_icon("mdi.view-grid-outline", "ei.th-large", color="orange"))
|
||||||
self.list_view.setIcon(qta_icon("fa5s.list"))
|
self.list_view.setIcon(qta_icon("fa5s.list", "ei.th-list"))
|
||||||
self.icon_view = False
|
self.icon_view = False
|
||||||
self.toggled.emit()
|
self.toggled.emit()
|
||||||
|
|
||||||
def list(self):
|
def list(self):
|
||||||
self.icon_view_button.setIcon(qta_icon("mdi.view-grid-outline"))
|
self.icon_view_button.setIcon(qta_icon("mdi.view-grid-outline", "ei.th-large"))
|
||||||
self.list_view.setIcon(qta_icon("fa5s.list", color="orange"))
|
self.list_view.setIcon(qta_icon("fa5s.list", "ei.th-list", color="orange"))
|
||||||
self.icon_view = True
|
self.icon_view = True
|
||||||
self.toggled.emit()
|
self.toggled.emit()
|
||||||
|
|
||||||
|
|
|
@ -86,14 +86,14 @@ def download_image(game, force=False):
|
||||||
# Download
|
# Download
|
||||||
for image in game.metadata["keyImages"]:
|
for image in game.metadata["keyImages"]:
|
||||||
if (
|
if (
|
||||||
image["type"] == "DieselGameBoxTall"
|
image["type"] == "DieselGameBoxTall"
|
||||||
or image["type"] == "DieselGameBoxLogo"
|
or image["type"] == "DieselGameBoxLogo"
|
||||||
or image["type"] == "Thumbnail"
|
or image["type"] == "Thumbnail"
|
||||||
):
|
):
|
||||||
if image["type"] not in json_data.keys():
|
if image["type"] not in json_data.keys():
|
||||||
json_data[image["type"]] = None
|
json_data[image["type"]] = None
|
||||||
if json_data[image["type"]] != image["md5"] or not os.path.isfile(
|
if json_data[image["type"]] != image["md5"] or not os.path.isfile(
|
||||||
f"{image_dir}/{game.app_name}/{image['type']}.png"
|
f"{image_dir}/{game.app_name}/{image['type']}.png"
|
||||||
):
|
):
|
||||||
# Download
|
# Download
|
||||||
json_data[image["type"]] = image["md5"]
|
json_data[image["type"]] = image["md5"]
|
||||||
|
@ -311,7 +311,7 @@ def create_desktop_link(app_name, core: LegendaryCore, type_of_link="desktop") -
|
||||||
if os.path.exists(p := os.path.join(image_dir, igame.app_name, "Thumbnail.png")):
|
if os.path.exists(p := os.path.join(image_dir, igame.app_name, "Thumbnail.png")):
|
||||||
icon = p
|
icon = p
|
||||||
elif os.path.exists(
|
elif os.path.exists(
|
||||||
p := os.path.join(image_dir, igame.app_name, "DieselGameBoxLogo.png")
|
p := os.path.join(image_dir, igame.app_name, "DieselGameBoxLogo.png")
|
||||||
):
|
):
|
||||||
icon = p
|
icon = p
|
||||||
else:
|
else:
|
||||||
|
@ -467,13 +467,13 @@ class WineResolver(QRunnable):
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def run(self):
|
def run(self):
|
||||||
if "WINEPREFIX" not in self.wine_env or not os.path.exists(
|
if "WINEPREFIX" not in self.wine_env or not os.path.exists(
|
||||||
self.wine_env["WINEPREFIX"]
|
self.wine_env["WINEPREFIX"]
|
||||||
):
|
):
|
||||||
# pylint: disable=E1136
|
# pylint: disable=E1136
|
||||||
self.signals.result_ready[str].emit(str())
|
self.signals.result_ready[str].emit(str())
|
||||||
return
|
return
|
||||||
if not os.path.exists(self.wine_binary) or not os.path.exists(
|
if not os.path.exists(self.wine_binary) or not os.path.exists(
|
||||||
self.winepath_binary
|
self.winepath_binary
|
||||||
):
|
):
|
||||||
# pylint: disable=E1136
|
# pylint: disable=E1136
|
||||||
self.signals.result_ready[str].emit(str())
|
self.signals.result_ready[str].emit(str())
|
||||||
|
@ -531,14 +531,29 @@ def get_raw_save_path(game: Game):
|
||||||
if game.supports_cloud_saves:
|
if game.supports_cloud_saves:
|
||||||
return (
|
return (
|
||||||
game.metadata.get("customAttributes", {})
|
game.metadata.get("customAttributes", {})
|
||||||
.get("CloudSaveFolder", {})
|
.get("CloudSaveFolder", {})
|
||||||
.get("value")
|
.get("value")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_default_platform(app_name):
|
def get_default_platform(app_name):
|
||||||
if platform.system() != "Darwin" or app_name not in shared.api_results.mac_games:
|
if platform.system() != "Darwin" or app_name not in shared.api_results.mac_games:
|
||||||
return "Windows"
|
return "Windows"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return "Mac"
|
return "Mac"
|
||||||
|
|
||||||
|
|
||||||
|
def icon(icn_str: str, fallback: str = None, **kwargs):
|
||||||
|
try:
|
||||||
|
return qtawesome.icon(icn_str, **kwargs)
|
||||||
|
except Exception as e:
|
||||||
|
if not fallback:
|
||||||
|
logger.warning(str(e) + " " + icn_str)
|
||||||
|
if fallback:
|
||||||
|
try:
|
||||||
|
return qtawesome.icon(fallback, **kwargs)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(str(e))
|
||||||
|
if kwargs.get("color"):
|
||||||
|
kwargs["color"] = "red"
|
||||||
|
return qtawesome.icon("ei.error", **kwargs)
|
||||||
|
|
Loading…
Reference in a new issue