summaryrefslogtreecommitdiffstats
path: root/mainwindow.cpp
diff options
context:
space:
mode:
authorRoopesh Chander <roop@forwardbias.in>2009-11-03 23:59:18 +0530
committerRoopesh Chander <roop@forwardbias.in>2009-11-03 23:59:18 +0530
commit8c2ca37ae9ad2d273fe85e28eeceb236083333b9 (patch)
tree2e95ad350952bff8fcf87c0643e6a8cdfd7b9d64 /mainwindow.cpp
parent16f4963b6b4fadb49315b8da4cb8e1784b3ff8d6 (diff)
restore scraps correctly even when we close the app from the browser view
Diffstat (limited to 'mainwindow.cpp')
-rw-r--r--mainwindow.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 3a6e434..8634f3a 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -49,7 +49,6 @@ void MainWindow::addScrap(QUrl url, QRect scrapRect, QPoint position, qreal xSca
webscrap->setRefreshInterval(1000 * 60 * 60); // 1 hour
WebScrapContainer *container = new WebScrapContainer(webscrap, m_graphicsView->scene(), xScale, yScale);
container->setPos(position - webscrap->pos());
- container->setData(0, container->pos());
connect(container, SIGNAL(frameClicked()), SLOT(bubbleUpScrap()));
connect(container, SIGNAL(removeSelf()), SLOT(removeSenderScrap()));
m_dropDownList->addItem(QWebSettings::iconForUrl(url), url.toString(), qVariantFromValue(container));
@@ -205,11 +204,11 @@ QAbstractAnimation* MainWindow::createScrapsAnim(const Movement move, QObject *p
QPropertyAnimation *moveAnim = new QPropertyAnimation(scrap, "pos", allScrapsAnim);
moveAnim->setDuration(500 + 150 * (rand() % 10));
if (move == Enter) {
- moveAnim->setEndValue(scrap->data(0).toPointF());
+ moveAnim->setEndValue(scrap->data(WebScrapContainer::Position).toPointF());
moveAnim->setEasingCurve(QEasingCurve::OutCubic);
}
if (move == Leave) {
- scrap->setData(0, scrap->pos());
+ scrap->setData(WebScrapContainer::Position, scrap->pos());
moveAnim->setEndValue(m_graphicsView->sceneRect().center() + flyOffset);
moveAnim->setEasingCurve(QEasingCurve::InCubic);
}
@@ -359,7 +358,10 @@ void MainWindow::saveSettings() {
m_settings->setValue("url", scrap->url().toString());
m_settings->setValue("topLeft", scrap->scrapRect().topLeft());
m_settings->setValue("size", scrap->scrapRect().size());
- m_settings->setValue("pos", (container->pos() + scrap->pos()).toPoint());
+ QPointF containerPos = container->pos();
+ if (!m_graphicsView->sceneRect().contains(containerPos))
+ containerPos = container->data(WebScrapContainer::Position).toPoint();
+ m_settings->setValue("pos", containerPos + scrap->pos());
m_settings->setValue("xScale", container->scrapScale()->xScale());
m_settings->setValue("yScale", container->scrapScale()->yScale());
}