mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-03 21:29:08 +00:00
Let Input Fields Wrap. Adjust Height based on Text in Field
- Convert Input Fields into PlainTextEdit - Display Each Selected File on a Separate Line in Field - Set Height of FileBrowser Input Field based on Number of Lines/Files
This commit is contained in:
@@ -173,7 +173,7 @@ class ConfigureScreen(QtWidgets.QDialog):
|
||||
self.new_config['processor'][child.processor_type.value] = merge_dicts(current_processor_config, default_processor_config)
|
||||
elif isinstance(child, LabelledTextField) and child.processor_type in self.new_config['processor']:
|
||||
if child.processor_type == ProcessorType.Conversation:
|
||||
self.new_config['processor'][child.processor_type.value]['openai-api-key'] = child.input_field.text() if child.input_field.text() != '' else None
|
||||
self.new_config['processor'][child.processor_type.value]['openai-api-key'] = child.input_field.toPlainText() if child.input_field.toPlainText() != '' else None
|
||||
|
||||
def save_settings_to_file(self) -> bool:
|
||||
# Validate config before writing to file
|
||||
|
||||
@@ -19,12 +19,14 @@ class FileBrowser(QtWidgets.QWidget):
|
||||
self.label = QtWidgets.QLabel()
|
||||
self.label.setText(title)
|
||||
self.label.setFixedWidth(95)
|
||||
self.label.setWordWrap(True)
|
||||
layout.addWidget(self.label)
|
||||
|
||||
self.lineEdit = QtWidgets.QLineEdit(self)
|
||||
self.lineEdit = QtWidgets.QPlainTextEdit(self)
|
||||
self.lineEdit.setFixedWidth(180)
|
||||
self.setFiles(default_files)
|
||||
|
||||
self.lineEdit.setFixedHeight(min(7+20*len(self.lineEdit.toPlainText().split('\n')),90))
|
||||
self.lineEdit.textChanged.connect(self.updateFieldHeight)
|
||||
layout.addWidget(self.lineEdit)
|
||||
|
||||
self.button = QtWidgets.QPushButton('Select')
|
||||
@@ -60,12 +62,15 @@ class FileBrowser(QtWidgets.QWidget):
|
||||
if not self.filepaths or len(self.filepaths) == 0:
|
||||
return
|
||||
elif len(self.filepaths) == 1:
|
||||
self.lineEdit.setText(self.filepaths[0])
|
||||
self.lineEdit.setPlainText(self.filepaths[0])
|
||||
else:
|
||||
self.lineEdit.setText(",".join(self.filepaths))
|
||||
self.lineEdit.setPlainText("\n".join(self.filepaths))
|
||||
|
||||
def getPaths(self):
|
||||
if self.lineEdit.text() == '':
|
||||
if self.lineEdit.toPlainText() == '':
|
||||
return []
|
||||
else:
|
||||
return self.lineEdit.text().split(',')
|
||||
return self.lineEdit.toPlainText().split('\n')
|
||||
|
||||
def updateFieldHeight(self):
|
||||
self.lineEdit.setFixedHeight(min(7+20*len(self.lineEdit.toPlainText().split('\n')),90))
|
||||
|
||||
@@ -15,10 +15,12 @@ class LabelledTextField(QtWidgets.QWidget):
|
||||
self.label = QtWidgets.QLabel()
|
||||
self.label.setText(title)
|
||||
self.label.setFixedWidth(95)
|
||||
self.label.setWordWrap(True)
|
||||
layout.addWidget(self.label)
|
||||
|
||||
self.input_field = QtWidgets.QLineEdit(self)
|
||||
self.input_field = QtWidgets.QTextEdit(self)
|
||||
self.input_field.setFixedWidth(250)
|
||||
self.input_field.setFixedHeight(27)
|
||||
self.input_field.setText(default_value)
|
||||
|
||||
layout.addWidget(self.input_field)
|
||||
|
||||
Reference in New Issue
Block a user