[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