@@ -60,6 +60,14 @@ CAddressCompleter::CAddressCompleter(QWidget *parent)
6060 , m_maxVisibleItems(8 )
6161 , m_isCompleterVisible(false )
6262{
63+
64+ m_szToolTip += tr (" Enter key: Apply current item" ) + " \n " ;
65+ m_szToolTip += tr (" Tab key: Apply current item" ) + " \n " ;
66+ m_szToolTip += tr (" Esc Key: Exit address completer" ) + " \n " ;
67+ m_szToolTip += tr (" Upper arrow key: Select previous item" ) + " \n " ;
68+ m_szToolTip += tr (" Down arrow key: Select next item" );
69+ setToolTip (m_szToolTip);
70+
6371 setupUI ();
6472
6573 // 设置搜索延迟定时器(300ms防抖动)
@@ -126,12 +134,15 @@ void CAddressCompleter::attachToLineEdit(QLineEdit *lineEdit)
126134
127135 m_pLineEdit = lineEdit;
128136 if (m_pLineEdit) {
137+ m_szOldToolTip = m_pLineEdit->toolTip ();
138+ QString szEnter = tr (" Enter a website URL or search content ......" );
139+ m_pLineEdit->setToolTip (szEnter + " \n\n " + m_szToolTip);
129140 m_pLineEdit->installEventFilter (this );
130141 connect (m_pLineEdit, &QLineEdit::textEdited,
131142 this , &CAddressCompleter::onTextChanged);
132143
133144 // 设置提示文本
134- m_pLineEdit->setPlaceholderText (tr ( " Enter a website URL or search content ...... " ) );
145+ m_pLineEdit->setPlaceholderText (szEnter );
135146 }
136147}
137148
@@ -152,12 +163,14 @@ bool CAddressCompleter::eventFilter(QObject *watched, QEvent *event)
152163 // qDebug(log) << Q_FUNC_INFO << keyEvent;
153164 switch (keyEvent->key ()) {
154165 case Qt::Key_Down:
166+ case Qt::Key_PageDown:
155167 if (m_isCompleterVisible) {
156168 moveToNextItem ();
157169 return true ;
158170 }
159171 break ;
160172 case Qt::Key_Up:
173+ case Qt::Key_PageUp:
161174 if (m_isCompleterVisible) {
162175 moveToPreviousItem ();
163176 return true ;
@@ -273,8 +286,10 @@ void CAddressCompleter::performSearch()
273286 url,
274287 i.icon
275288 );
276-
277- m_pListWidget->setItemWidget (item, completerItem);
289+ if (completerItem) {
290+ completerItem->setToolTip (title + " \n\n " + toolTip ());
291+ m_pListWidget->setItemWidget (item, completerItem);
292+ }
278293 item->setData (Qt::UserRole, url);
279294
280295 addedUrls.insert (url);
0 commit comments