summaryrefslogtreecommitdiffstats
path: root/weather
diff options
context:
space:
mode:
authorLuiz Agostini <luiz.agostini@openbossa.org>2009-11-05 13:34:35 -0300
committerLuiz Agostini <luiz.agostini@openbossa.org>2009-11-05 18:57:33 -0300
commit2684f9d1e24f296df3ae35a6bbb437ba42df3f63 (patch)
treec9b78bb9628624dd7676a3143a1410b784fda697 /weather
parent1ffac662c25835b22f4e3d879ee6a289909c638c (diff)
Weather: removing redundant structure.
Signed-off-by: Luiz Agostini <luiz.agostini@openbossa.org>
Diffstat (limited to 'weather')
-rw-r--r--weather/citycarroussel.cpp27
-rw-r--r--weather/citycarroussel.h19
-rw-r--r--weather/mainview.cpp2
3 files changed, 12 insertions, 36 deletions
diff --git a/weather/citycarroussel.cpp b/weather/citycarroussel.cpp
index 4e69c99..bcdeb2a 100644
--- a/weather/citycarroussel.cpp
+++ b/weather/citycarroussel.cpp
@@ -179,19 +179,6 @@ QVariant ForecastBackground::itemChange(GraphicsItemChange change, const QVarian
return QGraphicsPixmapItem::itemChange(change, value);
}
-// CityForecastData
-
-QSharedPointer<ForecastView> CityForecastData::view()
-{
- QSharedPointer<ForecastView> result(m_view.toStrongRef());
- if (!result) {
- ForecastView *view = ForecastView::createView(m_data.type(), data().night());
- result = QSharedPointer<ForecastView>(view);
- m_view = result.toWeakRef();
- }
- return result;
-}
-
// CityCarrousselGesture
CityCarrousselGesture::CityCarrousselGesture(CityCarroussel &carroussel, QGraphicsItem *parent)
@@ -253,6 +240,7 @@ static const qreal backgroundWidthRef = 635.0 / 480.0;
CityCarroussel::CityCarroussel(QGraphicsItem *parent)
: QGraphicsItem(parent)
+ , m_view(0)
, m_displacement(0.0)
, m_gestureBox(new CityCarrousselGesture(*this, this))
, m_boundingRect(QPointF(0.0, 0.0), Settings::windowSize())
@@ -345,7 +333,7 @@ void CityCarroussel::paint(QPainter *painter, const QStyleOptionGraphicsItem *op
Q_UNUSED(widget);
}
-void CityCarroussel::add(CityForecastData *item)
+void CityCarroussel::add(ForecastData item)
{
int idx = m_data.add(item);
if (idx < -1 || idx > 1)
@@ -362,7 +350,8 @@ void CityCarroussel::add(CityForecastData *item)
void CityCarroussel::updateMainItem()
{
- m_view = m_data[0]->view();
+ delete m_view;
+ m_view = ForecastView::createView(m_data[0].type(), m_data[0].night());
connect(m_cityInfo[0], SIGNAL(nameClicked()), this, SIGNAL(cityNameClicked()));
m_view->setPos(-m_positions[1], 0.0);
m_view->setZValue(10.0);
@@ -379,15 +368,15 @@ void CityCarroussel::updateBackground(int idx)
if (m_data.count() == 0)
m_background[idx]->reset();
else
- m_background[idx]->setForecast(m_data[idx]->data().type(), m_data[idx]->data().night());
+ m_background[idx]->setForecast(m_data[idx].type(), m_data[idx].night());
m_background[idx]->setZValue(idx);
m_background[idx]->setReferencePos(m_positions[idx + 1]);
m_texts[idx]->setPlainText(m_background[idx]->description());
- QString cityName = m_data.count() ? m_data[idx]->data().cityName() : QString("unknown");
+ QString cityName = m_data.count() ? m_data[idx].cityName() : QString("unknown");
m_cityInfo[idx]->setCityName(cityName);
if (m_data.count() > 0)
- m_cityInfo[idx]->setTemperature(m_data[idx]->data().lower(),
- m_data[idx]->data().upper(), m_data[idx]->data().current());
+ m_cityInfo[idx]->setTemperature(m_data[idx].lower(),
+ m_data[idx].upper(), m_data[idx].current());
else
m_cityInfo[idx]->setTemperature(0, 0, 0);
}
diff --git a/weather/citycarroussel.h b/weather/citycarroussel.h
index 41d9a46..5e953e7 100644
--- a/weather/citycarroussel.h
+++ b/weather/citycarroussel.h
@@ -42,19 +42,6 @@
#include <QSharedPointer>
#include <QWeakPointer>
-class CityForecastData
-{
-public:
- CityForecastData(const ForecastData &data) : m_data(data) {}
-
- const ForecastData &data() const { return m_data; }
- QSharedPointer<ForecastView> view();
-
-private:
- QWeakPointer<ForecastView> m_view;
- const ForecastData m_data;
-};
-
class ForecastBackground : public QGraphicsPixmapItem
{
public:
@@ -119,7 +106,7 @@ class CityCarroussel : public QObject, public QGraphicsItem
public:
CityCarroussel(QGraphicsItem *parent = 0);
~CityCarroussel();
- void add(CityForecastData *item);
+ void add(ForecastData item);
static int loadImages();
@@ -141,13 +128,13 @@ public slots:
private:
friend class CityCarrousselGesture;
- Carroussel<CityForecastData*> m_data;
+ Carroussel<ForecastData> m_data;
Carroussel<ForecastBackground*> m_background;
Carroussel<QGraphicsTextItem*> m_texts;
Carroussel<CityInfoDisplay*> m_cityInfo;
CarrousselGroup m_carroussel;
- QSharedPointer<ForecastView> m_view;
+ ForecastView *m_view;
qreal m_displacement;
CityCarrousselGesture *m_gestureBox;
const QRectF m_boundingRect;
diff --git a/weather/mainview.cpp b/weather/mainview.cpp
index 6a984b0..7340b43 100644
--- a/weather/mainview.cpp
+++ b/weather/mainview.cpp
@@ -95,7 +95,7 @@ void MainView::showCarroussel()
connect(this, SIGNAL(moveRight()), m_carroussel, SLOT(moveRight()));
foreach (const ForecastData &forecast, data)
- m_carroussel->add(new CityForecastData(forecast));
+ m_carroussel->add(forecast);
m_carroussel->setPos(0.0, 0.0);
m_carroussel->setZValue(0.0);
m_scene.addItem(m_carroussel);