Index: src/mainwindow.cpp
===================================================================
--- src/mainwindow.cpp	(revision 95b0ef73dcb4517ac2ae08867494204bbe8d7ea6)
+++ src/mainwindow.cpp	(revision ccdffe3a5f84f12fba2e2f19ab249c31f1fcf35d)
@@ -90,5 +90,5 @@
     connect(actionFileSaveAsTask, SIGNAL(triggered()), SLOT(actionFileSaveAsTaskTriggered()));
     connect(actionFileSaveAsSolution, SIGNAL(triggered()), SLOT(actionFileSaveAsSolutionTriggered()));
-#ifndef QT_NO_PRINTER
+#ifndef QT_NO_PRINTDIALOG
     connect(actionFilePrintPreview, SIGNAL(triggered()), SLOT(actionFilePrintPreviewTriggered()));
     connect(actionFilePageSetup, SIGNAL(triggered()), SLOT(actionFilePageSetupTriggered()));
@@ -376,5 +376,5 @@
 }
 
-#ifndef QT_NO_PRINTER
+#ifndef QT_NO_PRINTDIALOG
 void MainWindow::actionFilePrintPreviewTriggered()
 {
@@ -434,5 +434,5 @@
     QApplication::restoreOverrideCursor();
 }
-#endif // QT_NO_PRINTER
+#endif // QT_NO_PRINTDIALOG
 
 void MainWindow::actionSettingsPreferencesTriggered()
@@ -693,4 +693,6 @@
 #ifndef HANDHELD
     dlg->resize(450, 350);
+#elif defined(Q_OS_BLACKBERRY)
+    dlg->setWindowState(Qt::WindowMaximized);
 #endif
     QApplication::restoreOverrideCursor();
@@ -1549,5 +1551,5 @@
     loadToolbarList();
 
-#ifndef QT_NO_PRINTER
+#ifndef QT_NO_PRINTDIALOG
     actionFilePrintPreview->setText(tr("P&rint Preview..."));
 #ifndef QT_NO_TOOLTIP
@@ -1573,6 +1575,8 @@
     actionFilePrint->setStatusTip(tr("Print current solution results"));
 #endif // QT_NO_STATUSTIP
+#ifndef QT_NO_SHORTCUT
     actionFilePrint->setShortcut(tr("Ctrl+P"));
-#endif // QT_NO_PRINTER
+#endif // QT_NO_SHORTCUT
+#endif // QT_NO_PRINTDIALOG
 
 #ifndef QT_NO_STATUSTIP
@@ -1729,5 +1733,5 @@
     solutionText->setWordWrapMode(QTextOption::WordWrap);
 
-#ifndef QT_NO_PRINTER
+#ifndef QT_NO_PRINTDIALOG
     actionFilePrintPreview = new QAction(this);
     actionFilePrintPreview->setObjectName("actionFilePrintPreview");
@@ -1755,5 +1759,5 @@
 
     toolBarMain->insertAction(actionSettingsPreferences, actionFilePrint);
-#endif // QT_NO_PRINTER
+#endif // QT_NO_PRINTDIALOG
 
     groupSettingsLanguageList = new QActionGroup(this);
@@ -1828,8 +1832,8 @@
     actionFileSaveAsSolution->setEnabled(enable);
     solutionText->setEnabled(enable);
-#ifndef QT_NO_PRINTER
+#ifndef QT_NO_PRINTDIALOG
     actionFilePrint->setEnabled(enable);
     actionFilePrintPreview->setEnabled(enable);
-#endif // QT_NO_PRINTER
+#endif // QT_NO_PRINTDIALOG
 }
 
Index: src/mainwindow.h
===================================================================
--- src/mainwindow.h	(revision 95b0ef73dcb4517ac2ae08867494204bbe8d7ea6)
+++ src/mainwindow.h	(revision ccdffe3a5f84f12fba2e2f19ab249c31f1fcf35d)
@@ -62,9 +62,9 @@
     void actionFileSaveAsTaskTriggered();
     void actionFileSaveAsSolutionTriggered();
-#ifndef QT_NO_PRINTER
+#ifndef QT_NO_PRINTDIALOG
     void actionFilePrintPreviewTriggered();
     void actionFilePageSetupTriggered();
     void actionFilePrintTriggered();
-#endif // QT_NO_PRINTER
+#endif // QT_NO_PRINTDIALOG
     void actionSettingsPreferencesTriggered();
     void actionSettingsLanguageAutodetectTriggered(bool checked);
@@ -109,7 +109,9 @@
 #ifndef QT_NO_PRINTER
     QPrinter *printer;
+#ifndef QT_NO_PRINTDIALOG
     QAction *actionFilePrintPreview;
     QAction *actionFilePageSetup;
     QAction *actionFilePrint;
+#endif // QT_NO_PRINTDIALOG
 #endif // QT_NO_PRINTER
     QAction *actionHelpCheck4Updates;
Index: src/settingsdialog.cpp
===================================================================
--- src/settingsdialog.cpp	(revision 95b0ef73dcb4517ac2ae08867494204bbe8d7ea6)
+++ src/settingsdialog.cpp	(revision ccdffe3a5f84f12fba2e2f19ab249c31f1fcf35d)
@@ -419,10 +419,12 @@
 void SettingsDialog::buttonFontClicked()
 {
-bool ok;
-QFont font = QFontDialog::getFont(&ok,this->font,this);
-    if (ok && (this->font != font)) {
-        this->font = font;
-        _newFont = true;
-    }
+    QFontDialog fd(font, this);
+#ifdef Q_OS_BLACKBERRY
+    fd.setWindowState(Qt::WindowMaximized);
+#endif
+    if ((fd.exec() != QDialog::Accepted) || (fd.selectedFont() == font))
+        return;
+    font = fd.selectedFont();
+    _newFont = true;
 }
 
Index: tspsg.pro
===================================================================
--- tspsg.pro	(revision 95b0ef73dcb4517ac2ae08867494204bbe8d7ea6)
+++ tspsg.pro	(revision ccdffe3a5f84f12fba2e2f19ab249c31f1fcf35d)
@@ -19,4 +19,9 @@
 wincewm*|symbian|maemo*|simulator|blackberry {
     CONFIG += handheld
+}
+blackberry {
+#    DEFINES += QT_NO_SHORTCUT
+    DEFINES += QT_NO_PRINTDIALOG
+    DEFINES += QT_NO_PRINTPREVIEWDIALOG
 }
 
