TARGET.UID3 = 0xA89FC85B\r
TARGET.CAPABILITY = UserEnvironment NetworkServices ReadUserData \\r
WriteUserData\r
- TARGET.EPOCHEAPSIZE = 0x080000 0x4000000\r
+ TARGET.EPOCHEAPSIZE = 0x080000 0x8000000\r
ICON = $$PWD/pkg/symbian/book.svg\r
- # packageheader = "$${LITERAL_HASH}{\"Dorian\"}, (0xA89FC85B), 0, 3, 6"\r
+\r
+ # FIXME: Package header for Qt 4.6.2:\r
+ packageheader = \\r
+ "$${LITERAL_HASH}{\"Dorian\"},(0xA89FC85B),0,3,9" \\r
+ "[0x101F7961],0,0,0,{\"S60ProductID\"}" \\r
+ "[0x102032BE],0,0,0,{\"S60ProductID\"}" \\r
+ "[0x102752AE],0,0,0,{\"S60ProductID\"}" \\r
+ "[0x1028315F],0,0,0,{\"S60ProductID\"}"\r
+ default_deployment.pkg_prerules = packageheader\r
+\r
+ # FIXME: Package header for Qt 4.6.3 or later:\r
+ # packageheader = "$${LITERAL_HASH}{\"Dorian\"},(0xA89FC85B),0,3,9"\r
# my_deployment.pkg_prerules = packageheader\r
# DEPLOYMENT += my_deployment\r
\r
Trace::setFileName(settings->value("tracefilename").toString());
qInstallMsgHandler(Trace::messageHandler);
-#ifdef Q_OS_SYMBIAN
+#if 0 // def Q_OS_SYMBIAN
// Show splash screen
Splash *splash = new Splash();
splash->showFullScreen();
+ // splash->showMaximized();
+ splash->raise();
a.processEvents();
#endif
- // Create main window, re-apply settings, run event loop
+ // Create and initialize main window, then run event loop
MainWindow *mainWindow = new MainWindow();
settings->apply();
mainWindow->initialize();
-#ifdef Q_OS_SYMBIAN
+#if 0 // def Q_OS_SYMBIAN
splash->close();
- splash->deleteLater();
+ delete splash;
+ mainWindow->showNormal();
#endif
ret = a.exec();
delete mainWindow;
* Fix Library window content scrolling [#6622]
* Allow PNG cover images
* Improve cover images
+ * Reduce speed of kinetic scrolling on Symbian
+ * Improve splash screen display on Symbian
+ * Add versioning to SIS package
-- Akos Polster <akos@pipacs.com> Wed, 17 Nov 2010 02:00:00 +0100
if exist %src%\dorian.loc del /q %src%\dorian.loc\r
if exist %src%\dorian.rss del /q %src%\dorian.rss\r
if exist %src%\dorian.sis del /q %src%\dorian.sis\r
-if exist %src%\*.nmp del /q %src%\*.mmp\r
+if exist %src%\*.mmp del /q %src%\*.mmp\r
if exist %src%\dorian_installer.pkg del /q %src%\dorian_installer.pkg\r
if exist %src%\dorian_reg.rss del /q %src%\dorian_reg.rss\r
if exist %src%\dorian_template.pkg del /q %src%\dorian_template.pkg\r
\r
const int fingerAccuracyThreshold = 3;\r
\r
+#ifdef Q_OS_SYMBIAN\r
+const int maxSpeed = 2000;\r
+const int maxSpeedAutoScroll = 1250;\r
+#else\r
+const int maxSpeed = 4000;\r
+const int maxSpeedAutoScroll = 2500;\r
+#endif\r
+\r
struct FlickData {\r
typedef enum {\r
Steady, // Interaction without scrolling\r
const int newSpeedY = (qAbs(pixelsPerSecond.y()) > fingerAccuracyThreshold) ? pixelsPerSecond.y() : 0;\r
const int newSpeedX = (qAbs(pixelsPerSecond.x()) > fingerAccuracyThreshold) ? pixelsPerSecond.x() : 0;\r
if (state == AutoScrollAcceleration) {\r
- const int max = 4000; // px by seconds\r
+ const int max = maxSpeedAutoScroll; // px by seconds\r
const int oldSpeedY = speed.y();\r
const int oldSpeedX = speed.x();\r
if ((oldSpeedY <= 0 && newSpeedY <= 0) || (oldSpeedY >= 0 && newSpeedY >= 0)\r
speed = QPoint();\r
}\r
} else {\r
- const int max = 2500; // px by seconds\r
+ const int max = maxSpeed; // px by seconds\r
// we average the speed to avoid strange effects with the last delta\r
if (!speed.isNull()) {\r
speed.setX(qBound(-max, (speed.x() / 4) + (newSpeedX * 3 / 4), max));\r
list = new QListWidget(this);
list->setSelectionMode(QAbstractItemView::SingleSelection);
+#if defined(Q_OS_SYMBIAN)
+ list->setFixedWidth(QApplication::desktop()->availableGeometry().width());
+ list->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+#endif
populateList();
setCentralWidget(list);
#ifdef Q_OS_SYMBIAN
charm = new FlickCharm(this);
- charm->activateOn(list);
+ // charm->activateOn(list);
QAction *closeAction = new QAction(parent? tr("Back"): tr("Exit"), this);
closeAction->setSoftKeyRole(QAction::NegativeSoftKey);
connect(closeAction, SIGNAL(triggered()), this, SLOT(close()));
{
QPushButton *pushButton = new QPushButton(
QIcon(Platform::instance()->icon(b.iconName)), b.title, this);
+ pushButton->setFixedWidth(list->width());
connect(pushButton, SIGNAL(clicked()), b.receiver, b.slot);
QListWidgetItem *item = new QListWidgetItem();
item->setFlags(Qt::NoItemFlags);
{
TRACE;
+#ifdef Q_OS_SYMBIAN
+ Q_UNUSED(iconName);
+ addMenuAction(title, receiver, slot);
+#else
Button b;
b.title = title;
b.receiver = receiver;
b.slot = slot;
b.iconName = iconName;
-
insertButton(buttons.length(), b);
buttons.append(b);
+#endif
}
QAction *ListWindow::addMenuAction(const QString &title, QObject *receiver,
void ListWindow::onItemActivated(const QModelIndex &index)
{
TRACE;
+
+ // Work around Qt/Symbian^3 bug: Disabled list items still can be selected
+ if (!mModel) {
+ return;
+ }
+ if (!mModel->rowCount()) {
+ return;
+ }
+
int row = index.row() - buttons.count();
qDebug() << "Activated" << index.row() << ", emit activated(" << row << ")";
emit activated(mModel->index(row, 0));
\r
Splash::Splash(QWidget *parent): QMainWindow(parent)\r
{\r
+\r
QLabel *label = new QLabel(this);\r
QRect geo = QApplication::desktop()->geometry();\r
label->setGeometry(geo);\r