mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
minor improvement to last commit: only request the focus if we have a listable protocol; otherwise leave the focus where it was (e. g. so that the user can enter another URL)
svn path=/trunk/KDE/kdebase/apps/; revision=898822
This commit is contained in:
parent
426a57997b
commit
de2d93b068
1 changed files with 10 additions and 11 deletions
|
@ -363,6 +363,16 @@ void DolphinViewContainer::restoreView(const KUrl& url)
|
|||
{
|
||||
if (KProtocolManager::supportsListing(url)) {
|
||||
m_view->updateView(url, m_urlNavigator->savedRootUrl());
|
||||
if (isActive()) {
|
||||
// When an URL has been entered, the view should get the focus.
|
||||
// The focus must be requested asynchronously, as changing the URL might create
|
||||
// a new view widget. Using QTimer::singleShow() works reliable, however
|
||||
// QMetaObject::invokeMethod() with a queued connection does not work, which might
|
||||
// indicate that we should pass a hint to DolphinView::updateView()
|
||||
// regarding the focus instead. To test: Enter an URL and press CTRL+Enter.
|
||||
// Expected result: The view should get the focus.
|
||||
QTimer::singleShot(0, this, SLOT(requestFocus()));
|
||||
}
|
||||
} else if (KProtocolManager::isSourceProtocol(url)) {
|
||||
QString app = "konqueror";
|
||||
if (url.protocol().startsWith(QLatin1String("http"))) {
|
||||
|
@ -382,17 +392,6 @@ void DolphinViewContainer::restoreView(const KUrl& url)
|
|||
} else {
|
||||
showErrorMessage(i18nc("@info:status", "Invalid protocol"));
|
||||
}
|
||||
|
||||
if (isActive()) {
|
||||
// When an URL has been entered, the view should get the focus.
|
||||
// The focus must be requested asynchronously, as changing the URL might create
|
||||
// a new view widget. Using QTimer::singleShow() works reliable, however
|
||||
// QMetaObject::invokeMethod() with a queued connection does not work, which might
|
||||
// indicate that we should pass a hint to DolphinView::updateView()
|
||||
// regarding the focus instead. To test: Enter an URL and press CTRL+Enter.
|
||||
// Expected result: The view should get the focus.
|
||||
QTimer::singleShot(0, this, SLOT(requestFocus()));
|
||||
}
|
||||
}
|
||||
|
||||
void DolphinViewContainer::saveRootUrl(const KUrl& url)
|
||||
|
|
Loading…
Reference in a new issue