TabBar: Support adding new tabs with text drop data

Urls are loaded directly and text is searched for using default search
engine.
remotes/origin/Falkon/3.0
David Rosca 8 years ago
parent 373df431a7
commit ca04e9d967
  1. 13
      src/lib/tabwidget/tabbar.cpp

@ -26,6 +26,7 @@
#include "pluginproxy.h"
#include "iconprovider.h"
#include "tabcontextmenu.h"
#include "searchenginesmanager.h"
#include <QMenu>
#include <QMimeData>
@ -524,7 +525,7 @@ void TabBar::dragEnterEvent(QDragEnterEvent* event)
{
const QMimeData* mime = event->mimeData();
if (mime->hasUrls()) {
if (mime->hasText() || mime->hasUrls()) {
event->acceptProposedAction();
return;
}
@ -536,15 +537,19 @@ void TabBar::dropEvent(QDropEvent* event)
{
const QMimeData* mime = event->mimeData();
if (!mime->hasUrls()) {
if (!mime->hasText() && !mime->hasUrls()) {
ComboTabBar::dropEvent(event);
return;
}
int index = tabAt(event->pos());
if (index == -1) {
foreach (const QUrl &url, mime->urls()) {
m_tabWidget->addView(url, Qz::NT_SelectedTabAtTheEnd);
if (mime->hasUrls()) {
foreach (const QUrl &url, mime->urls()) {
m_tabWidget->addView(url, Qz::NT_SelectedTabAtTheEnd);
}
} else if (mime->hasText()) {
m_tabWidget->addView(mApp->searchEnginesManager()->searchResult(mime->text()), Qz::NT_SelectedNewEmptyTab);
}
}
else {

Loading…
Cancel
Save