10000 add feature ("upload files") · ag-python-qt/pyqt-openai@da81cb2 · GitHub
[go: up one dir, main page]

Skip to content

Commit da81cb2

Browse files
committed
add feature ("upload files")
1 parent 63f9ef9 commit da81cb2

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

pyqt_openai/chat_widget/prompt.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
import os
2+
13
from qtpy.QtCore import Qt
2-
from qtpy.QtWidgets import QVBoxLayout, QToolButton, QMenu, QAction, QWidget, QHBoxLayout
4+
from qtpy.QtWidgets import QVBoxLayout, QFileDialog, QToolButton, QMenu, QAction, QWidget, QHBoxLayout
35

46
from pyqt_openai.chat_widget.textEditPropmtGroup import TextEditPropmtGroup
57
from pyqt_openai.propmt_command_completer.commandSuggestionWidget import CommandSuggestionWidget
@@ -68,10 +70,15 @@ def __initUi(self):
6870
supportPromptCommandAction.setCheckable(True)
6971
supportPromptCommandAction.toggled.connect(self.__supportPromptCommand)
7072

73+
readingFilesAction = QAction('Upload Files...', self)
74+
readingFilesAction.setCheckable(True)
75+
readingFilesAction.toggled.connect(self.__readingFiles)
76+
7177
# Add the actions to the menu
7278
menu.addAction(beginningAction)
7379
menu.addAction(endingAction)
7480
menu.addAction(supportPromptCommandAction)
81+
menu.addAction(readingFilesAction)
7582

7683
# Connect the button to the menu
7784
settingsBtn.setMenu(menu)
@@ -183,4 +190,22 @@ def __showEnding(self, f):
183190

184191
def __supportPromptCommand(self, f):
185192
self.__commandEnabled = f
186-
self.__textEditGroup.setCommandEnabled(f)
193+
self.__textEditGroup.setCommandEnabled(f)
194+
195+
def __readingFiles(self):
196+
filenames = QFileDialog.getOpenFileNames(self, 'Find', '', 'All Files (*.*)')
197+
if filenames[0]:
198+
filenames = filenames[0]
199+
source_context = ''
200+
for filename in filenames:
201+
base_filename = os.path.basename(filename)
202+
source_context += f'=== {base_filename} start ==='
203+
source_context += '\n'*2
204+
with open(filename, 'r', encoding='utf-8') as f:
205+
source_context += f.read()
206+
source_context += '\n'*2
207+
source_context += f'=== {base_filename} end ==='
208+
source_context += '\n'*2
209+
prompt_context = f'== Source Start ==\n{source_context}== Source End =='
210+
211+
self.__textEditGroup.getGroup()[1].setText(prompt_context)

0 commit comments

Comments
 (0)
0