1
0
Fork 0
mirror of synced 2024-06-17 01:54:46 +12:00

Improve PathEdit a bit more

Add placeholder text
Remove some unused variables
Open dialog starting from path if set
This commit is contained in:
Stelios Tsampas 2021-04-29 19:05:04 +03:00
parent 115d142f94
commit 748d51f31f
7 changed files with 35 additions and 24 deletions

View file

@ -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"):

View file

@ -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)
)

View file

@ -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)
)

View file

@ -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)

View file

@ -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_():

View file

@ -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"))

View file

@ -26,7 +26,17 @@
</widget>
</item>
<item row="0" column="0">
<widget class="QLineEdit" name="text_edit"/>
<widget class="QLineEdit" name="text_edit">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="placeholderText">
<string>Default</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<layout class="QHBoxLayout" name="layout_pathedit_save">