void ShareWidget::slotShareDeleted()
{
    QPropertyAnimation *animation = new QPropertyAnimation(this, "maximumHeight", this);

    animation->setDuration(500);
    animation->setStartValue(height());
    animation->setEndValue(0);

    connect(animation, SIGNAL(finished()), SLOT(slotDeleteAnimationFinished()));

    animation->start();
}
DashboardWindowContainer::DashboardWindowContainer(DashboardWindowManager* wm, int width, int height)
	: GraphicsItemContainer(width, height, GraphicsItemContainer::SolidRectBackground)
	, m_wm(wm)
	, m_trackingMouseDirection(false)
	, m_vertLockedMovement(true)
	, m_isViewPortAnimationInProgress(false)
	, m_isWindowBeingDeleted(false)
	, m_animateVisibleViewportHeight(false)
	, m_IndexOfDeletedItem(-1)
	, m_FlickDirection(Ignore)
	, m_contentsHeight(0)
	, m_viewportHeight(0)
	, m_scrollBottom(0)
	, m_itemsDeleted(0)
	, m_verticalMouseMoveInProgress(0)
	, m_menuSeparatorHeight(0)
	, m_maskDisplayStatus(ShowNoMasks)
	, m_tabletTopMask(NULL)
	, m_tabletbottomMask(NULL)
	, m_tabletBackground(NULL)
	, m_tabletArrowUp(NULL)
	, m_tabletArrowDown(NULL)
	, m_menuSwipeBkg(NULL)
	, m_menuSwipeHighlight(NULL)
	, m_itemSeparator(NULL)
	, m_heightAnimation(this, &DashboardWindowContainer::heightAnimationValueChanged)
	, m_dashboardManualDrag(false)
{

	setObjectName("DashboardWindowContainer");
	m_isMenu = m_wm->isOverlay();

	grabGesture(Qt::TapGesture);
	grabGesture((Qt::GestureType) SysMgrGestureFlick);
		
	connect(&m_anim, SIGNAL(finished()), SLOT(slotProcessAnimationComplete()));
	connect(&m_deleteAnim, SIGNAL(finished()), SLOT(slotDeleteAnimationFinished()));

	// Initialize the pixmaps for use.
	initPixmaps();

	// Determine where to apply the padding depending on where we are running.
	if(m_isMenu) {
		m_FlickDirection = Ignore;
		m_maskDisplayStatus = ShowNoMasks;
		m_DashboardTopPadding = 0;
		m_operation = Invalid;
		m_BottomMaskHeightCorrection = 7;
		setAcceptTouchEvents(true);
	}
	else {
		m_BottomMaskHeightCorrection = 10;
		m_DashboardTopPadding = 10;
		SystemUiController* suc = SystemUiController::instance();

		connect(suc, SIGNAL(signalNegativeSpaceAboutToChange(const QRect&, bool, bool)),
				SLOT(slotNegativeSpaceAboutToChange(const QRect&, bool, bool)));
		connect(suc, SIGNAL(signalNegativeSpaceChanged(const QRect&)),
				SLOT(slotNegativeSpaceChanged(const QRect&)));
		connect(suc, SIGNAL(signalNegativeSpaceChangeFinished(const QRect&)),
				SLOT(slotNegativeSpaceChangeFinished(const QRect&)));
	}

	if(m_isMenu) {
		m_heightAnimation.setEasingCurve(AS_CURVE(dashboardSnapCurve));
		m_heightAnimation.setDuration(AS(dashboardSnapDuration));
		connect(&m_heightAnimation, SIGNAL(finished()), SIGNAL(signalContainerSizeChanged()));
	}
}