[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/plasma/applets/frame
From: Anne-Marie Mahfouf <annma () kde ! org>
Date: 2008-01-28 13:06:13
Message-ID: 1201525573.279250.23532.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 767579 by annma:
- create a Picture class to choose the picture and set Default Picture (TODO is to \
also move slideshow code here)
- have a new picture as default, from ruphy
If anyone can have a look at the code and report any problem, I'd be grateful, \
thanks!
M +3 -2 CMakeLists.txt
M +3 -1 TODO
M +3 -45 frame.cpp
M +0 -4 frame.h
AM picture-frame-default.jpg
D picture-frame-default.svg
AM picture.cpp [License: GPL (v2+)]
AM picture.h [License: GPL (v2+)]
--- trunk/extragear/plasma/applets/frame/CMakeLists.txt #767578:767579
@@ -1,7 +1,8 @@
project(plasma-frame)
set(frame_SRCS
- frame.cpp)
+ frame.cpp
+ picture.cpp)
kde4_add_ui_files(frame_SRCS config.ui )
@@ -11,4 +12,4 @@
install(TARGETS plasma_applet_frame DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES plasma-frame-default.desktop DESTINATION ${SERVICES_INSTALL_DIR})
-install(FILES picture-frame-default.svg DESTINATION \
${DATA_INSTALL_DIR}/desktoptheme/default/widgets/) +install(FILES \
picture-frame-default.jpg DESTINATION \
${DATA_INSTALL_DIR}/plasma-frame)
--- trunk/extragear/plasma/applets/frame/TODO #767578:767579
@@ -1,6 +1,8 @@
TODO FOR 4.1:
-- clean the code
+- clean the code: class Picture is added (28th January 2008), still to do is add \
slideshow code there +- comic-like engine.
+- engine to support many Pictures of The Day
- Make the Wikipedia Picture Of The Day an engine (RSS) - Keep craig Duquette \
updated when it's done so he'll see about a flickr engine! - have several engines as \
the comic engine has.
- clean the config dialog and take ideas from Desktop config (share some config \
settings?) - add recursive dirs as an option for slideshow (although beware of too \
many options)
--- trunk/extragear/plasma/applets/frame/frame.cpp #767578:767579
@@ -47,6 +47,7 @@
#include <plasma/theme.h>
#include <math.h>
+#include "picture.h"
Frame::Frame(QObject *parent, const QVariantList &args)
: Plasma::Applet(parent, args),
@@ -98,36 +99,6 @@
}
}
-QImage Frame::loadDefaultImage(QString message)
-{
- // Create a QImage with same axpect ratio of default svg and current pixelSize
- QString svgFile = Plasma::Theme::self()->image("widgets/picture-frame-default");
- QSvgRenderer sr(svgFile);
- int pixelSize = contentSize().toSize().width();
- double scale = (double) pixelSize / \
sr.boundsOnElement("boundingRect").size().width();
- QImage imload(pixelSize,
- (int) (sr.boundsOnElement("boundingRect").size().height() * \
scale),
- QImage::Format_ARGB32);
- imload.fill(Qt::white);
- QPainter p(&imload);
- sr.render(&p, QRect(QPoint(0, 0), imload.size()));
-
- // Set the font and draw text in a textRect
- QRectF textRect = sr.boundsOnElement("textArea");
- textRect = QRectF(textRect.x() * scale,
- textRect.y() * scale,
- textRect.width() * scale,
- textRect.height() * scale);
- QFont textFont;
- // textFont.setItalic(true);
- textFont.setBold(true);
- textFont.setPixelSize(imload.height() / 15);
- p.setFont(textFont);
- p.drawText(textRect.toRect(), message);
- p.end();
- return imload;
-}
-
void Frame::setSlideShow()
{
QStringList picList;
@@ -153,21 +124,8 @@
void Frame::choosePicture(const KUrl& currentUrl)
{
- if (currentUrl.url().isEmpty()) {
- m_picture = loadDefaultImage("Put your photo here\nor drop a folder for \
starting a slideshow");
- } else {
- QImage tempImage(currentUrl.path());
- if (tempImage.isNull()){
- m_picture = loadDefaultImage("Error loading image");
- } else { // Load success! Scale the image if it is too big
- if (tempImage.width() > m_maxDimension || tempImage.height() > \
m_maxDimension) {
- m_picture = tempImage.scaled(m_maxDimension,m_maxDimension,
- \
Qt::KeepAspectRatio,Qt::SmoothTransformation);
- } else {
- m_picture = tempImage;
- }
- }
- }
+ Picture myPicture;
+ m_picture = myPicture.setPicture(currentUrl);
m_pixmapCache = QPixmap();
update();
--- trunk/extragear/plasma/applets/frame/frame.h #767578:767579
@@ -98,12 +98,8 @@
/// Frame & shadow outline thickness
int m_frameOutline;
int m_swOutline;
- /// Max Picture Dimension
- static const int m_maxDimension=800;
/// Designer Config file
Ui::config ui;
- /// Default image
- QImage loadDefaultImage(QString message);
};
K_EXPORT_PLASMA_APPLET(frame, Frame)
** trunk/extragear/plasma/applets/frame/picture-frame-default.jpg #property \
svn:mime-type + image/jpeg
** trunk/extragear/plasma/applets/frame/picture.cpp #property svn:eol-style
+ native
** trunk/extragear/plasma/applets/frame/picture.h #property svn:eol-style
+ native
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic