[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/plasma/applets/blackboard
From: Davide Bettio <davide.bettio () kdemail ! net>
Date: 2009-08-31 23:34:16
Message-ID: 1251761656.290443.1815.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1017938 by bettio:
BlackBoardWidget saves and restores blackboard image.
M +2 -1 blackboard.cpp
M +28 -1 blackboardwidget.cpp
M +7 -4 blackboardwidget.h
--- trunk/playground/base/plasma/applets/blackboard/blackboard.cpp \
#1017937:1017938 @@ -28,6 +28,7 @@
#include <KDebug>
#include <QMenu>
#include <QCursor>
+#include <QFile>
#include <KApplication>
#include <KConfigDialog>
@@ -55,7 +56,7 @@
void BlackBoard::init()
{
QGraphicsLinearLayout *mainLayout = new \
QGraphicsLinearLayout(Qt::Vertical);
- blackBoard = new BlackBoardWidget(this);
+ blackBoard = new BlackBoardWidget(this, QString::number(id()));
blackBoard->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, \
QSizePolicy::Expanding)); mainLayout->addItem(blackBoard);
--- trunk/playground/base/plasma/applets/blackboard/blackboardwidget.cpp \
#1017937:1017938 @@ -27,25 +27,52 @@
#include <KDebug>
#include <QMenu>
#include <QCursor>
+#include <KSaveFile>
+#include <KStandardDirs>
+#include <QTimer>
#include <Plasma/Svg>
#include <Plasma/Theme>
-BlackBoardWidget::BlackBoardWidget(QGraphicsWidget *parent)
+BlackBoardWidget::BlackBoardWidget(QGraphicsWidget *parent, QString id)
: QGraphicsWidget(parent)
{
+ m_id = id;
m_color = QColor(Plasma::Theme::defaultTheme()->color(Plasma::Theme::TextColor));
m_pixmap = QPixmap(contentsRect().width(), contentsRect().height());
m_pixmap.fill(Qt::transparent);
p.begin(&m_pixmap);
p.setPen(QPen(m_color, 3));
oldPoint = QPointF(-1, 0);
+
+ QTimer::singleShot(500, this, SLOT(loadImage()));
+
+ loadImage();
}
BlackBoardWidget::~BlackBoardWidget()
{
+ saveImage();
}
+void BlackBoardWidget::saveImage()
+{
+ KSaveFile imageFile(KStandardDirs::locateLocal("data", \
"plasma-desktop-datastorage/blackboard-" + m_id + ".png")); + \
imageFile.open(); + m_pixmap.save(&imageFile, "PNG");
+ imageFile.finalize();
+ imageFile.close();
+}
+
+void BlackBoardWidget::loadImage()
+{
+ p.end();
+ m_pixmap.load(KStandardDirs::locateLocal("data", \
"plasma-desktop-datastorage/blackboard-" + m_id + ".png"), "PNG"); + \
update(contentsRect()); + p.begin(&m_pixmap);
+ p.setPen(QPen(m_color, 3));
+}
+
void BlackBoardWidget::mousePressEvent(QGraphicsSceneMouseEvent *)
{
update(contentsRect());
--- trunk/playground/base/plasma/applets/blackboard/blackboardwidget.h \
#1017937:1017938 @@ -28,15 +28,13 @@
#include <QPainter>
class QGraphicsSceneMouseEvent;
-class QMenu;
-class CustomTimeEditor;
-class QActionGroup;
class BlackBoardWidget : public QGraphicsWidget
{
Q_OBJECT
+
public:
- BlackBoardWidget(QGraphicsWidget *parent);
+ BlackBoardWidget(QGraphicsWidget *parent, QString id);
~BlackBoardWidget();
void paint(QPainter *painter, const QStyleOptionGraphicsItem \
*option, QWidget *widget); @@ -47,8 +45,13 @@
void resizeEvent(QGraphicsSceneResizeEvent * event);
void setBrushColor(QColor color);
+
+ private Q_SLOTS:
+ void loadImage();
+ void saveImage();
private:
+ QString m_id;
QColor m_color;
QPixmap m_pixmap;
QPointF oldPoint;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic