mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
Return editable URL navigator to breadcrumb mode if it has focus and everything is selected and when Ctrl+L is pressed
Summary: This patch makes an editable location bar return to breadcrumb mode when {key Ctrl L} is pressed, but only if the location bar currently has focus and everything is selected. Otherwise, it will simply return focus to it as before. This provides a slightly easier way to make the location bar return to breadcrumbs mode Test Plan: - Compile and deploy and make the location bar be breadcrumbs - Hit {key Ctrl L} twice in a row -> location field turns to being in breadcrumb mode. Focus is correctly returned to the main view. - Hit {key Ctrl L}, move focus elsewhere, then hit {key Ctrl L} again -> Location bar is editable and focused with everything selected. - Hit {key Ctrl L}, deselect some of the text, then hit {key Ctrl L} again -> Location bar selects everything. Reviewers: #dolphin, elvisangelaccio, dhaumann Reviewed By: elvisangelaccio, dhaumann Subscribers: elvisangelaccio, dhaumann, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D16980
This commit is contained in:
parent
2050fe1781
commit
34ebf8e0e8
|
@ -621,12 +621,19 @@ void DolphinMainWindow::toggleEditLocation()
|
|||
void DolphinMainWindow::replaceLocation()
|
||||
{
|
||||
KUrlNavigator* navigator = m_activeViewContainer->urlNavigator();
|
||||
navigator->setUrlEditable(true);
|
||||
navigator->setFocus();
|
||||
|
||||
// select the whole text of the combo box editor
|
||||
QLineEdit* lineEdit = navigator->editor()->lineEdit();
|
||||
lineEdit->selectAll();
|
||||
|
||||
// If the text field currently has focus and everything is selected,
|
||||
// pressing the keyboard shortcut returns the whole thing to breadcrumb mode
|
||||
if (navigator->isUrlEditable()
|
||||
&& lineEdit->hasFocus()
|
||||
&& lineEdit->selectedText() == lineEdit->text() ) {
|
||||
navigator->setUrlEditable(false);
|
||||
} else {
|
||||
navigator->setUrlEditable(true);
|
||||
navigator->setFocus();
|
||||
lineEdit->selectAll();
|
||||
}
|
||||
}
|
||||
|
||||
void DolphinMainWindow::togglePanelLockState()
|
||||
|
|
Loading…
Reference in a new issue