Replaced QtMobility BatteryInfo
[harmattan/cameraplus] / src / quillitem.cpp
index be9667f..6732b17 100644 (file)
@@ -35,53 +35,7 @@ QuillItem::~QuillItem() {
   delete m_file; m_file = 0;
 }
 
-void QuillItem::componentComplete() {
-  QDeclarativeItem::componentComplete();
-
-  recreate();
-}
-
-QUrl QuillItem::source() const {
-  return m_url;
-}
-
-void QuillItem::setSource(const QUrl& src) {
-  if (src == source()) {
-    return;
-  }
-
-  m_url = src;
-
-  if (isComponentComplete()) {
-    recreate();
-  }
-
-  emit sourceChanged();
-}
-
-QString QuillItem::mimeType() const {
-  return m_type;
-}
-
-void QuillItem::setMimeType(const QString& mime) {
-  if (mimeType() == mime) {
-    return;
-  }
-
-  m_type = mime;
-
-  if (isComponentComplete()) {
-    recreate();
-  }
-
-  emit mimeTypeChanged();
-}
-
-bool QuillItem::error() const {
-  return m_error;
-}
-
-void QuillItem::recreate() {
+void QuillItem::initialize(const QUrl& url, const QString& mimeType) {
   if (m_error) {
     m_error = false;
     emit errorChanged();
@@ -91,12 +45,12 @@ void QuillItem::recreate() {
     m_file->deleteLater();
   }
 
-  m_file = new QuillFile(m_url.toLocalFile(), m_type);
+  m_file = new QuillFile(url.toLocalFile(), mimeType);
 
   QObject::connect(m_file, SIGNAL(error(QuillError)),
-         this, SLOT(fileError()), Qt::QueuedConnection);
+                  this, SLOT(fileError()), Qt::QueuedConnection);
   QObject::connect(m_file, SIGNAL(imageAvailable(QuillImageList)),
-         this, SLOT(fileLoaded()), Qt::QueuedConnection);
+                  this, SLOT(fileLoaded()), Qt::QueuedConnection);
   QObject::connect(m_file, SIGNAL(removed()),
                   m_file, SLOT(deleteLater()), Qt::QueuedConnection);
 
@@ -111,8 +65,16 @@ void QuillItem::recreate() {
   }
 }
 
+bool QuillItem::error() const {
+  return m_error;
+}
+
 void QuillItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) {
   Q_UNUSED(widget);
+  Q_UNUSED(option);
+
+  QRectF rect = boundingRect();
+  painter->fillRect(rect, Qt::black);
 
   if (!m_file) {
     return;
@@ -120,9 +82,18 @@ void QuillItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option,
 
   QImage image = m_file->image(0);
 
-  if (!image.isNull()) {
-    painter->drawImage(option->rect, image);
+  if (image.isNull()) {
+    return;
   }
+
+  QSizeF imageSize = QSizeF(image.size());
+  QSizeF widgetSize = rect.size();
+  imageSize.scale(widgetSize, Qt::KeepAspectRatio);
+
+  QPointF pos = QPointF(widgetSize.width() - imageSize.width(),
+                       widgetSize.height() - imageSize.height()) / 2;
+
+  painter->drawImage(QRectF(pos, imageSize), image, QRect(0, 0, image.width(), image.height()));
 }
 
 void QuillItem::fileLoaded() {
@@ -142,6 +113,7 @@ bool QuillItem::fileError() {
 
     QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,
                              Q_ARG(QString, err.errorData()));
+
     m_file->deleteLater(); m_file = 0;
 
     if (!m_error) {