Skip to content

Commit 74503ac

Browse files
committed
Plugins::WebBrowser: add tool tip in address completer
1 parent 40489b2 commit 74503ac

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

Plugins/WebBrowser/AddressCompleter.cpp

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,19 @@ CAddressCompleter::CAddressCompleter(QWidget *parent)
6060
, m_maxVisibleItems(8)
6161
, m_isCompleterVisible(false)
6262
{
63+
m_szEnter = tr("Enter a website URL or search content ......");
64+
m_szLineEditToolTip = m_szEnter + "\n\n"
65+
+ tr("Enter key: Apply current url");
66+
67+
m_szListWidgetToolTip += tr("Enter key: Apply current item") + "\n";
68+
m_szListWidgetToolTip += tr("Tab key: Apply current item") + "\n";
69+
m_szListWidgetToolTip += tr("Esc Key: Exit address completer") + "\n";
70+
m_szListWidgetToolTip += tr("Upper arrow key: Select previous item") + "\n";
71+
m_szListWidgetToolTip += tr("Down arrow key: Select next item");
72+
73+
m_szLineEditToolTipShow = m_szEnter + "\n\n" + m_szListWidgetToolTip;
74+
setToolTip(m_szListWidgetToolTip);
75+
6376
setupUI();
6477

6578
// 设置搜索延迟定时器(300ms防抖动)
@@ -122,16 +135,19 @@ void CAddressCompleter::attachToLineEdit(QLineEdit *lineEdit)
122135
{
123136
if (m_pLineEdit) {
124137
m_pLineEdit->removeEventFilter(this);
138+
m_pLineEdit->setToolTip(m_szOldLineEditToolTip);
125139
}
126140

127141
m_pLineEdit = lineEdit;
128142
if (m_pLineEdit) {
143+
m_szOldLineEditToolTip = m_pLineEdit->toolTip();
144+
m_pLineEdit->setToolTip(m_szLineEditToolTip);
129145
m_pLineEdit->installEventFilter(this);
130146
connect(m_pLineEdit, &QLineEdit::textEdited,
131147
this, &CAddressCompleter::onTextChanged);
132148

133149
// 设置提示文本
134-
m_pLineEdit->setPlaceholderText(tr("Enter a website URL or search content ......"));
150+
m_pLineEdit->setPlaceholderText(m_szEnter);
135151
}
136152
}
137153

@@ -152,12 +168,14 @@ bool CAddressCompleter::eventFilter(QObject *watched, QEvent *event)
152168
//qDebug(log) << Q_FUNC_INFO << keyEvent;
153169
switch (keyEvent->key()) {
154170
case Qt::Key_Down:
171+
case Qt::Key_PageDown:
155172
if (m_isCompleterVisible) {
156173
moveToNextItem();
157174
return true;
158175
}
159176
break;
160177
case Qt::Key_Up:
178+
case Qt::Key_PageUp:
161179
if (m_isCompleterVisible) {
162180
moveToPreviousItem();
163181
return true;
@@ -273,8 +291,10 @@ void CAddressCompleter::performSearch()
273291
url,
274292
i.icon
275293
);
276-
277-
m_pListWidget->setItemWidget(item, completerItem);
294+
if(completerItem) {
295+
completerItem->setToolTip(title + "\n\n" + toolTip());
296+
m_pListWidget->setItemWidget(item, completerItem);
297+
}
278298
item->setData(Qt::UserRole, url);
279299

280300
addedUrls.insert(url);
@@ -426,6 +446,7 @@ void CAddressCompleter::showCompleter()
426446
return;
427447
}
428448

449+
m_pLineEdit->setToolTip(m_szLineEditToolTipShow);
429450
updateCompleterPosition();
430451

431452
// 动画显示
@@ -462,6 +483,8 @@ void CAddressCompleter::hideCompleter()
462483

463484
qDebug(log) << Q_FUNC_INFO << "end";
464485

486+
m_pLineEdit->setToolTip(m_szLineEditToolTip);
487+
465488
// 动画隐藏
466489
QRect startRect = geometry();
467490
QRect endRect = geometry();

Plugins/WebBrowser/AddressCompleter.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ private Q_SLOTS:
7373

7474
private:
7575
QLineEdit *m_pLineEdit;
76+
QString m_szEnter;
77+
QString m_szOldLineEditToolTip;
78+
QString m_szLineEditToolTip;
79+
QString m_szLineEditToolTipShow;
80+
QString m_szListWidgetToolTip;
7681
QListWidget *m_pListWidget;
7782
CHistoryDatabase *m_pHistoryDatabase;
7883
QTimer *m_pSearchTimer;

0 commit comments

Comments
 (0)