| Summary: | In KDE File Dialog, URL's from Location History dropdown are inserted only partially | ||
|---|---|---|---|
| Product: | [Unmaintained] kio | Reporter: | Andreas Schnaiter <spam> |
| Component: | kfile | Assignee: | Carsten Pfeiffer <pfeiffer> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | kde |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Andreas Schnaiter
2005-12-09 00:38:37 UTC
*** Bug 133219 has been marked as a duplicate of this bug. *** SVN commit 580069 by kling:
When selecting a HTTP or HTTPS address from the "recent" files list,
keep it verbatim instead of splitting up in "path" and "filename".
BUG: 117969
M +6 -1 kfiledialog.cpp
--- branches/KDE/3.5/kdelibs/kio/kfile/kfiledialog.cpp #580068:580069
@@ -1225,7 +1225,12 @@
return;
}
-// #warning FIXME: http URLs, e.g. from KURLCombo
+ // FIXME: This should be done for all protocols that can be opened but
+ // not "navigated"...
+ if (u.protocol() == "http" || u.protocol() == "https") {
+ locationEdit->lineEdit()->setEdited( true );
+ return;
+ }
/* we strip the first / from the path to avoid file://usr which means
* / on host usr
SVN commit 580082 by dhaumann:
fix it in the right way (tm): honor protocols that do not support dir listing
CCBUG: 117969
M +1 -3 kfiledialog.cpp
--- branches/KDE/3.5/kdelibs/kio/kfile/kfiledialog.cpp #580081:580082
@@ -1225,9 +1225,7 @@
return;
}
- // FIXME: This should be done for all protocols that can be opened but
- // not "navigated"...
- if (u.protocol() == "http" || u.protocol() == "https") {
+ if (!KProtocolInfo::supportsListing(u)) {
locationEdit->lineEdit()->setEdited( true );
return;
}
Thanks Dominik, you're a bucket of awesome! SVN commit 580130 by dhaumann: fix the right way: honor protocols that do not support directory listing. I'm not 100% sure whether a call of locationEdit->lineEdit()->setModified(true); right in front of the return is needed (I think not), so please review ;) CCMAIL: coolo@kde.org CCBUG: 117969 M +6 -11 kfiledialog.cpp --- trunk/KDE/kdelibs/kio/kfile/kfiledialog.cpp #580129:580130 @@ -1178,12 +1178,9 @@ return; } - // FIXME: This should be done for all protocols that can be opened but - // not "navigated"... - if (u.protocol() == "http" || u.protocol() == "https") { - locationEdit->lineEdit()->setEdited(true); + // Honor protocols that do not support directory listing + if (!KProtocolManager::supportsListing(u)) return; - } /* we strip the first / from the path to avoid file://usr which means * / on host usr @@ -1201,12 +1198,10 @@ QString filename = u.url(); int sep = filename.lastIndexOf('/'); if (sep >= 0) { // there is a / in it - if ( KProtocolManager::supportsListing( u )) { - KUrl dir(u); - dir.setQuery( QString() ); - dir.setFileName( QString() ); - setUrl(dir, true ); - } + KUrl dir(u); + dir.setQuery( QString() ); + dir.setFileName( QString() ); + setUrl(dir, true ); // filename must be decoded, or "name with space" would become // "name%20with%20space", so we use KUrl::fileName() Am Samstag, 2. September 2006 19:43 schrieb Dominik Haumann: > SVN commit 580130 by dhaumann: > > fix the right way: honor protocols that do not support directory listing. > > I'm not 100% sure whether a call of > locationEdit->lineEdit()->setModified(true); > right in front of the return is needed (I think not), so please review ;) > CCMAIL: coolo@kde.org > I'm afraid I have nothing to do with that code :) Greetings, Stephan |