--- a/homescreenapp/hsdomainmodel/src/hspage.cpp Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hspage.cpp Mon May 03 12:24:59 2010 +0300
@@ -50,9 +50,6 @@
setFlag(QGraphicsItem::ItemHasNoContents);
setSizePolicy(QSizePolicy(QSizePolicy::Ignored,
QSizePolicy::Ignored));
-
- mStartPoint["portrait"] = QPointF();
- mStartPoint["landscape"] = QPointF();
}
/*!
@@ -171,13 +168,12 @@
if (!widgetHost->widgetPresentationData(key, presentation)) {
presentation.key = key;
presentation.setPos(QPointF());
- presentation.setSize(widgetHost->preferredSize());
presentation.zValue = 0;
widgetHost->setWidgetPresentationData(presentation);
}
widgetHost->hide();
- widgetHost->setGeometry(presentation.geometry());
+ widgetHost->setPos(presentation.x, presentation.y);
widgetHost->setZValue(presentation.zValue);
connectWidget(widgetHost);
@@ -208,7 +204,7 @@
HsWidgetPositioningOnWidgetAdd::instance();
QList<QRectF> calculatedRects =
- algorithm->convert(HsScene::mainWindow()->layoutRect(), rects, mStartPoint[key]);
+ algorithm->convert(HsScene::mainWindow()->layoutRect(), rects, QPointF());
updateZValues();
@@ -221,18 +217,10 @@
widget->setParentItem(this);
widget->show();
}
- mStartPoint[key] = widget->geometry().bottomRight();
mWidgets << mNewWidgets;
mNewWidgets.clear();
}
-/*!
- Resets the new widgets list
-*/
-void HsPage::resetNewWidgets()
-{
- mNewWidgets.clear();
-}
bool HsPage::deleteFromDatabase()
{
@@ -273,40 +261,6 @@
mRemovable = removable;
}
-bool HsPage::updateZValues()
-{
- int z = 0;
-
- if (!mWidgets.isEmpty()) {
- QMultiMap<qreal, HsWidgetHost *> map;
- foreach (HsWidgetHost *widget, mWidgets) {
- map.insert(widget->zValue(), widget);
- }
-
- QList<HsWidgetHost *> sortedWidgets = map.values();
-
- HsWidgetHost *activeWidget = HsScene::instance()->activeWidget();
- if (sortedWidgets.contains(activeWidget)) {
- sortedWidgets.removeOne(activeWidget);
- sortedWidgets.append(activeWidget);
- }
-
- foreach (HsWidgetHost *widget, sortedWidgets) {
- widget->setZValue(z++);
- widget->setWidgetPresentation();
- }
- }
-
- if (!mNewWidgets.isEmpty()) {
- foreach (HsWidgetHost *widget, mNewWidgets) {
- widget->setZValue(z++);
- widget->setWidgetPresentation();
- }
- }
-
- return true;
-}
-
HsPage *HsPage::createInstance(const HsPageData &pageData)
{
HsDatabase *db = HsDatabase::instance();
@@ -359,6 +313,38 @@
}
}
+void HsPage::updateZValues()
+{
+ int z = 0;
+
+ if (!mWidgets.isEmpty()) {
+ QMultiMap<qreal, HsWidgetHost *> map;
+ foreach (HsWidgetHost *widget, mWidgets) {
+ map.insert(widget->zValue(), widget);
+ }
+
+ QList<HsWidgetHost *> sortedWidgets = map.values();
+
+ HsWidgetHost *activeWidget = HsScene::instance()->activeWidget();
+ if (sortedWidgets.contains(activeWidget)) {
+ sortedWidgets.removeOne(activeWidget);
+ sortedWidgets.append(activeWidget);
+ }
+
+ foreach (HsWidgetHost *widget, sortedWidgets) {
+ widget->setZValue(z++);
+ widget->setWidgetPresentation();
+ }
+ }
+
+ if (!mNewWidgets.isEmpty()) {
+ foreach (HsWidgetHost *widget, mNewWidgets) {
+ widget->setZValue(z++);
+ widget->setWidgetPresentation();
+ }
+ }
+}
+
void HsPage::connectWidget(HsWidgetHost *widget)
{
connect(widget, SIGNAL(widgetFinished(HsWidgetHost*)),