#include "dolphinapplication.h"
#include "dolphinnewmenu.h"
#include "search/dolphinsearchbox.h"
+#include "search/dolphinsearchoptionsconfigurator.h"
#include "settings/dolphinsettings.h"
#include "settings/dolphinsettingsdialog.h"
#include "dolphinviewcontainer.h"
void DolphinMainWindow::searchItems()
{
#ifdef HAVE_NEPOMUK
- const QString searchOptions = m_searchOptionsConfigurator->options();
-
- QString searchString = m_searchBox->text();
- if (!searchString.isEmpty() && !searchOptions.isEmpty()) {
- searchString += ' ' + searchOptions;
- } else if (!searchOptions.isEmpty()) {
- searchString += searchOptions;
- }
-
- if (!searchString.isEmpty()) {
- m_activeViewContainer->setUrl(KUrl("nepomuksearch:/" + searchString));
- }
+ const KUrl nepomukUrl = m_searchOptionsConfigurator->nepomukUrl();
+ m_activeViewContainer->setUrl(nepomukUrl);
#endif
}
#ifdef HAVE_NEPOMUK
m_searchOptionsConfigurator = new DolphinSearchOptionsConfigurator(this);
m_searchOptionsConfigurator->hide();
- connect(m_searchOptionsConfigurator, SIGNAL(searchOptionsChanged(QString)),
+ connect(m_searchOptionsConfigurator, SIGNAL(searchOptionsChanged()),
this, SLOT(searchItems()));
#endif
m_searchBox->show();
connect(m_searchBox, SIGNAL(requestSearchOptions()),
this, SLOT(showSearchOptions()));
+#ifdef HAVE_NEPOMUK
+ connect(m_searchBox, SIGNAL(searchTextChanged(QString)),
+ m_searchOptionsConfigurator, SLOT(setCustomSearchQuery(QString)));
+#endif
stateChanged("new_file");
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();
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();