+ m_lastHandleUrlStatJob = 0;
+ const KIO::UDSEntry entry = static_cast<KIO::StatJob*>(job)->statResult();
+ const KUrl url = static_cast<KIO::StatJob*>(job)->url();
+ if (entry.isDir()) {
+ activeViewContainer()->setUrl(url);
+ } else {
+ new KRun(url, this);
+ }
+}
+
+void DolphinMainWindow::tabDropEvent(int tab, QDropEvent* event)
+{
+ const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
+ if (!urls.isEmpty() && tab != -1) {
+ const ViewTab& viewTab = m_viewTab[tab];
+ const KUrl destPath = viewTab.isPrimaryViewActive ? viewTab.primaryView->url() : viewTab.secondaryView->url();
+ DragAndDropHelper::instance().dropUrls(KFileItem(), destPath, event, m_tabBar);
+ }
+}
+
+void DolphinMainWindow::slotWriteStateChanged(bool isFolderWritable)
+{
+ newFileMenu()->setEnabled(isFolderWritable);
+}
+
+void DolphinMainWindow::slotSearchModeChanged(bool enabled)
+{
+#ifdef HAVE_NEPOMUK
+ if (Nepomuk::ResourceManager::instance()->init() != 0) {
+ // Currently the Filter Panel only works with Nepomuk enabled
+ return;
+ }
+
+ QDockWidget* filterDock = findChild<QDockWidget*>("filterDock");
+ if ((filterDock == 0) || !filterDock->isEnabled()) {
+ return;
+ }
+
+ if (enabled) {
+ if (!filterDock->isVisible()) {
+ m_filterDockIsTemporaryVisible = true;
+ }
+ filterDock->show();
+ } else {
+ if (filterDock->isVisible() && m_filterDockIsTemporaryVisible) {
+ filterDock->hide();
+ }
+ m_filterDockIsTemporaryVisible = false;
+ }
+#else
+ Q_UNUSED(enabled);
+#endif
+}
+
+void DolphinMainWindow::openContextMenu(const KFileItem& item,
+ const KUrl& url,
+ const QList<QAction*>& customActions)
+{
+ QPointer<DolphinContextMenu> contextMenu = new DolphinContextMenu(this, item, url);
+ contextMenu->setCustomActions(customActions);
+ const DolphinContextMenu::Command command = contextMenu->open();
+
+ switch (command) {
+ case DolphinContextMenu::OpenParentFolderInNewWindow: {
+ DolphinMainWindow* window = DolphinApplication::app()->createMainWindow();
+ window->changeUrl(item.url().upUrl());
+ window->show();
+ break;
+ }
+
+ case DolphinContextMenu::OpenParentFolderInNewTab:
+ openNewTab(item.url().upUrl());
+ break;
+
+ case DolphinContextMenu::None:
+ default:
+ break;
+ }
+
+ delete contextMenu;