equal
deleted
inserted
replaced
31 #include "hswallpaper.h" |
31 #include "hswallpaper.h" |
32 #include "hswidgetpositioningonwidgetadd.h" |
32 #include "hswidgetpositioningonwidgetadd.h" |
33 #include "hswidgetpositioningonorientationchange.h" |
33 #include "hswidgetpositioningonorientationchange.h" |
34 #include "hsconfiguration.h" |
34 #include "hsconfiguration.h" |
35 #include "hsgui.h" |
35 #include "hsgui.h" |
36 |
36 #include "hsdbupdatethread.h" |
37 |
37 |
38 /*! |
38 /*! |
39 \class HsPage |
39 \class HsPage |
40 \ingroup group_hsdomainmodel |
40 \ingroup group_hsdomainmodel |
41 \brief Represents a page in the framework. |
41 \brief Represents a page in the framework. |
264 HsPageNewWidgetLayout *newWidgetLayout = static_cast<HsPageNewWidgetLayout *>(visual()->layout()); |
264 HsPageNewWidgetLayout *newWidgetLayout = static_cast<HsPageNewWidgetLayout *>(visual()->layout()); |
265 if (!newWidgetLayout) { |
265 if (!newWidgetLayout) { |
266 newWidgetLayout = new HsPageNewWidgetLayout(mTouchPoint); |
266 newWidgetLayout = new HsPageNewWidgetLayout(mTouchPoint); |
267 visual()->setLayout(newWidgetLayout); |
267 visual()->setLayout(newWidgetLayout); |
268 } |
268 } |
269 updateZValues(); |
269 updateZValues(HsScene::instance()->activeWidget()); |
270 HsWidgetHost *widget = 0; |
270 HsWidgetHost *widget = 0; |
271 for (int i = 0; i < mNewWidgets.count(); ++i) { |
271 for (int i = 0; i < mNewWidgets.count(); ++i) { |
272 widget = mNewWidgets.at(i); |
272 widget = mNewWidgets.at(i); |
273 newWidgetLayout->addItem(widget); |
273 newWidgetLayout->addItem(widget); |
274 widget->setPage(this); |
274 widget->setPage(this); |
494 |
494 |
495 /*! |
495 /*! |
496 Update widgets z-values and persist those. Active widget has top most |
496 Update widgets z-values and persist those. Active widget has top most |
497 z-value. |
497 z-value. |
498 */ |
498 */ |
499 void HsPage::updateZValues() |
499 void HsPage::updateZValues(HsWidgetHost *activeWidget) |
500 { |
500 { |
501 int z = 0; |
501 int z = 0; |
502 |
502 |
503 QHash<int, qreal> widgetZValues; |
503 QHash<int, qreal> widgetZValues; |
504 |
504 |
508 map.insert(widget->visual()->zValue(), widget); |
508 map.insert(widget->visual()->zValue(), widget); |
509 } |
509 } |
510 |
510 |
511 QList<HsWidgetHost *> sortedWidgets = map.values(); |
511 QList<HsWidgetHost *> sortedWidgets = map.values(); |
512 |
512 |
513 HsWidgetHost *activeWidget = HsScene::instance()->activeWidget(); |
|
514 if (sortedWidgets.contains(activeWidget)) { |
513 if (sortedWidgets.contains(activeWidget)) { |
515 sortedWidgets.removeOne(activeWidget); |
514 sortedWidgets.removeOne(activeWidget); |
516 sortedWidgets.append(activeWidget); |
515 sortedWidgets.append(activeWidget); |
517 } |
516 } |
518 |
517 |
528 widget->visual()->setZValue(z++); |
527 widget->visual()->setZValue(z++); |
529 } |
528 } |
530 } |
529 } |
531 |
530 |
532 if (!widgetZValues.isEmpty()) { |
531 if (!widgetZValues.isEmpty()) { |
533 HsDatabase::instance()->updateWidgetZValues( |
532 HsDbUpdateThread::instance()->slotUpdateWidgetZValues( |
534 widgetZValues, HsGui::instance()->orientation()); |
533 widgetZValues, HsGui::instance()->orientation()); |
535 } |
534 } |
536 } |
535 } |
537 /*! |
536 /*! |
538 Return this page's index. |
537 Return this page's index. |