* Fixed execution of links in the metadata widget.

* Do not try to list non-listable URLs.

svn path=/trunk/KDE/kdebase/apps/; revision=1054300
This commit is contained in:
Sebastian Trueg 2009-11-25 20:53:37 +00:00
parent 482fea3ec6
commit d324e790d6
3 changed files with 21 additions and 2 deletions

View file

@ -1370,7 +1370,7 @@ void DolphinMainWindow::setupDockWidgets()
infoDock->setObjectName("infoDock");
infoDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
Panel* infoPanel = new InformationPanel(infoDock);
connect(infoPanel, SIGNAL(urlActivated(KUrl)), activeViewContainer(), SLOT(setUrl(KUrl)));
connect(infoPanel, SIGNAL(urlActivated(KUrl)), this, SLOT(handleUrl(KUrl)));
infoDock->setWidget(infoPanel);
QAction* infoAction = infoDock->toggleViewAction();
@ -1660,6 +1660,16 @@ void DolphinMainWindow::setUrlAsCaption(const KUrl& url)
setCaption(caption);
}
void DolphinMainWindow::handleUrl(const KUrl& url)
{
if (KProtocolManager::supportsListing(url)) {
activeViewContainer()->setUrl(url);
}
else {
new KRun(url, this);
}
}
QString DolphinMainWindow::squeezedText(const QString& text) const
{
const QFontMetrics fm = fontMetrics();

View file

@ -406,6 +406,12 @@ private slots:
*/
void showSearchOptions();
/**
* If the URL can be listed open it in the current view, otherwise
* run it through KRun.
*/
void handleUrl(const KUrl& url);
private:
DolphinMainWindow(int id);
void init();
@ -460,7 +466,7 @@ private:
QString tabProperty(const QString& property, int tabIndex) const;
/**
* Sets the window caption to url.fileName() if this is non-empty,
* Sets the window caption to url.fileName() if this is non-empty,
* "/" if the URL is "file:///", and url.protocol() otherwise.
*/
void setUrlAsCaption(const KUrl& url);

View file

@ -67,6 +67,9 @@ public:
*/
void configureSettings();
signals:
void urlActivated( const KUrl& url );
protected:
/** @see QObject::eventFilter() */
virtual bool eventFilter(QObject* obj, QEvent* event);