diff --git a/rare/components/dialogs/install_dialog.py b/rare/components/dialogs/install_dialog.py
index d3629725..dabb7654 100644
--- a/rare/components/dialogs/install_dialog.py
+++ b/rare/components/dialogs/install_dialog.py
@@ -26,7 +26,7 @@ class InstallDialog(QDialog):
if not default_path:
default_path = os.path.expanduser("~/legendary")
if not update:
- self.install_path_field = PathEdit(text=default_path, type_of_file=QFileDialog.DirectoryOnly)
+ self.install_path_field = PathEdit(text=default_path, file_type=QFileDialog.DirectoryOnly)
self.form.addRow(QLabel("Install directory"), self.install_path_field)
if self.core.lgd.config.has_option("Legendary", "max_workers"):
diff --git a/rare/components/tabs/settings/legendary.py b/rare/components/tabs/settings/legendary.py
index c23b98b7..3b9911bc 100644
--- a/rare/components/tabs/settings/legendary.py
+++ b/rare/components/tabs/settings/legendary.py
@@ -19,8 +19,7 @@ class LegendarySettings(QWidget, Ui_LegendarySettings):
# Default installation directory
self.install_dir = PathEdit(core.get_default_install_dir(),
- type_of_file=QFileDialog.DirectoryOnly,
- infotext="Default")
+ file_type=QFileDialog.DirectoryOnly)
self.install_dir.text_edit.textChanged.connect(
lambda t: self.install_dir.save_path_button.setDisabled(False)
)
diff --git a/rare/components/tabs/settings/linux.py b/rare/components/tabs/settings/linux.py
index d63633b3..09c5c078 100644
--- a/rare/components/tabs/settings/linux.py
+++ b/rare/components/tabs/settings/linux.py
@@ -20,8 +20,7 @@ class LinuxSettings(QWidget, Ui_LinuxSettings):
# Wineprefix
self.wine_prefix = PathEdit(self.core.lgd.config.get(self.name, "wine_prefix", fallback=""),
- type_of_file=QFileDialog.DirectoryOnly,
- infotext="Default")
+ file_type=QFileDialog.DirectoryOnly)
self.wine_prefix.text_edit.textChanged.connect(
lambda t: self.wine_prefix.save_path_button.setDisabled(False)
)
@@ -33,9 +32,8 @@ class LinuxSettings(QWidget, Ui_LinuxSettings):
# Wine executable
self.wine_exec = PathEdit(self.core.lgd.config.get(self.name, "wine_executable", fallback=""),
- type_of_file=QFileDialog.ExistingFile,
- name_filter="Wine executable (wine wine64)",
- infotext="Default")
+ file_type=QFileDialog.ExistingFile,
+ name_filter="Wine executable (wine wine64)")
self.wine_exec.text_edit.textChanged.connect(
lambda t: self.wine_exec.save_path_button.setDisabled(False)
)
diff --git a/rare/components/tabs/settings/rare.py b/rare/components/tabs/settings/rare.py
index 8a1b9f13..f6845467 100644
--- a/rare/components/tabs/settings/rare.py
+++ b/rare/components/tabs/settings/rare.py
@@ -41,7 +41,7 @@ class RareSettings(QWidget, Ui_RareSettings):
language = self.settings.value("language", get_lang(), type=str)
# Select Image directory
- self.img_dir = PathEdit(self.img_dir_path, type_of_file=QFileDialog.DirectoryOnly)
+ self.img_dir = PathEdit(self.img_dir_path, file_type=QFileDialog.DirectoryOnly)
self.img_dir.text_edit.textChanged.connect(lambda t: self.img_dir.save_path_button.setDisabled(False))
self.img_dir.save_path_button.clicked.connect(self.save_path)
self.img_dir.save_path_button.setDisabled(True)
diff --git a/rare/utils/extra_widgets.py b/rare/utils/extra_widgets.py
index 54443cc2..35139142 100644
--- a/rare/utils/extra_widgets.py
+++ b/rare/utils/extra_widgets.py
@@ -122,30 +122,32 @@ class ClickableLabel(QLabel):
class PathEdit(QWidget, Ui_PathEdit):
- def __init__(self, text: str = "",
- type_of_file: QFileDialog.FileType = QFileDialog.AnyFile,
- filter: str = None, name_filter: str = None, infotext: str = ""):
+ def __init__(self,
+ text: str = "",
+ file_type: QFileDialog.FileType = QFileDialog.AnyFile,
+ type_filter: str = None,
+ name_filter: str = None):
super(PathEdit, self).__init__()
self.setupUi(self)
- self.filter = filter
+ self.type_filter = type_filter
self.name_filter = name_filter
- self.type_of_file = type_of_file
- self.info_text = infotext
- self.text_edit.setText(text)
+ self.file_type = file_type
+ if text:
+ self.text_edit.setText(text)
self.path_select.clicked.connect(self.set_path)
- 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])
+ dlg_path = self.text_edit.text()
+ if not dlg_path:
+ dlg_path = os.path.expanduser("~/")
+ dlg = QFileDialog(self, self.tr("Choose Path"), dlg_path)
+ dlg.setFileMode(self.file_type)
+ if self.type_filter:
+ dlg.setFilter([self.type_filter])
if self.name_filter:
dlg.setNameFilter(self.name_filter)
if dlg.exec_():
diff --git a/rare/utils/pathedit_ui.py b/rare/utils/pathedit_ui.py
index d444e962..ec1f3413 100644
--- a/rare/utils/pathedit_ui.py
+++ b/rare/utils/pathedit_ui.py
@@ -22,6 +22,7 @@ class Ui_PathEdit(object):
self.path_select.setObjectName("path_select")
self.layout_pathedit.addWidget(self.path_select, 0, 1, 1, 1)
self.text_edit = QtWidgets.QLineEdit(PathEdit)
+ self.text_edit.setMinimumSize(QtCore.QSize(300, 0))
self.text_edit.setObjectName("text_edit")
self.layout_pathedit.addWidget(self.text_edit, 0, 0, 1, 1)
self.layout_pathedit_save = QtWidgets.QHBoxLayout()
@@ -40,6 +41,7 @@ class Ui_PathEdit(object):
def retranslateUi(self, PathEdit):
_translate = QtCore.QCoreApplication.translate
PathEdit.setWindowTitle(_translate("PathEdit", "PathEdit"))
+ self.text_edit.setPlaceholderText(_translate("PathEdit", "Default"))
self.save_path_button.setText(_translate("PathEdit", "Save"))
diff --git a/resources/ui/utils/pathedit.ui b/resources/ui/utils/pathedit.ui
index 7b0cb78a..b3b0e946 100644
--- a/resources/ui/utils/pathedit.ui
+++ b/resources/ui/utils/pathedit.ui
@@ -26,7 +26,17 @@
-
-
+
+
+
+ 300
+ 0
+
+
+
+ Default
+
+
-