[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/netbook/containments/sal
From: Marco Martin <notmart () gmail ! com>
Date: 2010-03-12 18:23:14
Message-ID: 1268418194.937890.27044.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1102512 by mart:
icons have corner actions again (still not working)
M +28 -0 itemcontainer.cpp
M +2 -0 itemcontainer.h
--- trunk/KDE/kdebase/workspace/plasma/netbook/containments/sal/itemcontainer.cpp \
#1102511:1102512 @@ -21,6 +21,7 @@
#include "itemview.h"
#include "resultwidget.h"
#include "models/commonmodel.h"
+#include "iconactioncollection.h"
#include <QGraphicsGridLayout>
#include <QGraphicsScene>
@@ -31,9 +32,12 @@
#include <QWeakPointer>
#include <QAbstractItemModel>
#include <QPropertyAnimation>
+#include <QAction>
#include <KIconLoader>
+#include <KIcon>
+#include <Plasma/Applet>
#include <Plasma/IconWidget>
#include <Plasma/ItemBackground>
#include <Plasma/ToolTipContent>
@@ -58,6 +62,18 @@
m_positionAnimation->setDuration(250);
m_layout = new QGraphicsGridLayout(this);
+ QGraphicsItem *pi = parent->parentItem();
+ Plasma::Applet *applet = 0;
+ while (pi) {
+ applet = dynamic_cast<Plasma::Applet *>(pi);
+ if (applet) {
+ break;
+ } else {
+ pi = pi->parentItem();
+ }
+ }
+ m_iconActionCollection = new IconActionCollection(applet, this);
+
setFocusPolicy(Qt::StrongFocus);
setAcceptHoverEvents(true);
m_hoverIndicator = new Plasma::ItemBackground(this);
@@ -611,6 +627,18 @@
Plasma::ToolTipManager::self()->registerWidget(this);
Plasma::ToolTipManager::self()->setContent(icon, toolTipData);
+ CommonModel::ActionType actionType = \
(CommonModel::ActionType)index.data(CommonModel::ActionTypeRole).value<int>(); + \
if (actionType != CommonModel::NoAction) { + QAction *action = new \
QAction(icon); + if (actionType == CommonModel::AddAction) {
+ action->setIcon(KIcon("favorites"));
+ } else {
+ action->setIcon(KIcon("list-remove"));
+ }
+ icon->addIconAction(action);
+ m_iconActionCollection->addAction(action);
+ }
+
qreal left, top, right, bottom;
m_hoverIndicator->getContentsMargins(&left, &top, &right, &bottom);
icon->setContentsMargins(left, top, right, bottom);
--- trunk/KDE/kdebase/workspace/plasma/netbook/containments/sal/itemcontainer.h \
#1102511:1102512 @@ -39,6 +39,7 @@
}
class ItemView;
+class IconActionCollection;
class ItemContainer : public QGraphicsWidget
{
@@ -129,6 +130,7 @@
QAbstractItemModel *m_model;
QModelIndex m_rootIndex;
ItemView *m_itemView;
+ IconActionCollection *m_iconActionCollection;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic