diff options
author | John Tapsell <john.tapsell.ext@basyskom.de> | 2010-04-07 17:27:10 +0900 |
---|---|---|
committer | Tomas Junnonen <tomas.junnonen@nokia.com> | 2010-04-07 13:28:46 +0300 |
commit | 104e51bf54820210b8a343ef79fc117044638f67 (patch) | |
tree | 08f7bdba9276870ac1a202da2230f6db8f6a4ea9 /demos | |
parent | bad6a643dd1b90bcb71113ce980729de72f9e877 (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
Diffstat (limited to 'demos')
-rw-r--r-- | demos/widgetsgallery/spinnerpage.cpp | 32 | ||||
-rw-r--r-- | demos/widgetsgallery/spinnerpage.h | 2 |
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 |