calendarui/views/src/calenpreviewpane.cpp
changeset 23 fd30d51f876b
parent 18 c198609911f9
child 32 ea672fcb0ea0
child 45 b6db4fd4947b
--- a/calendarui/views/src/calenpreviewpane.cpp	Fri Apr 16 14:57:40 2010 +0300
+++ b/calendarui/views/src/calenpreviewpane.cpp	Mon May 03 12:30:32 2010 +0300
@@ -57,16 +57,11 @@
 	mTwoSecTimer = new QTimer(this);
 	mScrollDirection = invalid;
 	mIsNoEntriesAdded = true;
+	mIsGestureHandled = false;
 	mNoEntriesLabel = 0;
 	setAcceptDrops(true);
 	setScrollDirections(Qt::Vertical);
 	setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
-	// Set the frame to the preview pane
-	HbFrameItem* frame = new HbFrameItem(this);
-	frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
-
-	frame->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_bg");
-	setBackgroundItem(frame->graphicsItem(), -5);
 	
 	// Connect the scrollig finished signal
 	connect(this, SIGNAL(scrollingEnded()), this,
@@ -110,19 +105,14 @@
 	// Adjust the layout
 	QGraphicsLinearLayout* layout = static_cast<QGraphicsLinearLayout *>
 															(content->layout());
-	
-	layout->setPreferredWidth(preferredWidth());
-	layout->setMinimumWidth(minimumWidth());
-	layout->setMaximumWidth(maximumWidth());
-	
 	int instanceCount = mInstanceArray.count();
 	HbFontSpec font(HbFontSpec::Secondary);
 	if (mIsNoEntriesAdded) {
 		if (!instanceCount) {
-			return;
+		    mNoEntriesLabel->setVisible(true);
+		    return;
 		} else {
 			// Remove the no entries label
-			layout->removeAt(0);
 			mNoEntriesLabel->setVisible(false);
 		}
 	}
@@ -207,8 +197,6 @@
 		
 		// Add the no entries text to the preview pane
 		mNoEntriesLabel->setVisible(true);
-		layout->addItem(mNoEntriesLabel);
-		layout->setStretchFactor(mNoEntriesLabel,1);
 		mIsNoEntriesAdded = true;
 	}
 	layout->activate();
@@ -306,7 +294,9 @@
  */
 void CalenPreviewPane::mousePressEvent(QGraphicsSceneMouseEvent* event)
 {
+	mIsGestureHandled = false;
 	mPressedPos = event->pos();
+	event->accept();
 }
 
 /*!
@@ -315,16 +305,29 @@
 void CalenPreviewPane::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
 {
 	qreal posDiff = mPressedPos.x()-event->pos().x();
-	if (abs(posDiff) < 50) {
+	if (abs(posDiff) < 50 && !mIsGestureHandled) {
 		// Preview pane tapped
 		mServices.IssueCommandL(ECalenDayView);
-	} else if (posDiff < -50) {
+	}
+	event->accept();
+}
+
+/*!
+ Function to listen mouse move events
+ */
+void CalenPreviewPane::mouseMoveEvent(QGraphicsSceneMouseEvent* event)
+{
+	qreal posDiff = mPressedPos.x()-event->pos().x();
+	if (posDiff < -50) {
+		mIsGestureHandled = true;
 		// right gesture
 		mView->handlePreviewPaneGesture(true);
 	} else if (posDiff > 50) {
+		mIsGestureHandled = true;
 		// left gesture
 		mView->handlePreviewPaneGesture(false);
 	}
+	event->accept();
 }
 
 /*!