equal
deleted
inserted
replaced
53 mainLayout(this), |
53 mainLayout(this), |
54 pMap(0), |
54 pMap(0), |
55 mapgen(MAPGEN_REGULAR), |
55 mapgen(MAPGEN_REGULAR), |
56 m_previewSize(256, 128) |
56 m_previewSize(256, 128) |
57 { |
57 { |
58 m_previewDirty = true; |
58 // don't show preview anything until first show event |
|
59 m_previewEnabled = false; |
|
60 |
59 hhSmall.load(":/res/hh_small.png"); |
61 hhSmall.load(":/res/hh_small.png"); |
60 hhLimit = 18; |
62 hhLimit = 18; |
61 templateFilter = 0; |
63 templateFilter = 0; |
62 m_master = true; |
64 m_master = true; |
63 |
65 |
607 emit drawnMapChanged(getDrawnMapData()); |
609 emit drawnMapChanged(getDrawnMapData()); |
608 |
610 |
609 updatePreview(); |
611 updatePreview(); |
610 } |
612 } |
611 |
613 |
612 void HWMapContainer::paintEvent(QPaintEvent * event) |
614 void HWMapContainer::showEvent(QShowEvent * event) |
613 { |
615 { |
614 if (m_previewDirty) |
616 if (!m_previewEnabled) { |
|
617 m_previewEnabled = true; |
615 updatePreview(); |
618 updatePreview(); |
616 QWidget::paintEvent(event); |
619 } |
|
620 QWidget::showEvent(event); |
617 } |
621 } |
618 |
622 |
619 void HWMapContainer::updatePreview() |
623 void HWMapContainer::updatePreview() |
620 { |
624 { |
621 // don't update preview if e.g. widget not being displayed |
625 // abort if the widget isn't supposed to show anything yet |
622 if (this->visibleRegion().isEmpty()) |
626 if (!m_previewEnabled) |
623 { |
|
624 // but remember to update it later |
|
625 m_previewDirty = true; |
|
626 return; |
627 return; |
627 } |
|
628 |
|
629 m_previewDirty = false; |
|
630 |
628 |
631 if (pMap) |
629 if (pMap) |
632 { |
630 { |
633 disconnect(pMap, 0, this, SLOT(setImage(const QImage))); |
631 disconnect(pMap, 0, this, SLOT(setImage(const QImage))); |
634 disconnect(pMap, 0, this, SLOT(setHHLimit(int))); |
632 disconnect(pMap, 0, this, SLOT(setHHLimit(int))); |