Improve PathEdit a bit more
Add placeholder text Remove some unused variables Open dialog starting from path if set
This commit is contained in:
parent
115d142f94
commit
748d51f31f
|
@ -26,7 +26,7 @@ class InstallDialog(QDialog):
|
||||||
if not default_path:
|
if not default_path:
|
||||||
default_path = os.path.expanduser("~/legendary")
|
default_path = os.path.expanduser("~/legendary")
|
||||||
if not update:
|
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)
|
self.form.addRow(QLabel("Install directory"), self.install_path_field)
|
||||||
|
|
||||||
if self.core.lgd.config.has_option("Legendary", "max_workers"):
|
if self.core.lgd.config.has_option("Legendary", "max_workers"):
|
||||||
|
|
|
@ -19,8 +19,7 @@ class LegendarySettings(QWidget, Ui_LegendarySettings):
|
||||||
|
|
||||||
# Default installation directory
|
# Default installation directory
|
||||||
self.install_dir = PathEdit(core.get_default_install_dir(),
|
self.install_dir = PathEdit(core.get_default_install_dir(),
|
||||||
type_of_file=QFileDialog.DirectoryOnly,
|
file_type=QFileDialog.DirectoryOnly)
|
||||||
infotext="Default")
|
|
||||||
self.install_dir.text_edit.textChanged.connect(
|
self.install_dir.text_edit.textChanged.connect(
|
||||||
lambda t: self.install_dir.save_path_button.setDisabled(False)
|
lambda t: self.install_dir.save_path_button.setDisabled(False)
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,8 +20,7 @@ class LinuxSettings(QWidget, Ui_LinuxSettings):
|
||||||
|
|
||||||
# Wineprefix
|
# Wineprefix
|
||||||
self.wine_prefix = PathEdit(self.core.lgd.config.get(self.name, "wine_prefix", fallback=""),
|
self.wine_prefix = PathEdit(self.core.lgd.config.get(self.name, "wine_prefix", fallback=""),
|
||||||
type_of_file=QFileDialog.DirectoryOnly,
|
file_type=QFileDialog.DirectoryOnly)
|
||||||
infotext="Default")
|
|
||||||
self.wine_prefix.text_edit.textChanged.connect(
|
self.wine_prefix.text_edit.textChanged.connect(
|
||||||
lambda t: self.wine_prefix.save_path_button.setDisabled(False)
|
lambda t: self.wine_prefix.save_path_button.setDisabled(False)
|
||||||
)
|
)
|
||||||
|
@ -33,9 +32,8 @@ class LinuxSettings(QWidget, Ui_LinuxSettings):
|
||||||
|
|
||||||
# Wine executable
|
# Wine executable
|
||||||
self.wine_exec = PathEdit(self.core.lgd.config.get(self.name, "wine_executable", fallback=""),
|
self.wine_exec = PathEdit(self.core.lgd.config.get(self.name, "wine_executable", fallback=""),
|
||||||
type_of_file=QFileDialog.ExistingFile,
|
file_type=QFileDialog.ExistingFile,
|
||||||
name_filter="Wine executable (wine wine64)",
|
name_filter="Wine executable (wine wine64)")
|
||||||
infotext="Default")
|
|
||||||
self.wine_exec.text_edit.textChanged.connect(
|
self.wine_exec.text_edit.textChanged.connect(
|
||||||
lambda t: self.wine_exec.save_path_button.setDisabled(False)
|
lambda t: self.wine_exec.save_path_button.setDisabled(False)
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,7 +41,7 @@ class RareSettings(QWidget, Ui_RareSettings):
|
||||||
language = self.settings.value("language", get_lang(), type=str)
|
language = self.settings.value("language", get_lang(), type=str)
|
||||||
|
|
||||||
# Select Image directory
|
# 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.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.clicked.connect(self.save_path)
|
||||||
self.img_dir.save_path_button.setDisabled(True)
|
self.img_dir.save_path_button.setDisabled(True)
|
||||||
|
|
|
@ -122,30 +122,32 @@ class ClickableLabel(QLabel):
|
||||||
|
|
||||||
|
|
||||||
class PathEdit(QWidget, Ui_PathEdit):
|
class PathEdit(QWidget, Ui_PathEdit):
|
||||||
def __init__(self, text: str = "",
|
def __init__(self,
|
||||||
type_of_file: QFileDialog.FileType = QFileDialog.AnyFile,
|
text: str = "",
|
||||||
filter: str = None, name_filter: str = None, infotext: str = ""):
|
file_type: QFileDialog.FileType = QFileDialog.AnyFile,
|
||||||
|
type_filter: str = None,
|
||||||
|
name_filter: str = None):
|
||||||
super(PathEdit, self).__init__()
|
super(PathEdit, self).__init__()
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
|
||||||
self.filter = filter
|
self.type_filter = type_filter
|
||||||
self.name_filter = name_filter
|
self.name_filter = name_filter
|
||||||
self.type_of_file = type_of_file
|
self.file_type = file_type
|
||||||
self.info_text = infotext
|
if text:
|
||||||
self.text_edit.setText(text)
|
self.text_edit.setText(text)
|
||||||
self.path_select.clicked.connect(self.set_path)
|
self.path_select.clicked.connect(self.set_path)
|
||||||
|
|
||||||
def setPlaceholderText(self, text: str):
|
|
||||||
self.text_edit.setPlaceholderText(text)
|
|
||||||
|
|
||||||
def text(self):
|
def text(self):
|
||||||
return self.text_edit.text()
|
return self.text_edit.text()
|
||||||
|
|
||||||
def set_path(self):
|
def set_path(self):
|
||||||
dlg = QFileDialog(self, self.tr("Choose Path"), os.path.expanduser("~/"))
|
dlg_path = self.text_edit.text()
|
||||||
dlg.setFileMode(self.type_of_file)
|
if not dlg_path:
|
||||||
if self.filter:
|
dlg_path = os.path.expanduser("~/")
|
||||||
dlg.setFilter([self.filter])
|
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:
|
if self.name_filter:
|
||||||
dlg.setNameFilter(self.name_filter)
|
dlg.setNameFilter(self.name_filter)
|
||||||
if dlg.exec_():
|
if dlg.exec_():
|
||||||
|
|
|
@ -22,6 +22,7 @@ class Ui_PathEdit(object):
|
||||||
self.path_select.setObjectName("path_select")
|
self.path_select.setObjectName("path_select")
|
||||||
self.layout_pathedit.addWidget(self.path_select, 0, 1, 1, 1)
|
self.layout_pathedit.addWidget(self.path_select, 0, 1, 1, 1)
|
||||||
self.text_edit = QtWidgets.QLineEdit(PathEdit)
|
self.text_edit = QtWidgets.QLineEdit(PathEdit)
|
||||||
|
self.text_edit.setMinimumSize(QtCore.QSize(300, 0))
|
||||||
self.text_edit.setObjectName("text_edit")
|
self.text_edit.setObjectName("text_edit")
|
||||||
self.layout_pathedit.addWidget(self.text_edit, 0, 0, 1, 1)
|
self.layout_pathedit.addWidget(self.text_edit, 0, 0, 1, 1)
|
||||||
self.layout_pathedit_save = QtWidgets.QHBoxLayout()
|
self.layout_pathedit_save = QtWidgets.QHBoxLayout()
|
||||||
|
@ -40,6 +41,7 @@ class Ui_PathEdit(object):
|
||||||
def retranslateUi(self, PathEdit):
|
def retranslateUi(self, PathEdit):
|
||||||
_translate = QtCore.QCoreApplication.translate
|
_translate = QtCore.QCoreApplication.translate
|
||||||
PathEdit.setWindowTitle(_translate("PathEdit", "PathEdit"))
|
PathEdit.setWindowTitle(_translate("PathEdit", "PathEdit"))
|
||||||
|
self.text_edit.setPlaceholderText(_translate("PathEdit", "Default"))
|
||||||
self.save_path_button.setText(_translate("PathEdit", "Save"))
|
self.save_path_button.setText(_translate("PathEdit", "Save"))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,17 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<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>
|
||||||
<item row="1" column="0" colspan="2">
|
<item row="1" column="0" colspan="2">
|
||||||
<layout class="QHBoxLayout" name="layout_pathedit_save">
|
<layout class="QHBoxLayout" name="layout_pathedit_save">
|
||||||
|
|
Loading…
Reference in a new issue