aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Tapsell <john.tapsell.ext@basyskom.de>2010-04-07 17:27:10 +0900
committerTomas Junnonen <tomas.junnonen@nokia.com>2010-04-07 13:28:46 +0300
commit104e51bf54820210b8a343ef79fc117044638f67 (patch)
tree08f7bdba9276870ac1a202da2230f6db8f6a4ea9
parentbad6a643dd1b90bcb71113ce980729de72f9e877 (diff)
Changes: WidgetsGallery Spinnerpage - use a flow layout instead of a grid layout policy
RevBy: Mike, Tomas Details: This stops the layout overflowing its container
-rw-r--r--demos/widgetsgallery/spinnerpage.cpp32
-rw-r--r--demos/widgetsgallery/spinnerpage.h2
2 files changed, 11 insertions, 23 deletions
diff --git a/demos/widgetsgallery/spinnerpage.cpp b/demos/widgetsgallery/spinnerpage.cpp
index 97f45b62..8fddf6d7 100644
--- a/demos/widgetsgallery/spinnerpage.cpp
+++ b/demos/widgetsgallery/spinnerpage.cpp
@@ -27,13 +27,13 @@
#include <DuiAction>
#include <DuiLinearLayoutPolicy>
#include <DuiGridLayoutPolicy>
+#include <DuiFlowLayoutPolicy>
#include <DuiProgressIndicator>
#include <DuiDialog>
#include <DuiContainer>
#include <QGraphicsLinearLayout>
#include <QStringListModel>
#include <DuiImageWidget>
-#include <QGraphicsGridLayout>
#include <QDir>
#include <QDebug>
@@ -142,18 +142,8 @@ void SpinnerPage::inContainerHeader()
container->setTitle(qtTrId("xx_spinner_page_container_title"));
containerPolicy->addItem(container);
- QGraphicsGridLayout *grid = new QGraphicsGridLayout(container->centralWidget());
- container->centralWidget()->setLayout(grid);
-
- for (int i = 0; i < 6; ++i) {
- grid->setColumnMaximumWidth(i, ImageSize);
- grid->setColumnMinimumWidth(i, ImageSize);
- }
-
- grid->setRowMinimumHeight(0, ImageSize);
- grid->setRowMinimumHeight(1, ImageSize);
- grid->setRowMaximumHeight(0, ImageSize);
- grid->setRowMaximumHeight(1, ImageSize);
+ DuiLayout *layout = new DuiLayout(container->centralWidget());
+ imageContainerPolicy = new DuiFlowLayoutPolicy(layout);
description = new DuiLabel(centralWidget());
//% "Spinner can be used in container header to indicate that the items inside the container "
@@ -169,14 +159,9 @@ void SpinnerPage::inContainerHeader()
void SpinnerPage::timeout()
{
- QGraphicsGridLayout *grid = dynamic_cast<QGraphicsGridLayout *>(container->centralWidget()->layout());
-
- Q_ASSERT(grid != NULL);
-
- if (grid) {
- int row = grid->count() / 6;
- int column = grid->count() % 6;
+ Q_ASSERT(imageContainerPolicy != NULL);
+ if (imageContainerPolicy) {
QString contactsDir = Utils::contactsDir();
QDir imagesDir(contactsDir);
imagesDir.setNameFilters(QStringList() << "*.png");
@@ -184,12 +169,12 @@ void SpinnerPage::timeout()
QStringList imageContacts = imagesDir.entryList(QDir::Files);
DuiImageWidget *image = new DuiImageWidget(container->centralWidget());
- image->setPixmap(QPixmap(contactsDir + QDir::separator() + imageContacts[grid->count() % imageContacts.size()]));
+ image->setPixmap(QPixmap(contactsDir + QDir::separator() + imageContacts[imageContainerPolicy->count() % imageContacts.size()]));
image->setMinimumSize(ImageSize, ImageSize);
image->setMaximumSize(ImageSize, ImageSize);
- grid->addItem(image, row, column);
+ imageContainerPolicy->addItem(image);
- if (grid->count() < 12) {
+ if (imageContainerPolicy->count() < 12) {
timer.setSingleShot(true);
timer.start(2000);
}
@@ -287,6 +272,7 @@ void SpinnerPage::reset()
} break;
}
+ imageContainerPolicy = NULL;
view = Unknown;
}
diff --git a/demos/widgetsgallery/spinnerpage.h b/demos/widgetsgallery/spinnerpage.h
index 6b039be1..a6647bee 100644
--- a/demos/widgetsgallery/spinnerpage.h
+++ b/demos/widgetsgallery/spinnerpage.h
@@ -26,6 +26,7 @@
class DuiLabel;
class DuiContainer;
class DuiButton;
+class DuiFlowLayoutPolicy;
class SpinnerPage : public TemplatePage
{
@@ -63,6 +64,7 @@ private:
DuiLabel *description;
View view;
QTimer timer;
+ DuiFlowLayoutPolicy *imageContainerPolicy;
};
#endif // SPINNERPAGE_H