mirror of
https://invent.kde.org/network/falkon.git
synced 2024-11-11 09:32:12 +01:00
LocationBar: Fix Del key removing all right part of the url
This commit is contained in:
parent
4566a02ed7
commit
b1c12998c7
|
@ -48,7 +48,8 @@ LocationBar::LocationBar(BrowserWindow* window)
|
||||||
, m_window(window)
|
, m_window(window)
|
||||||
, m_webView(0)
|
, m_webView(0)
|
||||||
, m_holdingAlt(false)
|
, m_holdingAlt(false)
|
||||||
, m_backspacePressed(false)
|
, m_oldTextLength(0)
|
||||||
|
, m_currentTextLength(0)
|
||||||
, m_loadProgress(0)
|
, m_loadProgress(0)
|
||||||
, m_progressVisible(false)
|
, m_progressVisible(false)
|
||||||
{
|
{
|
||||||
|
@ -90,7 +91,7 @@ LocationBar::LocationBar(BrowserWindow* window)
|
||||||
editAction(PasteAndGo)->setIcon(QIcon::fromTheme(QSL("edit-paste")));
|
editAction(PasteAndGo)->setIcon(QIcon::fromTheme(QSL("edit-paste")));
|
||||||
connect(editAction(PasteAndGo), SIGNAL(triggered()), this, SLOT(pasteAndGo()));
|
connect(editAction(PasteAndGo), SIGNAL(triggered()), this, SLOT(pasteAndGo()));
|
||||||
|
|
||||||
connect(this, SIGNAL(textEdited(QString)), this, SLOT(textEditted()));
|
connect(this, SIGNAL(textEdited(QString)), this, SLOT(textEdited(QString)));
|
||||||
connect(m_goIcon, SIGNAL(clicked(QPoint)), this, SLOT(requestLoadUrl()));
|
connect(m_goIcon, SIGNAL(clicked(QPoint)), this, SLOT(requestLoadUrl()));
|
||||||
connect(down, SIGNAL(clicked(QPoint)), m_completer, SLOT(showMostVisited()));
|
connect(down, SIGNAL(clicked(QPoint)), m_completer, SLOT(showMostVisited()));
|
||||||
connect(mApp->searchEnginesManager(), SIGNAL(activeEngineChanged()), this, SLOT(updatePlaceHolderText()));
|
connect(mApp->searchEnginesManager(), SIGNAL(activeEngineChanged()), this, SLOT(updatePlaceHolderText()));
|
||||||
|
@ -134,6 +135,9 @@ void LocationBar::setWebView(TabbedWebView* view)
|
||||||
|
|
||||||
void LocationBar::setText(const QString &text)
|
void LocationBar::setText(const QString &text)
|
||||||
{
|
{
|
||||||
|
m_oldTextLength = text.length();
|
||||||
|
m_currentTextLength = m_oldTextLength;
|
||||||
|
|
||||||
LineEdit::setText(text);
|
LineEdit::setText(text);
|
||||||
|
|
||||||
refreshTextFormat();
|
refreshTextFormat();
|
||||||
|
@ -166,8 +170,8 @@ void LocationBar::showDomainCompletion(const QString &completion)
|
||||||
m_domainCompleterModel->setStringList(QStringList() << completion);
|
m_domainCompleterModel->setStringList(QStringList() << completion);
|
||||||
|
|
||||||
// We need to manually force the completion because model is updated asynchronously
|
// We need to manually force the completion because model is updated asynchronously
|
||||||
// But don't force the completion when backspace was pressed!
|
// But only force completion when the user actually added new text
|
||||||
if (!m_backspacePressed)
|
if (m_oldTextLength < m_currentTextLength)
|
||||||
completer()->complete();
|
completer()->complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -276,10 +280,13 @@ void LocationBar::requestLoadUrl()
|
||||||
m_webView->userLoadAction(req);
|
m_webView->userLoadAction(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LocationBar::textEditted()
|
void LocationBar::textEdited(const QString &text)
|
||||||
{
|
{
|
||||||
if (!text().isEmpty()) {
|
m_oldTextLength = m_currentTextLength;
|
||||||
m_completer->complete(text());
|
m_currentTextLength = text.length();
|
||||||
|
|
||||||
|
if (!text.isEmpty()) {
|
||||||
|
m_completer->complete(text);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_completer->closePopup();
|
m_completer->closePopup();
|
||||||
|
@ -475,10 +482,6 @@ void LocationBar::keyPressEvent(QKeyEvent* event)
|
||||||
m_holdingAlt = true;
|
m_holdingAlt = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_Backspace:
|
|
||||||
m_backspacePressed = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Qt::Key_Return:
|
case Qt::Key_Return:
|
||||||
case Qt::Key_Enter:
|
case Qt::Key_Enter:
|
||||||
switch (event->modifiers()) {
|
switch (event->modifiers()) {
|
||||||
|
@ -520,7 +523,6 @@ void LocationBar::keyPressEvent(QKeyEvent* event)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
m_holdingAlt = false;
|
m_holdingAlt = false;
|
||||||
m_backspacePressed = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LineEdit::keyPressEvent(event);
|
LineEdit::keyPressEvent(event);
|
||||||
|
|
|
@ -49,7 +49,7 @@ public slots:
|
||||||
void showUrl(const QUrl &url);
|
void showUrl(const QUrl &url);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void textEditted();
|
void textEdited(const QString &text);
|
||||||
void requestLoadUrl();
|
void requestLoadUrl();
|
||||||
void pasteAndGo();
|
void pasteAndGo();
|
||||||
|
|
||||||
|
@ -105,7 +105,8 @@ private:
|
||||||
|
|
||||||
bool m_rssIconVisible;
|
bool m_rssIconVisible;
|
||||||
bool m_holdingAlt;
|
bool m_holdingAlt;
|
||||||
bool m_backspacePressed;
|
int m_oldTextLength;
|
||||||
|
int m_currentTextLength;
|
||||||
|
|
||||||
int m_loadProgress;
|
int m_loadProgress;
|
||||||
bool m_progressVisible;
|
bool m_progressVisible;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user