1
0
Fork 0
mirror of synced 2024-06-02 02:34:40 +12:00

RareSettings: Use QDesktopServices to open the file manager for us

This commit is contained in:
loathingKernel 2024-02-02 14:51:14 +02:00
parent 6be9eec3ef
commit b7b1bc6406

View file

@ -1,11 +1,9 @@
import os import os
import platform
import subprocess
import locale import locale
import sys
from logging import getLogger from logging import getLogger
from PyQt5.QtCore import QSettings, Qt, pyqtSlot from PyQt5.QtCore import QSettings, Qt, pyqtSlot, QUrl
from PyQt5.QtGui import QDesktopServices
from PyQt5.QtWidgets import QWidget, QMessageBox from PyQt5.QtWidgets import QWidget, QMessageBox
from rare.components.tabs.settings.widgets.rpc import RPCSettings from rare.components.tabs.settings.widgets.rpc import RPCSettings
@ -145,6 +143,7 @@ class RareSettings(QWidget, Ui_RareSettings):
# self.log_dir_clean_button.setVisible(False) # self.log_dir_clean_button.setVisible(False)
# self.log_dir_size_label.setVisible(False) # self.log_dir_size_label.setVisible(False)
@pyqtSlot()
def clean_logdir(self): def clean_logdir(self):
for f in log_dir().iterdir(): for f in log_dir().iterdir():
try: try:
@ -159,6 +158,7 @@ class RareSettings(QWidget, Ui_RareSettings):
) )
self.log_dir_size_label.setText(format_size(size)) self.log_dir_size_label.setText(format_size(size))
@pyqtSlot()
def create_start_menu_link(self): def create_start_menu_link(self):
try: try:
if not os.path.exists(self.start_menu_link): if not os.path.exists(self.start_menu_link):
@ -176,6 +176,7 @@ class RareSettings(QWidget, Ui_RareSettings):
self.tr("Permission error, cannot remove {}").format(self.start_menu_link), self.tr("Permission error, cannot remove {}").format(self.start_menu_link),
) )
@pyqtSlot()
def create_desktop_link(self): def create_desktop_link(self):
try: try:
if not os.path.exists(self.desktop_link): if not os.path.exists(self.desktop_link):
@ -220,18 +221,16 @@ class RareSettings(QWidget, Ui_RareSettings):
view = LibraryView(self.view_combo.itemData(index, Qt.UserRole)) view = LibraryView(self.view_combo.itemData(index, Qt.UserRole))
self.settings.setValue(options.library_view.key, int(view)) self.settings.setValue(options.library_view.key, int(view))
@staticmethod @pyqtSlot()
def open_directory(): def open_directory(self):
if platform.system() == "Windows": QDesktopServices.openUrl(QUrl(f"file://{log_dir()}"))
os.startfile(log_dir()) # pylint: disable=E1101
else:
opener = "open" if sys.platform == "darwin" else "xdg-open"
subprocess.Popen([opener, log_dir()])
@pyqtSlot()
def save_window_size(self): def save_window_size(self):
self.settings.setValue(options.save_size.key, self.save_size.isChecked()) self.settings.setValue(options.save_size.key, self.save_size.isChecked())
self.settings.remove(options.window_size.key) self.settings.remove(options.window_size.key)
@pyqtSlot(int)
def on_lang_changed(self, index: int): def on_lang_changed(self, index: int):
lang_code = self.lang_select.itemData(index, Qt.UserRole) lang_code = self.lang_select.itemData(index, Qt.UserRole)
if lang_code == locale.getlocale()[0]: if lang_code == locale.getlocale()[0]: