#include "dolphinviewcontainer.h"
#include <KProtocolManager>
+#include <QDropEvent>
#include <QTimer>
#include <QMimeData>
#include <QVBoxLayout>
#include <KFileItemActions>
#include <KFilePlacesModel>
#include <KLocalizedString>
-#include <KIO/NetAccess>
#include <KIO/PreviewJob>
#include <KMessageWidget>
-#include <konq_operations.h>
#include <KShell>
#include <QUrl>
#include <KUrlComboBox>
#ifdef KActivities_FOUND
#endif
+#include "global.h"
#include "dolphin_generalsettings.h"
#include "filterbar/filterbar.h"
#include "search/dolphinsearchbox.h"
#include "statusbar/dolphinstatusbar.h"
-#include "views/draganddrophelper.h"
#include "views/viewmodecontroller.h"
#include "views/viewproperties.h"
m_statusBar(0),
m_statusBarTimer(0),
m_statusBarTimestamp(),
- m_autoGrabFocus(true),
- m_dropDestination(),
- m_dropEvent(0)
+ m_autoGrabFocus(true)
#ifdef KActivities_FOUND
, m_activityResourceInstance(0)
#endif
m_topLayout->setMargin(0);
m_urlNavigator = new KUrlNavigator(new KFilePlacesModel(this), url, this);
- connect(m_urlNavigator, &KUrlNavigator::urlsDropped,
- this, &DolphinViewContainer::dropUrls);
connect(m_urlNavigator, &KUrlNavigator::activated,
this, &DolphinViewContainer::activate);
connect(m_urlNavigator->editor(), &KUrlComboBox::completionModeChanged,
const GeneralSettings* settings = GeneralSettings::self();
m_urlNavigator->setUrlEditable(settings->editableUrl());
m_urlNavigator->setShowFullPath(settings->showFullPath());
- m_urlNavigator->setHomeUrl(QUrl::fromLocalFile(settings->homeUrl()));
+ m_urlNavigator->setHomeUrl(Dolphin::homeUrl());
KUrlComboBox* editor = m_urlNavigator->editor();
editor->setCompletionMode(KCompletion::CompletionMode(settings->urlCompletionMode()));
m_view = new DolphinView(url, this);
connect(m_view, &DolphinView::urlChanged,
- m_urlNavigator, &KUrlNavigator::setUrl);
+ m_urlNavigator, &KUrlNavigator::setLocationUrl);
connect(m_view, &DolphinView::urlChanged,
m_messageWidget, &KMessageWidget::hide);
connect(m_view, &DolphinView::directoryLoadingCompleted,
this, &DolphinViewContainer::slotHistoryChanged);
connect(m_urlNavigator, &KUrlNavigator::returnPressed,
this, &DolphinViewContainer::slotReturnPressed);
+ connect(m_urlNavigator, &KUrlNavigator::urlsDropped,
+ m_view, &DolphinView::dropUrls);
// Initialize status bar
m_statusBar = new DolphinStatusBar(this);
// settings of the URL navigator and the filterbar.
m_urlNavigator->setUrlEditable(GeneralSettings::editableUrl());
m_urlNavigator->setShowFullPath(GeneralSettings::showFullPath());
- m_urlNavigator->setHomeUrl(QUrl::fromLocalFile(GeneralSettings::homeUrl()));
+ m_urlNavigator->setHomeUrl(Dolphin::homeUrl());
setFilterBarVisible(GeneralSettings::filterBar());
}
// started with a search-URL, the home URL is used as fallback.
QUrl url = m_searchBox->searchPath();
if (url.isEmpty() || !url.isValid() || isSearchUrl(url)) {
- url = QUrl::fromLocalFile(GeneralSettings::self()->homeUrl());
+ url = Dolphin::homeUrl();
}
m_urlNavigator->setLocationUrl(url);
}
void DolphinViewContainer::slotUrlIsFileError(const QUrl& url)
{
- const KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url);
+ const KFileItem item(url);
// Find out if the file can be opened in the view (for example, this is the
// case if the file is an archive). The mime type must be known for that.
return;
}
- new KRun(item.targetUrl(), this);
+ KRun *run = new KRun(item.targetUrl(), this);
+ run->setShowScriptExecutionPrompt(true);
}
void DolphinViewContainer::slotItemsActivated(const KFileItemList& items)
// 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.
- QTimer::singleShot(0, this, SLOT(requestFocus()));
+ QTimer::singleShot(0, this, &DolphinViewContainer::requestFocus);
}
} else if (KProtocolManager::isSourceProtocol(url)) {
- QString app = "konqueror";
+ QString app = QStringLiteral("konqueror");
if (url.scheme().startsWith(QLatin1String("http"))) {
showMessage(i18nc("@info:status", // krazy:exclude=qmethods
"Dolphin does not support web pages, the web browser has been launched"),
Information);
- const KConfigGroup config(KSharedConfig::openConfig("kdeglobals"), "General");
+ const KConfigGroup config(KSharedConfig::openConfig(QStringLiteral("kdeglobals")), "General");
const QString browser = config.readEntry("BrowserApplication");
if (!browser.isEmpty()) {
app = browser;
}
}
-void DolphinViewContainer::dropUrls(const QUrl& destination, QDropEvent* event)
-{
- m_dropDestination = destination;
-
- const QMimeData* mimeData = event->mimeData();
- QMimeData* mimeDataCopy = new QMimeData;
- foreach (const QString& format, mimeData->formats()) {
- mimeDataCopy->setData(format, mimeData->data(format));
- }
-
- m_dropEvent.reset(new QDropEvent(event->pos(),
- event->possibleActions(),
- mimeDataCopy,
- event->mouseButtons(),
- event->keyboardModifiers()));
-
- QTimer::singleShot(0, this, SLOT(dropUrlsDelayed()));
-}
-
-void DolphinViewContainer::dropUrlsDelayed()
-{
- if (m_dropEvent.isNull()) {
- return;
- }
-
- QString error;
- DragAndDropHelper::dropUrls(KFileItem(), m_dropDestination, m_dropEvent.data(), error);
- if (!error.isEmpty()) {
- showMessage(error, Error);
- }
-
- delete m_dropEvent->mimeData();
- m_dropEvent.reset();
-}
-
void DolphinViewContainer::redirect(const QUrl& oldUrl, const QUrl& newUrl)
{
Q_UNUSED(oldUrl);
{
const QUrl url = m_searchBox->urlForSearching();
if (url.isValid() && !url.isEmpty()) {
- m_view->setViewPropertiesContext("search");
+ m_view->setViewPropertiesContext(QStringLiteral("search"));
m_urlNavigator->setLocationUrl(url);
}
}
bool DolphinViewContainer::isSearchUrl(const QUrl& url) const
{
- return url.scheme().contains("search");
+ return url.scheme().contains(QStringLiteral("search"));
}
void DolphinViewContainer::saveViewState()