[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/krunner/interfaces/default
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2010-08-31 21:57:32
Message-ID: 20100831215732.1B7DEAC857 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1170439 by aseigo:
better drag start behaviour
M +11 -4 resultitem.cpp
M +2 -1 resultitem.h
--- trunk/KDE/kdebase/workspace/krunner/interfaces/default/resultitem.cpp \
#1170438:1170439 @@ -39,6 +39,7 @@
#include <QTimer>
#include <KDebug>
+#include <KGlobalSettings>
#include <KIcon>
#include <KIconLoader>
@@ -64,7 +65,8 @@
m_actionsLayout(0),
m_runnerManager(runnerManager),
m_sharedData(sharedData),
- m_mouseHovered(false)
+ m_mouseHovered(false),
+ m_mimeDataFailed(false)
{
m_highlightCheckTimer.setInterval(0);
m_highlightCheckTimer.setSingleShot(true);
@@ -126,6 +128,7 @@
void ResultItem::setMatch(const Plasma::QueryMatch &match)
{
+ m_mimeDataFailed = false;
m_match = match;
m_icon = KIcon(match.icon());
@@ -442,16 +445,20 @@
void ResultItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
- kDebug() << event->button() << Qt::LeftButton;
-
+ if (!m_mimeDataFailed &&
+ event->buttons() == Qt::LeftButton &&
+ (event->pos() - event->buttonDownPos(Qt::LeftButton)).manhattanLength() >= \
KGlobalSettings::dndEventDelay()) { QMimeData * mime = \
m_runnerManager->mimeDataForMatch(m_match);
-
+ //kDebug() << mime << m_match.text() << m_match.id() << m_match.data();
if (mime) {
QDrag * drag = new QDrag(event->widget());
drag->setMimeData(mime);
drag->exec();
}
+
+ m_mimeDataFailed = !mime;
}
+}
bool ResultItem::mouseHovered() const
{
--- trunk/KDE/kdebase/workspace/krunner/interfaces/default/resultitem.h \
#1170438:1170439 @@ -148,7 +148,8 @@
Plasma::RunnerManager *m_runnerManager;
QPropertyAnimation *m_highlightAnim;
const SharedResultData *m_sharedData;
- bool m_mouseHovered;
+ bool m_mouseHovered : 1;
+ bool m_mimeDataFailed : 1;
static int s_fontHeight;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic