Index: src/bb10proxystyle.cpp
===================================================================
--- src/bb10proxystyle.cpp	(revision aa64ad40827cde0a444cd8198b0f3457aa191f8f)
+++ src/bb10proxystyle.cpp	(revision aa64ad40827cde0a444cd8198b0f3457aa191f8f)
@@ -0,0 +1,25 @@
+#include "bb10proxystyle.h"
+
+BB10ProxyStyle::BB10ProxyStyle(QStyle *style)
+    : QProxyStyle(style) {}
+
+int BB10ProxyStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const
+{
+    switch (metric) {
+    case QStyle::PM_ButtonIconSize:
+        return 42;
+    case QStyle::PM_SmallIconSize:
+        return 42;
+    case QStyle::PM_LargeIconSize:
+        return 64;
+    default:
+        return QProxyStyle::pixelMetric(metric, option, widget);
+    }
+}
+
+int BB10ProxyStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const
+{
+    if (hint == QStyle::SH_UnderlineShortcut)
+        return 0;
+    return QProxyStyle::styleHint(hint, option, widget, returnData);
+}
Index: src/bb10proxystyle.h
===================================================================
--- src/bb10proxystyle.h	(revision aa64ad40827cde0a444cd8198b0f3457aa191f8f)
+++ src/bb10proxystyle.h	(revision aa64ad40827cde0a444cd8198b0f3457aa191f8f)
@@ -0,0 +1,72 @@
+#ifndef BB10PROXYSTYLE_H
+#define BB10PROXYSTYLE_H
+
+#include <QProxyStyle>
+
+class BB10ProxyStyle : public QProxyStyle
+{
+public:
+    BB10ProxyStyle(QStyle *style = 0);
+
+    int pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const;
+    int styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const;
+};
+
+#define CSS_FIX \
+"QMenuBar {"\
+"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #444 stop:0.65 #333, stop:1 #444);"\
+"    border-bottom: 1px solid darkgray;"\
+"    spacing: 1px;"\
+"}"\
+"QMenuBar::item {"\
+"    padding: 0.3em 0.5em;"\
+"}"\
+"QMenuBar::item:selected {"\
+"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #00a8df stop:0.65 #00889f, stop:1 #00a8df);"\
+"}"\
+"QMenu {"\
+"    border: 1px solid darkgray;"\
+"}"\
+"QMenu::item {"\
+"    padding: 0.4em 0.5em 0.4em 1.4em;"\
+"    color: white;"\
+"    font-size: 9pt;"\
+"    background-color: #121212;"\
+"}"\
+"QMenu::item:selected {"\
+"    background-color: #00a8df;"\
+"}"\
+"QMenu::item:disabled {"\
+"    color: darkgray;"\
+"    background-color: #121212;"\
+"}"\
+"QMenu::icon {"\
+"    margin-left: 0.85em;"\
+"}"\
+"QTabBar {"\
+"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #444 stop:0.65 #333, stop:1 #444);"\
+"    border-bottom: 1px solid darkgray;"\
+"    spacing: 1px;"\
+"}"\
+"QTabBar::tab {"\
+"    padding: 0.3em 0.5em;"\
+"}"\
+"QTabBar::tab:selected {"\
+"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #00a8df stop:0.65 #00889f, stop:1 #00a8df);"\
+"    padding: 0.3em 0.5em;"\
+"}"\
+"QTableView {"\
+"    gridline-color: darkgray;"\
+"}"\
+"QTableView::item {"\
+"    padding: 0 0.5em;"\
+"}"\
+"QComboBox {"\
+"    padding: 0.5em 1.3em 0.5em 0.5em;"\
+"}"\
+"QTextBrowser {"\
+"    background-color: lightgray;"\
+"    color: black;"\
+"}"
+
+#endif // BB10PROXYSTYLE_H
Index: src/main.cpp
===================================================================
--- src/main.cpp	(revision 0edec5a2aec568f1d6d370bc5f4826f379890207)
+++ src/main.cpp	(revision aa64ad40827cde0a444cd8198b0f3457aa191f8f)
@@ -23,4 +23,8 @@
 
 #include "mainwindow.h"
+#ifdef Q_OS_BLACKBERRY
+#   include "bb10proxystyle.h"
+#endif // Q_OS_BLACKBERRY
+
 #if QT_VERSION < 0x040600
 #   ifdef Q_CC_MSVC
@@ -55,4 +59,10 @@
     app.setApplicationName("TSP Solver and Generator");
     app.setApplicationVersion(BUILD_VERSION);
+
+#ifdef Q_OS_BLACKBERRY
+    QApplication::setStartDragDistance(42);
+    QApplication::setStyle(new BB10ProxyStyle);
+    app.setStyleSheet(CSS_FIX);
+#endif // Q_OS_BLACKBERRY
 
     // Seeding random number generator
Index: src/mainwindow.cpp
===================================================================
--- src/mainwindow.cpp	(revision 0edec5a2aec568f1d6d370bc5f4826f379890207)
+++ src/mainwindow.cpp	(revision aa64ad40827cde0a444cd8198b0f3457aa191f8f)
@@ -1542,5 +1542,9 @@
         Ui_MainWindow::retranslateUi(this);
 
+#ifdef Q_OS_BLACKBERRY
+    menuSettings->removeAction(menuSettingsStyle->menuAction());
+#else
     loadStyleList();
+#endif
     loadToolbarList();
 
@@ -1669,5 +1673,11 @@
     actionHelpReportBug->setIcon(GET_ICON("tools-report-bug"));
     actionHelpAbout->setIcon(GET_ICON("help-about"));
+#ifdef Q_OS_BLACKBERRY
+    // Qt about dialog is too big for the screen
+    // and it's impossible to close it.
+    menuHelp->removeAction(actionHelpAboutQt);
+#else
     actionHelpAboutQt->setIcon(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"));
+#endif
 #endif
     // Buttons
