// Re-parent children
fullScreenWindow->leaveBookView();
takeBookView(view, prog, prev, next);
-
fullScreenWindow->hide();
+
+#ifdef Q_OS_SYMBIAN
+ view->setFixedSize(Platform::availableSize().width(),
+ Platform::availableSize().height() - Platform::softKeyHeight());
+#endif
show();
}
// Re-parent children
leaveBookView();
fullScreenWindow->takeBookView(view, prog, prev, next);
-
hide();
+
+#ifdef Q_OS_SYMBIAN
+ view->setFixedSize(Platform::size());
+#endif
fullScreenWindow->showFullScreen();
}
#endif
}
}
+
+int Platform::softKeyHeight()
+{
+#if defined(Q_OS_SYMBIAN)
+ return 62;
+#else
+ return 0;
+#endif
+}
+
+int Platform::toolBarIconHeight()
+{
+#if defined(Q_OS_SYMBIAN)
+ return 60;
+#elif defined(Q_WS_X11) && !defined(Q_WS_MAEMO_5)
+ return 40;
+#else
+ return 0;
+#endif
+}
+
+QSize Platform::size()
+{
+ return QApplication::desktop()->geometry().size();
+}
+
+QSize Platform::availableSize()
+{
+ QSize s = QApplication::desktop()->availableGeometry().size();
+#if defined(Q_OS_SYMBIAN)
+ // Work around a Qt bug on Symbian which sometimes forgets to reduce the
+ // available height by the soft key area height
+ if (s.height() == 548) {
+ s.setHeight(s.height() - softKeyHeight());
+ }
+#endif
+ return s;
+}
#define PLATFORM_H
#include <QString>
+#include <QSize>
class QWidget;
QString version();
QString downloadDir();
QString defaultFont();
- int defaultZoom();
+ static int defaultZoom();
QString defaultOrientation();
void setOrientation(QWidget *widget, const QString &orientation);
void information(const QString &label, QWidget *parent = 0);
void showBusy(QWidget *w, bool isBusy);
QString traceFileName();
+ static int softKeyHeight();
+ static int toolBarIconHeight();
+ static QSize size();
+ static QSize availableSize();
};
#endif // PLATFORM_H
\r
#if defined(Q_OS_SYMBIAN)\r
toolBar = new QToolBar("", this);\r
- QMainWindow::addToolBar(Qt::BottomToolBarArea, toolBar);\r
+ toolBar->setFixedHeight(Platform::softKeyHeight());\r
+ QMainWindow::addToolBar(Qt::NoToolBarArea, toolBar);\r
#else\r
toolBar = QMainWindow::addToolBar("");\r
#endif\r
toolBar->toggleViewAction()->setVisible(false);\r
\r
#if defined(Q_WS_X11) && !defined(Q_WS_MAEMO_5)\r
- toolBar->setIconSize(QSize(42, 42));\r
+ toolBar->setIconSize(QSize(Platform::toolBarIconHeight(),\r
+ Platform::toolBarIconHeight()));\r
#endif\r
}\r
\r
QMainWindow::show();\r
#endif\r
}\r
+\r
+#ifdef Q_OS_SYMBIAN\r
+\r
+void MainBase::resizeEvent(QResizeEvent *e)\r
+{\r
+ Trace t("MainBase::resizeEvent");\r
+\r
+ QMainWindow::resizeEvent(e);\r
+ if (!toolBar) {\r
+ return;\r
+ }\r
+ QSize available = Platform::availableSize();\r
+ toolBar->setGeometry(0, available.height() - Platform::softKeyHeight(),\r
+ available.width(), Platform::softKeyHeight());\r
+}\r
+\r
+#endif // Q_OS_SYMBIAN\r
/** Return the height of the tool bar (or 0 if there is no tool bar). */\r
int toolBarHeight();\r
\r
+#ifdef Q_OS_SYMBIAN\r
+ /** Handle resize. */\r
+ void resizeEvent(QResizeEvent *e);\r
+#endif\r
+\r
private:\r
QToolBar *toolBar; /**< Tool bar. */\r
};\r