diff --git a/lib/draghelper.cpp b/lib/draghelper.cpp index be956fb..22d7a58 100644 --- a/lib/draghelper.cpp +++ b/lib/draghelper.cpp @@ -1,85 +1,84 @@ /*************************************************************************** * Copyright (C) 2013 by Eike Hein * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . * ***************************************************************************/ #include "draghelper.h" #include #include #include #include using namespace Milou; DragHelper::DragHelper(QObject* parent) : QObject(parent) , m_dragIconSize(32) { - qmlRegisterType("org.kde.milou", 1, 0, "MimeData"); } DragHelper::~DragHelper() { } int DragHelper::dragIconSize() const { return m_dragIconSize; } void DragHelper::setDragIconSize(int size) { if (m_dragIconSize != size) { m_dragIconSize = size; emit dragIconSizeChanged(); } } bool DragHelper::isDrag(int oldX, int oldY, int newX, int newY) const { return ((QPoint(oldX, oldY) - QPoint(newX, newY)).manhattanLength() >= QApplication::startDragDistance()); } void DragHelper::startDrag(QQuickItem *item, QMimeData *mimeData, const QIcon &icon) { // This allows the caller to return, making sure we don't crash if // the caller is destroyed mid-drag QMetaObject::invokeMethod(this, "doDrag", Qt::QueuedConnection, Q_ARG(QQuickItem*, item), Q_ARG(QMimeData*, mimeData), Q_ARG(QIcon, icon)); } void DragHelper::startDrag(QQuickItem *item, QMimeData *mimeData, const QString &iconName) { startDrag(item, mimeData, QIcon::fromTheme(iconName)); } void DragHelper::doDrag(QQuickItem *item, QMimeData *mimeData, const QIcon &icon) { QDrag *drag = new QDrag(item); drag->setMimeData(mimeData); if (!icon.isNull()) { drag->setPixmap(icon.pixmap(m_dragIconSize, m_dragIconSize)); } drag->exec(); emit dropped(); } diff --git a/lib/previewplugin.cpp b/lib/previewplugin.cpp index 5d5fda2..41ad086 100644 --- a/lib/previewplugin.cpp +++ b/lib/previewplugin.cpp @@ -1,104 +1,110 @@ /* * This file is part of the KDE Milou Project * Copyright (C) 2013 Vishesh Handa * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) version 3, or any * later version accepted by the membership of KDE e.V. (or its * successor approved by the membership of KDE e.V.), which shall * act as a proxy defined in Section 6 of version 3 of the license. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . * */ #include "previewplugin.h" #include #include +#include using namespace Milou; PreviewPlugin::PreviewPlugin(QObject* parent) : QObject(parent) , m_context(nullptr) { +#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) + qmlRegisterAnonymousType("org.kde.milou", 1); +#else + qmlRegisterType(); +#endif } PreviewPlugin::~PreviewPlugin() { } void PreviewPlugin::setUrl(const QUrl& url) { m_url = url; } QUrl PreviewPlugin::url() const { return m_url; } void PreviewPlugin::setMimetype(const QString& mimetype) { m_mimetype = mimetype; } QString PreviewPlugin::mimetype() const { return m_mimetype; } void PreviewPlugin::setHighlight(const QString& term) { m_highlight = term; } QString PreviewPlugin::highlight() const { return m_highlight; } void PreviewPlugin::setContext(QQmlContext* context) { m_context = context; } QQmlContext* PreviewPlugin::context() { Q_ASSERT(m_context); return m_context; } void PreviewPlugin::highlight(const QTextDocument* doc) const { QTextCursor cursor; Q_FOREACH (const QString& text, highlight().split(QLatin1Char(' '), QString::SkipEmptyParts)) { while (1) { cursor = doc->find(text, cursor); if (cursor.isNull()) break; QString selection = cursor.selectedText(); QTextCharFormat format = cursor.charFormat(); format.setBackground(QBrush(Qt::yellow)); cursor.removeSelectedText(); cursor.insertText(selection, format); } } } bool PreviewPlugin::onHighDPI() const { return true; }