Wed, 28 Aug 2024 18:20:33 +0200
Changed the message input widget to a QPlainTextEdit to be able to enter longer texts.
--- a/OllamaInterface/OllamaHistoryWidget.ui Tue Aug 27 14:06:50 2024 +0200 +++ b/OllamaInterface/OllamaHistoryWidget.ui Wed Aug 28 18:20:33 2024 +0200 @@ -46,7 +46,7 @@ <item> <widget class="QToolButton" name="newChatButton"> <property name="toolTip"> - <string>Press to start a new chat based on the current history.</string> + <string>Press to start a new chat based on the current history or switch to an already opened chat.</string> </property> </widget> </item>
--- a/OllamaInterface/OllamaWidget.py Tue Aug 27 14:06:50 2024 +0200 +++ b/OllamaInterface/OllamaWidget.py Wed Aug 28 18:20:33 2024 +0200 @@ -81,7 +81,7 @@ self.historyScrollWidget.setLayout(self.__chatHistoryLayout) self.__chatHistoryLayout.addStretch(1) - self.mainSplitter.setSizes([200, 2000]) + self.mainSplitter.setSizes([200, 2000, 100]) self.newChatButton.setEnabled(False) self.__handleServerStateChanged(False) @@ -99,7 +99,6 @@ self.__initOllamaMenu() self.sendButton.clicked.connect(self.__sendMessage) - self.messageEdit.returnPressed.connect(self.__sendMessage) self.__loadHistory() self.__updateMessageEditState() @@ -518,20 +517,17 @@ button. """ chatActive = bool(self.chatStackWidget.count()) - hasText = bool(self.messageEdit.text()) + hasText = bool(self.messageEdit.toPlainText()) self.messageEdit.setEnabled(chatActive) self.sendButton.setEnabled(chatActive and hasText) - @pyqtSlot(str) - def on_messageEdit_textChanged(self, msg): + @pyqtSlot() + def on_messageEdit_textChanged(self): """ Private slot to handle a change of the entered message. - - @param msg text of the message line edit - @type str """ - self.sendButton.setEnabled(bool(msg)) + self.sendButton.setEnabled(bool(self.messageEdit.toPlainText())) @pyqtSlot() def __sendMessage(self): @@ -541,7 +537,7 @@ This sends the message with context (i.e. the history of the current chat). """ - msg = self.messageEdit.text() + msg = self.messageEdit.toPlainText() if not msg: # empty message => ignore return
--- a/OllamaInterface/OllamaWidget.ui Tue Aug 27 14:06:50 2024 +0200 +++ b/OllamaInterface/OllamaWidget.ui Wed Aug 28 18:20:33 2024 +0200 @@ -90,9 +90,6 @@ <property name="orientation"> <enum>Qt::Vertical</enum> </property> - <property name="childrenCollapsible"> - <bool>false</bool> - </property> <widget class="QScrollArea" name="historyScrollArea"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> @@ -112,7 +109,7 @@ <x>0</x> <y>0</y> <width>533</width> - <height>641</height> + <height>68</height> </rect> </property> </widget> @@ -125,32 +122,48 @@ </sizepolicy> </property> </widget> + <widget class="QWidget" name=""> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0" rowspan="2"> + <widget class="QPlainTextEdit" name="messageEdit"> + <property name="toolTip"> + <string>Enter the message to be sent to the 'ollama' server.</string> + </property> + <property name="tabChangesFocus"> + <bool>true</bool> + </property> + <property name="placeholderText"> + <string>Enter Message</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="1"> + <widget class="QToolButton" name="sendButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string>Press to send the message of the current chat to the 'ollama' server.</string> + </property> + </widget> + </item> + </layout> + </widget> </widget> </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QLineEdit" name="messageEdit"> - <property name="toolTip"> - <string>Enter the message to be sent to the 'ollama' server.</string> - </property> - <property name="placeholderText"> - <string>Enter Message</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="sendButton"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Press to send the message of the current chat to the 'ollama' server.</string> - </property> - </widget> - </item> - </layout> - </item> </layout> </widget> <customwidgets> @@ -165,8 +178,6 @@ <tabstop>newChatButton</tabstop> <tabstop>reloadModelsButton</tabstop> <tabstop>historyScrollArea</tabstop> - <tabstop>messageEdit</tabstop> - <tabstop>sendButton</tabstop> <tabstop>ollamaMenuButton</tabstop> </tabstops> <resources/>
--- a/OllamaInterface/Ui_OllamaHistoryWidget.py Tue Aug 27 14:06:50 2024 +0200 +++ b/OllamaInterface/Ui_OllamaHistoryWidget.py Wed Aug 28 18:20:33 2024 +0200 @@ -44,6 +44,6 @@ def retranslateUi(self, OllamaHistoryWidget): _translate = QtCore.QCoreApplication.translate - self.newChatButton.setToolTip(_translate("OllamaHistoryWidget", "Press to start a new chat based on the current history.")) + self.newChatButton.setToolTip(_translate("OllamaHistoryWidget", "Press to start a new chat based on the current history or switch to an already opened chat.")) self.editButton.setToolTip(_translate("OllamaHistoryWidget", "Press to edit the chat title.")) self.deleteButton.setToolTip(_translate("OllamaHistoryWidget", "Press to delete this chat history."))
--- a/OllamaInterface/Ui_OllamaWidget.py Tue Aug 27 14:06:50 2024 +0200 +++ b/OllamaInterface/Ui_OllamaWidget.py Wed Aug 28 18:20:33 2024 +0200 @@ -48,7 +48,6 @@ self.verticalLayout.addLayout(self.horizontalLayout) self.mainSplitter = QtWidgets.QSplitter(parent=OllamaWidget) self.mainSplitter.setOrientation(QtCore.Qt.Orientation.Vertical) - self.mainSplitter.setChildrenCollapsible(False) self.mainSplitter.setObjectName("mainSplitter") self.historyScrollArea = QtWidgets.QScrollArea(parent=self.mainSplitter) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) @@ -60,7 +59,7 @@ self.historyScrollArea.setWidgetResizable(True) self.historyScrollArea.setObjectName("historyScrollArea") self.historyScrollWidget = QtWidgets.QWidget() - self.historyScrollWidget.setGeometry(QtCore.QRect(0, 0, 533, 641)) + self.historyScrollWidget.setGeometry(QtCore.QRect(0, 0, 533, 68)) self.historyScrollWidget.setObjectName("historyScrollWidget") self.historyScrollArea.setWidget(self.historyScrollWidget) self.chatStackWidget = QtWidgets.QStackedWidget(parent=self.mainSplitter) @@ -70,26 +69,29 @@ sizePolicy.setHeightForWidth(self.chatStackWidget.sizePolicy().hasHeightForWidth()) self.chatStackWidget.setSizePolicy(sizePolicy) self.chatStackWidget.setObjectName("chatStackWidget") - self.verticalLayout.addWidget(self.mainSplitter) - self.horizontalLayout_3 = QtWidgets.QHBoxLayout() - self.horizontalLayout_3.setObjectName("horizontalLayout_3") - self.messageEdit = QtWidgets.QLineEdit(parent=OllamaWidget) + self.widget = QtWidgets.QWidget(parent=self.mainSplitter) + self.widget.setObjectName("widget") + self.gridLayout = QtWidgets.QGridLayout(self.widget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.messageEdit = QtWidgets.QPlainTextEdit(parent=self.widget) + self.messageEdit.setTabChangesFocus(True) self.messageEdit.setObjectName("messageEdit") - self.horizontalLayout_3.addWidget(self.messageEdit) - self.sendButton = QtWidgets.QToolButton(parent=OllamaWidget) + self.gridLayout.addWidget(self.messageEdit, 0, 0, 2, 1) + spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding) + self.gridLayout.addItem(spacerItem2, 1, 1, 1, 1) + self.sendButton = QtWidgets.QToolButton(parent=self.widget) self.sendButton.setEnabled(False) self.sendButton.setObjectName("sendButton") - self.horizontalLayout_3.addWidget(self.sendButton) - self.verticalLayout.addLayout(self.horizontalLayout_3) + self.gridLayout.addWidget(self.sendButton, 0, 1, 1, 1) + self.verticalLayout.addWidget(self.mainSplitter) self.retranslateUi(OllamaWidget) QtCore.QMetaObject.connectSlotsByName(OllamaWidget) OllamaWidget.setTabOrder(self.modelComboBox, self.newChatButton) OllamaWidget.setTabOrder(self.newChatButton, self.reloadModelsButton) OllamaWidget.setTabOrder(self.reloadModelsButton, self.historyScrollArea) - OllamaWidget.setTabOrder(self.historyScrollArea, self.messageEdit) - OllamaWidget.setTabOrder(self.messageEdit, self.sendButton) - OllamaWidget.setTabOrder(self.sendButton, self.ollamaMenuButton) + OllamaWidget.setTabOrder(self.historyScrollArea, self.ollamaMenuButton) def retranslateUi(self, OllamaWidget): _translate = QtCore.QCoreApplication.translate