WrappedChessClocksWidget almost working
authorHeli Hyvättinen <heli.hyvattinen@kymp.net>
Fri, 12 Aug 2011 16:16:02 +0000 (19:16 +0300)
committerHeli Hyvättinen <heli.hyvattinen@kymp.net>
Fri, 12 Aug 2011 16:16:02 +0000 (19:16 +0300)
Some texts are black on black.
Pause button needs to be moved to the bar below.
Had to change ClocksWidget to react to MousePressEvents instead of
MouseReleaseEvents, as the latter were not received at all.

classes/clockswidget.cpp
classes/clockswidget.h
classes/wrappedclockswidget.cpp
classes/wrappedclockswidget.h
qml/ClocksPage.qml

index 0daf329..04a5b11 100644 (file)
@@ -4,6 +4,8 @@
 
     Copyright (c) Arto Hyvättinen 2010
 
+    Changes made for porting to Harmattan (c) Heli Hyvättinen 2011
+
     This file is part of Chess Clock software.
 
     Chess Clock is free software: you can redistribute it and/or modify
@@ -35,6 +37,7 @@
 #include <QToolButton>
 #include <QSize>
 #include <QWidget>
+#include <QDebug>
 
 ClocksWidget::ClocksWidget(ChessClock *white, ChessClock *black, QWidget *parent):
     QWidget(parent)
@@ -156,9 +159,10 @@ void ClocksWidget::saveScreen()
 }
 
 
-void ClocksWidget::mouseReleaseEvent(QMouseEvent *event)
+void ClocksWidget::mousePressEvent(QMouseEvent *event)
 {
 
+    qDebug() << "Mouse released";
     // To avoid double clicks
     // a) delay (default 1,2 secs) OR
     // b) distance more than 90 pixels in axis.
@@ -219,9 +223,10 @@ void ClocksWidget::mouseReleaseEvent(QMouseEvent *event)
 // to grap clicking pause or welcome label
 bool ClocksWidget::eventFilter(QObject *obj, QEvent *event)
 {
-    if (event->type() == QEvent::MouseButtonRelease) {
+//    qDebug() << "Event for pause button or welcome label received " << event->type();
+    if (event->type() == QEvent::MouseButtonPress) {
         QMouseEvent *mEvent = static_cast<QMouseEvent *>(event);
-        mouseReleaseEvent( mEvent );
+        mousePressEvent( mEvent );
         return true;
     } else {
         // standard event processing
index d7810c1..1d5015d 100644 (file)
@@ -53,8 +53,9 @@ public:
     bool isPlayStarted()  { return (status_!=Welcome); }
 
 protected:
-    void mouseReleaseEvent(QMouseEvent *event);
-    bool eventFilter(QObject *obj, QEvent *event);
+    //In Harmattan (PageStackWindow) no mouseReleaseEvents are received. Changed to use mousePressEvent instead
+    void mousePressEvent(QMouseEvent *event);
+    bool eventFilter(QObject *obj, QEvent *event);  //same with eventFilter
 
 
 signals:
index 89e48c0..0861f66 100644 (file)
@@ -21,6 +21,8 @@
 
 
 #include "wrappedclockswidget.h"
+#include "classes/timecontrol/hourglassclock.h"
+#include "classes/timecontrol/delayclock.h"
 
 
 WrappedClocksWidget::WrappedClocksWidget(QObject *parent) :
@@ -36,10 +38,10 @@ void WrappedClocksWidget::startGame(QString timeControl, int whiteInitialTime, i
 
     deleteOldWidgets();
 
-    pWhiteClock_ = new ChessClockWidget(true);
+    pWhiteClock_ = new DelayClock (true,whiteAdditionalTime);
     pWhiteClock_->setTimeAvailable(whiteInitialTime);
 
-    pBlackClock_ = new ChessClockWidget(false);
+    pBlackClock_ = new DelayClock (false,blackInitialTime);
     pBlackClock_->setTimeAvailable(blackInitialTime);
 
     pClocksWidget_ = new ClocksWidget(pWhiteClock_, pBlackClock_);
index aa25167..35450af 100644 (file)
@@ -45,7 +45,7 @@ public:
     explicit WrappedClocksWidget(QObject *parent = 0);
     virtual ~WrappedClocksWidget();
 
-    void startGame(QString timeControl, int whiteInitialTime, int whiteAdditionalTime, int whiteTurnsPerAddition, int blackInitialTime, int blackAdditionalTime, int blackTurnsPerAddition);
+    Q_INVOKABLE void startGame(QString timeControl, int whiteInitialTime, int whiteAdditionalTime, int whiteTurnsPerAddition, int blackInitialTime, int blackAdditionalTime, int blackTurnsPerAddition);
 
     bool isPlayStarted();
 
index e3bd2f9..77684b3 100644 (file)
@@ -42,6 +42,7 @@ Page
 
     WrappedClocksWidget
     {
+        Component.onCompleted: startGame("",300,30,1,400,40,2)
 
     }