[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace
From: Ivan Čukić <ivan.cukic () kde ! org>
Date: 2010-11-01 13:32:08
Message-ID: 20101101133208.98F03AC89B () svn ! kde ! org
[Download RAW message or body]
SVN commit 1191933 by ivan:
- marking current activity
- using tasks theme for items in plasmagenericshell
M +27 -3 libs/plasmagenericshell/abstracticon.cpp
M +4 -0 libs/plasmagenericshell/abstracticon.h
M +2 -0 plasma/desktop/shell/activity.h
M +2 -0 plasma/desktop/shell/activitymanager/activityicon.cpp
M +1 -0 plasma/desktop/shell/activitymanager/activityicon.h
--- trunk/KDE/kdebase/workspace/libs/plasmagenericshell/abstracticon.cpp \
#1191932:1191933 @@ -1,6 +1,7 @@
/*
* Copyright (C) 2009 by Ana Cecília Martins <anaceciliamb@gmail.com>
* Copyright (C) 2010 by Chani Armitage <chani@kde.org>
+ * Copyright (C) 2010 by Ivan Cukic <ivan.cukic@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library/Lesser General Public License
@@ -49,7 +50,8 @@
setCacheMode(DeviceCoordinateCache);
setAcceptHoverEvents(true);
m_background = new Plasma::FrameSvg(this);
- m_background->setImagePath("widgets/background");
+ m_background->setImagePath("widgets/tasks");
+ m_background->setElementPrefix("normal");
}
AbstractIcon::~AbstractIcon()
@@ -129,12 +131,14 @@
QMimeData *data = mimeData();
if (data && !data->formats().isEmpty()) {
}
+ update();
}
void AbstractIcon::hoverLeaveEvent(QGraphicsSceneHoverEvent *)
{
m_hovered = false;
emit hoverLeave(this);
+ update();
}
void AbstractIcon::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
@@ -188,8 +192,11 @@
void AbstractIcon::setSelected(bool selected)
{
+ if (m_selected != selected) {
m_selected = selected;
+ update();
}
+}
bool AbstractIcon::isSelected() const
{
@@ -213,10 +220,27 @@
void AbstractIcon::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, \
QWidget *widget) {
- Q_UNUSED(option)
- Q_UNUSED(widget)
+ paintBackground(painter, option, widget);
+ paintForeground(painter, option, widget);
+}
+void AbstractIcon::paintBackground(QPainter *painter, const QStyleOptionGraphicsItem \
*option, QWidget *widget) +{
+ if (m_selected) {
+ qDebug() << "SELECTED!!!";
+ m_background->setElementPrefix("focus");
+ } else if (m_hovered) {
+ qDebug() << "HOVERED!!!";
+ m_background->setElementPrefix("hover");
+ } else {
+ m_background->setElementPrefix("normal");
+ }
+
m_background->paintFrame(painter, option->rect, option->rect);
+}
+
+void AbstractIcon::paintForeground(QPainter *painter, const QStyleOptionGraphicsItem \
*option, QWidget *widget) +{
const QRectF rect = contentsRect();
const int width = rect.width();
const int height = rect.height();
--- trunk/KDE/kdebase/workspace/libs/plasmagenericshell/abstracticon.h \
#1191932:1191933 @@ -41,7 +41,10 @@
bool isSelected() const;
void setSelected(bool selected);
+
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, \
QWidget *widget = 0); + void paintForeground(QPainter *painter, const \
QStyleOptionGraphicsItem *option, QWidget *widget = 0); + void \
paintBackground(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget \
*widget = 0);
QString name() const;
@@ -52,6 +55,7 @@
* return the background image
*/
virtual QPixmap pixmap(const QSize &size) = 0;
+
/**
* return the mime data for d&d
*/
--- trunk/KDE/kdebase/workspace/plasma/desktop/shell/activity.h #1191932:1191933
@@ -99,10 +99,12 @@
public slots:
void setName(const QString &name);
void setIcon(const QString &icon);
+
/**
* delete the activity forever
*/
void destroy();
+
/**
* make this activity the current activity
*/
--- trunk/KDE/kdebase/workspace/plasma/desktop/shell/activitymanager/activityicon.cpp \
#1191932:1191933 @@ -366,6 +366,8 @@
return;
}
+ setSelected(m_activity->isActive());
+
AbstractIcon::paint(painter, option, widget);
}
--- trunk/KDE/kdebase/workspace/plasma/desktop/shell/activitymanager/activityicon.h \
#1191932:1191933 @@ -70,6 +70,7 @@
ActivityActionWidget * m_buttonConfigure;
bool m_closable : 1;
+ bool m_active : 1;
Activity *m_activity;
QWeakPointer < ActivityControls > m_inlineWidget;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic