summaryrefslogtreecommitdiffstats
path: root/testapp/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testapp/main.cpp')
-rw-r--r--testapp/main.cpp65
1 files changed, 53 insertions, 12 deletions
diff --git a/testapp/main.cpp b/testapp/main.cpp
index 698ec64..732f67c 100644
--- a/testapp/main.cpp
+++ b/testapp/main.cpp
@@ -8,26 +8,67 @@ int main(int argc, char **argv)
{
QApplication a(argc, argv);
- QListWidget *lw = new QListWidget();
+ QListWidget *list = new QListWidget();
for (int i = 0; i < 1000; ++i)
- new QListWidgetItem(QString("Oa dsjfhdk jhdsjk hfdskj k %1").arg(i), lw);
+ new QListWidgetItem(QString("Oa dsjfhdk jhdsjk hfdskj k %1").arg(i), list);
QScrollAreaKineticScroller *s = new QScrollAreaKineticScroller();
- s->setWidget(lw);
+ s->setWidget(list);
- QWidget *settings = new SettingsWidget(s);
+#if defined(Q_WS_MAEMO_5) || defined(Q_WS_S60) || defined(Q_WS_WINCE)
+ bool smallScreen = true;
+#else
+ bool smallScreen = false;
+#endif
+
+ QWidget *settings = new SettingsWidget(s, smallScreen);
QWidget *plot = new PlotWidget(s);
- QSplitter *split = new QSplitter();
- split->addWidget(lw);
- QTabWidget *tab = new QTabWidget();
- tab->addTab(settings, settings->windowTitle());
- tab->addTab(plot, plot->windowTitle());
- split->addWidget(tab);
+ if (smallScreen) {
+ QMainWindow *top = new QMainWindow();
+ QStackedWidget *stack = new QStackedWidget();
+ stack->addWidget(list);
+ stack->addWidget(settings);
+ stack->addWidget(plot);
+ top->setCentralWidget(stack);
+
+ QActionGroup *pages = new QActionGroup(top);
+ pages->setExclusive(true);
+ QSignalMapper *mapper = new QSignalMapper(top);
+ QObject::connect(mapper, SIGNAL(mapped(int)), stack, SLOT(setCurrentIndex(int)));
+
+ QAction *a = new QAction(QLatin1String("List"), pages);
+ a->setCheckable(true);
+ a->setChecked(true);
+ mapper->setMapping(a, 0);
+ QObject::connect(a, SIGNAL(toggled(bool)), mapper, SLOT(map()));
+
+ a = new QAction(QLatin1String("Config"), pages);
+ a->setCheckable(true);
+ a->setChecked(false);
+ a->setMenuRole(QAction::NoRole);
+ mapper->setMapping(a, 1);
+ QObject::connect(a, SIGNAL(toggled(bool)), mapper, SLOT(map()));
+
+ a = new QAction(QLatin1String("Plot"), pages);
+ a->setCheckable(true);
+ a->setChecked(false);
+ mapper->setMapping(a, 2);
+ QObject::connect(a, SIGNAL(toggled(bool)), mapper, SLOT(map()));
- split->show();
- split->raise();
+ top->menuBar()->addMenu("Pages")->addActions(pages->actions());
+ top->showMaximized();
+ } else {
+ QSplitter *split = new QSplitter();
+ split->addWidget(list);
+ split->addWidget(settings);
+ split->addWidget(plot);
+ split->show();
+#if defined(Q_WS_MAC)
+ split->raise();
+#endif
+ }
return a.exec();
}