diff options
author | Luiz Agostini <luiz.agostini@openbossa.org> | 2009-11-05 13:34:35 -0300 |
---|---|---|
committer | Luiz Agostini <luiz.agostini@openbossa.org> | 2009-11-05 18:57:33 -0300 |
commit | 2684f9d1e24f296df3ae35a6bbb437ba42df3f63 (patch) | |
tree | c9b78bb9628624dd7676a3143a1410b784fda697 /weather | |
parent | 1ffac662c25835b22f4e3d879ee6a289909c638c (diff) |
Weather: removing redundant structure.
Signed-off-by: Luiz Agostini <luiz.agostini@openbossa.org>
Diffstat (limited to 'weather')
-rw-r--r-- | weather/citycarroussel.cpp | 27 | ||||
-rw-r--r-- | weather/citycarroussel.h | 19 | ||||
-rw-r--r-- | weather/mainview.cpp | 2 |
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); |