[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/applets/tasks
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2009-06-26 6:41:02
Message-ID: 1245998462.673630.6080.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 987463 by aseigo:
make the tooltips clickable .. this means you can hover the tip, click on a window \
preview and it activates that window. too cool.
M +21 -0 abstracttaskitem.cpp
M +1 -0 abstracttaskitem.h
M +1 -1 taskgroupitem.cpp
M +1 -1 taskgroupitem.h
M +1 -0 windowtaskitem.cpp
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/abstracttaskitem.cpp \
#987462:987463 @@ -1,3 +1,5 @@
+#ifndef ABSTRACTTASKITEM_CPP
+#define ABSTRACTTASKITEM_CPP
/***************************************************************************
* Copyright (C) 2007 by Robert Knight <robertknight@gmail.com> *
* Copyright (C) 2008 by Alexis Ménard <darktears31@gmail.com> *
@@ -248,6 +250,9 @@
if (m_showTooltip) {
m_showingTooltip = true;
updateToolTip();
+ connect(Plasma::ToolTipManager::self(),
+ SIGNAL(windowPreviewActivated(WId,Qt::MouseButtons,Qt::KeyboardModifiers,QPoint)),
+ this, SLOT(activateWindow(WId,Qt::MouseButtons)));
} else {
Plasma::ToolTipManager::self()->clearContent(this);
}
@@ -257,8 +262,23 @@
{
m_showingTooltip = false;
Plasma::ToolTipManager::self()->clearContent(this);
+ disconnect(Plasma::ToolTipManager::self(),
+ SIGNAL(windowPreviewActivated(WId,Qt::MouseButtons,Qt::KeyboardModifiers,QPoint)),
+ this, SLOT(activateWindow(WId,Qt::MouseButtons)));
}
+void AbstractTaskItem::activateWindow(WId id, Qt::MouseButtons buttons)
+{
+ if (buttons & Qt::LeftButton) {
+ if (parentGroup()) {
+ AbstractTaskItem *item = parentGroup()->taskItemForWId(id);
+ if (item) {
+ item->activate();
+ }
+ }
+ }
+}
+
void AbstractTaskItem::queueUpdate()
{
if (m_updateTimerId || m_attentionTimerId) {
@@ -1002,3 +1022,4 @@
}
#include "abstracttaskitem.moc"
+#endif // ABSTRACTTASKITEM_CPP
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/abstracttaskitem.h \
#987462:987463 @@ -138,6 +138,7 @@
virtual void activate() = 0;
void toolTipAboutToShow();
void toolTipHidden();
+ void activateWindow(WId id, Qt::MouseButtons buttons);
protected:
void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/taskgroupitem.cpp #987462:987463
@@ -273,8 +273,8 @@
}
data.setWindowsToPreview(windows);
+ data.setClickable(true);
-
Plasma::ToolTipManager::self()->setContent(this, data);
}
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/taskgroupitem.h #987462:987463
@@ -111,6 +111,7 @@
void publishIconGeometry() const;
void publishIconGeometry(const QRect &rect) const;
QWidget *popupDialog() const;
+ AbstractTaskItem *taskItemForWId(WId id);
signals:
/** Emitted when a window is selected for activation, minimization, \
iconification */ @@ -133,7 +134,6 @@
void updateActive(AbstractTaskItem *);
protected:
- AbstractTaskItem *taskItemForWId(WId id);
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
virtual void paint(QPainter *painter,const QStyleOptionGraphicsItem \
*option,QWidget *widget);
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/windowtaskitem.cpp \
#987462:987463 @@ -197,6 +197,7 @@
i18nc("Which virtual desktop a window is currently \
on", "On %1",
\
KWindowSystem::desktopName(m_task->desktop())), p); \
data.setWindowToPreview(m_task->task()->window()); + data.setClickable(true);
Plasma::ToolTipManager::self()->setContent(this, data);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic