88 QFileDialog , QMessageBox , QPushButton
99
1010from pyqt_openai .chatNavWidget import ChatNavWidget
11+ from pyqt_openai .chat_widget .chatBrowser import ChatBrowser
1112from pyqt_openai .chat_widget .chatWidget import ChatWidget
1213from pyqt_openai .chat_widget .prompt import Prompt
1314from pyqt_openai .constants import THREAD_TABLE_NAME
@@ -45,6 +46,8 @@ def __initVal(self):
4546 self .__show_setting = self .__settings_ini .value ('show_setting' , type = bool )
4647 self .__show_prompt = self .__settings_ini .value ('show_prompt' , type = bool )
4748
49+ self .__is_showing_favorite = False
50+
4851 def __initUi (self ):
4952 self .__chatNavWidget = ChatNavWidget (ChatThreadContainer .get_keys (), THREAD_TABLE_NAME )
5053 self .__chatWidget = ChatWidget ()
@@ -118,10 +121,11 @@ def __initUi(self):
118121 self .__chatNavWidget .onImport .connect (self .__importChat )
119122 self .__chatNavWidget .onChatGPTImport .connect (self .__chatGPTImport )
120123 self .__chatNavWidget .onExport .connect (self .__exportChat )
124+ self .__chatNavWidget .onFavoriteClicked .connect (self .__showFavorite )
121125
122126 self .__lineEdit .returnPressed .connect (self .__chat )
123127
124- self .__browser .messageUpdated .connect (self .__updateMessage )
128+ # self.__browser.messageUpdated.connect(self.__updateMessage)
125129
126130 lay = QHBoxLayout ()
127131 lay .addWidget (self .__prompt )
@@ -266,7 +270,7 @@ def __chat(self, continue_f=False):
266270 # Conversation result information after response
267271 container = ChatMessageContainer (** container_param )
268272
269- # For make GPT continue to respond
273+ # For make chatbot continue to respond
270274 if continue_f :
271275 query_text = 'Continue to respond.'
272276 else :
@@ -333,9 +337,11 @@ def __afterGenerated(self):
333337 self .__notifierWidget .doubleClicked .connect (self .window ().show )
334338
335339 def __showChat (self , id , title ):
340+ self .__showFavorite (False )
341+ self .__chatNavWidget .activateFavoriteFromParent (False )
336342 conv_data = DB .selectCertainThreadMessages (id )
337343 self .__chatWidget .showTitle (title )
338- self .__browser .replaceThread (id , conv_data )
344+ self .__browser .replaceThread (conv_data , id )
339345 self .__prompt .activateDuringGeneratingWidget (False )
340346 self .__prompt .activateAfterResponseWidget (False )
341347
@@ -350,7 +356,7 @@ def __addThread(self):
350356 cur_id = DB .insertThread (title )
351357 self .__browser .resetChatWidget (cur_id )
352358 self .__chatWidget .showTitle (title )
353- self .__browser .replaceThread (cur_id , DB .selectCertainThreadMessages (cur_id ))
359+ self .__browser .replaceThread (DB .selectCertainThreadMessages (cur_id ), cur_id )
354360 self .__lineEdit .setFocus ()
355361 self .__chatNavWidget .add (called_from_parent = True )
356362
@@ -407,9 +413,25 @@ def __exportChat(self, ids):
407413 DB .export (ids , filename )
408414 open_directory (os .path .dirname (filename ))
409415
410- def __updateMessage (self , arg : ChatMessageContainer ):
411- if arg .content :
412- DB .insertMessage (arg )
416+ # def __updateMessage(self, arg: ChatMessageContainer):
417+ # if arg.content:
418+ # DB.insertMessage(arg)
413419
414420 def setColumns (self , columns ):
415- self .__chatNavWidget .setColumns (columns )
421+ self .__chatNavWidget .setColumns (columns )
422+
423+ def __showFavorite (self , f ):
424+ if f :
425+ lst = DB .selectFavorite ()
426+ if len (lst ) == 0 :
427+ return
428+ else :
429+ lst = [ChatMessageContainer (** dict (c )) for c in lst ]
430+ self .__browser .replaceThreadForFavorite (lst )
431+ # self.__browser.show()
432+ # self.__browser.setWindowTitle('Favorite')
433+ # self.__browser.setWindowModality(Qt.WindowModality.ApplicationModal)
434+ # else:
435+ # self.__browser.messageUpdated.connect(self.__updateMessage)
436+ self .__prompt .setEnabled (not f )
437+ self .__is_showing_favorite = f
0 commit comments