MImWordTracker::MImWordTracker(MSceneWindow *parentWindow) : MStylableWidget(), containerWidget(new QGraphicsWidget()), mIdealWidth(0), candidateItem(new MImCorrectionCandidateItem("", this)) { RegionTracker::instance().addRegion(*containerWidget); containerWidget->setObjectName("WordTrackerContainer"); containerWidget->setParentItem(parentWindow); this->setParentItem(containerWidget); // By default multi-touch is disabled setAcceptTouchEvents(MGConfItem(MultitouchSetting).value().toBool()); setObjectName(WordTrackerObjectName); mainLayout = new QGraphicsLinearLayout(Qt::Vertical); mainLayout->setSpacing(0); mainLayout->setContentsMargins(0, 0, 0, 0); setLayout(mainLayout); mainLayout->addItem(candidateItem); mainLayout->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); connect(candidateItem, SIGNAL(clicked()), this, SLOT(select())); connect(candidateItem, SIGNAL(longTapped()), this, SLOT(longTap())); connect(MTheme::instance(), SIGNAL(themeChangeCompleted()), this, SLOT(onThemeChangeCompleted()), Qt::UniqueConnection); setupTimeLine(); containerWidget->hide(); }
TouchScreen::TouchScreen() { TOP_MARGIN = BOTTOM_MARGIN = RIGHT_MARGIN = LEFT_MARGIN = 33; // margins in % loadConfiguration(); w = Device::getWidth(); h = Device::getHeight(); lpx = w * LEFT_MARGIN / 100; rpx = w * RIGHT_MARGIN / 100; tpx = h * TOP_MARGIN / 100; bpx = h * BOTTOM_MARGIN / 100; MIN_SWIPE_PIXELS = w * MIN_SWIPE / 100; LONG_TAP_ZONE_PIXELS = w * LONG_TAP_ZONE / 100; buttonState = 0; newButtonState = 0; lastEvent = 0; wasFocusInReader = true; isGestureEnabled = true; wasGestureEnabled = true; isLongTapHandled = false; isSimulatedClick = false; oldX = 0; oldY = 0; longTapTimer = new QTimer(this); longTapTimer->setSingleShot(true); connect(longTapTimer, SIGNAL(timeout()), this, SLOT(longTap())); }