1
0
Fork 0
mirror of synced 2024-05-18 11:32:50 +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 platform
import subprocess
import locale
import sys
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 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_size_label.setVisible(False)
@pyqtSlot()
def clean_logdir(self):
for f in log_dir().iterdir():
try:
@ -159,6 +158,7 @@ class RareSettings(QWidget, Ui_RareSettings):
)
self.log_dir_size_label.setText(format_size(size))
@pyqtSlot()
def create_start_menu_link(self):
try:
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),
)
@pyqtSlot()
def create_desktop_link(self):
try:
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))
self.settings.setValue(options.library_view.key, int(view))
@staticmethod
def open_directory():
if platform.system() == "Windows":
os.startfile(log_dir()) # pylint: disable=E1101
else:
opener = "open" if sys.platform == "darwin" else "xdg-open"
subprocess.Popen([opener, log_dir()])
@pyqtSlot()
def open_directory(self):
QDesktopServices.openUrl(QUrl(f"file://{log_dir()}"))
@pyqtSlot()
def save_window_size(self):
self.settings.setValue(options.save_size.key, self.save_size.isChecked())
self.settings.remove(options.window_size.key)
@pyqtSlot(int)
def on_lang_changed(self, index: int):
lang_code = self.lang_select.itemData(index, Qt.UserRole)
if lang_code == locale.getlocale()[0]: