22 #ifndef DASHBOARDWINDOWCONTAINER_H
23 #define DASHBOARDWINDOWCONTAINER_H
29 #include <QParallelAnimationGroup>
32 #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
33 #include <QWeakPointer>
40 class QPropertyAnimation;
47 class QGraphicsSceneMouseEvent;
81 QList<DashboardWindow*>
windows()
const {
return m_items; }
84 return sDashboardWindowHeight;
89 virtual void mousePressEvent(QGraphicsSceneMouseEvent* event);
90 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
91 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
92 virtual QVariant itemChange(GraphicsItemChange change,
const QVariant& value);
93 virtual bool sceneEvent(
QEvent* event);
94 virtual void paint(QPainter* painter,
const QStyleOptionGraphicsItem*, QWidget*);
95 virtual void paintInsideMenu(QPainter* painter);
96 void paintHoriz3Tile(QPainter* painter, QPixmap* maskImg,
int x,
int y,
int width,
int height,
int leftOffset,
int rightOffset);
97 void animateResize(
int width,
int height);
98 void heightAnimationValueChanged(
const QVariant & value);
104 MultipleWindowsRemoved
107 enum DeviceShowMasks {
114 enum FlickDirection {
120 enum WindowPosition {
122 InvisibleAboveViewport,
124 InvisibleBelowViewport,
125 VisibleAboveDeletedItem,
126 VisibleBelowDeletedItem
140 void slotProcessAnimationComplete();
141 void slotDeleteAnimationFinished();
142 void slotNegativeSpaceAboutToChange(
const QRect& r,
bool,
bool screenResizing);
143 void slotNegativeSpaceChanged(
const QRect& r);
144 void slotNegativeSpaceChangeFinished(
const QRect& r);
149 void calculateScrollProperties();
150 void restoreNonDeletedItems(
bool recalcScrollBottom=
true);
151 void showOrHideMasks();
152 void handleTap(
const QPointF& pos);
154 void animateWindowsToFinalDestination(
int yCoOrd);
155 void animateWindowsToFinalDestinationInMenu(
int topCoord);
156 void setWindowsToFinalDestinationInMenu(
int topCoord);
157 void setMaskVisibility(
bool& topMask,
bool& bottomMask);
161 DeviceShowMasks m_maskDisplayStatus;
162 Operation m_operation;
164 bool m_trackingMouseDirection;
165 bool m_vertLockedMovement;
166 QList<DashboardWindow*> m_items;
167 QSet<DashboardWindow*> m_pendingDeleteItems;
168 QSet<DashboardWindow*> m_deletedItems;
169 QPointer<QPropertyAnimation> m_updateViewPortAnimation;
170 #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
171 QWeakPointer<DashboardWindow> m_draggedWindow;
173 QPointer<DashboardWindow> m_draggedWindow;
178 static const int sDashboardWindowHeight;
179 static const int sDashboardBadgeWidth;
181 int m_contentsHeight;
182 int m_viewportHeight;
184 int m_IndexOfDeletedItem;
185 bool m_verticalMouseMoveInProgress;
187 bool m_isViewPortAnimationInProgress;
188 bool m_isWindowBeingDeleted;
189 bool m_animateVisibleViewportHeight;
190 FlickDirection m_FlickDirection;
191 mutable int m_DashboardTopPadding;
192 mutable int m_BottomMaskHeightCorrection;
193 int m_menuSeparatorHeight;
194 bool m_dashboardManualDrag;
196 QParallelAnimationGroup m_anim;
197 QParallelAnimationGroup m_deleteAnim;
199 QPixmap* m_tabletBackground;
200 QPixmap* m_tabletTopMask;
201 QPixmap* m_tabletbottomMask;
202 QPixmap* m_tabletArrowUp;
203 QPixmap* m_tabletArrowDown;
204 QPixmap* m_menuSwipeBkg;
205 QPixmap* m_menuSwipeHighlight;
206 QPixmap* m_itemSeparator;